UNPKG

@dotconnor/grommet

Version:

focus on the essential experience

88 lines (85 loc) 2.69 kB
import React, { useState } from 'react'; import { Box, Calendar, DropButton, Grommet, Heading, Stack, Text } from 'grommet'; import { Notification } from "grommet-icons/es6/icons/Notification"; import { grommet } from 'grommet/themes'; export var CustomDayCalendar = function CustomDayCalendar() { var calendarContent = [7, 8, 9]; var _useState = useState(), selectedDay = _useState[0], setSelectedDay = _useState[1]; var onSelect = function onSelect(value) { setSelectedDay(value); }; return /*#__PURE__*/React.createElement(Grommet, { theme: grommet }, /*#__PURE__*/React.createElement(Box, { align: "center", pad: "large" }, /*#__PURE__*/React.createElement(Heading, { level: 4 }, "Example without onSelect set"), /*#__PURE__*/React.createElement(Calendar, { date: selectedDay, fill: true }, function (_ref) { var date = _ref.date, day = _ref.day, isSelected = _ref.isSelected; var hasContent = calendarContent.includes(day); return /*#__PURE__*/React.createElement(Box, { background: isSelected ? 'light-3' : 'white', onClick: function onClick() { return onSelect(date.toISOString()); }, border: true, fill: true }, /*#__PURE__*/React.createElement(Stack, { anchor: "top-right", fill: true }, /*#__PURE__*/React.createElement(Box, { pad: "small", align: "center", justify: "center", fill: true }, /*#__PURE__*/React.createElement(Text, { size: "large" }, day)), hasContent ? /*#__PURE__*/React.createElement(DropButton, { icon: /*#__PURE__*/React.createElement(Notification, { size: "small", color: "neutral-3" }), dropContent: /*#__PURE__*/React.createElement(Box, { pad: "small" }, "Vacation"), dropAlign: { top: 'bottom' } }) : null)); })), /*#__PURE__*/React.createElement(Box, { align: "center", pad: "large" }, /*#__PURE__*/React.createElement(Heading, { level: 4 }, "Example with onSelect set"), /*#__PURE__*/React.createElement(Calendar, { onSelect: onSelect, date: selectedDay, fill: true }, function (_ref2) { var day = _ref2.day, isSelected = _ref2.isSelected; return /*#__PURE__*/React.createElement(Box, { background: isSelected ? 'light-3' : 'white', border: true, fill: true }, /*#__PURE__*/React.createElement(Box, { pad: "medium", align: "center", justify: "center", fill: true }, /*#__PURE__*/React.createElement(Text, { size: "large" }, day))); }))); }; CustomDayCalendar.story = { name: 'Custom day' };