UNPKG

skedify-calendar

Version:
61 lines (45 loc) 1.9 kB
'use strict'; exports.__esModule = true; exports.DragHandle = undefined; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _PLACEMENT_MAP; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _uuid = require('uuid'); var _isFunction = require('../../utils/isFunction'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var PLACEMENT_TOP = (0, _uuid.v4)(); var PLACEMENT_BOTTOM = (0, _uuid.v4)(); var MOVING_INDICATOR = (0, _uuid.v4)(); var PLACEMENT_MAP = (_PLACEMENT_MAP = {}, _PLACEMENT_MAP[PLACEMENT_TOP] = function () { return { top: 0 }; }, _PLACEMENT_MAP[PLACEMENT_BOTTOM] = function () { return { bottom: 0 }; }, _PLACEMENT_MAP[MOVING_INDICATOR] = function () { return { width: '100%', height: '100%' }; }, _PLACEMENT_MAP); function DragHandleComponent(_ref) { var placement = _ref.placement, onActivate = _ref.onActivate, children = _ref.children; var size = 8; if (placement === MOVING_INDICATOR) { return _react2.default.createElement( 'div', { style: PLACEMENT_MAP[placement](), onPointerDown: onActivate }, children ); } return _react2.default.createElement('button', { type: 'button', onPointerDown: onActivate, className: 'SkedifyCalendar__DragHandle', style: _extends({ height: size }, (0, _isFunction.isFunction)(PLACEMENT_MAP[placement]) ? PLACEMENT_MAP[placement]() : {}) }); } var DragHandle = exports.DragHandle = (0, _react.memo)(DragHandleComponent); DragHandle.PLACEMENT_TOP = PLACEMENT_TOP; DragHandle.PLACEMENT_BOTTOM = PLACEMENT_BOTTOM; DragHandle.MOVING_INDICATOR = MOVING_INDICATOR;