@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.
- package/dist/_virtual/_rolldown/runtime.js +4 -0
- package/dist/choices/choice.d.ts +28 -0
- package/dist/choices/choice.js +92 -0
- package/dist/choices/index.d.ts +29 -0
- package/dist/choices/index.js +59 -0
- package/dist/componentize.d.ts +12 -0
- package/dist/componentize.js +4 -0
- package/dist/components/blank.d.ts +45 -0
- package/dist/components/blank.js +273 -0
- package/dist/components/correct-input.d.ts +11 -0
- package/dist/components/dropdown.d.ts +37 -0
- package/dist/components/dropdown.js +311 -0
- package/dist/components/input.d.ts +37 -0
- package/dist/constructed-response.d.ts +44 -0
- package/dist/constructed-response.js +56 -0
- package/dist/customizable.d.ts +43 -0
- package/dist/customizable.js +8 -0
- package/dist/drag-in-the-blank.d.ts +47 -0
- package/dist/drag-in-the-blank.js +220 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +7 -0
- package/dist/inline-dropdown.d.ts +44 -0
- package/dist/inline-dropdown.js +24 -0
- package/dist/keyboard-coordinates.d.ts +25 -0
- package/dist/keyboard-coordinates.js +49 -0
- package/dist/mask.d.ts +30 -0
- package/dist/mask.js +95 -0
- package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +16 -0
- package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/index.js +17 -0
- package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/cssPrefix.js +9 -0
- package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/cssUnitless.js +26 -0
- package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/hasOwn.js +11 -0
- package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/isFunction.js +11 -0
- package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/isObject.js +11 -0
- package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/prefixInfo.js +24 -0
- package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/prefixProperties.js +32 -0
- package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/prefixer.js +29 -0
- package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/camelize.js +14 -0
- package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/hyphenRe.js +8 -0
- package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/hyphenate.js +12 -0
- package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/separate.js +11 -0
- package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/toLowerFirst.js +10 -0
- package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/toUpperFirst.js +10 -0
- package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/toStyleObject.js +55 -0
- package/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/toStyleString.js +16 -0
- package/dist/serialization.d.ts +34 -0
- package/dist/serialization.js +132 -0
- package/dist/with-mask.d.ts +55 -0
- package/dist/with-mask.js +45 -0
- package/package.json +35 -19
- package/CHANGELOG.json +0 -17
- package/CHANGELOG.md +0 -1353
- package/LICENSE.md +0 -5
- package/lib/choices/choice.js +0 -138
- package/lib/choices/choice.js.map +0 -1
- package/lib/choices/index.js +0 -126
- package/lib/choices/index.js.map +0 -1
- package/lib/componentize.js +0 -21
- package/lib/componentize.js.map +0 -1
- package/lib/components/blank.js +0 -489
- package/lib/components/blank.js.map +0 -1
- package/lib/components/correct-input.js +0 -94
- package/lib/components/correct-input.js.map +0 -1
- package/lib/components/dropdown.js +0 -480
- package/lib/components/dropdown.js.map +0 -1
- package/lib/components/input.js +0 -50
- package/lib/components/input.js.map +0 -1
- package/lib/constructed-response.js +0 -101
- package/lib/constructed-response.js.map +0 -1
- package/lib/customizable.js +0 -42
- package/lib/customizable.js.map +0 -1
- package/lib/drag-in-the-blank.js +0 -363
- package/lib/drag-in-the-blank.js.map +0 -1
- package/lib/index.js +0 -55
- package/lib/index.js.map +0 -1
- package/lib/inline-dropdown.js +0 -40
- package/lib/inline-dropdown.js.map +0 -1
- package/lib/keyboard-coordinates.js +0 -156
- package/lib/keyboard-coordinates.js.map +0 -1
- package/lib/mask.js +0 -203
- package/lib/mask.js.map +0 -1
- package/lib/serialization.js +0 -261
- package/lib/serialization.js.map +0 -1
- package/lib/with-mask.js +0 -97
- package/lib/with-mask.js.map +0 -1
- package/src/__tests__/drag-in-the-blank.test.js +0 -256
- package/src/__tests__/index.test.js +0 -38
- package/src/__tests__/keyboard-coordinates.test.js +0 -202
- package/src/__tests__/mask.test.js +0 -479
- package/src/__tests__/serialization.test.js +0 -54
- package/src/__tests__/utils.js +0 -1
- package/src/__tests__/with-mask.test.js +0 -76
- package/src/choices/__tests__/index.test.js +0 -212
- package/src/choices/choice.jsx +0 -113
- package/src/choices/index.jsx +0 -88
- package/src/componentize.js +0 -13
- package/src/components/__tests__/blank.test.js +0 -413
- package/src/components/__tests__/correct-input.test.js +0 -90
- package/src/components/__tests__/dropdown.test.js +0 -129
- package/src/components/__tests__/input.test.js +0 -102
- package/src/components/blank.jsx +0 -504
- package/src/components/correct-input.jsx +0 -82
- package/src/components/dropdown.jsx +0 -421
- package/src/components/input.jsx +0 -48
- package/src/constructed-response.jsx +0 -87
- package/src/customizable.jsx +0 -34
- package/src/drag-in-the-blank.jsx +0 -351
- package/src/index.js +0 -16
- package/src/inline-dropdown.jsx +0 -29
- package/src/keyboard-coordinates.js +0 -147
- package/src/mask.jsx +0 -174
- package/src/serialization.js +0 -260
- 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":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAAuC,SAAAK,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,aAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AACvC;;AAEA,IAAIoB,YAAY;AAChB,IAAIC,kBAAkB;;AAEtB;AACA,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;EACjCF,YAAY,GAAG1B,OAAO,CAAC,gCAAgC,CAAC,CAAC,SAAS,CAAC;EACnE2B,kBAAkB,GAAG,IAAAE,cAAM,EAACH,YAAY,CAAC,CAAC;IAAA,OAAO;MAC/CI,OAAO,EAAE,cAAc;MACvBC,aAAa,EAAE,QAAQ;MACvBC,MAAM,EAAE,KAAK;MACbC,YAAY,EAAE,KAAK;MACnBC,MAAM,eAAAC,MAAA,CAAeC,eAAK,CAACC,KAAK,CAAC,CAAC,CAAE;MACpC,WAAW,EAAE;QACXH,MAAM,eAAAC,MAAA,CAAeC,eAAK,CAACE,OAAO,CAAC,CAAC;MACtC,CAAC;MACD,aAAa,EAAE;QACbJ,MAAM,eAAAC,MAAA,CAAeC,eAAK,CAACG,SAAS,CAAC,CAAC;MACxC;IACF,CAAC;EAAA,CAAC,CAAC;AACL;AAEA,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,KAAK;EAAA,OAAK,UAACC,IAAI,EAAEC,IAAI,EAAK;IAAA,IAAAC,UAAA;IAC7C,IAAQC,aAAa,GAA0FJ,KAAK,CAA5GI,aAAa;MAAEC,QAAQ,GAAgFL,KAAK,CAA7FK,QAAQ;MAAEC,QAAQ,GAAsEN,KAAK,CAAnFM,QAAQ;MAAEC,iBAAiB,GAAmDP,KAAK,CAAzEO,iBAAiB;MAAEC,SAAS,GAAwCR,KAAK,CAAtDQ,SAAS;MAAEC,UAAU,GAA4BT,KAAK,CAA3CS,UAAU;MAAEC,WAAW,GAAeV,KAAK,CAA/BU,WAAW;MAAEC,QAAQ,GAAKX,KAAK,CAAlBW,QAAQ;IAC1G,IAAMC,OAAO,GAAG,EAAAT,UAAA,GAAAF,IAAI,CAACC,IAAI,cAAAC,UAAA,uBAATA,UAAA,CAAWS,OAAO,KAAI,CAAC,CAAC;IAExC,IAAIA,OAAO,CAACC,SAAS,KAAK,OAAO,EAAE;MAAA,IAAAC,qBAAA;MACjC,IAAMC,aAAa,GAAG,CAAEf,KAAK,CAACgB,OAAO,IAAIJ,OAAO,IAAIZ,KAAK,CAACgB,OAAO,CAACJ,OAAO,CAACK,EAAE,CAAC,IAAK,EAAE,EAAE,CAAC,CAAC;MACxF,IAAMC,UAAU,GAAGX,iBAAiB,GAAGQ,aAAa,IAAIA,aAAa,CAACI,KAAK,GAAGjB,IAAI,CAACU,OAAO,CAACK,EAAE,CAAC,IAAI,EAAE;MACpG,IAAMG,KAAK,GAAGZ,SAAS,IAAIA,SAAS,CAACI,OAAO,CAACK,EAAE,CAAC;MAChD,IAAMI,cAAc,GAAGf,QAAQ,IAAIA,QAAQ,CAACM,OAAO,CAACK,EAAE,CAAC;MACvD,IAAMK,SAAS,GAAGf,iBAAiB,IAAIc,cAAc,KAAK,SAAS;MACnE,IAAME,WAAW,GAAG,CAAChB,iBAAiB,IAAIc,cAAc,KAAK,WAAW;MAExE,IAAMG,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,QAAQ,EAAK;QACtC,IAAMC,YAAY,GAAAjD,aAAA,CAAAA,aAAA,KACbyB,IAAI,WAAArB,gBAAA,iBACN+B,OAAO,CAACK,EAAE,EAAGQ,QAAQ,EACvB;QACDd,QAAQ,CAACe,YAAY,CAAC;MACxB,CAAC;MAED,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAK,EAAK;QAC/B;QACA,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,IAAID,KAAK,CAACE,OAAO,KAAK,EAAE,EAAE;UACjD,OAAO,IAAI;QACb;MACF,CAAC;MAED,oBACEzE,MAAA,YAAA0E,aAAA,CAAC7C,kBAAkB;QACjB+B,EAAE,EAAEL,OAAO,CAACK,EAAG;QACfY,GAAG,KAAAnC,MAAA,CAAKO,IAAI,CAAC+B,IAAI,aAAAtC,MAAA,CAAUkB,OAAO,CAACK,EAAE,CAAG;QACxCZ,QAAQ,EAAEE,iBAAiB,IAAIF,QAAS;QACxC4B,gBAAgB;QAChBtB,QAAQ,EAAEa,iBAAkB;QAC5BU,MAAM,EAAEhB,UAAU,IAAI,EAAG;QACzBiB,eAAe,EAAE/B,aAAa,GAAGgB,KAAK,GAAG,EAAG;QAC5CgB,aAAa,EAAE,CAAC,oBAAoB,CAAE;QACtC1B,WAAW,EAAEA,WAAY;QACzB2B,uBAAuB,EAAE,CAAC;UAAEC,QAAQ,EAAE;QAAU,CAAC,CAAE;QACnD7B,UAAU,EAAEA,UAAW;QACvB8B,mBAAmB;QACnBC,SAAS,EAAEb,aAAc;QACzBc,gBAAgB;QAChBC,WAAW,EAAE;UACXC,QAAQ,EAAE,MAAM;UAChBC,QAAQ,EAAE,IAAI;UACdC,QAAQ,EAAE,CAAC,EAACnC,WAAW,aAAXA,WAAW,gBAAAI,qBAAA,GAAXJ,WAAW,CAAEoC,UAAU,cAAAhC,qBAAA,eAAvBA,qBAAA,CAAyBT,QAAQ;QAC/C,CAAE;QACF0C,SAAS,EAAE,IAAAC,sBAAU,EAAC;UACpBnD,OAAO,EAAEyB,SAAS;UAClBxB,SAAS,EAAEyB;QACb,CAAC;MAAE,CACJ,CAAC;IAEN;EACF,CAAC;AAAA;AAAC,IAAA0B,QAAA,GAAAC,OAAA,cAEa,IAAAC,kBAAQ,EAAC,OAAO,EAAEpD,WAAW,CAAC","ignoreList":[]}
|
package/lib/customizable.js
DELETED
|
@@ -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
|
package/lib/customizable.js.map
DELETED
|
@@ -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":[]}
|
package/lib/drag-in-the-blank.js
DELETED
|
@@ -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":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,OAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,MAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,oBAAA,GAAAR,OAAA;AAA6E,SAAAS,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;AAE7E;AACA;AACA;AACA;AACA,IAAM6B,yBAAyB,GAAG,GAAG;AAErC,IAAMC,MAAM,GAAG,IAAAC,kBAAQ,EAAC,OAAO,EAAE,UAACC,KAAK;EAAA,OAAK,UAACC,IAAI,EAAEC,IAAI,EAAEC,SAAQ,EAAK;IAAA,IAAAC,UAAA;IACpE,IAAMC,OAAO,GAAG,EAAAD,UAAA,GAAAH,IAAI,CAACC,IAAI,cAAAE,UAAA,uBAATA,UAAA,CAAWC,OAAO,KAAI,CAAC,CAAC;IACxC,IAAIA,OAAO,CAACC,SAAS,KAAK,OAAO,EAAE;MACjC;MACA,IACEC,QAAQ,GAYNP,KAAK,CAZPO,QAAQ;QACRC,UAAU,GAWRR,KAAK,CAXPQ,UAAU;QACVC,eAAe,GAUbT,KAAK,CAVPS,eAAe;QACfC,QAAQ,GASNV,KAAK,CATPU,QAAQ;QACRC,iBAAiB,GAQfX,KAAK,CARPW,iBAAiB;QACjBC,sBAAsB,GAOpBZ,KAAK,CAPPY,sBAAsB;QACtBC,uBAAuB,GAMrBb,KAAK,CANPa,uBAAuB;QACvBC,UAAU,GAKRd,KAAK,CALPc,UAAU;QACVC,UAAU,GAIRf,KAAK,CAJPe,UAAU;QACVC,YAAY,GAGVhB,KAAK,CAHPgB,YAAY;QACZC,aAAa,GAEXjB,KAAK,CAFPiB,aAAa;QACbC,gBAAgB,GACdlB,KAAK,CADPkB,gBAAgB;MAElB,IAAMC,QAAQ,GAAGR,iBAAiB,GAAGF,eAAe,CAACJ,OAAO,CAACe,EAAE,CAAC,GAAGlB,IAAI,CAACG,OAAO,CAACe,EAAE,CAAC;MACnF;MACA,IAAMC,MAAM,GAAGF,QAAQ,IAAInB,KAAK,CAACsB,OAAO,CAACC,IAAI,CAAC,UAACC,CAAC;QAAA,OAAKA,CAAC,CAACJ,EAAE,KAAKD,QAAQ;MAAA,EAAC;MAEvE,oBACEjE,MAAA,YAAAuE,aAAA,CAAC/D,MAAA,WAAK;QACJgE,GAAG,KAAAC,MAAA,CAAK1B,IAAI,CAAC2B,IAAI,OAAAD,MAAA,CAAItB,OAAO,CAACe,EAAE,CAAG;QAClCS,OAAO,EAAElB,iBAAiB,IAAKD,QAAQ,IAAIA,QAAQ,CAACL,OAAO,CAACe,EAAE,CAAG;QACjEb,QAAQ,EAAEA,QAAS;QACnBC,UAAU,EAAEA,UAAW;QACvBa,MAAM,EAAEA,MAAO;QACfD,EAAE,EAAEf,OAAO,CAACe,EAAG;QACfR,sBAAsB,EAAEA,sBAAuB;QAC/CC,uBAAuB,EAAEA,uBAAwB;QACjDV,QAAQ,EAAE,SAAVA,QAAQA,CAAGiB,EAAE,EAAED,QAAQ,EAAK;UAC1B,IAAMW,OAAO,GAAAzC,aAAA,KAAQa,IAAI,CAAE;UAC3B,IAAIiB,QAAQ,KAAKY,SAAS,EAAE;YAC1B,OAAOD,OAAO,CAACV,EAAE,CAAC;UACpB,CAAC,MAAM;YACLU,OAAO,CAACV,EAAE,CAAC,GAAGD,QAAQ;UACxB;UACAhB,SAAQ,CAAC2B,OAAO,CAAC;QACnB,CAAE;QACFhB,UAAU,EAAEA,UAAW;QACvBC,UAAU,EAAEA,UAAW;QACvBC,YAAY,EAAEA,YAAa;QAC3BC,aAAa,EAAEA,aAAc;QAC7BC,gBAAgB,EAAEA;MAAiB,CACpC,CAAC;IAEN;EACF,CAAC;AAAA,EAAC;AAAC,IAEkBc,cAAc,GAAAC,OAAA,qCAAAC,gBAAA;EACjC,SAAAF,eAAYhC,KAAK,EAAE;IAAA,IAAAmC,KAAA;IAAA,IAAAC,gBAAA,mBAAAJ,cAAA;IACjBG,KAAA,GAAAtE,UAAA,OAAAmE,cAAA,GAAMhC,KAAK;IAAE,IAAAP,gBAAA,aAAA0C,KAAA,qBA8BG,UAACE,KAAK,EAAK;MAAA,IAAAC,YAAA;MAC3B,IAAQC,MAAM,GAAKF,KAAK,CAAhBE,MAAM;MAEd,IAAIA,MAAM,aAANA,MAAM,gBAAAD,YAAA,GAANC,MAAM,CAAErC,IAAI,cAAAoC,YAAA,eAAZA,YAAA,CAAcE,OAAO,EAAE;QACzBL,KAAA,CAAKM,QAAQ,CAAC;UACZC,cAAc,EAAEH,MAAM,CAACrC,IAAI,CAACsC,OAAO;UACnCG,aAAa,EAAEZ,SAAS;UAAE;UAC1Bf,YAAY,EAAEuB,MAAM,CAACrC,IAAI,CAACsC;QAC5B,CAAC,CAAC;MACJ;IACF,CAAC;IAAA,IAAA/C,gBAAA,aAAA0C,KAAA,uBAEmB,YAAM;MACxB,IAAQO,cAAc,GAAKP,KAAA,CAAKS,KAAK,CAA7BF,cAAc;MACtB,IAAI,CAACA,cAAc,EAAE,OAAO,IAAI;MAEhC,IAAIA,cAAc,CAACd,IAAI,KAAK,WAAW,EAAE;QACvC,oBACE1E,MAAA,YAAAuE,aAAA,CAAChE,OAAA,WAAM;UACL8C,QAAQ,EAAEmC,cAAc,CAACnC,QAAS;UAClCc,MAAM,EAAEqB,cAAc,CAACrB,MAAO;UAC9BP,UAAU,EAAE4B,cAAc,CAAC5B;QAAW,CACvC,CAAC;MAEN;MAEA,OAAO,IAAI;IACb,CAAC;IAED;IACA;IACA;IACA;IACA;IACA;IAAA,IAAArB,gBAAA,aAAA0C,KAAA,qBACkB,UAACU,WAAW,EAAEC,QAAQ,EAAK;MAC3C,IAAAC,WAAA,GAA4BZ,KAAA,CAAKnC,KAAK;QAA9BG,QAAQ,GAAA4C,WAAA,CAAR5C,QAAQ;QAAE6C,KAAK,GAAAD,WAAA,CAALC,KAAK;MAEvB,IAAI,CAAC7C,QAAQ,EAAE;MAEf,IAAI2C,QAAQ,KAAKf,SAAS,EAAE;QAC1B,IAAI,CAACc,WAAW,CAACI,UAAU,IAAIJ,WAAW,CAACzB,EAAE,EAAE;UAC7C,IAAM8B,QAAQ,GAAA7D,aAAA,KAAQ2D,KAAK,CAAE;UAC7B,OAAOE,QAAQ,CAACL,WAAW,CAACzB,EAAE,CAAC;UAC/BjB,QAAQ,CAAC+C,QAAQ,CAAC;QACpB;QACA;MACF;MAEA,IAAIL,WAAW,CAACI,UAAU,KAAK,IAAI,EAAE;QACnC,IAAMC,SAAQ,GAAA7D,aAAA,KAAQ2D,KAAK,CAAE;QAC7BE,SAAQ,CAACJ,QAAQ,CAAC,GAAGD,WAAW,CAACxB,MAAM,CAACD,EAAE;QAC1CjB,QAAQ,CAAC+C,SAAQ,CAAC;MACpB,CAAC,MAAM,IAAIL,WAAW,CAACzB,EAAE,IAAIyB,WAAW,CAACzB,EAAE,KAAK0B,QAAQ,EAAE;QACxD,IAAMI,UAAQ,GAAA7D,aAAA,KAAQ2D,KAAK,CAAE;QAC7BE,UAAQ,CAACJ,QAAQ,CAAC,GAAGD,WAAW,CAACxB,MAAM,CAACD,EAAE;QAC1C,OAAO8B,UAAQ,CAACL,WAAW,CAACzB,EAAE,CAAC;QAC/BjB,QAAQ,CAAC+C,UAAQ,CAAC;MACpB;IACF,CAAC;IAAA,IAAAzD,gBAAA,aAAA0C,KAAA,mBAEe,UAACE,KAAK,EAAK;MAAA,IAAAc,aAAA,EAAAC,UAAA,EAAAC,iBAAA;MACzB,IAAQd,MAAM,GAAWF,KAAK,CAAtBE,MAAM;QAAEe,IAAI,GAAKjB,KAAK,CAAdiB,IAAI;MAEpB,IAAMC,WAAW,GAAGhB,MAAM,aAANA,MAAM,gBAAAY,aAAA,GAANZ,MAAM,CAAErC,IAAI,cAAAiD,aAAA,uBAAZA,aAAA,CAAcX,OAAO;MACzC,IAAMgB,QAAQ,GAAGF,IAAI,aAAJA,IAAI,gBAAAF,UAAA,GAAJE,IAAI,CAAEpD,IAAI,cAAAkD,UAAA,uBAAVA,UAAA,CAAYZ,OAAO;MAEpC,IAAMiB,WAAW,GACf,CAAC,CAAClB,MAAM,IAAI,CAAC,CAACe,IAAI,IAAI,CAAAC,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE3B,IAAI,MAAK,WAAW,KAAI4B,QAAQ,aAARA,QAAQ,gBAAAH,iBAAA,GAARG,QAAQ,CAAEE,OAAO,cAAAL,iBAAA,uBAAjBA,iBAAA,CAAmBM,QAAQ,CAAC,WAAW,CAAC;;MAErG;MACAxB,KAAA,CAAKM,QAAQ,CAAC;QACZC,cAAc,EAAE,IAAI;QACpBC,aAAa,EAAEc,WAAW,GAAG,IAAI,GAAG1B;MACtC,CAAC,CAAC;MAEFI,KAAA,CAAKyB,eAAe,CAAC,CAAC;MACtBzB,KAAA,CAAK0B,aAAa,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;MAE/B,IAAI,CAACN,WAAW,EAAE;MAElB,IAAMX,QAAQ,GAAGU,QAAQ,CAACQ,aAAa,KAAK,IAAI,GAAGjC,SAAS,GAAGyB,QAAQ,CAACpC,EAAE;MAE1Ee,KAAA,CAAK8B,eAAe,CAACV,WAAW,EAAET,QAAQ,CAAC;IAC7C,CAAC;IAAA,IAAArD,gBAAA,aAAA0C,KAAA,kBAEc,YAAM;MACnBA,KAAA,CAAKM,QAAQ,CAAC;QAAEC,cAAc,EAAE,IAAI;QAAEC,aAAa,EAAEZ;MAAU,CAAC,CAAC;MACjEI,KAAA,CAAKyB,eAAe,CAAC,CAAC;MACtBzB,KAAA,CAAK0B,aAAa,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;IACjC,CAAC;IAAA,IAAAtE,gBAAA,aAAA0C,KAAA,gBAEY,UAAC+B,CAAC,EAAEC,CAAC,EAAK;MACrB,IAAI,CAACD,CAAC,IAAI,CAACC,CAAC,IAAID,CAAC,CAACjB,UAAU,KAAKkB,CAAC,CAAClB,UAAU,EAAE,OAAO,KAAK;MAC3D,OAAOiB,CAAC,CAACjB,UAAU,GAAGiB,CAAC,CAAC7C,MAAM,CAACD,EAAE,KAAK+C,CAAC,CAAC9C,MAAM,CAACD,EAAE,GAAG8C,CAAC,CAAC9C,EAAE,KAAK+C,CAAC,CAAC/C,EAAE;IACnE,CAAC;IAED;IACA;IAAA,IAAA3B,gBAAA,aAAA0C,KAAA,yBACsB,UAACjC,IAAI,EAAK;MAC9BiC,KAAA,CAAKM,QAAQ,CAAC,UAACG,KAAK;QAAA,OAAM;UACxB5B,YAAY,EAAEmB,KAAA,CAAKiC,UAAU,CAACxB,KAAK,CAAC5B,YAAY,EAAEd,IAAI,CAAC,GAAG,IAAI,GAAGA;QACnE,CAAC;MAAA,CAAC,CAAC;IACL,CAAC;IAAA,IAAAT,gBAAA,aAAA0C,KAAA,qBAEiB,YAAM;MACtBA,KAAA,CAAKM,QAAQ,CAAC;QAAEzB,YAAY,EAAE;MAAK,CAAC,CAAC;IACvC,CAAC;IAED;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAAA,IAAAvB,gBAAA,aAAA0C,KAAA,4BACyB,YAAM;MAC7B,IAAI,CAACA,KAAA,CAAKS,KAAK,CAACF,cAAc,EAAE;MAEhC2B,QAAQ,CAACC,aAAa,CAAC,IAAIC,aAAa,CAAC,SAAS,EAAE;QAAEC,IAAI,EAAE,QAAQ;QAAEC,OAAO,EAAE,IAAI;QAAEC,UAAU,EAAE;MAAK,CAAC,CAAC,CAAC;IAC3G,CAAC;IAAA,IAAAjF,gBAAA,aAAA0C,KAAA,uBAEmB,UAACW,QAAQ,EAAK;MAChC,IAAQ9B,YAAY,GAAKmB,KAAA,CAAKS,KAAK,CAA3B5B,YAAY;MAEpB,IAAI,CAACA,YAAY,EAAE;MAEnBmB,KAAA,CAAK8B,eAAe,CAACjD,YAAY,EAAE8B,QAAQ,CAAC;MAC5CX,KAAA,CAAKyB,eAAe,CAAC,CAAC;MACtBzB,KAAA,CAAKwC,sBAAsB,CAAC,CAAC;IAC/B,CAAC;IAAA,IAAAlF,gBAAA,aAAA0C,KAAA,6BAEyB;MAAA,OAAM2B,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG5B,KAAA,CAAK0B,aAAa,GAAGhE,yBAAyB;IAAA;IAAA,IAAAJ,gBAAA,aAAA0C,KAAA,iBAE7E,UAACjC,IAAI,EAAK;MACtB,IAAIiC,KAAA,CAAKyC,uBAAuB,CAAC,CAAC,EAAE;;MAEpC;MACA;MACA;MACA;MACAzC,KAAA,CAAKwC,sBAAsB,CAAC,CAAC;MAC7BxC,KAAA,CAAK0C,mBAAmB,CAAC3E,IAAI,CAAC;IAChC,CAAC;IAAA,IAAAT,gBAAA,aAAA0C,KAAA,sBAEkB,UAACW,QAAQ,EAAK;MAC/B,IAAIX,KAAA,CAAKyC,uBAAuB,CAAC,CAAC,EAAE;MAEpCzC,KAAA,CAAK2C,iBAAiB,CAAChC,QAAQ,CAAC;IAClC,CAAC;IAAA,IAAArD,gBAAA,aAAA0C,KAAA,0BAEsB,UAAC4C,cAAc,EAAK;MACzC,IAAIC,aAAa;MACjB,IAAIC,cAAc;MAClB,IAAIC,UAAU;MAEd,QAAQH,cAAc;QACpB,KAAK,MAAM;UACTC,aAAa,GAAG,KAAK;UACrBE,UAAU,GAAG,QAAQ;UACrB;QACF,KAAK,OAAO;UACVF,aAAa,GAAG,aAAa;UAC7BC,cAAc,GAAG,UAAU;UAC3BC,UAAU,GAAG,QAAQ;UACrB;QACF,KAAK,OAAO;UACVF,aAAa,GAAG,gBAAgB;UAChC;QACF;UACE;UACAA,aAAa,GAAG,QAAQ;UACxB;MACJ;MAEA,OAAO;QAAEA,aAAa,EAAbA,aAAa;QAAEC,cAAc,EAAdA,cAAc;QAAEC,UAAU,EAAVA;MAAW,CAAC;IACtD,CAAC;IAjNC/C,KAAA,CAAKS,KAAK,GAAG;MACXF,cAAc,EAAE,IAAI;MACpBC,aAAa,EAAEZ,SAAS;MACxBf,YAAY,EAAE;IAChB,CAAC;IACDmB,KAAA,CAAK0B,aAAa,GAAG,CAAC;IAAC,OAAA1B,KAAA;EACzB;EAAC,IAAAgD,UAAA,aAAAnD,cAAA,EAAAE,gBAAA;EAAA,WAAAkD,aAAA,aAAApD,cAAA;IAAAN,GAAA;IAAAsB,KAAA,EA6MD,SAAAqC,MAAMA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACP,IAAAC,YAAA,GAeI,IAAI,CAACvF,KAAK;QAdZwF,MAAM,GAAAD,YAAA,CAANC,MAAM;QACNhF,UAAU,GAAA+E,YAAA,CAAV/E,UAAU;QACVwC,KAAK,GAAAuC,YAAA,CAALvC,KAAK;QACL7C,QAAQ,GAAAoF,YAAA,CAARpF,QAAQ;QACRsF,eAAe,GAAAF,YAAA,CAAfE,eAAe;QACfnE,OAAO,GAAAiE,YAAA,CAAPjE,OAAO;QACPb,eAAe,GAAA8E,YAAA,CAAf9E,eAAe;QACfF,QAAQ,GAAAgF,YAAA,CAARhF,QAAQ;QACRG,QAAQ,GAAA6E,YAAA,CAAR7E,QAAQ;QACRC,iBAAiB,GAAA4E,YAAA,CAAjB5E,iBAAiB;QACjBC,sBAAsB,GAAA2E,YAAA,CAAtB3E,sBAAsB;QACtBC,uBAAuB,GAAA0E,YAAA,CAAvB1E,uBAAuB;QACvB6E,MAAM,GAAAH,YAAA,CAANG,MAAM;QACN5E,UAAU,GAAAyE,YAAA,CAAVzE,UAAU;MAGZ,IAAMiE,cAAc,GAAGU,eAAe,IAAI,OAAO;MACjD,IAAME,KAAK,GAAAtG,aAAA;QAAKuG,OAAO,EAAE,MAAM;QAAEC,QAAQ,EAAE;MAAO,GAAK,IAAI,CAACC,oBAAoB,CAACf,cAAc,CAAC,CAAE;MAElG,oBACE7H,MAAA,YAAAuE,aAAA,CAACnE,KAAA,CAAAyI,YAAY;QACXC,WAAW,EAAE,IAAI,CAACC,eAAgB;QAClCC,SAAS,EAAE,IAAI,CAACC,aAAc;QAC9BC,YAAY,EAAE,IAAI,CAACA,YAAa;QAChCC,kBAAkB,EAAEC,sBAAiB;QACrCC,wBAAwB,EAAEC,wDAAoC;QAC9DC,aAAa,EAAE;UAAEC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;UAAEC,MAAM,EAAE,CAAC,QAAQ,CAAC;UAAEC,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO;QAAE;MAAE,gBAE1F1J,MAAA,YAAAuE,aAAA;QAAKoF,GAAG,EAAE,SAALA,GAAGA,CAAGA,IAAG;UAAA,OAAMvB,MAAI,CAACwB,OAAO,GAAGD,IAAG;QAAA,CAAE;QAAClB,KAAK,EAAEA;MAAM,gBACpDzI,MAAA,YAAAuE,aAAA,CAACjE,QAAA,WAAO;QACNuH,cAAc,EAAEA,cAAe;QAC/BzD,OAAO,EAAEA,OAAQ;QACjB0B,KAAK,EAAEA,KAAM;QACbxC,UAAU,EAAEA,UAAW;QACvBD,QAAQ,EAAEA,QAAS;QACnBO,UAAU,EAAEA,UAAW;QACvBE,YAAY,EAAE,IAAI,CAAC4B,KAAK,CAAC5B,YAAa;QACtCC,aAAa,EAAE,IAAI,CAAC8F,WAAY;QAChC7F,gBAAgB,EAAE,IAAI,CAACA;MAAiB,CACzC,CAAC,eACFhE,MAAA,YAAAuE,aAAA,CAAC3B,MAAM;QACLkH,WAAW,EAAC,mBAAmB;QAC/BxB,MAAM,EAAEA,MAAO;QACfE,MAAM,EAAEA,MAAO;QACf1C,KAAK,EAAEA,KAAM;QACb1B,OAAO,EAAEA,OAAQ;QACjBnB,QAAQ,EAAEA,QAAS;QACnBI,QAAQ,EAAEA,QAAS;QACnBC,UAAU,EAAEA,UAAW;QACvBE,QAAQ,EAAEA,QAAS;QACnBD,eAAe,EAAEA,eAAgB;QACjCE,iBAAiB,EAAEA,iBAAkB;QACrCC,sBAAsB,EAAEA,sBAAuB;QAC/CC,uBAAuB,EAAEA,uBAAwB;QACjDC,UAAU,EAAEA,UAAW;QACvBC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC6B,KAAK,CAACF,cAAe;QACxC1B,YAAY,EAAE,IAAI,CAAC4B,KAAK,CAAC5B,YAAa;QACtCC,aAAa,EAAE,IAAI,CAAC8F,WAAY;QAChC7F,gBAAgB,EAAE,IAAI,CAACA;MAAiB,CACzC,CAAC,eACFhE,MAAA,YAAAuE,aAAA,CAAClE,KAAA,CAAA0J,WAAW;QAACtB,KAAK,EAAE;UAAEuB,aAAa,EAAE;QAAO,CAAE;QAACvE,aAAa,EAAE,IAAI,CAACC,KAAK,CAACD;MAAc,GACpF,IAAI,CAACwE,iBAAiB,CAAC,CACb,CACV,CACO,CAAC;IAEnB;EAAC;AAAA,EA1RyCC,iBAAK,CAACC,SAAS;AAAA,IAAA5H,gBAAA,aAAtCuC,cAAc,eAWd;EACjBwD,MAAM,EAAE8B,qBAAS,CAACC,MAAM;EACxB7B,MAAM,EAAE4B,qBAAS,CAACE,MAAM;EACxB/B,eAAe,EAAE6B,qBAAS,CAACC,MAAM;EACjCjG,OAAO,EAAEgG,qBAAS,CAACG,KAAK;EACxBzE,KAAK,EAAEsE,qBAAS,CAACE,MAAM;EACvBrH,QAAQ,EAAEmH,qBAAS,CAACI,IAAI;EACxBlH,UAAU,EAAE8G,qBAAS,CAACK,IAAI;EAC1BpH,QAAQ,EAAE+G,qBAAS,CAACK,IAAI;EACxBjH,QAAQ,EAAE4G,qBAAS,CAACE,MAAM;EAC1B/G,eAAe,EAAE6G,qBAAS,CAACE,MAAM;EACjC7G,iBAAiB,EAAE2G,qBAAS,CAACK,IAAI;EACjC/G,sBAAsB,EAAE0G,qBAAS,CAACM,SAAS,CAAC,CAACN,qBAAS,CAACC,MAAM,EAAED,qBAAS,CAACO,MAAM,CAAC,CAAC;EACjFhH,uBAAuB,EAAEyG,qBAAS,CAACM,SAAS,CAAC,CAACN,qBAAS,CAACC,MAAM,EAAED,qBAAS,CAACO,MAAM,CAAC,CAAC;EAClF/G,UAAU,EAAEwG,qBAAS,CAACC;AACxB,CAAC;AAAA,IAAA9H,gBAAA,aA1BkBuC,cAAc,kBA4BX;EACpBlB,UAAU,EAAE;AACd,CAAC","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
|