@adamson/react-crossword
Version:
A flexible, responsive, and easy-to-use crossword component for React apps
70 lines (57 loc) • 2.43 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = DirectionClues;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _Clue = _interopRequireDefault(require("./Clue"));
var DirectionWrapper = _styledComponents["default"].div.attrs(function () {
return {
className: "direction"
};
}).withConfig({
displayName: "DirectionClues__DirectionWrapper",
componentId: "sc-1mqymi7-0"
})(["display:flex;flex-direction:column;height:50%;margin-bottom:2em;.header{margin-top:0;margin-bottom:0.5em;}div{margin-top:0.5em;}"]);
var DirectionCluesWrapper = _styledComponents["default"].div.attrs(function () {
return {
className: "direction-clues"
};
}).withConfig({
displayName: "DirectionClues__DirectionCluesWrapper",
componentId: "sc-1mqymi7-1"
})(["height:100%;overflow-y:scroll;"]);
function DirectionClues(_ref) {
var direction = _ref.direction,
clues = _ref.clues,
correctness = _ref.correctness;
return /*#__PURE__*/_react["default"].createElement(DirectionWrapper, null, /*#__PURE__*/_react["default"].createElement("h3", {
className: "header"
}, direction.toUpperCase()), /*#__PURE__*/_react["default"].createElement(DirectionCluesWrapper, null, clues.map(function (_ref2) {
var number = _ref2.number,
text = _ref2.text;
return /*#__PURE__*/_react["default"].createElement(_Clue["default"], {
key: number,
direction: direction,
number: number,
correct: correctness[number]
}, text);
})));
}
process.env.NODE_ENV !== "production" ? DirectionClues.propTypes = {
/** direction of this list of clues ("across" or "down") */
direction: _propTypes["default"].string.isRequired,
/** clues for this List's direction */
clues: _propTypes["default"].arrayOf(_propTypes["default"].shape({
/** number of the clue (the label shown) */
number: _propTypes["default"].string.isRequired,
/** clue text */
clue: _propTypes["default"].node.isRequired
/** whether the answer/guess is correct */
})).isRequired,
correctness: _propTypes["default"].objectOf(_propTypes["default"].bool).isRequired
} : void 0;
DirectionClues.defaultProps = {};