skedify-calendar
Version:
Skedify Calendar React component
51 lines (40 loc) • 1.39 kB
JavaScript
;
exports.__esModule = true;
exports.Gutter = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _Stack = require('./Stack');
var _range = require('../../utils/range');
var _dateFns = require('date-fns');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function GutterComponent(_ref, ref) {
var slotsToRender = _ref.slotsToRender,
sizeOfOneSlot = _ref.sizeOfOneSlot,
startTime = _ref.startTime,
step = _ref.step,
render = _ref.render;
return _react2.default.createElement(
_Stack.Stack,
{
ref: ref,
direction: _Stack.Stack.direction.VERTICAL,
distribution: _Stack.Stack.distribution.NORMAL,
className: 'SkedifyCalendar__Gutter'
},
(0, _range.range)(slotsToRender).map(function (slotIndex) {
var time = (0, _dateFns.addMinutes)((0, _dateFns.parseISO)(startTime), slotIndex * step);
return _react2.default.createElement(
'div',
{
key: slotIndex,
className: 'SkedifyCalendar__Gutter__Slot',
style: {
height: sizeOfOneSlot
}
},
render({ time: time, slotIndex: slotIndex, sizeOfOneSlot: sizeOfOneSlot })
);
})
);
}
var Gutter = exports.Gutter = (0, _react.memo)((0, _react.forwardRef)(GutterComponent));