@pie-lib/mask-markup 3.1.3 → 4.0.0-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 (113) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +4 -0
  2. package/dist/choices/choice.d.ts +28 -0
  3. package/dist/choices/choice.js +92 -0
  4. package/dist/choices/index.d.ts +29 -0
  5. package/dist/choices/index.js +59 -0
  6. package/dist/componentize.d.ts +12 -0
  7. package/dist/componentize.js +4 -0
  8. package/dist/components/blank.d.ts +45 -0
  9. package/dist/components/blank.js +273 -0
  10. package/dist/components/correct-input.d.ts +11 -0
  11. package/dist/components/dropdown.d.ts +37 -0
  12. package/dist/components/dropdown.js +311 -0
  13. package/dist/components/input.d.ts +37 -0
  14. package/dist/constructed-response.d.ts +44 -0
  15. package/dist/constructed-response.js +56 -0
  16. package/dist/customizable.d.ts +43 -0
  17. package/dist/customizable.js +8 -0
  18. package/dist/drag-in-the-blank.d.ts +47 -0
  19. package/dist/drag-in-the-blank.js +220 -0
  20. package/dist/index.d.ts +15 -0
  21. package/dist/index.js +7 -0
  22. package/dist/inline-dropdown.d.ts +44 -0
  23. package/dist/inline-dropdown.js +24 -0
  24. package/dist/keyboard-coordinates.d.ts +25 -0
  25. package/dist/keyboard-coordinates.js +49 -0
  26. package/dist/mask.d.ts +30 -0
  27. package/dist/mask.js +95 -0
  28. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +16 -0
  29. package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/index.js +17 -0
  30. package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/cssPrefix.js +9 -0
  31. package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/cssUnitless.js +26 -0
  32. package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/hasOwn.js +11 -0
  33. package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/isFunction.js +11 -0
  34. package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/isObject.js +11 -0
  35. package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/prefixInfo.js +24 -0
  36. package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/prefixProperties.js +32 -0
  37. package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/prefixer.js +29 -0
  38. package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/camelize.js +14 -0
  39. package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/hyphenRe.js +8 -0
  40. package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/hyphenate.js +12 -0
  41. package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/separate.js +11 -0
  42. package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/toLowerFirst.js +10 -0
  43. package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/toUpperFirst.js +10 -0
  44. package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/toStyleObject.js +55 -0
  45. package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/toStyleString.js +16 -0
  46. package/dist/serialization.d.ts +34 -0
  47. package/dist/serialization.js +132 -0
  48. package/dist/with-mask.d.ts +55 -0
  49. package/dist/with-mask.js +45 -0
  50. package/package.json +35 -19
  51. package/CHANGELOG.json +0 -17
  52. package/CHANGELOG.md +0 -1353
  53. package/LICENSE.md +0 -5
  54. package/lib/choices/choice.js +0 -138
  55. package/lib/choices/choice.js.map +0 -1
  56. package/lib/choices/index.js +0 -126
  57. package/lib/choices/index.js.map +0 -1
  58. package/lib/componentize.js +0 -21
  59. package/lib/componentize.js.map +0 -1
  60. package/lib/components/blank.js +0 -489
  61. package/lib/components/blank.js.map +0 -1
  62. package/lib/components/correct-input.js +0 -94
  63. package/lib/components/correct-input.js.map +0 -1
  64. package/lib/components/dropdown.js +0 -480
  65. package/lib/components/dropdown.js.map +0 -1
  66. package/lib/components/input.js +0 -50
  67. package/lib/components/input.js.map +0 -1
  68. package/lib/constructed-response.js +0 -101
  69. package/lib/constructed-response.js.map +0 -1
  70. package/lib/customizable.js +0 -42
  71. package/lib/customizable.js.map +0 -1
  72. package/lib/drag-in-the-blank.js +0 -363
  73. package/lib/drag-in-the-blank.js.map +0 -1
  74. package/lib/index.js +0 -55
  75. package/lib/index.js.map +0 -1
  76. package/lib/inline-dropdown.js +0 -40
  77. package/lib/inline-dropdown.js.map +0 -1
  78. package/lib/keyboard-coordinates.js +0 -156
  79. package/lib/keyboard-coordinates.js.map +0 -1
  80. package/lib/mask.js +0 -203
  81. package/lib/mask.js.map +0 -1
  82. package/lib/serialization.js +0 -261
  83. package/lib/serialization.js.map +0 -1
  84. package/lib/with-mask.js +0 -97
  85. package/lib/with-mask.js.map +0 -1
  86. package/src/__tests__/drag-in-the-blank.test.js +0 -256
  87. package/src/__tests__/index.test.js +0 -38
  88. package/src/__tests__/keyboard-coordinates.test.js +0 -202
  89. package/src/__tests__/mask.test.js +0 -479
  90. package/src/__tests__/serialization.test.js +0 -54
  91. package/src/__tests__/utils.js +0 -1
  92. package/src/__tests__/with-mask.test.js +0 -76
  93. package/src/choices/__tests__/index.test.js +0 -212
  94. package/src/choices/choice.jsx +0 -113
  95. package/src/choices/index.jsx +0 -88
  96. package/src/componentize.js +0 -13
  97. package/src/components/__tests__/blank.test.js +0 -413
  98. package/src/components/__tests__/correct-input.test.js +0 -90
  99. package/src/components/__tests__/dropdown.test.js +0 -129
  100. package/src/components/__tests__/input.test.js +0 -102
  101. package/src/components/blank.jsx +0 -504
  102. package/src/components/correct-input.jsx +0 -82
  103. package/src/components/dropdown.jsx +0 -421
  104. package/src/components/input.jsx +0 -48
  105. package/src/constructed-response.jsx +0 -87
  106. package/src/customizable.jsx +0 -34
  107. package/src/drag-in-the-blank.jsx +0 -351
  108. package/src/index.js +0 -16
  109. package/src/inline-dropdown.jsx +0 -29
  110. package/src/keyboard-coordinates.js +0 -147
  111. package/src/mask.jsx +0 -174
  112. package/src/serialization.js +0 -260
  113. package/src/with-mask.jsx +0 -75
