@pie-lib/mask-markup 1.33.3-next.2 → 1.33.4-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/CHANGELOG.md +6 -76
  2. package/lib/__tests__/drag-in-the-blank.test.js +129 -0
  3. package/lib/__tests__/index.test.js +42 -0
  4. package/lib/__tests__/mask.test.js +163 -0
  5. package/lib/__tests__/serialization.test.js +44 -0
  6. package/lib/__tests__/utils.js +14 -0
  7. package/lib/__tests__/with-mask.test.js +110 -0
  8. package/lib/choices/__tests__/index.test.js +101 -0
  9. package/lib/choices/choice.js +99 -204
  10. package/lib/choices/choice.js.map +1 -1
  11. package/lib/choices/index.js +22 -54
  12. package/lib/choices/index.js.map +1 -1
  13. package/lib/componentize.js +2 -6
  14. package/lib/componentize.js.map +1 -1
  15. package/lib/components/__tests__/blank.test.js +189 -0
  16. package/lib/components/__tests__/correct-input.test.js +132 -0
  17. package/lib/components/__tests__/dropdown.test.js +134 -0
  18. package/lib/components/__tests__/input.test.js +129 -0
  19. package/lib/components/blank.js +304 -362
  20. package/lib/components/blank.js.map +1 -1
  21. package/lib/components/correct-input.js +42 -66
  22. package/lib/components/correct-input.js.map +1 -1
  23. package/lib/components/dropdown.js +219 -258
  24. package/lib/components/dropdown.js.map +1 -1
  25. package/lib/components/input.js +11 -18
  26. package/lib/components/input.js.map +1 -1
  27. package/lib/constructed-response.js +39 -53
  28. package/lib/constructed-response.js.map +1 -1
  29. package/lib/customizable.js +6 -10
  30. package/lib/customizable.js.map +1 -1
  31. package/lib/drag-in-the-blank.js +141 -106
  32. package/lib/drag-in-the-blank.js.map +1 -1
  33. package/lib/index.js +1 -8
  34. package/lib/index.js.map +1 -1
  35. package/lib/inline-dropdown.js +5 -13
  36. package/lib/inline-dropdown.js.map +1 -1
  37. package/lib/mask.js +61 -119
  38. package/lib/mask.js.map +1 -1
  39. package/lib/serialization.js +9 -49
  40. package/lib/serialization.js.map +1 -1
  41. package/lib/with-mask.js +31 -59
  42. package/lib/with-mask.js.map +1 -1
  43. package/package.json +12 -20
  44. package/src/__tests__/drag-in-the-blank.test.js +66 -26
  45. package/src/__tests__/mask.test.js +147 -112
  46. package/src/__tests__/with-mask.test.js +44 -19
  47. package/src/choices/__tests__/index.test.js +38 -25
  48. package/src/choices/choice.jsx +86 -153
  49. package/src/choices/index.jsx +9 -3
  50. package/src/components/__tests__/blank.test.js +92 -156
  51. package/src/components/__tests__/correct-input.test.js +60 -19
  52. package/src/components/__tests__/dropdown.test.js +61 -19
  53. package/src/components/__tests__/input.test.js +72 -20
  54. package/src/components/blank.jsx +273 -272
  55. package/src/components/correct-input.jsx +33 -39
  56. package/src/components/dropdown.jsx +173 -161
  57. package/src/constructed-response.jsx +22 -18
  58. package/src/drag-in-the-blank.jsx +131 -42
  59. package/src/mask.jsx +38 -29
  60. package/src/with-mask.jsx +7 -4
  61. package/esm/index.css +0 -847
  62. package/esm/index.js +0 -195939
  63. package/esm/index.js.map +0 -1
  64. package/esm/package.json +0 -3
  65. package/src/__tests__/__snapshots__/drag-in-the-blank.test.js.snap +0 -316
  66. package/src/__tests__/__snapshots__/mask.test.js.snap +0 -55
  67. package/src/__tests__/__snapshots__/with-mask.test.js.snap +0 -62
  68. package/src/choices/__tests__/__snapshots__/index.test.js.snap +0 -209
  69. package/src/components/__tests__/__snapshots__/blank.test.js.snap +0 -111
  70. package/src/components/__tests__/__snapshots__/correct-input.test.js.snap +0 -64
  71. package/src/components/__tests__/__snapshots__/dropdown.test.js.snap +0 -136
  72. package/src/components/__tests__/__snapshots__/input.test.js.snap +0 -34
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/choices/choice.jsx"],"names":["DRAG_TYPE","BlankContentComp","props","connectDragSource","disabled","dragContainerRef","e","preventDefault","longPressTimer","setTimeout","startDrag","clearTimeout","addEventListener","handleTouchStart","passive","handleTouchEnd","handleTouchMove","removeEventListener","rootRef","choice","classes","ref","ReactDOM","findDOMNode","chip","chipLabel","innerHTML","value","undefined","React","Component","PropTypes","bool","object","func","BlankContent","theme","border","palette","primary","main","borderRadius","spacing","unit","margin","transform","backgroundColor","color","white","text","alignItems","display","height","minHeight","fontSize","whiteSpace","maxWidth","pointerEvents","paddingTop","paddingBottom","padding","opacity","tileSource","canDrag","beginDrag","instanceId","DragDropTile","connect","monitor","dragSource","isDragging"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport Chip from '@material-ui/core/Chip';\nimport classnames from 'classnames';\n\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { color } from '@pie-lib/render-ui';\nimport { DragSource } from '@pie-lib/drag';\n\nexport const DRAG_TYPE = 'MaskBlank';\n\nclass BlankContentComp extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n choice: PropTypes.object,\n classes: PropTypes.object,\n connectDragSource: PropTypes.func,\n };\n\n startDrag = () => {\n const { connectDragSource, disabled } = this.props;\n if (!disabled) {\n connectDragSource(this.dragContainerRef);\n }\n };\n\n // start drag after 500ms (touch and hold duration) for chromebooks and other touch devices PD-4888\n handleTouchStart = (e) => {\n e.preventDefault();\n this.longPressTimer = setTimeout(() => {\n this.startDrag(e);\n }, 500);\n };\n\n handleTouchEnd = () => {\n clearTimeout(this.longPressTimer);\n };\n\n handleTouchMove = () => {\n clearTimeout(this.longPressTimer);\n };\n\n componentDidMount() {\n if (this.dragContainerRef) {\n this.dragContainerRef.addEventListener('touchstart', this.handleTouchStart, { passive: false });\n this.dragContainerRef.addEventListener('touchend', this.handleTouchEnd);\n this.dragContainerRef.addEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n componentWillUnmount() {\n if (this.dragContainerRef) {\n this.dragContainerRef.removeEventListener('touchstart', this.handleTouchStart);\n this.dragContainerRef.removeEventListener('touchend', this.handleTouchEnd);\n this.dragContainerRef.removeEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n componentDidUpdate() {\n renderMath(this.rootRef);\n }\n\n render() {\n const { connectDragSource, choice, classes, disabled } = this.props;\n\n // TODO the Chip element is causing drag problems on touch devices. Avoid using Chip and consider refactoring the code. Keep in mind that Chip is a span with a button role, which interferes with seamless touch device dragging.\n\n return connectDragSource(\n <span\n className={classnames(classes.choice, disabled && classes.disabled)}\n ref={(ref) => {\n //eslint-disable-next-line\n this.dragContainerRef = ReactDOM.findDOMNode(ref);\n }}\n >\n <Chip\n clickable={false}\n disabled={true}\n ref={(ref) => {\n //eslint-disable-next-line\n this.rootRef = ReactDOM.findDOMNode(ref);\n }}\n className={classes.chip}\n label={\n <span\n className={classes.chipLabel}\n ref={(ref) => {\n if (ref) {\n ref.innerHTML = choice.value || ' ';\n }\n }}\n >\n {' '}\n </span>\n }\n variant={disabled ? 'outlined' : undefined}\n />\n </span>,\n {},\n );\n }\n}\n\nexport const BlankContent = withStyles((theme) => ({\n choice: {\n border: `solid 0px ${theme.palette.primary.main}`,\n borderRadius: theme.spacing.unit * 2,\n margin: theme.spacing.unit / 2,\n transform: 'translate(0, 0)',\n },\n chip: {\n backgroundColor: color.white(),\n border: `1px solid ${color.text()}`,\n color: color.text(),\n alignItems: 'center',\n display: 'inline-flex',\n height: 'initial',\n minHeight: '32px',\n fontSize: 'inherit',\n whiteSpace: 'pre-wrap',\n maxWidth: '374px',\n // Added for touch devices, for image content.\n // This will prevent the context menu from appearing and not allowing other interactions with the image.\n // If interactions with the image in the token will be requested we should handle only the context Menu.\n pointerEvents: 'none',\n borderRadius: '3px',\n paddingTop: '12px',\n paddingBottom: '12px',\n },\n chipLabel: {\n whiteSpace: 'normal',\n '& img': {\n display: 'block',\n padding: '2px 0',\n },\n '& mjx-frac': {\n fontSize: '120% !important',\n },\n },\n disabled: {\n opacity: 0.6,\n },\n}))(BlankContentComp);\n\nconst tileSource = {\n canDrag(props) {\n return !props.disabled;\n },\n beginDrag(props) {\n return {\n choice: props.choice,\n instanceId: props.instanceId,\n };\n },\n};\n\nconst DragDropTile = DragSource(DRAG_TYPE, tileSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(BlankContent);\n\nexport default DragDropTile;\n"],"file":"choice.js"}
1
+ {"version":3,"file":"choice.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_core","_styles","_Chip","_mathRendering","_renderUi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","DRAG_TYPE","exports","StyledChoice","styled","_ref","theme","disabled","border","concat","palette","primary","main","borderRadius","spacing","margin","transform","display","StyledChip","Chip","backgroundColor","color","white","text","alignItems","height","minHeight","fontSize","whiteSpace","maxWidth","pointerEvents","paddingTop","paddingBottom","opacity","StyledChipLabel","padding","Choice","_ref2","_rootRef$current","_rootRef$current2","choice","instanceId","rootRef","useRef","_useDraggable","useDraggable","id","data","fromChoice","type","attributes","listeners","setNodeRef","isDragging","useEffect","renderMath","current","value","createElement","_extends2","ref","style","width","offsetWidth","offsetHeight","clickable","label","dangerouslySetInnerHTML","__html","propTypes","PropTypes","object","isRequired","bool","oneOfType","string","number"],"sources":["../../src/choices/choice.jsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDraggable } from '@dnd-kit/core';\nimport { styled } from '@mui/material/styles';\nimport Chip from '@mui/material/Chip';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { color } from '@pie-lib/render-ui';\n\nexport const DRAG_TYPE = 'MaskBlank';\n\nconst StyledChoice = styled('span')(({ theme, disabled }) => ({\n border: `solid 0px ${theme.palette.primary.main}`,\n borderRadius: theme.spacing(2),\n margin: theme.spacing(0.5),\n transform: 'translate(0, 0)',\n display: 'inline-flex',\n ...(disabled && {}),\n}));\n\nconst StyledChip = styled(Chip)(() => ({\n backgroundColor: color.white(),\n border: `1px solid ${color.text()}`,\n color: color.text(),\n alignItems: 'center',\n display: 'inline-flex',\n height: 'initial',\n minHeight: '32px',\n fontSize: 'inherit',\n whiteSpace: 'pre-wrap',\n maxWidth: '374px',\n // Added for touch devices, for image content.\n // This will prevent the context menu from appearing and not allowing other interactions with the image.\n // If interactions with the image in the token will be requested we should handle only the context Menu.\n pointerEvents: 'none',\n borderRadius: '3px',\n paddingTop: '12px',\n paddingBottom: '12px',\n\n '&.Mui-disabled': {\n opacity: 1,\n },\n}));\n\nconst StyledChipLabel = styled('span')(() => ({\n whiteSpace: 'normal',\n '& img': {\n display: 'block',\n padding: '2px 0',\n },\n '& mjx-frac': {\n fontSize: '120% !important',\n },\n}));\n\nexport default function Choice({ choice, disabled, instanceId }) {\n const rootRef = useRef(null);\n\n const { attributes, listeners, setNodeRef, isDragging } = useDraggable({\n id: `choice-${choice.id}`,\n data: { choice, instanceId, fromChoice: true, type: DRAG_TYPE },\n disabled,\n });\n\n useEffect(() => {\n renderMath(rootRef.current);\n }, [choice.value]);\n\n return (\n <StyledChoice\n ref={setNodeRef}\n style={\n isDragging\n ? {\n width: rootRef.current?.offsetWidth,\n height: rootRef.current?.offsetHeight,\n }\n : {}\n }\n disabled={disabled}\n {...listeners}\n {...attributes}\n >\n <StyledChip\n clickable={false}\n disabled={disabled}\n ref={rootRef}\n label={<StyledChipLabel dangerouslySetInnerHTML={{ __html: choice.value }} />}\n />\n </StyledChoice>\n );\n}\n\nChoice.propTypes = {\n choice: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n instanceId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,78 +1,48 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
10
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
11
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
22
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
14
  var _react = _interopRequireDefault(require("react"));
25
-
26
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
16
  var _findKey = _interopRequireDefault(require("lodash/findKey"));
29
-
30
17
  var _choice = _interopRequireDefault(require("./choice"));
31
-
32
18
  var _drag = require("@pie-lib/drag");
33
-
34
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35
-
36
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
37
-
38
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
-
40
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
-
42
- var Choices = /*#__PURE__*/function (_React$Component) {
43
- (0, _inherits2["default"])(Choices, _React$Component);
44
-
45
- var _super = _createSuper(Choices);
46
-
19
+ 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; }
20
+ 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; }
21
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
22
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
23
+ var Choices = exports["default"] = /*#__PURE__*/function (_React$Component) {
47
24
  function Choices() {
48
25
  var _this;
49
-
50
26
  (0, _classCallCheck2["default"])(this, Choices);
51
-
52
27
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
53
28
  args[_key] = arguments[_key];
54
29
  }
55
-
56
- _this = _super.call.apply(_super, [this].concat(args));
57
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getStyleForWrapper", function () {
30
+ _this = _callSuper(this, Choices, [].concat(args));
31
+ (0, _defineProperty2["default"])(_this, "getStyleForWrapper", function () {
58
32
  var choicePosition = _this.props.choicePosition;
59
-
60
33
  switch (choicePosition) {
61
34
  case 'above':
62
35
  return {
63
36
  margin: '0 0 40px 0'
64
37
  };
65
-
66
38
  case 'below':
67
39
  return {
68
40
  margin: '40px 0 0 0'
69
41
  };
70
-
71
42
  case 'right':
72
43
  return {
73
44
  margin: '0 0 0 40px'
74
45
  };
75
-
76
46
  default:
77
47
  return {
78
48
  margin: '0 40px 0 0'
@@ -81,47 +51,44 @@ var Choices = /*#__PURE__*/function (_React$Component) {
81
51
  });
82
52
  return _this;
83
53
  }
84
-
85
- (0, _createClass2["default"])(Choices, [{
54
+ (0, _inherits2["default"])(Choices, _React$Component);
55
+ return (0, _createClass2["default"])(Choices, [{
86
56
  key: "render",
87
57
  value: function render() {
88
58
  var _this$props = this.props,
89
- disabled = _this$props.disabled,
90
- duplicates = _this$props.duplicates,
91
- choices = _this$props.choices,
92
- value = _this$props.value;
59
+ disabled = _this$props.disabled,
60
+ duplicates = _this$props.duplicates,
61
+ choices = _this$props.choices,
62
+ value = _this$props.value,
63
+ instanceId = _this$props.instanceId;
93
64
  var filteredChoices = choices.filter(function (c) {
94
65
  if (duplicates === true) {
95
66
  return true;
96
67
  }
97
-
98
68
  var foundChoice = (0, _findKey["default"])(value, function (v) {
99
69
  return v === c.id;
100
70
  });
101
71
  return foundChoice === undefined;
102
72
  });
103
-
104
73
  var elementStyle = _objectSpread(_objectSpread({}, this.getStyleForWrapper()), {}, {
105
74
  minWidth: '100px'
106
75
  });
107
-
108
76
  return /*#__PURE__*/_react["default"].createElement("div", {
109
77
  style: elementStyle
110
78
  }, /*#__PURE__*/_react["default"].createElement(_drag.DragDroppablePlaceholder, {
111
- disabled: disabled
79
+ disabled: disabled,
80
+ instanceId: instanceId
112
81
  }, filteredChoices.map(function (c, index) {
113
82
  return /*#__PURE__*/_react["default"].createElement(_choice["default"], {
114
83
  key: "".concat(c.value, "-").concat(index),
115
84
  disabled: disabled,
116
- choice: c
85
+ choice: c,
86
+ instanceId: instanceId
117
87
  });
118
88
  })));
119
89
  }
120
90
  }]);
121
- return Choices;
122
91
  }(_react["default"].Component);
123
-
124
- exports["default"] = Choices;
125
92
  (0, _defineProperty2["default"])(Choices, "propTypes", {
126
93
  disabled: _propTypes["default"].bool,
127
94
  duplicates: _propTypes["default"].bool,
@@ -130,6 +97,7 @@ exports["default"] = Choices;
130
97
  value: _propTypes["default"].string
131
98
  })),
132
99
  value: _propTypes["default"].object,
133
- choicePosition: _propTypes["default"].string.isRequired
100
+ choicePosition: _propTypes["default"].string.isRequired,
101
+ instanceId: _propTypes["default"].string // Added for drag isolation
134
102
  });
135
- //# sourceMappingURL=index.js.map
103
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfZmluZEtleSIsIl9jaG9pY2UiLCJfZHJhZyIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJjYWxsIiwiQ2hvaWNlcyIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjb25jYXQiLCJjaG9pY2VQb3NpdGlvbiIsInByb3BzIiwibWFyZ2luIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJ2YWx1ZSIsInJlbmRlciIsIl90aGlzJHByb3BzIiwiZGlzYWJsZWQiLCJkdXBsaWNhdGVzIiwiY2hvaWNlcyIsImluc3RhbmNlSWQiLCJmaWx0ZXJlZENob2ljZXMiLCJjIiwiZm91bmRDaG9pY2UiLCJmaW5kS2V5IiwidiIsImlkIiwidW5kZWZpbmVkIiwiZWxlbWVudFN0eWxlIiwiZ2V0U3R5bGVGb3JXcmFwcGVyIiwibWluV2lkdGgiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJEcmFnRHJvcHBhYmxlUGxhY2Vob2xkZXIiLCJtYXAiLCJpbmRleCIsImNob2ljZSIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwiYm9vbCIsImFycmF5T2YiLCJzaGFwZSIsImxhYmVsIiwic3RyaW5nIiwib2JqZWN0IiwiaXNSZXF1aXJlZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jaG9pY2VzL2luZGV4LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBmaW5kS2V5IGZyb20gJ2xvZGFzaC9maW5kS2V5JztcbmltcG9ydCBDaG9pY2UgZnJvbSAnLi9jaG9pY2UnO1xuaW1wb3J0IHsgRHJhZ0Ryb3BwYWJsZVBsYWNlaG9sZGVyIH0gZnJvbSAnQHBpZS1saWIvZHJhZyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENob2ljZXMgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkdXBsaWNhdGVzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjaG9pY2VzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc2hhcGUoeyBsYWJlbDogUHJvcFR5cGVzLnN0cmluZywgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcgfSkpLFxuICAgIHZhbHVlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNob2ljZVBvc2l0aW9uOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgaW5zdGFuY2VJZDogUHJvcFR5cGVzLnN0cmluZywgLy8gQWRkZWQgZm9yIGRyYWcgaXNvbGF0aW9uXG4gIH07XG5cbiAgZ2V0U3R5bGVGb3JXcmFwcGVyID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY2hvaWNlUG9zaXRpb24gfSA9IHRoaXMucHJvcHM7XG5cbiAgICBzd2l0Y2ggKGNob2ljZVBvc2l0aW9uKSB7XG4gICAgICBjYXNlICdhYm92ZSc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbWFyZ2luOiAnMCAwIDQwcHggMCcsXG4gICAgICAgIH07XG5cbiAgICAgIGNhc2UgJ2JlbG93JzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBtYXJnaW46ICc0MHB4IDAgMCAwJyxcbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG1hcmdpbjogJzAgMCAwIDQwcHgnLFxuICAgICAgICB9O1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG1hcmdpbjogJzAgNDBweCAwIDAnLFxuICAgICAgICB9O1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBkaXNhYmxlZCwgZHVwbGljYXRlcywgY2hvaWNlcywgdmFsdWUsIGluc3RhbmNlSWQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZmlsdGVyZWRDaG9pY2VzID0gY2hvaWNlcy5maWx0ZXIoKGMpID0+IHtcbiAgICAgIGlmIChkdXBsaWNhdGVzID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgZm91bmRDaG9pY2UgPSBmaW5kS2V5KHZhbHVlLCAodikgPT4gdiA9PT0gYy5pZCk7XG4gICAgICByZXR1cm4gZm91bmRDaG9pY2UgPT09IHVuZGVmaW5lZDtcbiAgICB9KTtcbiAgICBjb25zdCBlbGVtZW50U3R5bGUgPSB7IC4uLnRoaXMuZ2V0U3R5bGVGb3JXcmFwcGVyKCksIG1pbldpZHRoOiAnMTAwcHgnIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBzdHlsZT17ZWxlbWVudFN0eWxlfT5cbiAgICAgICAgPERyYWdEcm9wcGFibGVQbGFjZWhvbGRlciBkaXNhYmxlZD17ZGlzYWJsZWR9IGluc3RhbmNlSWQ9e2luc3RhbmNlSWR9PlxuICAgICAgICAgIHtmaWx0ZXJlZENob2ljZXMubWFwKChjLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPENob2ljZSBcbiAgICAgICAgICAgICAga2V5PXtgJHtjLnZhbHVlfS0ke2luZGV4fWB9IFxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9IFxuICAgICAgICAgICAgICBjaG9pY2U9e2N9IFxuICAgICAgICAgICAgICBpbnN0YW5jZUlkPXtpbnN0YW5jZUlkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9EcmFnRHJvcHBhYmxlUGxhY2Vob2xkZXI+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxRQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxPQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFKLE9BQUE7QUFBeUQsU0FBQUssUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixDQUFBLEVBQUFDLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFaLENBQUEsYUFBQUMsQ0FBQSxN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
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/choices/index.jsx"],"names":["Choices","choicePosition","props","margin","disabled","duplicates","choices","value","filteredChoices","filter","c","foundChoice","v","id","undefined","elementStyle","getStyleForWrapper","minWidth","map","index","React","Component","PropTypes","bool","arrayOf","shape","label","string","object","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;IAEqBA,O;;;;;;;;;;;;;;;2GASE,YAAM;AACzB,UAAQC,cAAR,GAA2B,MAAKC,KAAhC,CAAQD,cAAR;;AAEA,cAAQA,cAAR;AACE,aAAK,OAAL;AACE,iBAAO;AACLE,YAAAA,MAAM,EAAE;AADH,WAAP;;AAIF,aAAK,OAAL;AACE,iBAAO;AACLA,YAAAA,MAAM,EAAE;AADH,WAAP;;AAIF,aAAK,OAAL;AACE,iBAAO;AACLA,YAAAA,MAAM,EAAE;AADH,WAAP;;AAIF;AACE,iBAAO;AACLA,YAAAA,MAAM,EAAE;AADH,WAAP;AAjBJ;AAqBD,K;;;;;;WAED,kBAAS;AACP,wBAAiD,KAAKD,KAAtD;AAAA,UAAQE,QAAR,eAAQA,QAAR;AAAA,UAAkBC,UAAlB,eAAkBA,UAAlB;AAAA,UAA8BC,OAA9B,eAA8BA,OAA9B;AAAA,UAAuCC,KAAvC,eAAuCA,KAAvC;AACA,UAAMC,eAAe,GAAGF,OAAO,CAACG,MAAR,CAAe,UAACC,CAAD,EAAO;AAC5C,YAAIL,UAAU,KAAK,IAAnB,EAAyB;AACvB,iBAAO,IAAP;AACD;;AACD,YAAMM,WAAW,GAAG,yBAAQJ,KAAR,EAAe,UAACK,CAAD;AAAA,iBAAOA,CAAC,KAAKF,CAAC,CAACG,EAAf;AAAA,SAAf,CAApB;AACA,eAAOF,WAAW,KAAKG,SAAvB;AACD,OANuB,CAAxB;;AAOA,UAAMC,YAAY,mCAAQ,KAAKC,kBAAL,EAAR;AAAmCC,QAAAA,QAAQ,EAAE;AAA7C,QAAlB;;AAEA,0BACE;AAAK,QAAA,KAAK,EAAEF;AAAZ,sBACE,gCAAC,8BAAD;AAA0B,QAAA,QAAQ,EAAEX;AAApC,SACGI,eAAe,CAACU,GAAhB,CAAoB,UAACR,CAAD,EAAIS,KAAJ;AAAA,4BACnB,gCAAC,kBAAD;AAAQ,UAAA,GAAG,YAAKT,CAAC,CAACH,KAAP,cAAgBY,KAAhB,CAAX;AAAoC,UAAA,QAAQ,EAAEf,QAA9C;AAAwD,UAAA,MAAM,EAAEM;AAAhE,UADmB;AAAA,OAApB,CADH,CADF,CADF;AASD;;;EAvDkCU,kBAAMC,S;;;iCAAtBrB,O,eACA;AACjBI,EAAAA,QAAQ,EAAEkB,sBAAUC,IADH;AAEjBlB,EAAAA,UAAU,EAAEiB,sBAAUC,IAFL;AAGjBjB,EAAAA,OAAO,EAAEgB,sBAAUE,OAAV,CAAkBF,sBAAUG,KAAV,CAAgB;AAAEC,IAAAA,KAAK,EAAEJ,sBAAUK,MAAnB;AAA2BpB,IAAAA,KAAK,EAAEe,sBAAUK;AAA5C,GAAhB,CAAlB,CAHQ;AAIjBpB,EAAAA,KAAK,EAAEe,sBAAUM,MAJA;AAKjB3B,EAAAA,cAAc,EAAEqB,sBAAUK,MAAV,CAAiBE;AALhB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport findKey from 'lodash/findKey';\nimport Choice from './choice';\nimport { DragDroppablePlaceholder } from '@pie-lib/drag';\n\nexport default class Choices extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n duplicates: PropTypes.bool,\n choices: PropTypes.arrayOf(PropTypes.shape({ label: PropTypes.string, value: PropTypes.string })),\n value: PropTypes.object,\n choicePosition: PropTypes.string.isRequired,\n };\n\n getStyleForWrapper = () => {\n const { choicePosition } = this.props;\n\n switch (choicePosition) {\n case 'above':\n return {\n margin: '0 0 40px 0',\n };\n\n case 'below':\n return {\n margin: '40px 0 0 0',\n };\n\n case 'right':\n return {\n margin: '0 0 0 40px',\n };\n\n default:\n return {\n margin: '0 40px 0 0',\n };\n }\n };\n\n render() {\n const { disabled, duplicates, choices, value } = this.props;\n const filteredChoices = choices.filter((c) => {\n if (duplicates === true) {\n return true;\n }\n const foundChoice = findKey(value, (v) => v === c.id);\n return foundChoice === undefined;\n });\n const elementStyle = { ...this.getStyleForWrapper(), minWidth: '100px' };\n\n return (\n <div style={elementStyle}>\n <DragDroppablePlaceholder disabled={disabled}>\n {filteredChoices.map((c, index) => (\n <Choice key={`${c.value}-${index}`} disabled={disabled} choice={c} />\n ))}\n </DragDroppablePlaceholder>\n </div>\n );\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_findKey","_choice","_drag","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","Choices","exports","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","concat","choicePosition","props","margin","_inherits2","_createClass2","key","value","render","_this$props","disabled","duplicates","choices","instanceId","filteredChoices","c","foundChoice","findKey","v","id","undefined","elementStyle","getStyleForWrapper","minWidth","createElement","style","DragDroppablePlaceholder","map","index","choice","React","Component","PropTypes","bool","arrayOf","shape","label","string","object","isRequired"],"sources":["../../src/choices/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport findKey from 'lodash/findKey';\nimport Choice from './choice';\nimport { DragDroppablePlaceholder } from '@pie-lib/drag';\n\nexport default class Choices extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n duplicates: PropTypes.bool,\n choices: PropTypes.arrayOf(PropTypes.shape({ label: PropTypes.string, value: PropTypes.string })),\n value: PropTypes.object,\n choicePosition: PropTypes.string.isRequired,\n instanceId: PropTypes.string, // Added for drag isolation\n };\n\n getStyleForWrapper = () => {\n const { choicePosition } = this.props;\n\n switch (choicePosition) {\n case 'above':\n return {\n margin: '0 0 40px 0',\n };\n\n case 'below':\n return {\n margin: '40px 0 0 0',\n };\n\n case 'right':\n return {\n margin: '0 0 0 40px',\n };\n\n default:\n return {\n margin: '0 40px 0 0',\n };\n }\n };\n\n render() {\n const { disabled, duplicates, choices, value, instanceId } = this.props;\n const filteredChoices = choices.filter((c) => {\n if (duplicates === true) {\n return true;\n }\n const foundChoice = findKey(value, (v) => v === c.id);\n return foundChoice === undefined;\n });\n const elementStyle = { ...this.getStyleForWrapper(), minWidth: '100px' };\n\n return (\n <div style={elementStyle}>\n <DragDroppablePlaceholder disabled={disabled} instanceId={instanceId}>\n {filteredChoices.map((c, index) => (\n <Choice \n key={`${c.value}-${index}`} \n disabled={disabled} \n choice={c} \n instanceId={instanceId}\n />\n ))}\n </DragDroppablePlaceholder>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,14 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
  var REGEX = /\{\{(\d+)\}\}/g;
8
-
9
- var _default = function _default(s, t) {
8
+ var _default = exports["default"] = function _default(s, t) {
10
9
  if (!s) {
11
10
  return {
12
11
  markup: ''
13
12
  };
14
13
  }
15
-
16
14
  var markup = s.replace(REGEX, function (match, g) {
17
15
  return "<span data-component=\"".concat(t, "\" data-id=\"").concat(g, "\"></span>");
18
16
  });
@@ -20,6 +18,4 @@ var _default = function _default(s, t) {
20
18
  markup: markup
21
19
  };
22
20
  };
23
-
24
- exports["default"] = _default;
25
- //# sourceMappingURL=componentize.js.map
21
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSRUdFWCIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsInMiLCJ0IiwibWFya3VwIiwicmVwbGFjZSIsIm1hdGNoIiwiZyIsImNvbmNhdCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRpemUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgUkVHRVggPSAvXFx7XFx7KFxcZCspXFx9XFx9L2c7XG5cbmV4cG9ydCBkZWZhdWx0IChzLCB0KSA9PiB7XG4gIGlmICghcykge1xuICAgIHJldHVybiB7IG1hcmt1cDogJycgfTtcbiAgfVxuXG4gIGNvbnN0IG1hcmt1cCA9IHMucmVwbGFjZShSRUdFWCwgKG1hdGNoLCBnKSA9PiB7XG4gICAgcmV0dXJuIGA8c3BhbiBkYXRhLWNvbXBvbmVudD1cIiR7dH1cIiBkYXRhLWlkPVwiJHtnfVwiPjwvc3Bhbj5gO1xuICB9KTtcblxuICByZXR1cm4geyBtYXJrdXAgfTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQU1BLEtBQUssR0FBRyxnQkFBZ0I7QUFBQyxJQUFBQyxRQUFBLEdBQUFDLE9BQUEsY0FFaEIsU0FBQUQsU0FBQ0UsQ0FBQyxFQUFFQyxDQUFDLEVBQUs7RUFDdkIsSUFBSSxDQUFDRCxDQUFDLEVBQUU7SUFDTixPQUFPO01BQUVFLE1BQU0sRUFBRTtJQUFHLENBQUM7RUFDdkI7RUFFQSxJQUFNQSxNQUFNLEdBQUdGLENBQUMsQ0FBQ0csT0FBTyxDQUFDTixLQUFLLEVBQUUsVUFBQ08sS0FBSyxFQUFFQyxDQUFDLEVBQUs7SUFDNUMsaUNBQUFDLE1BQUEsQ0FBZ0NMLENBQUMsbUJBQUFLLE1BQUEsQ0FBY0QsQ0FBQztFQUNsRCxDQUFDLENBQUM7RUFFRixPQUFPO0lBQUVILE1BQU0sRUFBTkE7RUFBTyxDQUFDO0FBQ25CLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/componentize.js"],"names":["REGEX","s","t","markup","replace","match","g"],"mappings":";;;;;;AAAA,IAAMA,KAAK,GAAG,gBAAd;;eAEe,kBAACC,CAAD,EAAIC,CAAJ,EAAU;AACvB,MAAI,CAACD,CAAL,EAAQ;AACN,WAAO;AAAEE,MAAAA,MAAM,EAAE;AAAV,KAAP;AACD;;AAED,MAAMA,MAAM,GAAGF,CAAC,CAACG,OAAF,CAAUJ,KAAV,EAAiB,UAACK,KAAD,EAAQC,CAAR,EAAc;AAC5C,4CAAgCJ,CAAhC,0BAA+CI,CAA/C;AACD,GAFc,CAAf;AAIA,SAAO;AAAEH,IAAAA,MAAM,EAANA;AAAF,GAAP;AACD,C","sourcesContent":["const REGEX = /\\{\\{(\\d+)\\}\\}/g;\n\nexport default (s, t) => {\n if (!s) {\n return { markup: '' };\n }\n\n const markup = s.replace(REGEX, (match, g) => {\n return `<span data-component=\"${t}\" data-id=\"${g}\"></span>`;\n });\n\n return { markup };\n};\n"],"file":"componentize.js"}
1
+ {"version":3,"file":"componentize.js","names":["REGEX","_default","exports","s","t","markup","replace","match","g","concat"],"sources":["../src/componentize.js"],"sourcesContent":["const REGEX = /\\{\\{(\\d+)\\}\\}/g;\n\nexport default (s, t) => {\n if (!s) {\n return { markup: '' };\n }\n\n const markup = s.replace(REGEX, (match, g) => {\n return `<span data-component=\"${t}\" data-id=\"${g}\"></span>`;\n });\n\n return { markup };\n};\n"],"mappings":";;;;;;AAAA,IAAMA,KAAK,GAAG,gBAAgB;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEhB,SAAAD,SAACE,CAAC,EAAEC,CAAC,EAAK;EACvB,IAAI,CAACD,CAAC,EAAE;IACN,OAAO;MAAEE,MAAM,EAAE;IAAG,CAAC;EACvB;EAEA,IAAMA,MAAM,GAAGF,CAAC,CAACG,OAAO,CAACN,KAAK,EAAE,UAACO,KAAK,EAAEC,CAAC,EAAK;IAC5C,iCAAAC,MAAA,CAAgCL,CAAC,mBAAAK,MAAA,CAAcD,CAAC;EAClD,CAAC,CAAC;EAEF,OAAO;IAAEH,MAAM,EAANA;EAAO,CAAC;AACnB,CAAC","ignoreList":[]}
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
+ var React = _interopRequireWildcard(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
9
+ var _blank = _interopRequireDefault(require("../blank"));
10
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
11
+ // Mock @dnd-kit hooks to avoid DndContext requirement
12
+ jest.mock('@dnd-kit/core', function () {
13
+ return {
14
+ useDraggable: jest.fn(function () {
15
+ return {
16
+ attributes: {},
17
+ listeners: {},
18
+ setNodeRef: jest.fn(),
19
+ transform: null,
20
+ isDragging: false
21
+ };
22
+ }),
23
+ useDroppable: jest.fn(function () {
24
+ return {
25
+ setNodeRef: jest.fn(),
26
+ isOver: false,
27
+ active: null
28
+ };
29
+ })
30
+ };
31
+ });
32
+ jest.mock('@dnd-kit/utilities', function () {
33
+ return {
34
+ CSS: {
35
+ Translate: {
36
+ toString: jest.fn(function () {
37
+ return 'translate3d(0, 0, 0)';
38
+ })
39
+ }
40
+ }
41
+ };
42
+ });
43
+ describe('Blank', function () {
44
+ var onChange = jest.fn();
45
+ var defaultProps = {
46
+ disabled: false,
47
+ choice: {
48
+ value: 'Cow'
49
+ },
50
+ isOver: false,
51
+ dragItem: {},
52
+ correct: false,
53
+ onChange: onChange
54
+ };
55
+ beforeEach(function () {
56
+ onChange.mockClear();
57
+ });
58
+ describe('rendering', function () {
59
+ it('renders with default props', function () {
60
+ var _render = (0, _react2.render)(/*#__PURE__*/React.createElement(_blank["default"], defaultProps)),
61
+ container = _render.container;
62
+ expect(container.firstChild).toBeInTheDocument();
63
+ });
64
+ it('displays the value when provided', function () {
65
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_blank["default"], defaultProps));
66
+ expect(_react2.screen.getByText('Cow')).toBeInTheDocument();
67
+ });
68
+ it('renders as disabled when disabled prop is true', function () {
69
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_blank["default"], (0, _extends2["default"])({}, defaultProps, {
70
+ disabled: true
71
+ })));
72
+ // Check that delete button is not present when disabled
73
+ expect(_react2.screen.queryByRole('button', {
74
+ name: /delete/i
75
+ })).not.toBeInTheDocument();
76
+ });
77
+ it('renders with dragged item preview', function () {
78
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_blank["default"], (0, _extends2["default"])({}, defaultProps, {
79
+ dragItem: {
80
+ choice: {
81
+ value: 'Dog'
82
+ }
83
+ }
84
+ })));
85
+ // Blank component should render
86
+ expect(_react2.screen.getByText('Cow')).toBeInTheDocument();
87
+ });
88
+ it('shows hover state when isOver is true', function () {
89
+ var _render2 = (0, _react2.render)(/*#__PURE__*/React.createElement(_blank["default"], (0, _extends2["default"])({}, defaultProps, {
90
+ dragItem: {
91
+ choice: {
92
+ value: 'Dog'
93
+ }
94
+ },
95
+ isOver: true
96
+ }))),
97
+ container = _render2.container;
98
+ // Component should have hover styling
99
+ expect(container.firstChild).toBeInTheDocument();
100
+ });
101
+ it('shows correct state when correct is true', function () {
102
+ var _render3 = (0, _react2.render)(/*#__PURE__*/React.createElement(_blank["default"], (0, _extends2["default"])({}, defaultProps, {
103
+ correct: true
104
+ }))),
105
+ container = _render3.container;
106
+ // Component should indicate correctness
107
+ expect(container.firstChild).toBeInTheDocument();
108
+ });
109
+ });
110
+ describe('delete functionality', function () {
111
+ it('does not show delete button when disabled', function () {
112
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_blank["default"], (0, _extends2["default"])({}, defaultProps, {
113
+ disabled: true
114
+ })));
115
+ expect(_react2.screen.queryByRole('button', {
116
+ name: /delete/i
117
+ })).not.toBeInTheDocument();
118
+ });
119
+ it('does not show delete button when no value is set', function () {
120
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_blank["default"], (0, _extends2["default"])({}, defaultProps, {
121
+ choice: undefined
122
+ })));
123
+ expect(_react2.screen.queryByRole('button', {
124
+ name: /delete/i
125
+ })).not.toBeInTheDocument();
126
+ });
127
+ it('shows delete button when value is present and not disabled', function () {
128
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_blank["default"], defaultProps));
129
+ // If delete button is present, it should be clickable
130
+ var deleteButton = _react2.screen.queryByRole('button');
131
+ if (deleteButton) {
132
+ expect(deleteButton).toBeInTheDocument();
133
+ }
134
+ });
135
+ });
136
+ describe('dimensions', function () {
137
+ it('renders with custom dimensions when provided', function () {
138
+ var _render4 = (0, _react2.render)(/*#__PURE__*/React.createElement(_blank["default"], (0, _extends2["default"])({}, defaultProps, {
139
+ emptyResponseAreaHeight: 100,
140
+ emptyResponseAreaWidth: 200
141
+ }))),
142
+ container = _render4.container;
143
+ var element = container.firstChild;
144
+ expect(element).toBeInTheDocument();
145
+ });
146
+ it('renders with min dimensions by default', function () {
147
+ var _render5 = (0, _react2.render)(/*#__PURE__*/React.createElement(_blank["default"], defaultProps)),
148
+ container = _render5.container;
149
+ var element = container.firstChild;
150
+ expect(element).toBeInTheDocument();
151
+ // Component should have minimum dimensions applied
152
+ });
153
+ it('handles non-numeric dimension props gracefully', function () {
154
+ var _render6 = (0, _react2.render)(/*#__PURE__*/React.createElement(_blank["default"], (0, _extends2["default"])({}, defaultProps, {
155
+ emptyResponseAreaHeight: "non-numeric",
156
+ emptyResponseAreaWidth: "non-numeric"
157
+ }))),
158
+ container = _render6.container;
159
+ expect(container.firstChild).toBeInTheDocument();
160
+ });
161
+ });
162
+ describe('drag and drop', function () {
163
+ it('accepts drag item when not disabled', function () {
164
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_blank["default"], (0, _extends2["default"])({}, defaultProps, {
165
+ isOver: true,
166
+ dragItem: {
167
+ choice: {
168
+ value: 'Dog'
169
+ }
170
+ }
171
+ })));
172
+ expect(_react2.screen.getByText('Cow')).toBeInTheDocument();
173
+ });
174
+ it('shows drag preview when dragging over', function () {
175
+ var _render7 = (0, _react2.render)(/*#__PURE__*/React.createElement(_blank["default"], (0, _extends2["default"])({}, defaultProps, {
176
+ isOver: true,
177
+ dragItem: {
178
+ choice: {
179
+ value: 'Dog'
180
+ }
181
+ }
182
+ }))),
183
+ container = _render7.container;
184
+ expect(container.firstChild).toBeInTheDocument();
185
+ // Should show visual feedback for drag over
186
+ });
187
+ });
188
+ });
189
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfdXNlckV2ZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9ibGFuayIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiamVzdCIsIm1vY2siLCJ1c2VEcmFnZ2FibGUiLCJmbiIsImF0dHJpYnV0ZXMiLCJsaXN0ZW5lcnMiLCJzZXROb2RlUmVmIiwidHJhbnNmb3JtIiwiaXNEcmFnZ2luZyIsInVzZURyb3BwYWJsZSIsImlzT3ZlciIsImFjdGl2ZSIsIkNTUyIsIlRyYW5zbGF0ZSIsInRvU3RyaW5nIiwiZGVzY3JpYmUiLCJvbkNoYW5nZSIsImRlZmF1bHRQcm9wcyIsImRpc2FibGVkIiwiY2hvaWNlIiwidmFsdWUiLCJkcmFnSXRlbSIsImNvcnJlY3QiLCJiZWZvcmVFYWNoIiwibW9ja0NsZWFyIiwiaXQiLCJfcmVuZGVyIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsImNvbnRhaW5lciIsImV4cGVjdCIsImZpcnN0Q2hpbGQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsInNjcmVlbiIsImdldEJ5VGV4dCIsIl9leHRlbmRzMiIsInF1ZXJ5QnlSb2xlIiwibmFtZSIsIm5vdCIsIl9yZW5kZXIyIiwiX3JlbmRlcjMiLCJ1bmRlZmluZWQiLCJkZWxldGVCdXR0b24iLCJfcmVuZGVyNCIsImVtcHR5UmVzcG9uc2VBcmVhSGVpZ2h0IiwiZW1wdHlSZXNwb25zZUFyZWFXaWR0aCIsImVsZW1lbnQiLCJfcmVuZGVyNSIsIl9yZW5kZXI2IiwiX3JlbmRlcjciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9fX3Rlc3RzX18vYmxhbmsudGVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyByZW5kZXIsIHNjcmVlbiB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuaW1wb3J0IHVzZXJFdmVudCBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3VzZXItZXZlbnQnO1xuaW1wb3J0IEJsYW5rIGZyb20gJy4uL2JsYW5rJztcblxuLy8gTW9jayBAZG5kLWtpdCBob29rcyB0byBhdm9pZCBEbmRDb250ZXh0IHJlcXVpcmVtZW50XG5qZXN0Lm1vY2soJ0BkbmQta2l0L2NvcmUnLCAoKSA9PiAoe1xuICB1c2VEcmFnZ2FibGU6IGplc3QuZm4oKCkgPT4gKHtcbiAgICBhdHRyaWJ1dGVzOiB7fSxcbiAgICBsaXN0ZW5lcnM6IHt9LFxuICAgIHNldE5vZGVSZWY6IGplc3QuZm4oKSxcbiAgICB0cmFuc2Zvcm06IG51bGwsXG4gICAgaXNEcmFnZ2luZzogZmFsc2UsXG4gIH0pKSxcbiAgdXNlRHJvcHBhYmxlOiBqZXN0LmZuKCgpID0+ICh7XG4gICAgc2V0Tm9kZVJlZjogamVzdC5mbigpLFxuICAgIGlzT3ZlcjogZmFsc2UsXG4gICAgYWN0aXZlOiBudWxsLFxuICB9KSksXG59KSk7XG5cbmplc3QubW9jaygnQGRuZC1raXQvdXRpbGl0aWVzJywgKCkgPT4gKHtcbiAgQ1NTOiB7XG4gICAgVHJhbnNsYXRlOiB7XG4gICAgICB0b1N0cmluZzogamVzdC5mbigoKSA9PiAndHJhbnNsYXRlM2QoMCwgMCwgMCknKSxcbiAgICB9LFxuICB9LFxufSkpO1xuXG5kZXNjcmliZSgnQmxhbmsnLCAoKSA9PiB7XG4gIGNvbnN0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICBjb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIGNob2ljZTogeyB2YWx1ZTogJ0NvdycgfSxcbiAgICBpc092ZXI6IGZhbHNlLFxuICAgIGRyYWdJdGVtOiB7fSxcbiAgICBjb3JyZWN0OiBmYWxzZSxcbiAgICBvbkNoYW5nZSxcbiAgfTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBvbkNoYW5nZS5tb2NrQ2xlYXIoKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3JlbmRlcmluZycsICgpID0+IHtcbiAgICBpdCgncmVuZGVycyB3aXRoIGRlZmF1bHQgcHJvcHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxCbGFuayB7Li4uZGVmYXVsdFByb3BzfSAvPik7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnZGlzcGxheXMgdGhlIHZhbHVlIHdoZW4gcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICByZW5kZXIoPEJsYW5rIHsuLi5kZWZhdWx0UHJvcHN9IC8+KTtcbiAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KCdDb3cnKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIGFzIGRpc2FibGVkIHdoZW4gZGlzYWJsZWQgcHJvcCBpcyB0cnVlJywgKCkgPT4ge1xuICAgICAgcmVuZGVyKDxCbGFuayB7Li4uZGVmYXVsdFByb3BzfSBkaXNhYmxlZD17dHJ1ZX0gLz4pO1xuICAgICAgLy8gQ2hlY2sgdGhhdCBkZWxldGUgYnV0dG9uIGlzIG5vdCBwcmVzZW50IHdoZW4gZGlzYWJsZWRcbiAgICAgIGV4cGVjdChzY3JlZW4ucXVlcnlCeVJvbGUoJ2J1dHRvbicsIHsgbmFtZTogL2RlbGV0ZS9pIH0pKS5ub3QudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHdpdGggZHJhZ2dlZCBpdGVtIHByZXZpZXcnLCAoKSA9PiB7XG4gICAgICByZW5kZXIoPEJsYW5rIHsuLi5kZWZhdWx0UHJvcHN9IGRyYWdJdGVtPXt7IGNob2ljZTogeyB2YWx1ZTogJ0RvZycgfSB9fSAvPik7XG4gICAgICAvLyBCbGFuayBjb21wb25lbnQgc2hvdWxkIHJlbmRlclxuICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ0NvdycpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3dzIGhvdmVyIHN0YXRlIHdoZW4gaXNPdmVyIGlzIHRydWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxCbGFuayB7Li4uZGVmYXVsdFByb3BzfSBkcmFnSXRlbT17eyBjaG9pY2U6IHsgdmFsdWU6ICdEb2cnIH0gfX0gaXNPdmVyPXt0cnVlfSAvPik7XG4gICAgICAvLyBDb21wb25lbnQgc2hvdWxkIGhhdmUgaG92ZXIgc3R5bGluZ1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3dzIGNvcnJlY3Qgc3RhdGUgd2hlbiBjb3JyZWN0IGlzIHRydWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxCbGFuayB7Li4uZGVmYXVsdFByb3BzfSBjb3JyZWN0PXt0cnVlfSAvPik7XG4gICAgICAvLyBDb21wb25lbnQgc2hvdWxkIGluZGljYXRlIGNvcnJlY3RuZXNzXG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdkZWxldGUgZnVuY3Rpb25hbGl0eScsICgpID0+IHtcbiAgICBpdCgnZG9lcyBub3Qgc2hvdyBkZWxldGUgYnV0dG9uIHdoZW4gZGlzYWJsZWQnLCAoKSA9PiB7XG4gICAgICByZW5kZXIoPEJsYW5rIHsuLi5kZWZhdWx0UHJvcHN9IGRpc2FibGVkPXt0cnVlfSAvPik7XG4gICAgICBleHBlY3Qoc2NyZWVuLnF1ZXJ5QnlSb2xlKCdidXR0b24nLCB7IG5hbWU6IC9kZWxldGUvaSB9KSkubm90LnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnZG9lcyBub3Qgc2hvdyBkZWxldGUgYnV0dG9uIHdoZW4gbm8gdmFsdWUgaXMgc2V0JywgKCkgPT4ge1xuICAgICAgcmVuZGVyKDxCbGFuayB7Li4uZGVmYXVsdFByb3BzfSBjaG9pY2U9e3VuZGVmaW5lZH0gLz4pO1xuICAgICAgZXhwZWN0KHNjcmVlbi5xdWVyeUJ5Um9sZSgnYnV0dG9uJywgeyBuYW1lOiAvZGVsZXRlL2kgfSkpLm5vdC50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3dzIGRlbGV0ZSBidXR0b24gd2hlbiB2YWx1ZSBpcyBwcmVzZW50IGFuZCBub3QgZGlzYWJsZWQnLCAoKSA9PiB7XG4gICAgICByZW5kZXIoPEJsYW5rIHsuLi5kZWZhdWx0UHJvcHN9IC8+KTtcbiAgICAgIC8vIElmIGRlbGV0ZSBidXR0b24gaXMgcHJlc2VudCwgaXQgc2hvdWxkIGJlIGNsaWNrYWJsZVxuICAgICAgY29uc3QgZGVsZXRlQnV0dG9uID0gc2NyZWVuLnF1ZXJ5QnlSb2xlKCdidXR0b24nKTtcbiAgICAgIGlmIChkZWxldGVCdXR0b24pIHtcbiAgICAgICAgZXhwZWN0KGRlbGV0ZUJ1dHRvbikudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2RpbWVuc2lvbnMnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aCBjdXN0b20gZGltZW5zaW9ucyB3aGVuIHByb3ZpZGVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcihcbiAgICAgICAgPEJsYW5rIHsuLi5kZWZhdWx0UHJvcHN9IGVtcHR5UmVzcG9uc2VBcmVhSGVpZ2h0PXsxMDB9IGVtcHR5UmVzcG9uc2VBcmVhV2lkdGg9ezIwMH0gLz4sXG4gICAgICApO1xuICAgICAgY29uc3QgZWxlbWVudCA9IGNvbnRhaW5lci5maXJzdENoaWxkO1xuICAgICAgZXhwZWN0KGVsZW1lbnQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB3aXRoIG1pbiBkaW1lbnNpb25zIGJ5IGRlZmF1bHQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxCbGFuayB7Li4uZGVmYXVsdFByb3BzfSAvPik7XG4gICAgICBjb25zdCBlbGVtZW50ID0gY29udGFpbmVyLmZpcnN0Q2hpbGQ7XG4gICAgICBleHBlY3QoZWxlbWVudCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICAgIC8vIENvbXBvbmVudCBzaG91bGQgaGF2ZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXBwbGllZFxuICAgIH0pO1xuXG4gICAgaXQoJ2hhbmRsZXMgbm9uLW51bWVyaWMgZGltZW5zaW9uIHByb3BzIGdyYWNlZnVsbHknLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKFxuICAgICAgICA8Qmxhbmsgey4uLmRlZmF1bHRQcm9wc30gZW1wdHlSZXNwb25zZUFyZWFIZWlnaHQ9XCJub24tbnVtZXJpY1wiIGVtcHR5UmVzcG9uc2VBcmVhV2lkdGg9XCJub24tbnVtZXJpY1wiIC8+LFxuICAgICAgKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2RyYWcgYW5kIGRyb3AnLCAoKSA9PiB7XG4gICAgaXQoJ2FjY2VwdHMgZHJhZyBpdGVtIHdoZW4gbm90IGRpc2FibGVkJywgKCkgPT4ge1xuICAgICAgcmVuZGVyKDxCbGFuayB7Li4uZGVmYXVsdFByb3BzfSBpc092ZXI9e3RydWV9IGRyYWdJdGVtPXt7IGNob2ljZTogeyB2YWx1ZTogJ0RvZycgfSB9fSAvPik7XG4gICAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnQ293JykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvd3MgZHJhZyBwcmV2aWV3IHdoZW4gZHJhZ2dpbmcgb3ZlcicsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPEJsYW5rIHsuLi5kZWZhdWx0UHJvcHN9IGlzT3Zlcj17dHJ1ZX0gZHJhZ0l0ZW09e3sgY2hvaWNlOiB7IHZhbHVlOiAnRG9nJyB9IH19IC8+KTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICAgIC8vIFNob3VsZCBzaG93IHZpc3VhbCBmZWVkYmFjayBmb3IgZHJhZyBvdmVyXG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQTZCLFNBQUFELHdCQUFBTSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBUix1QkFBQSxZQUFBQSx3QkFBQU0sQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLG1CQUFBVCxDQUFBLGlCQUFBQSxDQUFBLGdCQUFBVSxPQUFBLENBQUFWLENBQUEsMEJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFHLENBQUEsQ0FBQUssR0FBQSxDQUFBWCxDQUFBLFVBQUFNLENBQUEsQ0FB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