UNPKG

quiz-interactions

Version:

A React UI component Library for quiz interaction types.

111 lines (87 loc) 3.8 kB
"use strict"; 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;