quiz-interactions
Version:
A React UI component Library for quiz interaction types.
111 lines (87 loc) • 3.8 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactDnd = require("react-dnd");
var _uiThemeable = require("@instructure/ui-themeable");
var _uiIcons = require("@instructure/ui-icons");
var _uiElements = require("@instructure/ui-elements");
var _theme = _interopRequireDefault(require("./theme"));
var _dec, _class, _class2, _temp;
var styles = {
componentId: 'cRHrQ',
template: function template(theme) {
return "\n\n.cRHrQ_eXaD{align-items:center;background-color:".concat(theme.choiceBackgroundColor || 'inherit', ";border:").concat(theme.choiceBorder || 'inherit', " solid ").concat(theme.choiceBorderColor || 'inherit', ";border-radius:").concat(theme.choiceBorderRadius || 'inherit', ";display:flex;padding:").concat(theme.choicePadding || 'inherit', "}");
},
'choice': 'cRHrQ_eXaD'
};
var _ref =
/*#__PURE__*/
_react.default.createElement(_uiIcons.IconDragHandleLine, null);
var DraggableBlankChoice = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 =
/*#__PURE__*/
function (_Component) {
(0, _inherits2.default)(DraggableBlankChoice, _Component);
function DraggableBlankChoice() {
(0, _classCallCheck2.default)(this, DraggableBlankChoice);
return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(DraggableBlankChoice).apply(this, arguments));
}
(0, _createClass2.default)(DraggableBlankChoice, [{
key: "render",
value: function render() {
var _this$props = this.props,
text = _this$props.text,
connectDragSource = _this$props.connectDragSource;
return connectDragSource(_react.default.createElement("div", {
className: styles.choice
}, _ref, _react.default.createElement(_uiElements.Text, {
color: "primary"
}, text)));
}
}]);
DraggableBlankChoice.displayName = "DraggableBlankChoice";
return DraggableBlankChoice;
}(_react.Component), _class2.propTypes = {
id: _propTypes.default.string,
text: _propTypes.default.string,
connectDragSource: _propTypes.default.func.isRequired,
// injected by React DnD
handleDrop: _propTypes.default.func,
returnChoiceToWordbank: _propTypes.default.func
}, _class2.defaultProps = {
id: void 0,
text: void 0,
handleDrop: void 0,
returnChoiceToWordbank: void 0
}, _temp)) || _class);
var dragSource = {
beginDrag: function beginDrag(props, monitor, component) {
return {
id: props.id,
text: props.text
};
},
endDrag: function endDrag(props, monitor) {
// if dropped outside of a BlankDropTarget, return to wordbank
if (!monitor.didDrop() && props.returnChoiceToWordbank) {
props.returnChoiceToWordbank(props.id);
}
}
};
function collectDrag(connect, monitor) {
return {
connectDragSource: connect.dragSource()
};
}
var _default = (0, _reactDnd.DragSource)('fitb', dragSource, collectDrag)(DraggableBlankChoice);
exports.default = _default;