UNPKG

quiz-interactions

Version:

A React UI component Library for quiz interaction types.

125 lines (95 loc) 4.46 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 _getPrototypeOf3 = _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 _uiThemeable = require("@instructure/ui-themeable"); var _uiButtons = require("@instructure/ui-buttons"); var _uiIcons = require("@instructure/ui-icons"); var _uiA11y = require("@instructure/ui-a11y"); var _DraggableBlankChoice = _interopRequireDefault(require("../DraggableBlankChoice")); var _theme = _interopRequireDefault(require("./theme")); var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/lib/format-message")); var _dec, _class, _class2, _temp; var styles = { componentId: 'fghAI', template: function template(theme) { return "\n\n.fghAI_deIr{align-items:center;border:".concat(theme.answerOptionWrapperBorder || 'inherit', " solid ").concat(theme.answerOptionWrapperColor || 'inherit', ";border-radius:").concat(theme.answerOptionWrapperBorderRadius || 'inherit', ";display:flex;flex:1}\n\n.fghAI_deIr div{border:none}\n\n.fghAI_CzvX{float:right;margin:0;padding:0}\n\n[dir=ltr] .fghAI_CzvX,[dir=rtl] .fghAI_CzvX{float:right}"); }, 'answerOptionWrapper': 'fghAI_deIr', 'xIcon': 'fghAI_CzvX' }; var BlankAnswer = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/ function (_Component) { (0, _inherits2.default)(BlankAnswer, _Component); function BlankAnswer() { var _getPrototypeOf2; var _this; (0, _classCallCheck2.default)(this, BlankAnswer); for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) { _args[_key] = arguments[_key]; } _this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(BlankAnswer)).call.apply(_getPrototypeOf2, [this].concat(_args))); _this.button = null; _this.handleClick = function (event) { var _this$props; for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { args[_key2 - 1] = arguments[_key2]; } (_this$props = _this.props).onRemoveAnswer.apply(_this$props, [event].concat(args)); }; _this.handleRef = function (node) { _this.button = node; }; return _this; } (0, _createClass2.default)(BlankAnswer, [{ key: "focus", value: function focus() { this.button.focus(); } }, { key: "render", value: function render() { var itemBody = this.props.itemBody; return _react.default.createElement("div", { tabIndex: "-1", className: styles.answerOptionWrapper }, _react.default.createElement(_DraggableBlankChoice.default, { key: this.props.choiceId, id: this.props.choiceId, text: itemBody }), _react.default.createElement(_uiButtons.Button, { ref: this.handleRef, size: "small", variant: "icon", onClick: this.handleClick, readOnly: this.props.readOnly }, _react.default.createElement(_uiIcons.IconXLine, { className: styles.xIcon }), _react.default.createElement(_uiA11y.ScreenReaderContent, null, (0, _formatMessage.default)('Remove Choice {itemBody}', { itemBody: itemBody })))); } }]); BlankAnswer.displayName = "BlankAnswer"; return BlankAnswer; }(_react.Component), _class2.propTypes = { choiceId: _propTypes.default.string.isRequired, itemBody: _propTypes.default.string.isRequired, onRemoveAnswer: _propTypes.default.func.isRequired, readOnly: _propTypes.default.bool }, _class2.defaultProps = { readOnly: false }, _temp)) || _class); exports.default = BlankAnswer;