UNPKG

react-slot-machine-gen

Version:

Create an extremely biased, web-based slot machine game.

59 lines (57 loc) 2.24 kB
/** * React Slot Machine * Create an extremely biased, web-based slot machine game. * * Copyright 2020-2025, Marc S. Brooks (https://mbrooks.info) * Licensed under the MIT license: * http://www.opensource.org/licenses/mit-license.php */ 'use strict'; exports.__esModule = true; exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _slotMachineGen = _interopRequireDefault(require("slot-machine-gen")); require("slot-machine-gen/dist/slot-machine.min.css"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } function _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); } function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } /** * Provides React Component wrapper. */ var SlotMachine = /*#__PURE__*/function (_React$Component) { function SlotMachine() { return _React$Component.apply(this, arguments) || this; } _inheritsLoose(SlotMachine, _React$Component); var _proto = SlotMachine.prototype; _proto.componentDidMount = function componentDidMount() { this.slot = new _slotMachineGen["default"](this.refs.wrapper, this.props.reels, this.props.callback, this.props.options); }; _proto.componentDidUpdate = function componentDidUpdate(prevProps) { if (this.props.play !== prevProps.play) { this.slot.play(); } }; _proto.render = function render() { return /*#__PURE__*/_react["default"].createElement('div', { className: 'slot-machine', ref: 'wrapper', id: this.props.id }); }; return SlotMachine; }(_react["default"].Component); SlotMachine.defaultProps = { id: 'slot-machine', play: false }; SlotMachine.propTypes = { id: _propTypes["default"].string, play: _propTypes["default"].bool, reels: _propTypes["default"].array.isRequired, callback: _propTypes["default"].func, options: _propTypes["default"].object }; var _default = exports["default"] = SlotMachine; //# sourceMappingURL=react-slot-machine.js.map