skedify-calendar
Version:
Skedify Calendar React component
39 lines (35 loc) • 1.08 kB
JavaScript
import React, { memo, forwardRef } from 'react';
import { Stack } from './Stack';
import { range } from '../../utils/range';
import { addMinutes, parseISO } from 'date-fns';
function GutterComponent(_ref, ref) {
var slotsToRender = _ref.slotsToRender,
sizeOfOneSlot = _ref.sizeOfOneSlot,
startTime = _ref.startTime,
step = _ref.step,
render = _ref.render;
return React.createElement(
Stack,
{
ref: ref,
direction: Stack.direction.VERTICAL,
distribution: Stack.distribution.NORMAL,
className: 'SkedifyCalendar__Gutter'
},
range(slotsToRender).map(function (slotIndex) {
var time = addMinutes(parseISO(startTime), slotIndex * step);
return React.createElement(
'div',
{
key: slotIndex,
className: 'SkedifyCalendar__Gutter__Slot',
style: {
height: sizeOfOneSlot
}
},
render({ time: time, slotIndex: slotIndex, sizeOfOneSlot: sizeOfOneSlot })
);
})
);
}
export var Gutter = memo(forwardRef(GutterComponent));