@pie-lib/mask-markup 3.0.12 → 3.1.0-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +0 -48
- package/lib/__tests__/drag-in-the-blank.test.js +129 -0
- package/lib/__tests__/drag-in-the-blank.test.js.map +1 -0
- package/lib/__tests__/index.test.js +39 -0
- package/lib/__tests__/index.test.js.map +1 -0
- package/lib/__tests__/mask.test.js +344 -0
- package/lib/__tests__/mask.test.js.map +1 -0
- package/lib/__tests__/serialization.test.js +44 -0
- package/lib/__tests__/serialization.test.js.map +1 -0
- package/lib/__tests__/utils.js +14 -0
- package/lib/__tests__/utils.js.map +1 -0
- package/lib/__tests__/with-mask.test.js +110 -0
- package/lib/__tests__/with-mask.test.js.map +1 -0
- package/lib/choices/__tests__/index.test.js +139 -0
- package/lib/choices/__tests__/index.test.js.map +1 -0
- package/lib/choices/choice.js +3 -0
- package/lib/choices/choice.js.map +1 -1
- package/lib/components/__tests__/blank.test.js +293 -0
- package/lib/components/__tests__/blank.test.js.map +1 -0
- package/lib/components/__tests__/correct-input.test.js +132 -0
- package/lib/components/__tests__/correct-input.test.js.map +1 -0
- package/lib/components/__tests__/dropdown.test.js +202 -0
- package/lib/components/__tests__/dropdown.test.js.map +1 -0
- package/lib/components/__tests__/input.test.js +129 -0
- package/lib/components/__tests__/input.test.js.map +1 -0
- package/lib/components/blank.js +14 -3
- package/lib/components/blank.js.map +1 -1
- package/package.json +6 -6
- package/src/choices/__tests__/index.test.js +34 -0
- package/src/choices/choice.jsx +5 -2
- package/src/components/__tests__/blank.test.js +33 -0
- package/src/components/blank.jsx +20 -4
- package/LICENSE.md +0 -5
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _serialization = require("../serialization");
|
|
4
|
+
describe('serialization', function () {
|
|
5
|
+
it('ignores comments', function () {
|
|
6
|
+
var out = (0, _serialization.deserialize)("<!-- hi -->");
|
|
7
|
+
expect(out.document.nodes[0]).toEqual(expect.objectContaining({
|
|
8
|
+
type: 'span'
|
|
9
|
+
}));
|
|
10
|
+
});
|
|
11
|
+
it('ignores comments', function () {
|
|
12
|
+
var out = (0, _serialization.deserialize)("<!-- hi --><div>foo</div>");
|
|
13
|
+
expect(out.document.nodes[0]).toEqual(expect.objectContaining({
|
|
14
|
+
type: 'div',
|
|
15
|
+
nodes: [expect.objectContaining({
|
|
16
|
+
object: 'text',
|
|
17
|
+
leaves: [{
|
|
18
|
+
text: 'foo'
|
|
19
|
+
}]
|
|
20
|
+
})]
|
|
21
|
+
}));
|
|
22
|
+
});
|
|
23
|
+
it('deserializes an em', function () {
|
|
24
|
+
var out = (0, _serialization.deserialize)("<!-- hi --><div> <em>x</em> </div>");
|
|
25
|
+
expect(out.document.nodes[0]).toEqual(expect.objectContaining({
|
|
26
|
+
type: 'div',
|
|
27
|
+
nodes: [expect.objectContaining({
|
|
28
|
+
object: 'text'
|
|
29
|
+
}), expect.objectContaining({
|
|
30
|
+
leaves: [{
|
|
31
|
+
marks: [{
|
|
32
|
+
data: undefined,
|
|
33
|
+
type: 'italic'
|
|
34
|
+
}],
|
|
35
|
+
text: 'x'
|
|
36
|
+
}],
|
|
37
|
+
object: 'text'
|
|
38
|
+
}), expect.objectContaining({
|
|
39
|
+
object: 'text'
|
|
40
|
+
})]
|
|
41
|
+
}));
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=serialization.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialization.test.js","names":["_serialization","require","describe","it","out","deserialize","expect","document","nodes","toEqual","objectContaining","type","object","leaves","text","marks","data","undefined"],"sources":["../../src/__tests__/serialization.test.js"],"sourcesContent":["import { deserialize } from '../serialization';\n\ndescribe('serialization', () => {\n it('ignores comments', () => {\n const out = deserialize(`<!-- hi -->`);\n expect(out.document.nodes[0]).toEqual(expect.objectContaining({ type: 'span' }));\n });\n\n it('ignores comments', () => {\n const out = deserialize(`<!-- hi --><div>foo</div>`);\n expect(out.document.nodes[0]).toEqual(\n expect.objectContaining({\n type: 'div',\n nodes: [\n expect.objectContaining({\n object: 'text',\n leaves: [{ text: 'foo' }],\n }),\n ],\n }),\n );\n });\n\n it('deserializes an em', () => {\n const out = deserialize(`<!-- hi --><div> <em>x</em> </div>`);\n expect(out.document.nodes[0]).toEqual(\n expect.objectContaining({\n type: 'div',\n nodes: [\n expect.objectContaining({\n object: 'text',\n }),\n expect.objectContaining({\n leaves: [\n {\n marks: [\n {\n data: undefined,\n type: 'italic',\n },\n ],\n text: 'x',\n },\n ],\n object: 'text',\n }),\n expect.objectContaining({\n object: 'text',\n }),\n ],\n }),\n );\n });\n});\n"],"mappings":";;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAEAC,QAAQ,CAAC,eAAe,EAAE,YAAM;EAC9BC,EAAE,CAAC,kBAAkB,EAAE,YAAM;IAC3B,IAAMC,GAAG,GAAG,IAAAC,0BAAW,eAAc,CAAC;IACtCC,MAAM,CAACF,GAAG,CAACG,QAAQ,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO,CAACH,MAAM,CAACI,gBAAgB,CAAC;MAAEC,IAAI,EAAE;IAAO,CAAC,CAAC,CAAC;EAClF,CAAC,CAAC;EAEFR,EAAE,CAAC,kBAAkB,EAAE,YAAM;IAC3B,IAAMC,GAAG,GAAG,IAAAC,0BAAW,6BAA4B,CAAC;IACpDC,MAAM,CAACF,GAAG,CAACG,QAAQ,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO,CACnCH,MAAM,CAACI,gBAAgB,CAAC;MACtBC,IAAI,EAAE,KAAK;MACXH,KAAK,EAAE,CACLF,MAAM,CAACI,gBAAgB,CAAC;QACtBE,MAAM,EAAE,MAAM;QACdC,MAAM,EAAE,CAAC;UAAEC,IAAI,EAAE;QAAM,CAAC;MAC1B,CAAC,CAAC;IAEN,CAAC,CACH,CAAC;EACH,CAAC,CAAC;EAEFX,EAAE,CAAC,oBAAoB,EAAE,YAAM;IAC7B,IAAMC,GAAG,GAAG,IAAAC,0BAAW,sCAAqC,CAAC;IAC7DC,MAAM,CAACF,GAAG,CAACG,QAAQ,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO,CACnCH,MAAM,CAACI,gBAAgB,CAAC;MACtBC,IAAI,EAAE,KAAK;MACXH,KAAK,EAAE,CACLF,MAAM,CAACI,gBAAgB,CAAC;QACtBE,MAAM,EAAE;MACV,CAAC,CAAC,EACFN,MAAM,CAACI,gBAAgB,CAAC;QACtBG,MAAM,EAAE,CACN;UACEE,KAAK,EAAE,CACL;YACEC,IAAI,EAAEC,SAAS;YACfN,IAAI,EAAE;UACR,CAAC,CACF;UACDG,IAAI,EAAE;QACR,CAAC,CACF;QACDF,MAAM,EAAE;MACV,CAAC,CAAC,EACFN,MAAM,CAACI,gBAAgB,CAAC;QACtBE,MAAM,EAAE;MACV,CAAC,CAAC;IAEN,CAAC,CACH,CAAC;EACH,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.choice = void 0;
|
|
7
|
+
var choice = exports.choice = function choice(v, id) {
|
|
8
|
+
return {
|
|
9
|
+
label: v,
|
|
10
|
+
value: v,
|
|
11
|
+
id: id
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","names":["choice","exports","v","id","label","value"],"sources":["../../src/__tests__/utils.js"],"sourcesContent":["export const choice = (v, id) => ({ label: v, value: v, id });\n"],"mappings":";;;;;;AAAO,IAAMA,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,SAATA,MAAMA,CAAIE,CAAC,EAAEC,EAAE;EAAA,OAAM;IAAEC,KAAK,EAAEF,CAAC;IAAEG,KAAK,EAAEH,CAAC;IAAEC,EAAE,EAAFA;EAAG,CAAC;AAAA,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
6
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _react2 = require("@testing-library/react");
|
|
9
|
+
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
10
|
+
var _withMask = require("../with-mask");
|
|
11
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
12
|
+
describe('WithMask', function () {
|
|
13
|
+
var onChange = jest.fn();
|
|
14
|
+
var defaultProps = {
|
|
15
|
+
markup: '<p>Foo bar {{0}} over the moon;</p>',
|
|
16
|
+
value: {
|
|
17
|
+
0: 'blank'
|
|
18
|
+
},
|
|
19
|
+
onChange: onChange
|
|
20
|
+
};
|
|
21
|
+
var Masked = (0, _withMask.withMask)('foo', function (props) {
|
|
22
|
+
return function (node) {
|
|
23
|
+
var dataset = node.data ? node.data.dataset || {} : {};
|
|
24
|
+
if (dataset.component === 'foo') {
|
|
25
|
+
return /*#__PURE__*/React.createElement("input", {
|
|
26
|
+
type: "text",
|
|
27
|
+
"data-testid": "masked-input",
|
|
28
|
+
defaultValue: "Foo",
|
|
29
|
+
onChange: props.onChange
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
beforeEach(function () {
|
|
35
|
+
onChange.mockClear();
|
|
36
|
+
});
|
|
37
|
+
describe('rendering', function () {
|
|
38
|
+
it('renders with default props', function () {
|
|
39
|
+
var _render = (0, _react2.render)(/*#__PURE__*/React.createElement(Masked, defaultProps)),
|
|
40
|
+
container = _render.container;
|
|
41
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
42
|
+
});
|
|
43
|
+
it('renders markup content', function () {
|
|
44
|
+
(0, _react2.render)(/*#__PURE__*/React.createElement(Masked, defaultProps));
|
|
45
|
+
expect(_react2.screen.getByText(/Foo bar/)).toBeInTheDocument();
|
|
46
|
+
});
|
|
47
|
+
it('renders paragraph content', function () {
|
|
48
|
+
var _render2 = (0, _react2.render)(/*#__PURE__*/React.createElement(Masked, defaultProps)),
|
|
49
|
+
container = _render2.container;
|
|
50
|
+
// Paragraph is rendered as a styled div, not a <p> tag
|
|
51
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
52
|
+
expect(_react2.screen.getByText(/Foo bar/)).toBeInTheDocument();
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
describe('onChange handler', function () {
|
|
56
|
+
it('calls onChange when value changes', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
57
|
+
var user, input;
|
|
58
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
59
|
+
while (1) switch (_context.prev = _context.next) {
|
|
60
|
+
case 0:
|
|
61
|
+
user = _userEvent["default"].setup();
|
|
62
|
+
(0, _react2.render)(/*#__PURE__*/React.createElement(Masked, defaultProps));
|
|
63
|
+
input = _react2.screen.queryByTestId('masked-input');
|
|
64
|
+
if (!input) {
|
|
65
|
+
_context.next = 3;
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
_context.next = 1;
|
|
69
|
+
return user.clear(input);
|
|
70
|
+
case 1:
|
|
71
|
+
_context.next = 2;
|
|
72
|
+
return user.type(input, 'ceva');
|
|
73
|
+
case 2:
|
|
74
|
+
expect(onChange).toHaveBeenCalled();
|
|
75
|
+
case 3:
|
|
76
|
+
case "end":
|
|
77
|
+
return _context.stop();
|
|
78
|
+
}
|
|
79
|
+
}, _callee);
|
|
80
|
+
})));
|
|
81
|
+
it('passes event to onChange', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
82
|
+
var user, input, lastCall;
|
|
83
|
+
return _regenerator["default"].wrap(function (_context2) {
|
|
84
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
85
|
+
case 0:
|
|
86
|
+
user = _userEvent["default"].setup();
|
|
87
|
+
(0, _react2.render)(/*#__PURE__*/React.createElement(Masked, defaultProps));
|
|
88
|
+
input = _react2.screen.queryByTestId('masked-input');
|
|
89
|
+
if (!input) {
|
|
90
|
+
_context2.next = 3;
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
_context2.next = 1;
|
|
94
|
+
return user.clear(input);
|
|
95
|
+
case 1:
|
|
96
|
+
_context2.next = 2;
|
|
97
|
+
return user.type(input, 'test');
|
|
98
|
+
case 2:
|
|
99
|
+
expect(onChange).toHaveBeenCalled();
|
|
100
|
+
lastCall = onChange.mock.calls[onChange.mock.calls.length - 1][0];
|
|
101
|
+
expect(lastCall).toHaveProperty('target');
|
|
102
|
+
case 3:
|
|
103
|
+
case "end":
|
|
104
|
+
return _context2.stop();
|
|
105
|
+
}
|
|
106
|
+
}, _callee2);
|
|
107
|
+
})));
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
//# sourceMappingURL=with-mask.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-mask.test.js","names":["React","_interopRequireWildcard","require","_react2","_userEvent","_interopRequireDefault","_withMask","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","describe","onChange","jest","fn","defaultProps","markup","value","Masked","withMask","props","node","dataset","data","component","createElement","type","defaultValue","beforeEach","mockClear","it","_render","render","container","expect","firstChild","toBeInTheDocument","screen","getByText","_render2","_asyncToGenerator2","_regenerator","mark","_callee","user","input","wrap","_context","prev","next","userEvent","setup","queryByTestId","clear","toHaveBeenCalled","stop","_callee2","lastCall","_context2","mock","calls","length","toHaveProperty"],"sources":["../../src/__tests__/with-mask.test.js"],"sourcesContent":["import * as React from 'react';\nimport { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { withMask } from '../with-mask';\n\ndescribe('WithMask', () => {\n const onChange = jest.fn();\n const defaultProps = {\n markup: '<p>Foo bar {{0}} over the moon;</p>',\n value: {\n 0: 'blank',\n },\n onChange,\n };\n\n const Masked = withMask('foo', (props) => (node) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n\n if (dataset.component === 'foo') {\n return <input type=\"text\" data-testid=\"masked-input\" defaultValue=\"Foo\" onChange={props.onChange} />;\n }\n });\n\n beforeEach(() => {\n onChange.mockClear();\n });\n\n describe('rendering', () => {\n it('renders with default props', () => {\n const { container } = render(<Masked {...defaultProps} />);\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders markup content', () => {\n render(<Masked {...defaultProps} />);\n expect(screen.getByText(/Foo bar/)).toBeInTheDocument();\n });\n\n it('renders paragraph content', () => {\n const { container } = render(<Masked {...defaultProps} />);\n // Paragraph is rendered as a styled div, not a <p> tag\n expect(container.firstChild).toBeInTheDocument();\n expect(screen.getByText(/Foo bar/)).toBeInTheDocument();\n });\n });\n\n describe('onChange handler', () => {\n it('calls onChange when value changes', async () => {\n const user = userEvent.setup();\n render(<Masked {...defaultProps} />);\n\n const input = screen.queryByTestId('masked-input');\n if (input) {\n await user.clear(input);\n await user.type(input, 'ceva');\n\n expect(onChange).toHaveBeenCalled();\n }\n });\n\n it('passes event to onChange', async () => {\n const user = userEvent.setup();\n render(<Masked {...defaultProps} />);\n\n const input = screen.queryByTestId('masked-input');\n if (input) {\n await user.clear(input);\n await user.type(input, 'test');\n\n expect(onChange).toHaveBeenCalled();\n const lastCall = onChange.mock.calls[onChange.mock.calls.length - 1][0];\n expect(lastCall).toHaveProperty('target');\n }\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
6
|
+
var React = _interopRequireWildcard(require("react"));
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
var _choice = _interopRequireDefault(require("../choice"));
|
|
9
|
+
var _utils = require("../../__tests__/utils");
|
|
10
|
+
var _index = _interopRequireDefault(require("../index"));
|
|
11
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
12
|
+
// Collect the CSS rules emotion/MUI injected into the document (jsdom uses insertRule).
|
|
13
|
+
var collectEmotionRules = function collectEmotionRules() {
|
|
14
|
+
var rules = [];
|
|
15
|
+
for (var _i = 0, _Array$from = Array.from(document.styleSheets); _i < _Array$from.length; _i++) {
|
|
16
|
+
var sheet = _Array$from[_i];
|
|
17
|
+
try {
|
|
18
|
+
for (var _i2 = 0, _Array$from2 = Array.from(sheet.cssRules); _i2 < _Array$from2.length; _i2++) {
|
|
19
|
+
var rule = _Array$from2[_i2];
|
|
20
|
+
rules.push(rule.cssText);
|
|
21
|
+
}
|
|
22
|
+
} catch (e) {
|
|
23
|
+
/* inaccessible stylesheet */
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return rules;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// Mock @dnd-kit hooks to avoid DndContext requirement
|
|
30
|
+
jest.mock('@dnd-kit/core', function () {
|
|
31
|
+
return {
|
|
32
|
+
useDraggable: jest.fn(function () {
|
|
33
|
+
return {
|
|
34
|
+
attributes: {},
|
|
35
|
+
listeners: {},
|
|
36
|
+
setNodeRef: jest.fn(),
|
|
37
|
+
isDragging: false
|
|
38
|
+
};
|
|
39
|
+
}),
|
|
40
|
+
useDroppable: jest.fn(function () {
|
|
41
|
+
return {
|
|
42
|
+
setNodeRef: jest.fn(),
|
|
43
|
+
isOver: false,
|
|
44
|
+
active: null
|
|
45
|
+
};
|
|
46
|
+
})
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
describe('index', function () {
|
|
50
|
+
describe('Choices', function () {
|
|
51
|
+
var defaultProps = {
|
|
52
|
+
disabled: false,
|
|
53
|
+
choices: [(0, _utils.choice)('Jumped', '0'), (0, _utils.choice)('Laughed', '1'), (0, _utils.choice)('Spoon', '2')],
|
|
54
|
+
choicePosition: 'below',
|
|
55
|
+
instanceId: 'test-instance'
|
|
56
|
+
};
|
|
57
|
+
it('renders correctly with default props', function () {
|
|
58
|
+
var _render = (0, _react2.render)(/*#__PURE__*/React.createElement(_index["default"], defaultProps)),
|
|
59
|
+
container = _render.container;
|
|
60
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
61
|
+
expect(_react2.screen.getByText('Jumped')).toBeInTheDocument();
|
|
62
|
+
expect(_react2.screen.getByText('Laughed')).toBeInTheDocument();
|
|
63
|
+
expect(_react2.screen.getByText('Spoon')).toBeInTheDocument();
|
|
64
|
+
});
|
|
65
|
+
it('renders correctly with disabled prop as true', function () {
|
|
66
|
+
var _render2 = (0, _react2.render)(/*#__PURE__*/React.createElement(_index["default"], (0, _extends2["default"])({}, defaultProps, {
|
|
67
|
+
disabled: true
|
|
68
|
+
}))),
|
|
69
|
+
container = _render2.container;
|
|
70
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
71
|
+
});
|
|
72
|
+
it('renders without duplicates', function () {
|
|
73
|
+
var _render3 = (0, _react2.render)(/*#__PURE__*/React.createElement(_index["default"], (0, _extends2["default"])({}, defaultProps, {
|
|
74
|
+
duplicates: undefined,
|
|
75
|
+
value: {
|
|
76
|
+
0: '0',
|
|
77
|
+
1: '1'
|
|
78
|
+
}
|
|
79
|
+
}))),
|
|
80
|
+
container = _render3.container;
|
|
81
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
82
|
+
});
|
|
83
|
+
it('renders with duplicates', function () {
|
|
84
|
+
var _render4 = (0, _react2.render)(/*#__PURE__*/React.createElement(_index["default"], (0, _extends2["default"])({}, defaultProps, {
|
|
85
|
+
duplicates: true,
|
|
86
|
+
value: {
|
|
87
|
+
0: '0',
|
|
88
|
+
1: '1'
|
|
89
|
+
}
|
|
90
|
+
}))),
|
|
91
|
+
container = _render4.container;
|
|
92
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
describe('Choice', function () {
|
|
96
|
+
var defaultProps = {
|
|
97
|
+
disabled: false,
|
|
98
|
+
choice: (0, _utils.choice)('Label', '1'),
|
|
99
|
+
instanceId: 'test-instance'
|
|
100
|
+
};
|
|
101
|
+
describe('render', function () {
|
|
102
|
+
it('renders correctly with default props', function () {
|
|
103
|
+
var _render5 = (0, _react2.render)(/*#__PURE__*/React.createElement(_choice["default"], defaultProps)),
|
|
104
|
+
container = _render5.container;
|
|
105
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
106
|
+
expect(_react2.screen.getByText('Label')).toBeInTheDocument();
|
|
107
|
+
});
|
|
108
|
+
it('renders correctly with disabled prop as true', function () {
|
|
109
|
+
var _render6 = (0, _react2.render)(/*#__PURE__*/React.createElement(_choice["default"], (0, _extends2["default"])({}, defaultProps, {
|
|
110
|
+
disabled: true
|
|
111
|
+
}))),
|
|
112
|
+
container = _render6.container;
|
|
113
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
describe('fraction math styling', function () {
|
|
117
|
+
it('enlarges numerator/denominator digits adjacent to a fraction to 120%', function () {
|
|
118
|
+
(0, _react2.render)(/*#__PURE__*/React.createElement(_choice["default"], defaultProps));
|
|
119
|
+
// The new rule targets mjx-mn digits that sit next to an mjx-mfrac.
|
|
120
|
+
var rule = collectEmotionRules().find(function (r) {
|
|
121
|
+
return r.includes('mjx-mn') && r.includes('mjx-mfrac');
|
|
122
|
+
});
|
|
123
|
+
expect(rule).toBeDefined();
|
|
124
|
+
expect(rule).toMatch(/mjx-mn:has\(~\s*mjx-mfrac\)/);
|
|
125
|
+
expect(rule).toMatch(/mjx-mfrac\s*~\s*mjx-mn/);
|
|
126
|
+
expect(rule).toMatch(/font-size:\s*120%\s*!important/i);
|
|
127
|
+
});
|
|
128
|
+
it('keeps the existing mjx-frac 120% rule', function () {
|
|
129
|
+
(0, _react2.render)(/*#__PURE__*/React.createElement(_choice["default"], defaultProps));
|
|
130
|
+
var rule = collectEmotionRules().find(function (r) {
|
|
131
|
+
return /(^|[^-])mjx-frac/.test(r) && !r.includes('mjx-mfrac');
|
|
132
|
+
});
|
|
133
|
+
expect(rule).toBeDefined();
|
|
134
|
+
expect(rule).toMatch(/font-size:\s*120%\s*!important/i);
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","names":["React","_interopRequireWildcard","require","_react2","_choice","_interopRequireDefault","_utils","_index","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","collectEmotionRules","rules","_i","_Array$from","Array","from","document","styleSheets","length","sheet","_i2","_Array$from2","cssRules","rule","push","cssText","jest","mock","useDraggable","fn","attributes","listeners","setNodeRef","isDragging","useDroppable","isOver","active","describe","defaultProps","disabled","choices","choice","choicePosition","instanceId","it","_render","render","createElement","container","expect","firstChild","toBeInTheDocument","screen","getByText","_render2","_extends2","_render3","duplicates","undefined","value","_render4","_render5","_render6","find","includes","toBeDefined","toMatch","test"],"sources":["../../../src/choices/__tests__/index.test.js"],"sourcesContent":["import * as React from 'react';\nimport { render, screen } from '@testing-library/react';\nimport Choice from '../choice';\nimport { choice } from '../../__tests__/utils';\nimport Choices from '../index';\n\n// Collect the CSS rules emotion/MUI injected into the document (jsdom uses insertRule).\nconst collectEmotionRules = () => {\n const rules = [];\n for (const sheet of Array.from(document.styleSheets)) {\n try {\n for (const rule of Array.from(sheet.cssRules)) {\n rules.push(rule.cssText);\n }\n } catch (e) {\n /* inaccessible stylesheet */\n }\n }\n return rules;\n};\n\n// Mock @dnd-kit hooks to avoid DndContext requirement\njest.mock('@dnd-kit/core', () => ({\n useDraggable: jest.fn(() => ({\n attributes: {},\n listeners: {},\n setNodeRef: jest.fn(),\n isDragging: false,\n })),\n useDroppable: jest.fn(() => ({\n setNodeRef: jest.fn(),\n isOver: false,\n active: null,\n })),\n}));\n\ndescribe('index', () => {\n describe('Choices', () => {\n const defaultProps = {\n disabled: false,\n choices: [choice('Jumped', '0'), choice('Laughed', '1'), choice('Spoon', '2')],\n choicePosition: 'below',\n instanceId: 'test-instance',\n };\n\n it('renders correctly with default props', () => {\n const { container } = render(<Choices {...defaultProps} />);\n expect(container.firstChild).toBeInTheDocument();\n expect(screen.getByText('Jumped')).toBeInTheDocument();\n expect(screen.getByText('Laughed')).toBeInTheDocument();\n expect(screen.getByText('Spoon')).toBeInTheDocument();\n });\n\n it('renders correctly with disabled prop as true', () => {\n const { container } = render(<Choices {...defaultProps} disabled={true} />);\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders without duplicates', () => {\n const { container } = render(<Choices {...defaultProps} duplicates={undefined} value={{ 0: '0', 1: '1' }} />);\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with duplicates', () => {\n const { container } = render(<Choices {...defaultProps} duplicates={true} value={{ 0: '0', 1: '1' }} />);\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n\n describe('Choice', () => {\n const defaultProps = {\n disabled: false,\n choice: choice('Label', '1'),\n instanceId: 'test-instance',\n };\n\n describe('render', () => {\n it('renders correctly with default props', () => {\n const { container } = render(<Choice {...defaultProps} />);\n expect(container.firstChild).toBeInTheDocument();\n expect(screen.getByText('Label')).toBeInTheDocument();\n });\n\n it('renders correctly with disabled prop as true', () => {\n const { container } = render(<Choice {...defaultProps} disabled={true} />);\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n\n describe('fraction math styling', () => {\n it('enlarges numerator/denominator digits adjacent to a fraction to 120%', () => {\n render(<Choice {...defaultProps} />);\n // The new rule targets mjx-mn digits that sit next to an mjx-mfrac.\n const rule = collectEmotionRules().find((r) => r.includes('mjx-mn') && r.includes('mjx-mfrac'));\n expect(rule).toBeDefined();\n expect(rule).toMatch(/mjx-mn:has\\(~\\s*mjx-mfrac\\)/);\n expect(rule).toMatch(/mjx-mfrac\\s*~\\s*mjx-mn/);\n expect(rule).toMatch(/font-size:\\s*120%\\s*!important/i);\n });\n\n it('keeps the existing mjx-frac 120% rule', () => {\n render(<Choice {...defaultProps} />);\n const rule = collectEmotionRules().find((r) => /(^|[^-])mjx-frac/.test(r) && !r.includes('mjx-mfrac'));\n expect(rule).toBeDefined();\n expect(rule).toMatch(/font-size:\\s*120%\\s*!important/i);\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
package/lib/choices/choice.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"choice.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_core","_styles","_Chip","_mathRendering","_renderUi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","DRAG_TYPE","exports","StyledChoice","styled","_ref","theme","disabled","border","concat","palette","primary","main","borderRadius","spacing","margin","transform","display","StyledChip","Chip","backgroundColor","color","white","text","alignItems","height","minHeight","fontSize","whiteSpace","maxWidth","pointerEvents","paddingTop","paddingBottom","opacity","StyledChipLabel","padding","Choice","_ref2","_rootRef$current","_rootRef$current2","choice","instanceId","rootRef","useRef","_useDraggable","useDraggable","id","data","fromChoice","type","attributes","listeners","setNodeRef","isDragging","useEffect","renderMath","current","value","createElement","_extends2","ref","style","width","offsetWidth","offsetHeight","clickable","label","dangerouslySetInnerHTML","__html","propTypes","PropTypes","object","isRequired","bool","oneOfType","string","number"],"sources":["../../src/choices/choice.jsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDraggable } from '@dnd-kit/core';\nimport { styled } from '@mui/material/styles';\nimport Chip from '@mui/material/Chip';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { color } from '@pie-lib/render-ui';\n\nexport const DRAG_TYPE = 'MaskBlank';\n\nconst StyledChoice = styled('span')(({ theme, disabled }) => ({\n border: `solid 0px ${theme.palette.primary.main}`,\n borderRadius: theme.spacing(2),\n margin: theme.spacing(0.5),\n transform: 'translate(0, 0)',\n display: 'inline-flex',\n ...(disabled && {}),\n}));\n\nconst StyledChip = styled(Chip)(() => ({\n backgroundColor: color.white(),\n border: `1px solid ${color.text()}`,\n color: color.text(),\n alignItems: 'center',\n display: 'inline-flex',\n height: 'initial',\n minHeight: '32px',\n fontSize: 'inherit',\n whiteSpace: 'pre-wrap',\n maxWidth: '374px',\n // Added for touch devices, for image content.\n // This will prevent the context menu from appearing and not allowing other interactions with the image.\n // If interactions with the image in the token will be requested we should handle only the context Menu.\n pointerEvents: 'none',\n borderRadius: '3px',\n paddingTop: '12px',\n paddingBottom: '12px',\n\n '&.Mui-disabled': {\n opacity: 1,\n },\n}));\n\nconst StyledChipLabel = styled('span')(() => ({\n whiteSpace: 'normal',\n '& img': {\n display: 'block',\n padding: '2px 0',\n },\n '& mjx-frac': {\n fontSize: '120% !important',\n },\n}));\n\nexport default function Choice({ choice, disabled, instanceId }) {\n const rootRef = useRef(null);\n\n const { attributes, listeners, setNodeRef, isDragging } = useDraggable({\n id: `choice-${choice.id}`,\n data: { choice, instanceId, fromChoice: true, type: DRAG_TYPE },\n disabled,\n });\n\n useEffect(() => {\n renderMath(rootRef.current);\n }, [choice.value]);\n\n return (\n <StyledChoice\n ref={setNodeRef}\n style={\n isDragging\n ? {\n
|
|
1
|
+
{"version":3,"file":"choice.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_core","_styles","_Chip","_mathRendering","_renderUi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","DRAG_TYPE","exports","StyledChoice","styled","_ref","theme","disabled","border","concat","palette","primary","main","borderRadius","spacing","margin","transform","display","StyledChip","Chip","backgroundColor","color","white","text","alignItems","height","minHeight","fontSize","whiteSpace","maxWidth","pointerEvents","paddingTop","paddingBottom","opacity","StyledChipLabel","padding","Choice","_ref2","_rootRef$current","_rootRef$current2","choice","instanceId","rootRef","useRef","_useDraggable","useDraggable","id","data","fromChoice","type","attributes","listeners","setNodeRef","isDragging","useEffect","renderMath","current","value","createElement","_extends2","ref","style","width","offsetWidth","offsetHeight","clickable","label","dangerouslySetInnerHTML","__html","propTypes","PropTypes","object","isRequired","bool","oneOfType","string","number"],"sources":["../../src/choices/choice.jsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDraggable } from '@dnd-kit/core';\nimport { styled } from '@mui/material/styles';\nimport Chip from '@mui/material/Chip';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { color } from '@pie-lib/render-ui';\n\nexport const DRAG_TYPE = 'MaskBlank';\n\nconst StyledChoice = styled('span')(({ theme, disabled }) => ({\n border: `solid 0px ${theme.palette.primary.main}`,\n borderRadius: theme.spacing(2),\n margin: theme.spacing(0.5),\n transform: 'translate(0, 0)',\n display: 'inline-flex',\n ...(disabled && {}),\n}));\n\nconst StyledChip = styled(Chip)(() => ({\n backgroundColor: color.white(),\n border: `1px solid ${color.text()}`,\n color: color.text(),\n alignItems: 'center',\n display: 'inline-flex',\n height: 'initial',\n minHeight: '32px',\n fontSize: 'inherit',\n whiteSpace: 'pre-wrap',\n maxWidth: '374px',\n // Added for touch devices, for image content.\n // This will prevent the context menu from appearing and not allowing other interactions with the image.\n // If interactions with the image in the token will be requested we should handle only the context Menu.\n pointerEvents: 'none',\n borderRadius: '3px',\n paddingTop: '12px',\n paddingBottom: '12px',\n\n '&.Mui-disabled': {\n opacity: 1,\n },\n}));\n\nconst StyledChipLabel = styled('span')(() => ({\n whiteSpace: 'normal',\n '& img': {\n display: 'block',\n padding: '2px 0',\n },\n '& mjx-frac': {\n fontSize: '120% !important',\n },\n '& mjx-mn:has(~ mjx-mfrac), mjx-mfrac ~ mjx-mn': {\n fontSize: '120% !important',\n },\n}));\n\nexport default function Choice({ choice, disabled, instanceId }) {\n const rootRef = useRef(null);\n\n const { attributes, listeners, setNodeRef, isDragging } = useDraggable({\n id: `choice-${choice.id}`,\n data: { choice, instanceId, fromChoice: true, type: DRAG_TYPE },\n disabled,\n });\n\n useEffect(() => {\n renderMath(rootRef.current);\n }, [choice.value]);\n\n return (\n <StyledChoice\n ref={setNodeRef}\n style={\n isDragging\n ? {\n width: rootRef.current?.offsetWidth || 90, // min-width of chip is 90px, so if we don't have the width, we can use 90px as a fallback\n height: rootRef.current?.offsetHeight || 32, // min-height of chip is 32px, so if we don't have the height, we can use 32px as a fallback\n }\n : {}\n }\n disabled={disabled}\n {...listeners}\n {...attributes}\n >\n <StyledChip\n clickable={false}\n disabled={disabled}\n ref={rootRef}\n label={<StyledChipLabel dangerouslySetInnerHTML={{ __html: choice.value }} />}\n />\n </StyledChoice>\n );\n}\n\nChoice.propTypes = {\n choice: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n instanceId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n};\n"],"mappings":"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","ignoreList":[]}
|