@@ -1,101 +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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _styles = require("@mui/material/styles");
11
- var _classnames = _interopRequireDefault(require("classnames"));
12
- var _renderUi = require("@pie-lib/render-ui");
13
- var _withMask = require("./with-mask");
14
- 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; }
15
- 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; }
16
- //import EditableHtml from '@pie-lib/editable-html-tip-tap';
17
-
18
- var EditableHtml;
19
- var StyledEditableHtml;
20
-
21
- // - mathquill error window not defined
22
- if (typeof window !== 'undefined') {
23
- EditableHtml = require('@pie-lib/editable-html-tip-tap')['default'];
24
- StyledEditableHtml = (0, _styles.styled)(EditableHtml)(function () {
25
- return {
26
- display: 'inline-block',
27
- verticalAlign: 'middle',
28
- margin: '4px',
29
- borderRadius: '4px',
30
- border: "1px solid ".concat(_renderUi.color.black()),
31
- '&.correct': {
32
- border: "1px solid ".concat(_renderUi.color.correct())
33
- },
34
- '&.incorrect': {
35
- border: "1px solid ".concat(_renderUi.color.incorrect())
36
- }
37
- };
38
- });
39
- }
40
- var MaskedInput = function MaskedInput(props) {
41
- return function (node, data) {
42
- var _node$data;
43
- var adjustedLimit = props.adjustedLimit,
44
- disabled = props.disabled,
45
- feedback = props.feedback,
46
- showCorrectAnswer = props.showCorrectAnswer,
47
- maxLength = props.maxLength,
48
- spellCheck = props.spellCheck,
49
- pluginProps = props.pluginProps,
50
- onChange = props.onChange;
51
- var dataset = ((_node$data = node.data) === null || _node$data === void 0 ? void 0 : _node$data.dataset) || {};
52
- if (dataset.component === 'input') {
53
- var _pluginProps$characte;
54
- var correctAnswer = (props.choices && dataset && props.choices[dataset.id] || [])[0];
55
- var finalValue = showCorrectAnswer ? correctAnswer && correctAnswer.label : data[dataset.id] || '';
56
- var width = maxLength && maxLength[dataset.id];
57
- var feedbackStatus = feedback && feedback[dataset.id];
58
- var isCorrect = showCorrectAnswer || feedbackStatus === 'correct';
59
- var isIncorrect = !showCorrectAnswer && feedbackStatus === 'incorrect';
60
- var handleInputChange = function handleInputChange(newValue) {
61
- var updatedValue = _objectSpread(_objectSpread({}, data), {}, (0, _defineProperty2["default"])({}, dataset.id, newValue));
62
- onChange(updatedValue);
63
- };
64
- var handleKeyDown = function handleKeyDown(event) {
65
- // the keyCode value for the Enter/Return key is 13
66
- if (event.key === 'Enter' || event.keyCode === 13) {
67
- return true;
68
- }
69
- };
70
- return /*#__PURE__*/_react["default"].createElement(StyledEditableHtml, {
71
- id: dataset.id,
72
- key: "".concat(node.type, "-input-").concat(dataset.id),
73
- disabled: showCorrectAnswer || disabled,
74
- disableUnderline: true,
75
- onChange: handleInputChange,
76
- markup: finalValue || '',
77
- charactersLimit: adjustedLimit ? width : 25,
78
- activePlugins: ['languageCharacters'],
79
- pluginProps: pluginProps,
80
- languageCharactersProps: [{
81
- language: 'spanish'
82
- }],
83
- spellCheck: spellCheck,
84
- adjustWidthForLimit: true,
85
- onKeyDown: handleKeyDown,
86
- autoWidthToolbar: true,
87
- toolbarOpts: {
88
- minWidth: 'auto',
89
- noBorder: true,
90
- isHidden: !!(pluginProps !== null && pluginProps !== void 0 && (_pluginProps$characte = pluginProps.characters) !== null && _pluginProps$characte !== void 0 && _pluginProps$characte.disabled)
91
- },
92
- className: (0, _classnames["default"])({
93
- correct: isCorrect,
94
- incorrect: isIncorrect
95
- })
96
- });
97
- }
98
- };
99
- };
100
- var _default = exports["default"] = (0, _withMask.withMask)('input', MaskedInput);
101
- //# sourceMappingURL=constructed-response.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constructed-response.js","names":["_react","_interopRequireDefault","require","_styles","_classnames","_renderUi","_withMask","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","EditableHtml","StyledEditableHtml","window","styled","display","verticalAlign","margin","borderRadius","border","concat","color","black","correct","incorrect","MaskedInput","props","node","data","_node$data","adjustedLimit","disabled","feedback","showCorrectAnswer","maxLength","spellCheck","pluginProps","onChange","dataset","component","_pluginProps$characte","correctAnswer","choices","id","finalValue","label","width","feedbackStatus","isCorrect","isIncorrect","handleInputChange","newValue","updatedValue","handleKeyDown","event","key","keyCode","createElement","type","disableUnderline","markup","charactersLimit","activePlugins","languageCharactersProps","language","adjustWidthForLimit","onKeyDown","autoWidthToolbar","toolbarOpts","minWidth","noBorder","isHidden","characters","className","classnames","_default","exports","withMask"],"sources":["../src/constructed-response.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport classnames from 'classnames';\n\nimport { color } from '@pie-lib/render-ui';\nimport { withMask } from './with-mask';\n//import EditableHtml from '@pie-lib/editable-html-tip-tap';\n\nlet EditableHtml;\nlet StyledEditableHtml;\n\n// - mathquill error window not defined\nif (typeof window !== 'undefined') {\n EditableHtml = require('@pie-lib/editable-html-tip-tap')['default'];\n StyledEditableHtml = styled(EditableHtml)(() => ({\n display: 'inline-block',\n verticalAlign: 'middle',\n margin: '4px',\n borderRadius: '4px',\n border: `1px solid ${color.black()}`,\n '&.correct': {\n border: `1px solid ${color.correct()}`,\n },\n '&.incorrect': {\n border: `1px solid ${color.incorrect()}`,\n },\n }));\n}\n\nconst MaskedInput = (props) => (node, data) => {\n const { adjustedLimit, disabled, feedback, showCorrectAnswer, maxLength, spellCheck, pluginProps, onChange } = props;\n const dataset = node.data?.dataset || {};\n\n if (dataset.component === 'input') {\n const correctAnswer = ((props.choices && dataset && props.choices[dataset.id]) || [])[0];\n const finalValue = showCorrectAnswer ? correctAnswer && correctAnswer.label : data[dataset.id] || '';\n const width = maxLength && maxLength[dataset.id];\n const feedbackStatus = feedback && feedback[dataset.id];\n const isCorrect = showCorrectAnswer || feedbackStatus === 'correct';\n const isIncorrect = !showCorrectAnswer && feedbackStatus === 'incorrect';\n\n const handleInputChange = (newValue) => {\n const updatedValue = {\n ...data,\n [dataset.id]: newValue,\n };\n onChange(updatedValue);\n };\n\n const handleKeyDown = (event) => {\n // the keyCode value for the Enter/Return key is 13\n if (event.key === 'Enter' || event.keyCode === 13) {\n return true;\n }\n };\n\n return (\n <StyledEditableHtml\n id={dataset.id}\n key={`${node.type}-input-${dataset.id}`}\n disabled={showCorrectAnswer || disabled}\n disableUnderline\n onChange={handleInputChange}\n markup={finalValue || ''}\n charactersLimit={adjustedLimit ? width : 25}\n activePlugins={['languageCharacters']}\n pluginProps={pluginProps}\n languageCharactersProps={[{ language: 'spanish' }]}\n spellCheck={spellCheck}\n adjustWidthForLimit\n onKeyDown={handleKeyDown}\n autoWidthToolbar\n toolbarOpts={{\n minWidth: 'auto',\n noBorder: true,\n isHidden: !!pluginProps?.characters?.disabled,\n }}\n className={classnames({\n correct: isCorrect,\n incorrect: isIncorrect,\n })}\n />\n );\n }\n};\n\nexport default withMask('input', MaskedInput);\n"],"mappings":"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","ignoreList":[]}
@@ -1,42 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _withMask = require("./with-mask");
8
- // import Input from './components/input';
9
- // eslint-disable-next-line react/display-name
10
- var _default = exports["default"] = (0, _withMask.withMask)('input', function (props) {
11
- return function (node, data, onChange) {
12
- var dataset = node.data ? node.data.dataset || {} : {};
13
- if (dataset.component === 'input') {
14
- // eslint-disable-next-line react/prop-types
15
- // const { adjustedLimit, disabled, feedback, showCorrectAnswer, maxLength, spellCheck } = props;
16
-
17
- // the first answer is the correct one
18
- // eslint-disable-next-line react/prop-types
19
- // const correctAnswer = ((props.choices && dataset && props.choices[dataset.id]) || [])[0];
20
- // const finalValue = showCorrectAnswer ? correctAnswer && correctAnswer.label : data[dataset.id] || '';
21
- // const width = maxLength && maxLength[dataset.id];
22
-
23
- return props.customMarkMarkupComponent(dataset.id);
24
- // return (
25
- // <Input
26
- // key={`${node.type}-input-${dataset.id}`}
27
- // correct={feedback && feedback[dataset.id] && feedback[dataset.id] === 'correct'}
28
- // disabled={showCorrectAnswer || disabled}
29
- // value={finalValue}
30
- // id={dataset.id}
31
- // onChange={onChange}
32
- // showCorrectAnswer={showCorrectAnswer}
33
- // width={width}
34
- // charactersLimit={adjustedLimit ? width : 25}
35
- // isConstructedResponse={true}
36
- // spellCheck={spellCheck}
37
- // />
38
- // );
39
- }
40
- };
41
- });
42
- //# sourceMappingURL=customizable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"customizable.js","names":["_withMask","require","_default","exports","withMask","props","node","data","onChange","dataset","component","customMarkMarkupComponent","id"],"sources":["../src/customizable.jsx"],"sourcesContent":["// import Input from './components/input';\nimport { withMask } from './with-mask';\n\n// eslint-disable-next-line react/display-name\nexport default withMask('input', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'input') {\n // eslint-disable-next-line react/prop-types\n // const { adjustedLimit, disabled, feedback, showCorrectAnswer, maxLength, spellCheck } = props;\n\n // the first answer is the correct one\n // eslint-disable-next-line react/prop-types\n // const correctAnswer = ((props.choices && dataset && props.choices[dataset.id]) || [])[0];\n // const finalValue = showCorrectAnswer ? correctAnswer && correctAnswer.label : data[dataset.id] || '';\n // const width = maxLength && maxLength[dataset.id];\n\n return props.customMarkMarkupComponent(dataset.id);\n // return (\n // <Input\n // key={`${node.type}-input-${dataset.id}`}\n // correct={feedback && feedback[dataset.id] && feedback[dataset.id] === 'correct'}\n // disabled={showCorrectAnswer || disabled}\n // value={finalValue}\n // id={dataset.id}\n // onChange={onChange}\n // showCorrectAnswer={showCorrectAnswer}\n // width={width}\n // charactersLimit={adjustedLimit ? width : 25}\n // isConstructedResponse={true}\n // spellCheck={spellCheck}\n // />\n // );\n }\n});\n"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AADA;AAGA;AAAA,IAAAC,QAAA,GAAAC,OAAA,cACe,IAAAC,kBAAQ,EAAC,OAAO,EAAE,UAACC,KAAK;EAAA,OAAK,UAACC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAK;IACpE,IAAMC,OAAO,GAAGH,IAAI,CAACC,IAAI,GAAGD,IAAI,CAACC,IAAI,CAACE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,IAAIA,OAAO,CAACC,SAAS,KAAK,OAAO,EAAE;MACjC;MACA;;MAEA;MACA;MACA;MACA;MACA;;MAEA,OAAOL,KAAK,CAACM,yBAAyB,CAACF,OAAO,CAACG,EAAE,CAAC;MAClD;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IACF;EACF,CAAC;AAAA,EAAC","ignoreList":[]}
@@ -1,363 +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 _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 _drag = require("@pie-lib/drag");
17
- var _core = require("@dnd-kit/core");
18
- var _choices = _interopRequireDefault(require("./choices"));
19
- var _choice = _interopRequireDefault(require("./choices/choice"));
20
- var _blank = _interopRequireDefault(require("./components/blank"));
21
- var _withMask = require("./with-mask");
22
- var _keyboardCoordinates = require("./keyboard-coordinates");
23
- 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)); }
24
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
25
- 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; }
26
- 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; }
27
- // A click that lands right after a real drag gesture ends (pointer drag-and-drop, or
28
- // the browser's own synthetic click for a keyboard Space/Enter) must be ignored by the
29
- // click-to-select/click-to-place handlers below, or it would immediately reopen or
30
- // re-trigger a selection for a drag that just completed.
31
- var CLICK_AFTER_DRAG_GUARD_MS = 250;
32
- var Masked = (0, _withMask.withMask)('blank', function (props) {
33
- return function (node, data, _onChange) {
34
- var _node$data;
35
- var dataset = ((_node$data = node.data) === null || _node$data === void 0 ? void 0 : _node$data.dataset) || {};
36
- if (dataset.component === 'blank') {
37
- // eslint-disable-next-line react/prop-types
38
- var disabled = props.disabled,
39
- duplicates = props.duplicates,
40
- correctResponse = props.correctResponse,
41
- feedback = props.feedback,
42
- showCorrectAnswer = props.showCorrectAnswer,
43
- emptyResponseAreaWidth = props.emptyResponseAreaWidth,
44
- emptyResponseAreaHeight = props.emptyResponseAreaHeight,
45
- instanceId = props.instanceId,
46
- isDragging = props.isDragging,
47
- selectedItem = props.selectedItem,
48
- onSelectClick = props.onSelectClick,
49
- onPlacementClick = props.onPlacementClick;
50
- var choiceId = showCorrectAnswer ? correctResponse[dataset.id] : data[dataset.id];
51
- // eslint-disable-next-line react/prop-types
52
- var choice = choiceId && props.choices.find(function (c) {
53
- return c.id === choiceId;
54
- });
55
- return /*#__PURE__*/_react["default"].createElement(_blank["default"], {
56
- key: "".concat(node.type, "-").concat(dataset.id),
57
- correct: showCorrectAnswer || feedback && feedback[dataset.id],
58
- disabled: disabled,
59
- duplicates: duplicates,
60
- choice: choice,
61
- id: dataset.id,
62
- emptyResponseAreaWidth: emptyResponseAreaWidth,
63
- emptyResponseAreaHeight: emptyResponseAreaHeight,
64
- onChange: function onChange(id, choiceId) {
65
- var newData = _objectSpread({}, data);
66
- if (choiceId === undefined) {
67
- delete newData[id];
68
- } else {
69
- newData[id] = choiceId;
70
- }
71
- _onChange(newData);
72
- },
73
- instanceId: instanceId,
74
- isDragging: isDragging,
75
- selectedItem: selectedItem,
76
- onSelectClick: onSelectClick,
77
- onPlacementClick: onPlacementClick
78
- });
79
- }
80
- };
81
- });
82
- var DragInTheBlank = exports["default"] = /*#__PURE__*/function (_React$Component) {
83
- function DragInTheBlank(props) {
84
- var _this;
85
- (0, _classCallCheck2["default"])(this, DragInTheBlank);
86
- _this = _callSuper(this, DragInTheBlank, [props]);
87
- (0, _defineProperty2["default"])(_this, "handleDragStart", function (event) {
88
- var _active$data;
89
- var active = event.active;
90
- if (active !== null && active !== void 0 && (_active$data = active.data) !== null && _active$data !== void 0 && _active$data.current) {
91
- _this.setState({
92
- activeDragItem: active.data.current,
93
- dropAnimation: undefined,
94
- // default during drag
95
- selectedItem: active.data.current
96
- });
97
- }
98
- });
99
- (0, _defineProperty2["default"])(_this, "renderDragOverlay", function () {
100
- var activeDragItem = _this.state.activeDragItem;
101
- if (!activeDragItem) return null;
102
- if (activeDragItem.type === 'MaskBlank') {
103
- return /*#__PURE__*/_react["default"].createElement(_choice["default"], {
104
- disabled: activeDragItem.disabled,
105
- choice: activeDragItem.choice,
106
- instanceId: activeDragItem.instanceId
107
- });
108
- }
109
- return null;
110
- });
111
- // Shared placement logic for both the drag-end path and the click-to-place path, so
112
- // neither reimplements the other's mutation rules.
113
- //
114
- // `targetId === undefined` means "the choice board" — placing there removes the item
115
- // from wherever it currently is (mirroring image-cloze-association's
116
- // `containerIndex === undefined` convention for its own choices pool).
117
- (0, _defineProperty2["default"])(_this, "commitPlacement", function (draggedItem, targetId) {
118
- var _this$props = _this.props,
119
- onChange = _this$props.onChange,
120
- value = _this$props.value;
121
- if (!onChange) return;
122
- if (targetId === undefined) {
123
- if (!draggedItem.fromChoice && draggedItem.id) {
124
- var newValue = _objectSpread({}, value);
125
- delete newValue[draggedItem.id];
126
- onChange(newValue);
127
- }
128
- return;
129
- }
130
- if (draggedItem.fromChoice === true) {
131
- var _newValue = _objectSpread({}, value);
132
- _newValue[targetId] = draggedItem.choice.id;
133
- onChange(_newValue);
134
- } else if (draggedItem.id && draggedItem.id !== targetId) {
135
- var _newValue2 = _objectSpread({}, value);
136
- _newValue2[targetId] = draggedItem.choice.id;
137
- delete _newValue2[draggedItem.id];
138
- onChange(_newValue2);
139
- }
140
- });
141
- (0, _defineProperty2["default"])(_this, "handleDragEnd", function (event) {
142
- var _active$data2, _over$data, _dropData$accepts;
143
- var active = event.active,
144
- over = event.over;
145
- var draggedData = active === null || active === void 0 || (_active$data2 = active.data) === null || _active$data2 === void 0 ? void 0 : _active$data2.current;
146
- var dropData = over === null || over === void 0 || (_over$data = over.data) === null || _over$data === void 0 ? void 0 : _over$data.current;
147
- var isValidDrop = !!active && !!over && (draggedData === null || draggedData === void 0 ? void 0 : draggedData.type) === 'MaskBlank' && (dropData === null || dropData === void 0 || (_dropData$accepts = dropData.accepts) === null || _dropData$accepts === void 0 ? void 0 : _dropData$accepts.includes('MaskBlank'));
148
-
149
- // Only animate back when drop is invalid
150
- _this.setState({
151
- activeDragItem: null,
152
- dropAnimation: isValidDrop ? null : undefined
153
- });
154
- _this.cancelSelection();
155
- _this.lastDragEndAt = Date.now();
156
- if (!isValidDrop) return;
157
- var targetId = dropData.toChoiceBoard === true ? undefined : dropData.id;
158
- _this.commitPlacement(draggedData, targetId);
159
- });
160
- (0, _defineProperty2["default"])(_this, "onDragCancel", function () {
161
- _this.setState({
162
- activeDragItem: null,
163
- dropAnimation: undefined
164
- });
165
- _this.cancelSelection();
166
- _this.lastDragEndAt = Date.now();
167
- });
168
- (0, _defineProperty2["default"])(_this, "isSameItem", function (a, b) {
169
- if (!a || !b || a.fromChoice !== b.fromChoice) return false;
170
- return a.fromChoice ? a.choice.id === b.choice.id : a.id === b.id;
171
- });
172
- // Click-to-select semantics: selecting the currently-selected item again clears the
173
- // selection instead of re-selecting it.
174
- (0, _defineProperty2["default"])(_this, "toggleItemSelection", function (data) {
175
- _this.setState(function (state) {
176
- return {
177
- selectedItem: _this.isSameItem(state.selectedItem, data) ? null : data
178
- };
179
- });
180
- });
181
- (0, _defineProperty2["default"])(_this, "cancelSelection", function () {
182
- _this.setState({
183
- selectedItem: null
184
- });
185
- });
186
- // If a real dnd-kit drag (started via keyboard Space/Enter) is still live when a
187
- // click completes the placement below, it needs to be cleanly ended — otherwise
188
- // dnd-kit would still think a drag is in progress. Escape is already configured as
189
- // this sensor's cancel key (see the keyboardCodes passed to DragProvider below), and
190
- // dispatching it as a real DOM KeyboardEvent is how dnd-kit's own document-level
191
- // listener is reached from outside its sensor.
192
- //
193
- // Only dispatch when a drag is actually live — this is a synthetic Escape keydown on
194
- // `document`, so an unconditional dispatch would also be observed by any other
195
- // document-level Escape listener (host player modals/dialogs, or another mounted
196
- // instance of this same component) even when nothing here actually needed cancelling.
197
- (0, _defineProperty2["default"])(_this, "endAnyLiveKeyboardDrag", function () {
198
- if (!_this.state.activeDragItem) return;
199
- document.dispatchEvent(new KeyboardEvent('keydown', {
200
- code: 'Escape',
201
- bubbles: true,
202
- cancelable: true
203
- }));
204
- });
205
- (0, _defineProperty2["default"])(_this, "placeSelectedItem", function (targetId) {
206
- var selectedItem = _this.state.selectedItem;
207
- if (!selectedItem) return;
208
- _this.commitPlacement(selectedItem, targetId);
209
- _this.cancelSelection();
210
- _this.endAnyLiveKeyboardDrag();
211
- });
212
- (0, _defineProperty2["default"])(_this, "isClickSoonAfterDragEnd", function () {
213
- return Date.now() - _this.lastDragEndAt < CLICK_AFTER_DRAG_GUARD_MS;
214
- });
215
- (0, _defineProperty2["default"])(_this, "onItemClick", function (data) {
216
- if (_this.isClickSoonAfterDragEnd()) return;
217
-
218
- // End any still-live keyboard drag BEFORE toggling the new selection: ending it
219
- // also cancels the current selection as a side effect (see onDragCancel above), so
220
- // doing it before — not after — lets this click's own selection be the one that
221
- // sticks.
222
- _this.endAnyLiveKeyboardDrag();
223
- _this.toggleItemSelection(data);
224
- });
225
- (0, _defineProperty2["default"])(_this, "onPlacementClick", function (targetId) {
226
- if (_this.isClickSoonAfterDragEnd()) return;
227
- _this.placeSelectedItem(targetId);
228
- });
229
- (0, _defineProperty2["default"])(_this, "getPositionDirection", function (choicePosition) {
230
- var flexDirection;
231
- var justifyContent;
232
- var alignItems;
233
- switch (choicePosition) {
234
- case 'left':
235
- flexDirection = 'row';
236
- alignItems = 'center';
237
- break;
238
- case 'right':
239
- flexDirection = 'row-reverse';
240
- justifyContent = 'flex-end';
241
- alignItems = 'center';
242
- break;
243
- case 'below':
244
- flexDirection = 'column-reverse';
245
- break;
246
- default:
247
- // above
248
- flexDirection = 'column';
249
- break;
250
- }
251
- return {
252
- flexDirection: flexDirection,
253
- justifyContent: justifyContent,
254
- alignItems: alignItems
255
- };
256
- });
257
- _this.state = {
258
- activeDragItem: null,
259
- dropAnimation: undefined,
260
- selectedItem: null
261
- };
262
- _this.lastDragEndAt = 0;
263
- return _this;
264
- }
265
- (0, _inherits2["default"])(DragInTheBlank, _React$Component);
266
- return (0, _createClass2["default"])(DragInTheBlank, [{
267
- key: "render",
268
- value: function render() {
269
- var _this2 = this;
270
- var _this$props2 = this.props,
271
- markup = _this$props2.markup,
272
- duplicates = _this$props2.duplicates,
273
- value = _this$props2.value,
274
- onChange = _this$props2.onChange,
275
- choicesPosition = _this$props2.choicesPosition,
276
- choices = _this$props2.choices,
277
- correctResponse = _this$props2.correctResponse,
278
- disabled = _this$props2.disabled,
279
- feedback = _this$props2.feedback,
280
- showCorrectAnswer = _this$props2.showCorrectAnswer,
281
- emptyResponseAreaWidth = _this$props2.emptyResponseAreaWidth,
282
- emptyResponseAreaHeight = _this$props2.emptyResponseAreaHeight,
283
- layout = _this$props2.layout,
284
- instanceId = _this$props2.instanceId;
285
- var choicePosition = choicesPosition || 'below';
286
- var style = _objectSpread({
287
- display: 'flex',
288
- minWidth: '100px'
289
- }, this.getPositionDirection(choicePosition));
290
- return /*#__PURE__*/_react["default"].createElement(_drag.DragProvider, {
291
- onDragStart: this.handleDragStart,
292
- onDragEnd: this.handleDragEnd,
293
- onDragCancel: this.onDragCancel,
294
- collisionDetection: _core.rectIntersection,
295
- keyboardCoordinateGetter: _keyboardCoordinates.closestDroppableKeyboardCoordinates,
296
- keyboardCodes: {
297
- start: ['Space', 'Enter'],
298
- cancel: ['Escape'],
299
- end: ['Space', 'Enter']
300
- }
301
- }, /*#__PURE__*/_react["default"].createElement("div", {
302
- ref: function ref(_ref) {
303
- return _this2.rootRef = _ref;
304
- },
305
- style: style
306
- }, /*#__PURE__*/_react["default"].createElement(_choices["default"], {
307
- choicePosition: choicePosition,
308
- choices: choices,
309
- value: value,
310
- duplicates: duplicates,
311
- disabled: disabled,
312
- instanceId: instanceId,
313
- selectedItem: this.state.selectedItem,
314
- onSelectClick: this.onItemClick,
315
- onPlacementClick: this.onPlacementClick
316
- }), /*#__PURE__*/_react["default"].createElement(Masked, {
317
- elementType: "drag-in-the-blank",
318
- markup: markup,
319
- layout: layout,
320
- value: value,
321
- choices: choices,
322
- onChange: onChange,
323
- disabled: disabled,
324
- duplicates: duplicates,
325
- feedback: feedback,
326
- correctResponse: correctResponse,
327
- showCorrectAnswer: showCorrectAnswer,
328
- emptyResponseAreaWidth: emptyResponseAreaWidth,
329
- emptyResponseAreaHeight: emptyResponseAreaHeight,
330
- instanceId: instanceId,
331
- isDragging: !!this.state.activeDragItem,
332
- selectedItem: this.state.selectedItem,
333
- onSelectClick: this.onItemClick,
334
- onPlacementClick: this.onPlacementClick
335
- }), /*#__PURE__*/_react["default"].createElement(_core.DragOverlay, {
336
- style: {
337
- pointerEvents: 'none'
338
- },
339
- dropAnimation: this.state.dropAnimation
340
- }, this.renderDragOverlay())));
341
- }
342
- }]);
343
- }(_react["default"].Component);
344
- (0, _defineProperty2["default"])(DragInTheBlank, "propTypes", {
345
- markup: _propTypes["default"].string,
346
- layout: _propTypes["default"].object,
347
- choicesPosition: _propTypes["default"].string,
348
- choices: _propTypes["default"].array,
349
- value: _propTypes["default"].object,
350
- onChange: _propTypes["default"].func,
351
- duplicates: _propTypes["default"].bool,
352
- disabled: _propTypes["default"].bool,
353
- feedback: _propTypes["default"].object,
354
- correctResponse: _propTypes["default"].object,
355
- showCorrectAnswer: _propTypes["default"].bool,
356
- emptyResponseAreaWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
357
- emptyResponseAreaHeight: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
358
- instanceId: _propTypes["default"].string
359
- });
360
- (0, _defineProperty2["default"])(DragInTheBlank, "defaultProps", {
361
- instanceId: 'drag-in-the-blank'
362
- });
363
- //# sourceMappingURL=drag-in-the-blank.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drag-in-the-blank.js","names":["_react","_interopRequireDefault","require","_propTypes","_drag","_core","_choices","_choice","_blank","_withMask","_keyboardCoordinates","_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","CLICK_AFTER_DRAG_GUARD_MS","Masked","withMask","props","node","data","onChange","_node$data","dataset","component","disabled","duplicates","correctResponse","feedback","showCorrectAnswer","emptyResponseAreaWidth","emptyResponseAreaHeight","instanceId","isDragging","selectedItem","onSelectClick","onPlacementClick","choiceId","id","choice","choices","find","c","createElement","key","concat","type","correct","newData","undefined","DragInTheBlank","exports","_React$Component","_this","_classCallCheck2","event","_active$data","active","current","setState","activeDragItem","dropAnimation","state","draggedItem","targetId","_this$props","value","fromChoice","newValue","_active$data2","_over$data","_dropData$accepts","over","draggedData","dropData","isValidDrop","accepts","includes","cancelSelection","lastDragEndAt","Date","now","toChoiceBoard","commitPlacement","a","b","isSameItem","document","dispatchEvent","KeyboardEvent","code","bubbles","cancelable","endAnyLiveKeyboardDrag","isClickSoonAfterDragEnd","toggleItemSelection","placeSelectedItem","choicePosition","flexDirection","justifyContent","alignItems","_inherits2","_createClass2","render","_this2","_this$props2","markup","choicesPosition","layout","style","display","minWidth","getPositionDirection","DragProvider","onDragStart","handleDragStart","onDragEnd","handleDragEnd","onDragCancel","collisionDetection","rectIntersection","keyboardCoordinateGetter","closestDroppableKeyboardCoordinates","keyboardCodes","start","cancel","end","ref","rootRef","onItemClick","elementType","DragOverlay","pointerEvents","renderDragOverlay","React","Component","PropTypes","string","object","array","func","bool","oneOfType","number"],"sources":["../src/drag-in-the-blank.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { DragProvider } from '@pie-lib/drag';\nimport { DragOverlay, rectIntersection } from '@dnd-kit/core';\nimport Choices from './choices';\nimport Choice from './choices/choice';\nimport Blank from './components/blank';\nimport { withMask } from './with-mask';\nimport { closestDroppableKeyboardCoordinates } from './keyboard-coordinates';\n\n// A click that lands right after a real drag gesture ends (pointer drag-and-drop, or\n// the browser's own synthetic click for a keyboard Space/Enter) must be ignored by the\n// click-to-select/click-to-place handlers below, or it would immediately reopen or\n// re-trigger a selection for a drag that just completed.\nconst CLICK_AFTER_DRAG_GUARD_MS = 250;\n\nconst Masked = withMask('blank', (props) => (node, data, onChange) => {\n const dataset = node.data?.dataset || {};\n if (dataset.component === 'blank') {\n // eslint-disable-next-line react/prop-types\n const {\n disabled,\n duplicates,\n correctResponse,\n feedback,\n showCorrectAnswer,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n instanceId,\n isDragging,\n selectedItem,\n onSelectClick,\n onPlacementClick,\n } = props;\n const choiceId = showCorrectAnswer ? correctResponse[dataset.id] : data[dataset.id];\n // eslint-disable-next-line react/prop-types\n const choice = choiceId && props.choices.find((c) => c.id === choiceId);\n\n return (\n <Blank\n key={`${node.type}-${dataset.id}`}\n correct={showCorrectAnswer || (feedback && feedback[dataset.id])}\n disabled={disabled}\n duplicates={duplicates}\n choice={choice}\n id={dataset.id}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n onChange={(id, choiceId) => {\n const newData = { ...data };\n if (choiceId === undefined) {\n delete newData[id];\n } else {\n newData[id] = choiceId;\n }\n onChange(newData);\n }}\n instanceId={instanceId}\n isDragging={isDragging}\n selectedItem={selectedItem}\n onSelectClick={onSelectClick}\n onPlacementClick={onPlacementClick}\n />\n );\n }\n});\n\nexport default class DragInTheBlank extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n activeDragItem: null,\n dropAnimation: undefined,\n selectedItem: null,\n };\n this.lastDragEndAt = 0;\n }\n\n static propTypes = {\n markup: PropTypes.string,\n layout: PropTypes.object,\n choicesPosition: PropTypes.string,\n choices: PropTypes.array,\n value: PropTypes.object,\n onChange: PropTypes.func,\n duplicates: PropTypes.bool,\n disabled: PropTypes.bool,\n feedback: PropTypes.object,\n correctResponse: PropTypes.object,\n showCorrectAnswer: PropTypes.bool,\n emptyResponseAreaWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n emptyResponseAreaHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n instanceId: PropTypes.string,\n };\n\n static defaultProps = {\n instanceId: 'drag-in-the-blank',\n };\n\n handleDragStart = (event) => {\n const { active } = event;\n\n if (active?.data?.current) {\n this.setState({\n activeDragItem: active.data.current,\n dropAnimation: undefined, // default during drag\n selectedItem: active.data.current,\n });\n }\n };\n\n renderDragOverlay = () => {\n const { activeDragItem } = this.state;\n if (!activeDragItem) return null;\n\n if (activeDragItem.type === 'MaskBlank') {\n return (\n <Choice\n disabled={activeDragItem.disabled}\n choice={activeDragItem.choice}\n instanceId={activeDragItem.instanceId}\n />\n );\n }\n\n return null;\n };\n\n // Shared placement logic for both the drag-end path and the click-to-place path, so\n // neither reimplements the other's mutation rules.\n //\n // `targetId === undefined` means \"the choice board\" — placing there removes the item\n // from wherever it currently is (mirroring image-cloze-association's\n // `containerIndex === undefined` convention for its own choices pool).\n commitPlacement = (draggedItem, targetId) => {\n const { onChange, value } = this.props;\n\n if (!onChange) return;\n\n if (targetId === undefined) {\n if (!draggedItem.fromChoice && draggedItem.id) {\n const newValue = { ...value };\n delete newValue[draggedItem.id];\n onChange(newValue);\n }\n return;\n }\n\n if (draggedItem.fromChoice === true) {\n const newValue = { ...value };\n newValue[targetId] = draggedItem.choice.id;\n onChange(newValue);\n } else if (draggedItem.id && draggedItem.id !== targetId) {\n const newValue = { ...value };\n newValue[targetId] = draggedItem.choice.id;\n delete newValue[draggedItem.id];\n onChange(newValue);\n }\n };\n\n handleDragEnd = (event) => {\n const { active, over } = event;\n\n const draggedData = active?.data?.current;\n const dropData = over?.data?.current;\n\n const isValidDrop =\n !!active && !!over && draggedData?.type === 'MaskBlank' && dropData?.accepts?.includes('MaskBlank');\n\n // Only animate back when drop is invalid\n this.setState({\n activeDragItem: null,\n dropAnimation: isValidDrop ? null : undefined,\n });\n\n this.cancelSelection();\n this.lastDragEndAt = Date.now();\n\n if (!isValidDrop) return;\n\n const targetId = dropData.toChoiceBoard === true ? undefined : dropData.id;\n\n this.commitPlacement(draggedData, targetId);\n };\n\n onDragCancel = () => {\n this.setState({ activeDragItem: null, dropAnimation: undefined });\n this.cancelSelection();\n this.lastDragEndAt = Date.now();\n };\n\n isSameItem = (a, b) => {\n if (!a || !b || a.fromChoice !== b.fromChoice) return false;\n return a.fromChoice ? a.choice.id === b.choice.id : a.id === b.id;\n };\n\n // Click-to-select semantics: selecting the currently-selected item again clears the\n // selection instead of re-selecting it.\n toggleItemSelection = (data) => {\n this.setState((state) => ({\n selectedItem: this.isSameItem(state.selectedItem, data) ? null : data,\n }));\n };\n\n cancelSelection = () => {\n this.setState({ selectedItem: null });\n };\n\n // If a real dnd-kit drag (started via keyboard Space/Enter) is still live when a\n // click completes the placement below, it needs to be cleanly ended — otherwise\n // dnd-kit would still think a drag is in progress. Escape is already configured as\n // this sensor's cancel key (see the keyboardCodes passed to DragProvider below), and\n // dispatching it as a real DOM KeyboardEvent is how dnd-kit's own document-level\n // listener is reached from outside its sensor.\n //\n // Only dispatch when a drag is actually live — this is a synthetic Escape keydown on\n // `document`, so an unconditional dispatch would also be observed by any other\n // document-level Escape listener (host player modals/dialogs, or another mounted\n // instance of this same component) even when nothing here actually needed cancelling.\n endAnyLiveKeyboardDrag = () => {\n if (!this.state.activeDragItem) return;\n\n document.dispatchEvent(new KeyboardEvent('keydown', { code: 'Escape', bubbles: true, cancelable: true }));\n };\n\n placeSelectedItem = (targetId) => {\n const { selectedItem } = this.state;\n\n if (!selectedItem) return;\n\n this.commitPlacement(selectedItem, targetId);\n this.cancelSelection();\n this.endAnyLiveKeyboardDrag();\n };\n\n isClickSoonAfterDragEnd = () => Date.now() - this.lastDragEndAt < CLICK_AFTER_DRAG_GUARD_MS;\n\n onItemClick = (data) => {\n if (this.isClickSoonAfterDragEnd()) return;\n\n // End any still-live keyboard drag BEFORE toggling the new selection: ending it\n // also cancels the current selection as a side effect (see onDragCancel above), so\n // doing it before — not after — lets this click's own selection be the one that\n // sticks.\n this.endAnyLiveKeyboardDrag();\n this.toggleItemSelection(data);\n };\n\n onPlacementClick = (targetId) => {\n if (this.isClickSoonAfterDragEnd()) return;\n\n this.placeSelectedItem(targetId);\n };\n\n getPositionDirection = (choicePosition) => {\n let flexDirection;\n let justifyContent;\n let alignItems;\n\n switch (choicePosition) {\n case 'left':\n flexDirection = 'row';\n alignItems = 'center';\n break;\n case 'right':\n flexDirection = 'row-reverse';\n justifyContent = 'flex-end';\n alignItems = 'center';\n break;\n case 'below':\n flexDirection = 'column-reverse';\n break;\n default:\n // above\n flexDirection = 'column';\n break;\n }\n\n return { flexDirection, justifyContent, alignItems };\n };\n\n render() {\n const {\n markup,\n duplicates,\n value,\n onChange,\n choicesPosition,\n choices,\n correctResponse,\n disabled,\n feedback,\n showCorrectAnswer,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n layout,\n instanceId,\n } = this.props;\n\n const choicePosition = choicesPosition || 'below';\n const style = { display: 'flex', minWidth: '100px', ...this.getPositionDirection(choicePosition) };\n\n return (\n <DragProvider\n onDragStart={this.handleDragStart}\n onDragEnd={this.handleDragEnd}\n onDragCancel={this.onDragCancel}\n collisionDetection={rectIntersection}\n keyboardCoordinateGetter={closestDroppableKeyboardCoordinates}\n keyboardCodes={{ start: ['Space', 'Enter'], cancel: ['Escape'], end: ['Space', 'Enter'] }}\n >\n <div ref={(ref) => (this.rootRef = ref)} style={style}>\n <Choices\n choicePosition={choicePosition}\n choices={choices}\n value={value}\n duplicates={duplicates}\n disabled={disabled}\n instanceId={instanceId}\n selectedItem={this.state.selectedItem}\n onSelectClick={this.onItemClick}\n onPlacementClick={this.onPlacementClick}\n />\n <Masked\n elementType=\"drag-in-the-blank\"\n markup={markup}\n layout={layout}\n value={value}\n choices={choices}\n onChange={onChange}\n disabled={disabled}\n duplicates={duplicates}\n feedback={feedback}\n correctResponse={correctResponse}\n showCorrectAnswer={showCorrectAnswer}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n instanceId={instanceId}\n isDragging={!!this.state.activeDragItem}\n selectedItem={this.state.selectedItem}\n onSelectClick={this.onItemClick}\n onPlacementClick={this.onPlacementClick}\n />\n <DragOverlay style={{ pointerEvents: 'none' }} dropAnimation={this.state.dropAnimation}>\n {this.renderDragOverlay()}\n </DragOverlay>\n </div>\n </DragProvider>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/lib/index.js DELETED
@@ -1,55 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "ConstructedResponse", {
8
- enumerable: true,
9
- get: function get() {
10
- return _constructedResponse["default"];
11
- }
12
- });
13
- Object.defineProperty(exports, "Customizable", {
14
- enumerable: true,
15
- get: function get() {
16
- return _customizable["default"];
17
- }
18
- });
19
- Object.defineProperty(exports, "DragInTheBlank", {
20
- enumerable: true,
21
- get: function get() {
22
- return _dragInTheBlank["default"];
23
- }
24
- });
25
- Object.defineProperty(exports, "InlineDropdown", {
26
- enumerable: true,
27
- get: function get() {
28
- return _inlineDropdown["default"];
29
- }
30
- });
31
- Object.defineProperty(exports, "buildLayoutFromMarkup", {
32
- enumerable: true,
33
- get: function get() {
34
- return _withMask.buildLayoutFromMarkup;
35
- }
36
- });
37
- Object.defineProperty(exports, "componentize", {
38
- enumerable: true,
39
- get: function get() {
40
- return _componentize["default"];
41
- }
42
- });
43
- Object.defineProperty(exports, "withMask", {
44
- enumerable: true,
45
- get: function get() {
46
- return _withMask.withMask;
47
- }
48
- });
49
- var _withMask = require("./with-mask");
50
- var _dragInTheBlank = _interopRequireDefault(require("./drag-in-the-blank"));
51
- var _constructedResponse = _interopRequireDefault(require("./constructed-response"));
52
- var _customizable = _interopRequireDefault(require("./customizable"));
53
- var _inlineDropdown = _interopRequireDefault(require("./inline-dropdown"));
54
- var _componentize = _interopRequireDefault(require("./componentize"));
55
- //# sourceMappingURL=index.js.map