nes-tetris-components
Version:
A set of components and front-end functionality of NES Tetris
23 lines (22 loc) • 1.31 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
const classnames_1 = __importDefault(require("classnames"));
require("./representation.css");
const filled_grid_1 = __importDefault(require("./filled-grid"));
function Block({ value, nearInvisible, slightlyHidden, transparent, showDiff, row, column, onMouseEnter, onWheel, onClick, disabled, width }) {
const adjustedValue = slightlyHidden ? filled_grid_1.default[row][column] : value;
return (react_1.default.createElement("div", { key: column, draggable: "true", style: { width }, onMouseEnter: onMouseEnter, onMouseDown: disabled ? undefined : onClick, onWheel: onWheel, className: classnames_1.default({
'tetris-block': true,
'tetris-hidden': !nearInvisible && !slightlyHidden && !value,
[`tetris-block-${adjustedValue}`]: true,
'tetris-near-invisible': nearInvisible,
'tetris-slightly-hidden': slightlyHidden || disabled,
transparent,
'show-diff': showDiff,
}), onDragEnter: onClick }));
}
exports.default = Block;