@mirohq/design-system-calendar 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +6 -13
- package/dist/main.js.map +1 -1
- package/dist/module.js +6 -13
- package/dist/module.js.map +1 -1
- package/package.json +3 -4
package/dist/main.js
CHANGED
|
@@ -10,7 +10,6 @@ var date = require('@internationalized/date');
|
|
|
10
10
|
var reactStately = require('react-stately');
|
|
11
11
|
var designSystemFlex = require('@mirohq/design-system-flex');
|
|
12
12
|
var designSystemIcons = require('@mirohq/design-system-icons');
|
|
13
|
-
var designSystemUtils = require('@mirohq/design-system-utils');
|
|
14
13
|
var designSystemButton = require('@mirohq/design-system-button');
|
|
15
14
|
|
|
16
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -113,14 +112,12 @@ const StyledFieldButton = designSystemStitches.styled(designSystemPrimitive.Prim
|
|
|
113
112
|
});
|
|
114
113
|
|
|
115
114
|
const Button = React__default["default"].forwardRef((props, forwardRef) => {
|
|
116
|
-
const
|
|
117
|
-
const { buttonProps } = reactAria.useButton(props, ref);
|
|
115
|
+
const { buttonProps } = reactAria.useButton(props, forwardRef);
|
|
118
116
|
const { focusProps } = reactAria.useFocusRing();
|
|
119
117
|
const { children } = props;
|
|
120
|
-
const refs = designSystemUtils.mergeRefs([ref, forwardRef]);
|
|
121
118
|
return /* @__PURE__ */ React__default["default"].createElement(StyledButton, {
|
|
122
119
|
...reactAria.mergeProps(buttonProps, focusProps),
|
|
123
|
-
ref:
|
|
120
|
+
ref: forwardRef
|
|
124
121
|
}, children);
|
|
125
122
|
});
|
|
126
123
|
const FieldButton = (props) => {
|
|
@@ -487,9 +484,8 @@ const RangePicker = React__default["default"].forwardRef((props, forwardRef) =>
|
|
|
487
484
|
state.close();
|
|
488
485
|
}
|
|
489
486
|
};
|
|
490
|
-
const refs = designSystemUtils.mergeRefs([ref, forwardRef]);
|
|
491
487
|
return /* @__PURE__ */ React__default["default"].createElement(StyledRangePicker, {
|
|
492
|
-
ref:
|
|
488
|
+
ref: forwardRef
|
|
493
489
|
}, children === void 0 && /* @__PURE__ */ React__default["default"].createElement(StyledRangePickerInput$1, {
|
|
494
490
|
...groupProps,
|
|
495
491
|
ref
|
|
@@ -514,7 +510,7 @@ const RangePicker = React__default["default"].forwardRef((props, forwardRef) =>
|
|
|
514
510
|
state,
|
|
515
511
|
placement: "bottom start"
|
|
516
512
|
}, /* @__PURE__ */ React__default["default"].createElement(StyledBody, {
|
|
517
|
-
ref:
|
|
513
|
+
ref: forwardRef
|
|
518
514
|
}, /* @__PURE__ */ React__default["default"].createElement(StyledBodyContent, null, predefinedRanges !== void 0 && /* @__PURE__ */ React__default["default"].createElement(PredefinedRanges, {
|
|
519
515
|
range: predefinedRanges,
|
|
520
516
|
onClick: rangeClick
|
|
@@ -584,7 +580,6 @@ const DatePickerBody = React__default["default"].forwardRef((props, forwardRef)
|
|
|
584
580
|
locale,
|
|
585
581
|
createCalendar: date.createCalendar
|
|
586
582
|
});
|
|
587
|
-
const ref = React.useRef(null);
|
|
588
583
|
const { calendarProps, prevButtonProps, nextButtonProps } = reactAria.useCalendar(
|
|
589
584
|
props,
|
|
590
585
|
state
|
|
@@ -596,9 +591,8 @@ const DatePickerBody = React__default["default"].forwardRef((props, forwardRef)
|
|
|
596
591
|
},
|
|
597
592
|
[state]
|
|
598
593
|
);
|
|
599
|
-
const refs = designSystemUtils.mergeRefs([ref, forwardRef]);
|
|
600
594
|
return /* @__PURE__ */ React__default["default"].createElement(StyledBody, {
|
|
601
|
-
ref:
|
|
595
|
+
ref: forwardRef
|
|
602
596
|
}, /* @__PURE__ */ React__default["default"].createElement(StyledBodyContent, {
|
|
603
597
|
...calendarProps
|
|
604
598
|
}, predefinedRanges !== void 0 && /* @__PURE__ */ React__default["default"].createElement(PredefinedRanges, {
|
|
@@ -637,7 +631,6 @@ const DatePicker = React__default["default"].forwardRef((props, forwardRef) => {
|
|
|
637
631
|
onClear
|
|
638
632
|
} = props;
|
|
639
633
|
const ref = React.useRef(null);
|
|
640
|
-
const refs = designSystemUtils.mergeRefs([ref, forwardRef]);
|
|
641
634
|
const state = reactStately.useDatePickerState(props);
|
|
642
635
|
const { groupProps, fieldProps, buttonProps, calendarProps } = reactAria.useDatePicker(
|
|
643
636
|
{ ...props, isOpen: defaultOpen },
|
|
@@ -651,7 +644,7 @@ const DatePicker = React__default["default"].forwardRef((props, forwardRef) => {
|
|
|
651
644
|
}
|
|
652
645
|
};
|
|
653
646
|
return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, picker === "single" ? /* @__PURE__ */ React__default["default"].createElement(StyledDatePicker, {
|
|
654
|
-
ref:
|
|
647
|
+
ref: forwardRef
|
|
655
648
|
}, children === void 0 && /* @__PURE__ */ React__default["default"].createElement(StyledRangePickerInput, {
|
|
656
649
|
...groupProps,
|
|
657
650
|
ref
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sources":["../src/partials/text-field.styled.tsx","../src/partials/text-field.tsx","../src/partials/button.styled.tsx","../src/partials/button.tsx","../src/partials/popover.tsx","../src/partials/range-picker.styled.tsx","../src/partials/predefined-ranges.styled.tsx","../src/partials/predefined-ranges.tsx","../src/partials/body.styled.tsx","../src/partials/header.styled.tsx","../src/partials/header.tsx","../src/partials/cell.styled.tsx","../src/partials/cell.tsx","../src/partials/grid.styled.tsx","../src/partials/grid.tsx","../src/partials/range-picker.tsx","../src/partials/date-picker.styled.tsx","../src/partials/date-picker-body.tsx","../src/partials/date-picker.tsx","../src/calendar.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledDataSegment = styled(Primitive.div, {\n color: '$text-neutrals-subtle',\n\n '&[data-value]': {\n color: '$text-neutrals',\n },\n\n '& span': {\n pointerEvents: 'none',\n\n '&[data-placeholder]': {\n display: 'none',\n height: '0',\n color: '$text-neutrals-subtle',\n },\n },\n})\nexport type StyledDateSegmentProps = ComponentPropsWithRef<\n typeof StyledDataSegment\n>\n","import React, { useRef } from 'react'\nimport type { ElementRef } from 'react'\nimport type { DateFieldState, DateSegment } from 'react-stately'\nimport { useDateFieldState } from 'react-stately'\nimport type { AriaDatePickerProps, DateValue } from 'react-aria'\nimport { useDateField, useDateSegment, useLocale } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport type { StyledDateSegmentProps } from './text-field.styled'\nimport { StyledDataSegment } from './text-field.styled'\n\nexport interface DataSegmentProps extends StyledDateSegmentProps {\n segment: DateSegment\n state: DateFieldState\n}\n\nconst FieldDateSegment = React.forwardRef<\n ElementRef<typeof StyledDataSegment>,\n DataSegmentProps\n>(({ segment, state }) => {\n const ref = useRef(null)\n const { segmentProps } = useDateSegment(segment, state, ref)\n\n return (\n <StyledDataSegment\n {...segmentProps}\n ref={ref}\n data-value={state.value !== null ? '' : undefined}\n >\n {/* Always reserve space for the placeholder, to prevent layout shift when editing. */}\n <span\n aria-hidden='true'\n data-placeholder={!segment.isPlaceholder ? '' : undefined}\n >\n {segment.placeholder}\n </span>\n {segment.isPlaceholder ? '' : segment.text}\n </StyledDataSegment>\n )\n})\n\nexport const TextField: React.FC<AriaDatePickerProps<DateValue>> = props => {\n const ref = useRef(null)\n const { locale } = useLocale()\n const state = useDateFieldState({\n ...props,\n isReadOnly: true,\n locale,\n createCalendar,\n })\n\n const { fieldProps } = useDateField(props, state, ref)\n\n return (\n <Flex {...fieldProps} ref={ref}>\n {state.segments.map((segment, i) => (\n <FieldDateSegment key={i} segment={segment} state={state} />\n ))}\n </Flex>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledButton = styled(Primitive.button, {\n padding: '0',\n background: 'transparent',\n border: 'none',\n cursor: 'pointer',\n color: '$text-neutrals',\n\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n})\n\nexport type StyledButtonProps = ComponentPropsWithRef<typeof StyledButton>\n\nexport const StyledFieldButton = styled(Primitive.button, {\n padding: '0',\n background: 'transparent',\n border: 'none',\n cursor: 'pointer',\n square: '28px',\n\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n\n '& svg': {\n color: '$text-neutrals-subtle',\n square: '22px',\n },\n\n '&[data-custom]': {\n width: '100%',\n height: 'unset',\n },\n})\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport type { AriaButtonProps } from 'react-aria'\nimport { useButton, useFocusRing, mergeProps } from 'react-aria'\nimport { mergeRefs } from '@mirohq/design-system-utils'\n\nimport { StyledButton, StyledFieldButton } from './button.styled'\n\ninterface ButtonProps extends AriaButtonProps<'button'> {\n customButton?: boolean\n}\n\nexport const Button = React.forwardRef<\n ElementRef<typeof StyledButton>,\n AriaButtonProps<'button'>\n>((props, forwardRef) => {\n const ref = useRef(null)\n const { buttonProps } = useButton(props, ref)\n const { focusProps } = useFocusRing()\n const { children } = props\n const refs = mergeRefs([ref, forwardRef])\n return (\n <StyledButton {...mergeProps(buttonProps, focusProps)} ref={refs}>\n {children}\n </StyledButton>\n )\n})\n\nexport const FieldButton: React.FC<ButtonProps> = props => {\n const ref = useRef(null)\n const { buttonProps } = useButton(props, ref)\n const { customButton = false, children } = props\n return (\n <StyledFieldButton\n data-custom={customButton ? '' : undefined}\n {...buttonProps}\n ref={ref}\n >\n {children}\n </StyledFieldButton>\n )\n}\n","/* eslint-disable react/jsx-handler-names */\nimport * as React from 'react'\nimport type { Placement, AriaDialogProps } from 'react-aria'\nimport { usePopover, DismissButton, Overlay, useDialog } from 'react-aria'\nimport type { DatePickerState, DateRangePickerState } from 'react-stately'\n\nexport const Popover: React.FC<{\n state: DateRangePickerState | DatePickerState\n triggerRef: React.RefObject<Element>\n placement: Placement\n children: JSX.Element\n}> = props => {\n const ref = React.useRef(null)\n const { state, children } = props\n const { dialogProps } = useDialog(props as AriaDialogProps, ref)\n\n const { popoverProps, underlayProps } = usePopover(\n {\n ...props,\n popoverRef: ref,\n },\n state\n )\n\n return (\n <Overlay>\n <div {...underlayProps} />\n <div {...popoverProps} ref={ref}>\n <DismissButton onDismiss={state.close} />\n <div {...dialogProps} ref={ref}>\n {children}\n </div>\n <DismissButton onDismiss={state.close} />\n </div>\n </Overlay>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledRangePicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport const StyledRangePickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n padding: '$100',\n paddingLeft: '$150',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledRangePickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n})\n\nexport type StyledRangePickerProps = ComponentPropsWithRef<\n typeof StyledRangePicker\n>\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledPredefinedRanges = styled(Primitive.div, {\n display: 'flex',\n flexDirection: 'column',\n borderRight: '1px solid $border-neutrals',\n padding: '$300 $200 0 $200',\n\n '& button': {\n background: 'transparent',\n border: 'none',\n fontSize: '$200',\n padding: '0 0 0 $100',\n textAlign: 'left',\n lineHeight: '24px',\n color: '$text-neutrals',\n marginBottom: '$150',\n borderRadius: '$50',\n minWidth: '125px',\n cursor: 'pointer',\n\n '&:hover': {\n backgroundColor: '$background-primary-prominent-hover',\n color: '$text-primary-inverted',\n fontWeight: '600',\n },\n },\n})\n\nexport type StyledPredefinedRangesProps = ComponentPropsWithRef<\n typeof StyledPredefinedRanges\n>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate } from '@internationalized/date'\nimport type { DateRange } from 'react-aria'\n\nimport { StyledPredefinedRanges } from './predefined-ranges.styled'\n\nexport interface PredefinedRange {\n id: string\n label: string\n date?: CalendarDate\n range?: DateRange\n}\n\nexport interface PredefinedRangesProps {\n range: PredefinedRange[]\n onClick: (range: PredefinedRange) => void\n}\n\nexport const PredefinedRanges = React.forwardRef<\n ElementRef<typeof StyledPredefinedRanges>,\n PredefinedRangesProps\n>(({ range, onClick }, forwardRef) => (\n <StyledPredefinedRanges ref={forwardRef}>\n {range?.map((date, i) => (\n <button key={i} type='button' onClick={() => onClick(date)}>\n {date.label}\n </button>\n ))}\n </StyledPredefinedRanges>\n))\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\n\nexport const StyledBody = styled(Primitive.div, {\n display: 'inline-block',\n background: '$background-neutrals',\n})\n\nexport const StyledBodyContent = styled(Flex, {\n margin: '0 auto',\n boxShadow: '$100',\n background: '$background-neutrals',\n borderRadius: '$100',\n})\n\nexport const StyledGridContent = styled(Flex, {\n paddingBottom: '$200',\n\n '& [data-left-calendar]': {\n paddingLeft: '$200',\n paddingRight: '$100',\n },\n\n '& [data-right-calendar]': {\n paddingLeft: '$100',\n paddingRight: '$200',\n },\n})\n\nexport const StyledBodyContentLeft = styled(Primitive.div, {\n paddingLeft: '$200',\n paddingRight: '$100',\n})\n\nexport const StyledBodyContentRight = styled(Primitive.div, {\n paddingLeft: '$100',\n paddingRight: '$200',\n})\n\nexport const StyledClearContent = styled(Primitive.div, {\n padding: '$200',\n borderTop: '1px solid $border-neutrals',\n})\n\nexport type StyledBodyProps = ComponentPropsWithRef<typeof StyledBody>\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\n\nexport const StyledHeaderTitle = styled(Flex, {\n justifyContent: 'center',\n flex: '3',\n color: '$text-neutrals',\n})\n\nexport const StyledHeader = styled(Flex, {\n padding: '0 $200',\n color: '$text-neutrals',\n})\n","import React from 'react'\nimport { useDateFormatter } from 'react-aria'\nimport type { AriaButtonProps } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\nimport { IconChevronLeft, IconChevronRight } from '@mirohq/design-system-icons'\nimport type { DateDuration } from '@internationalized/date'\n\nimport { Button } from './button'\nimport { StyledHeader, StyledHeaderTitle } from './header.styled'\n\ninterface IHeader {\n state: RangeCalendarState | CalendarState\n prevButtonProps: AriaButtonProps<'button'>\n nextButtonProps: AriaButtonProps<'button'>\n visibleMonths?: DateDuration\n}\n\nexport const Header: React.FC<IHeader> = ({\n state,\n prevButtonProps,\n nextButtonProps,\n visibleMonths,\n}) => {\n const monthDateFormatter = useDateFormatter({\n month: 'long',\n year: 'numeric',\n timeZone: state.timeZone,\n })\n\n return (\n <StyledHeader>\n <Button {...prevButtonProps}>\n <IconChevronLeft />\n </Button>\n <StyledHeaderTitle>\n <h2>\n {monthDateFormatter.format(\n state.visibleRange.start.toDate(state.timeZone)\n )}\n </h2>\n </StyledHeaderTitle>\n {visibleMonths !== undefined && (\n <StyledHeaderTitle>\n <h2>\n {monthDateFormatter.format(\n state.visibleRange.start.add({ months: 1 }).toDate(state.timeZone)\n )}\n </h2>\n </StyledHeaderTitle>\n )}\n <Button {...nextButtonProps}>\n <IconChevronRight />\n </Button>\n </StyledHeader>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledCellContent = styled(Primitive.div, {\n square: '28px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '$50',\n color: '$text-neutrals',\n\n '&[data-today]': {\n color: '$text-primary',\n },\n\n '&[data-weekend]': {\n color: '$text-neutrals-subtle',\n },\n\n '&[data-selected-middle]': {\n color: '$text-neutrals',\n },\n\n '&[data-selection]': {\n borderRadius: '$50',\n background: '$background-primary-prominent-selected',\n color: '$text-primary-inverted',\n fontWeight: '600',\n },\n\n '&[data-disabled]': {\n textDecoration: 'line-through',\n color: '$text-neutrals-disabled',\n },\n})\n\nexport const StyledCell = styled(Primitive.div, {\n square: '36px',\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n\n '&:hover': {\n background: '$background-primary-subtle-hover',\n\n [`& ${StyledCellContent}`]: {\n background: '$background-primary-prominent-hover',\n color: '$text-primary-inverted',\n },\n },\n\n '&[data-selected]': {\n background: '$background-primary-subtle-hover',\n },\n\n '&[data-selection-start]': {\n borderBottomLeftRadius: '$lg',\n borderTopLeftRadius: '$lg',\n },\n\n '&[data-selection-end]': {\n borderBottomRightRadius: '$lg',\n borderTopRightRadius: '$lg',\n },\n\n '&[data-hidden]': {\n display: 'none',\n },\n\n '&[data-disabled]': {\n cursor: 'not-allowed',\n\n '&:hover': {\n background: 'transparent',\n\n [`& ${StyledCellContent}`]: {\n background: 'transparent',\n color: '$text-neutrals-disabled',\n },\n },\n },\n})\n\nexport type StyledCellProps = ComponentPropsWithRef<typeof StyledCell>\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport {\n useCalendarCell,\n useLocale,\n useFocusRing,\n mergeProps,\n} from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport {\n isSameDay,\n getDayOfWeek,\n isSameMonth,\n isToday,\n getLocalTimeZone,\n isWeekend,\n} from '@internationalized/date'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport type { StyledCellProps } from './cell.styled'\nimport { StyledCell, StyledCellContent } from './cell.styled'\n\nexport interface CellProps extends StyledCellProps {\n state: RangeCalendarState | CalendarState\n date: CalendarDate\n currentMonth: CalendarDate\n}\n\nexport const Cell = React.forwardRef<ElementRef<typeof StyledCell>, CellProps>(\n (props, forwardRef) => {\n const { state, date, currentMonth } = props\n const ref = useRef(null)\n const { cellProps, buttonProps, isSelected, isDisabled, formattedDate } =\n useCalendarCell({ date }, state, ref)\n\n const isOutsideMonth = !isSameMonth(currentMonth, date)\n\n // The start and end date of the selected range will have\n // an emphasized appearance.\n const isSelectionStart =\n (state as RangeCalendarState).highlightedRange !== undefined &&\n (state as RangeCalendarState).highlightedRange !== null\n ? isSameDay(date, (state as RangeCalendarState).highlightedRange.start)\n : isSelected\n const isSelectionEnd =\n (state as RangeCalendarState).highlightedRange !== undefined &&\n (state as RangeCalendarState).highlightedRange !== null\n ? isSameDay(date, (state as RangeCalendarState).highlightedRange.end)\n : isSelected\n\n // We add rounded corners on the left for the first day of the month,\n // the first day of each week, and the start date of the selection.\n // We add rounded corners on the right for the last day of the month,\n // the last day of each week, and the end date of the selection.\n const { locale } = useLocale()\n const dayOfWeek = getDayOfWeek(date, locale)\n const isWeekendDay = isWeekend(date, locale)\n const isRoundedLeft =\n isSelected && (isSelectionStart || dayOfWeek === 0 || date.day === 1)\n const isRoundedRight =\n isSelected &&\n (isSelectionEnd ||\n dayOfWeek === 6 ||\n date.day === date.calendar.getDaysInMonth(date))\n\n const { focusProps } = useFocusRing()\n\n return (\n <td {...cellProps}>\n <StyledCell\n {...mergeProps(buttonProps, focusProps)}\n ref={forwardRef}\n data-selected={isSelected ? '' : undefined}\n data-selection-start={isRoundedLeft ? '' : undefined}\n data-selection-end={isRoundedRight ? '' : undefined}\n data-disabled={isDisabled ? '' : undefined}\n data-hidden={isOutsideMonth ? '' : undefined}\n >\n <StyledCellContent\n data-selected-middle={\n isSelected && !(isSelectionStart || isSelectionEnd)\n ? ''\n : undefined\n }\n data-selection={isSelectionStart || isSelectionEnd ? '' : undefined}\n data-disabled={isDisabled ? '' : undefined}\n data-today={isToday(date, getLocalTimeZone()) ? '' : undefined}\n data-weekend={isWeekendDay ? '' : undefined}\n >\n {formattedDate}\n </StyledCellContent>\n </StyledCell>\n </td>\n )\n }\n)\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledGrid = styled(Primitive.table, {\n borderCollapse: 'separate',\n borderSpacing: ' 0 $50',\n})\n\nexport const StyledDays = styled(Primitive.th, {\n square: '36px',\n color: '$text-neutrals',\n})\n\nexport type StyledGridProps = ComponentPropsWithRef<typeof StyledGrid>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { getWeeksInMonth } from '@internationalized/date'\nimport type { AriaCalendarGridProps, DateRange } from 'react-aria'\nimport { useLocale, useCalendarGrid } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport { Cell } from './cell'\nimport type { StyledGridProps } from './grid.styled'\nimport { StyledDays, StyledGrid } from './grid.styled'\n\nexport interface GridProps extends Omit<StyledGridProps, 'onChange'> {\n state: RangeCalendarState | CalendarState\n offset?: DateDuration\n onChange?: (value: DateRange) => void\n}\n\nexport const Grid = React.forwardRef<ElementRef<typeof StyledGrid>, GridProps>(\n (props, forwardRef) => {\n const { locale } = useLocale()\n const { state, offset = {} } = props\n const startDate: CalendarDate = state.visibleRange.start.add(offset)\n const { gridProps, headerProps, weekDays } = useCalendarGrid(\n props as AriaCalendarGridProps,\n state\n )\n\n // Get the number of weeks in the month so we can render the proper number of rows.\n const weeksInMonth = getWeeksInMonth(startDate, locale)\n\n return (\n <StyledGrid ref={forwardRef} {...gridProps} cellPadding='0'>\n <thead {...headerProps}>\n <tr>\n {weekDays.map((day, i) => (\n <StyledDays key={i}>\n <div>{day}</div>\n </StyledDays>\n ))}\n </tr>\n </thead>\n <tbody>\n {Array.from(Array(weeksInMonth).keys()).map(weekIndex => (\n <tr key={weekIndex}>\n {state\n .getDatesInWeek(weekIndex, startDate)\n .map((date: CalendarDate | null, i: number) =>\n date !== null ? (\n <Cell\n key={i}\n state={state}\n date={date}\n currentMonth={startDate}\n />\n ) : (\n <td key={i} />\n )\n )}\n </tr>\n ))}\n </tbody>\n </StyledGrid>\n )\n }\n)\n","import type { ElementRef } from 'react'\nimport React, { useCallback, useRef } from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport { useDateRangePicker, useLocale, useRangeCalendar } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport type { DateRangePickerStateOptions } from 'react-stately'\nimport { useDateRangePickerState, useRangeCalendarState } from 'react-stately'\nimport { Flex } from '@mirohq/design-system-flex'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport { Button } from '@mirohq/design-system-button'\n\nimport { TextField } from '../partials/text-field'\nimport { FieldButton } from '../partials/button'\nimport { Popover } from '../partials/popover'\nimport {\n StyledRangePicker,\n StyledRangePickerInput,\n StyledRangePickerInputContent,\n} from './range-picker.styled'\nimport type { PredefinedRange } from '../partials/predefined-ranges'\nimport { PredefinedRanges } from '../partials/predefined-ranges'\nimport * as bodyStyled from '../partials/body.styled'\nimport { Header } from '../partials/header'\nimport { Grid } from '../partials/grid'\nimport type { CalendarProps } from '../calendar'\n\nexport interface RangePickerProps\n extends Omit<CalendarProps, 'picker' | 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: DateRange\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateRange) => void\n}\nexport const RangePicker = React.forwardRef<\n ElementRef<typeof StyledRangePicker>,\n RangePickerProps\n>((props, forwardRef) => {\n const {\n predefinedRanges,\n minDate,\n maxDate,\n visibleMonths,\n clearString,\n children,\n defaultOpen,\n onClear,\n } = props\n const state = useDateRangePickerState(\n props as DateRangePickerStateOptions<DateValue>\n )\n const ref = useRef(null)\n const { locale } = useLocale()\n\n const { groupProps, startFieldProps, endFieldProps, buttonProps } =\n useDateRangePicker(\n {\n ...(props as DateRangePickerStateOptions<DateValue>),\n isOpen: defaultOpen,\n },\n state,\n ref\n )\n\n const change = (value: DateRange): void => {\n state.setValue(value)\n state.close()\n }\n\n const rangeState = useRangeCalendarState({\n ...props,\n visibleDuration: visibleMonths,\n minValue: minDate,\n maxValue: maxDate,\n autoFocus: true,\n onFocusChange: focus,\n onChange: change,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useRangeCalendar(\n props,\n rangeState,\n ref\n )\n\n const rangeClick = useCallback(\n (selectedRange: PredefinedRange) => {\n if (selectedRange.range !== undefined) {\n state.setValue(selectedRange.range)\n rangeState.setValue(selectedRange.range)\n }\n },\n [rangeState, state]\n )\n\n const clear = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue({ start: null, end: null })\n if (onClear !== undefined) {\n onClear()\n state.close()\n }\n }\n\n const refs = mergeRefs([ref, forwardRef])\n\n return (\n <StyledRangePicker ref={refs}>\n {children === undefined && (\n <StyledRangePickerInput {...groupProps} ref={ref}>\n <StyledRangePickerInputContent>\n <TextField {...startFieldProps} />\n <span aria-hidden='true'>–</span>\n <TextField {...endFieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledRangePickerInputContent>\n </StyledRangePickerInput>\n )}\n {children !== null && (\n <div {...groupProps} ref={ref}>\n <FieldButton {...buttonProps} customButton>\n {children}\n </FieldButton>\n </div>\n )}\n {state.isOpen && (\n <Popover triggerRef={ref} state={state} placement='bottom start'>\n <bodyStyled.StyledBody ref={refs}>\n <bodyStyled.StyledBodyContent>\n {predefinedRanges !== undefined && (\n <PredefinedRanges\n range={predefinedRanges}\n onClick={rangeClick}\n />\n )}\n\n <Flex direction='column' {...calendarProps}>\n <Header\n state={rangeState}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n visibleMonths={visibleMonths}\n />\n <bodyStyled.StyledGridContent>\n <bodyStyled.StyledBodyContentLeft>\n <Grid state={rangeState} />\n </bodyStyled.StyledBodyContentLeft>\n {visibleMonths !== undefined && (\n <bodyStyled.StyledBodyContentRight>\n <Grid\n onChange={change}\n state={rangeState}\n offset={{ months: 1 }}\n />\n </bodyStyled.StyledBodyContentRight>\n )}\n </bodyStyled.StyledGridContent>\n\n {onClear !== undefined && (\n <bodyStyled.StyledClearContent>\n <Button\n size='medium'\n type='button'\n onClick={clear}\n disabled={rangeState.value === null}\n >\n {clearString}\n </Button>\n </bodyStyled.StyledClearContent>\n )}\n </Flex>\n </bodyStyled.StyledBodyContent>\n </bodyStyled.StyledBody>\n </Popover>\n )}\n </StyledRangePicker>\n )\n})\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledRangePickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n padding: '$100',\n paddingLeft: '$150',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledRangePickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n})\n\nexport const StyledDatePicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport type StyledDatePickerProps = ComponentPropsWithRef<\n typeof StyledDatePicker\n>\n","import type { ElementRef } from 'react'\nimport React, { useCallback, useRef } from 'react'\nimport { useCalendarState } from 'react-stately'\nimport type { AriaCalendarProps, CalendarProps, DateValue } from 'react-aria'\nimport { useCalendar, useLocale } from 'react-aria'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { createCalendar } from '@internationalized/date'\nimport { Button } from '@mirohq/design-system-button'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport { Grid } from '../partials/grid'\nimport { Header } from '../partials/header'\nimport type { StyledBodyProps } from '../partials/body.styled'\nimport {\n StyledBody,\n StyledBodyContent,\n StyledBodyContentLeft,\n StyledBodyContentRight,\n StyledClearContent,\n StyledGridContent,\n} from '../partials/body.styled'\nimport type { PredefinedRange } from '../partials/predefined-ranges'\nimport { PredefinedRanges } from '../partials/predefined-ranges'\n\nexport interface DatePickerBodyProps\n extends Omit<StyledBodyProps, 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: CalendarDate\n\n /**\n * Set of predefined ranges\n */\n predefinedRanges?: PredefinedRange[]\n\n /**\n * By default it shows only one calendar, show more calendars\n */\n visibleMonths?: DateDuration\n\n /**\n * Minimum allowed date to select from\n */\n minDate?: DateValue\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: DateValue\n\n /**\n * Clear button string\n */\n clearString?: string\n\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: CalendarDate) => void\n}\n\nexport const DatePickerBody = React.forwardRef<\n ElementRef<typeof StyledBody>,\n DatePickerBodyProps\n>((props, forwardRef) => {\n const {\n predefinedRanges,\n visibleMonths,\n onClear,\n minDate,\n maxDate,\n clearString,\n } = props\n const { locale } = useLocale()\n const state = useCalendarState({\n ...(props as CalendarProps<DateValue>),\n visibleDuration: visibleMonths,\n minValue: minDate,\n maxValue: maxDate,\n locale,\n createCalendar,\n })\n\n const ref = useRef(null)\n const { calendarProps, prevButtonProps, nextButtonProps } = useCalendar(\n props as AriaCalendarProps<DateValue>,\n state\n )\n\n const dateClick = useCallback(\n (selectedRange: PredefinedRange) => {\n if (selectedRange.date !== undefined) state.setValue(selectedRange.date)\n },\n [state]\n )\n\n const refs = mergeRefs([ref, forwardRef])\n\n return (\n <StyledBody ref={refs}>\n <StyledBodyContent {...calendarProps}>\n {predefinedRanges !== undefined && (\n <PredefinedRanges range={predefinedRanges} onClick={dateClick} />\n )}\n <Flex direction='column'>\n <Header\n state={state}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n visibleMonths={visibleMonths}\n />\n <StyledGridContent>\n <StyledBodyContentLeft>\n <Grid state={state} />\n </StyledBodyContentLeft>\n {visibleMonths !== undefined && (\n <StyledBodyContentRight>\n <Grid state={state} offset={{ months: 1 }} />\n </StyledBodyContentRight>\n )}\n </StyledGridContent>\n {onClear !== undefined && (\n <StyledClearContent>\n <Button\n size='medium'\n onClick={onClear}\n disabled={state.value === null}\n >\n {clearString}\n </Button>\n </StyledClearContent>\n )}\n </Flex>\n </StyledBodyContent>\n </StyledBody>\n )\n})\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport { useDatePickerState } from 'react-stately'\nimport type { AriaDatePickerProps, DateValue } from 'react-aria'\nimport { useDatePicker } from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { Flex } from '@mirohq/design-system-flex'\nimport { mergeRefs } from '@mirohq/design-system-utils'\n\nimport { FieldButton } from '../partials/button'\nimport { TextField } from '../partials/text-field'\nimport { Popover } from '../partials/popover'\nimport {\n StyledDatePicker,\n StyledRangePickerInput,\n StyledRangePickerInputContent,\n} from './date-picker.styled'\nimport type { CalendarProps as ICalendarProps } from '../calendar'\nimport { DatePickerBody } from './date-picker-body'\n\nexport interface DatePickerProps\n extends Omit<ICalendarProps, 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: CalendarDate\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateValue) => void\n}\n\nexport const DatePicker = React.forwardRef<\n ElementRef<typeof StyledDatePicker>,\n DatePickerProps\n>((props, forwardRef) => {\n const {\n picker,\n predefinedRanges,\n visibleMonths,\n defaultValue,\n minDate,\n maxDate,\n children,\n clearString,\n defaultOpen,\n onClear,\n } = props\n\n const ref = useRef(null)\n\n const refs = mergeRefs([ref, forwardRef])\n\n const state = useDatePickerState(props as AriaDatePickerProps<CalendarDate>)\n const { groupProps, fieldProps, buttonProps, calendarProps } = useDatePicker(\n { ...(props as AriaDatePickerProps<CalendarDate>), isOpen: defaultOpen },\n state,\n ref\n )\n\n const clearState = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue(null)\n if (onClear !== undefined) {\n onClear()\n }\n }\n\n return (\n <>\n {picker === 'single' ? (\n <StyledDatePicker ref={refs}>\n {children === undefined && (\n <StyledRangePickerInput {...groupProps} ref={ref}>\n <StyledRangePickerInputContent>\n <TextField {...fieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledRangePickerInputContent>\n </StyledRangePickerInput>\n )}\n {children !== undefined && (\n <div {...groupProps} ref={ref}>\n <FieldButton {...buttonProps} customButton>\n {children}\n </FieldButton>\n </div>\n )}\n {state.isOpen && (\n <Popover triggerRef={ref} state={state} placement='bottom start'>\n <DatePickerBody\n {...calendarProps}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={clearState}\n minDate={minDate}\n maxDate={maxDate}\n clearString={clearString}\n />\n </Popover>\n )}\n </StyledDatePicker>\n ) : (\n <DatePickerBody\n {...calendarProps}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={onClear !== undefined ? clearState : undefined}\n minDate={minDate}\n maxDate={maxDate}\n clearString={onClear !== undefined ? clearString : undefined}\n />\n )}\n </>\n )\n})\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef, ElementRef } from 'react'\nimport React from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\n\nimport { RangePicker } from './partials/range-picker'\nimport { DatePicker } from './partials/date-picker'\nimport type { PredefinedRange } from './partials/predefined-ranges'\n\nexport const StyledCalendar = styled(Primitive.div, {})\nexport type StyledCalendarProps = ComponentPropsWithRef<typeof StyledCalendar>\n\nexport interface CalendarProps\n extends Omit<StyledCalendarProps, 'defaultValue' | 'onChange'> {\n /**\n * Type of calendar\n */\n picker: 'single' | 'range' | undefined\n\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: DateRange | CalendarDate\n\n /**\n * Set of predefined ranges\n */\n predefinedRanges?: PredefinedRange[]\n\n /**\n * By default it shows only one calendar, show more calendars\n */\n visibleMonths?: DateDuration\n\n /**\n * Minimum allowed date to select from\n */\n minDate?: CalendarDate\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: CalendarDate\n\n /**\n * Custom input element\n */\n children?: JSX.Element\n\n /**\n * Clear button string\n */\n clearString?: string\n\n /**\n * Calendar open by default\n */\n defaultOpen?: boolean\n\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateRange | DateValue) => void\n}\n\nexport const Calendar = React.forwardRef<\n ElementRef<typeof StyledCalendar>,\n CalendarProps\n>(({ picker, defaultValue, ...props }, forwardRef) => (\n <StyledCalendar ref={forwardRef}>\n {picker === 'range' ? (\n <RangePicker defaultValue={defaultValue as DateRange} {...props} />\n ) : (\n <DatePicker\n defaultValue={defaultValue as CalendarDate}\n {...props}\n picker={picker}\n />\n )}\n </StyledCalendar>\n))\n"],"names":["styled","Primitive","React","useRef","useDateSegment","useLocale","useDateFieldState","createCalendar","useDateField","Flex","useButton","useFocusRing","mergeRefs","mergeProps","useDialog","usePopover","Overlay","DismissButton","StyledRangePickerInput","StyledRangePickerInputContent","useDateFormatter","IconChevronLeft","IconChevronRight","date","useCalendarCell","isSameMonth","isSameDay","getDayOfWeek","isWeekend","isToday","getLocalTimeZone","useCalendarGrid","getWeeksInMonth","useDateRangePickerState","useDateRangePicker","useRangeCalendarState","useRangeCalendar","useCallback","IconCalendarBlank","bodyStyled.StyledBody","bodyStyled.StyledBodyContent","bodyStyled.StyledGridContent","bodyStyled.StyledBodyContentLeft","bodyStyled.StyledBodyContentRight","bodyStyled.StyledClearContent","Button","useCalendarState","useCalendar","useDatePickerState","useDatePicker"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sources":["../src/partials/text-field.styled.tsx","../src/partials/text-field.tsx","../src/partials/button.styled.tsx","../src/partials/button.tsx","../src/partials/popover.tsx","../src/partials/range-picker.styled.tsx","../src/partials/predefined-ranges.styled.tsx","../src/partials/predefined-ranges.tsx","../src/partials/body.styled.tsx","../src/partials/header.styled.tsx","../src/partials/header.tsx","../src/partials/cell.styled.tsx","../src/partials/cell.tsx","../src/partials/grid.styled.tsx","../src/partials/grid.tsx","../src/partials/range-picker.tsx","../src/partials/date-picker.styled.tsx","../src/partials/date-picker-body.tsx","../src/partials/date-picker.tsx","../src/calendar.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledDataSegment = styled(Primitive.div, {\n color: '$text-neutrals-subtle',\n\n '&[data-value]': {\n color: '$text-neutrals',\n },\n\n '& span': {\n pointerEvents: 'none',\n\n '&[data-placeholder]': {\n display: 'none',\n height: '0',\n color: '$text-neutrals-subtle',\n },\n },\n})\nexport type StyledDateSegmentProps = ComponentPropsWithRef<\n typeof StyledDataSegment\n>\n","import React, { useRef } from 'react'\nimport type { ElementRef } from 'react'\nimport type { DateFieldState, DateSegment } from 'react-stately'\nimport { useDateFieldState } from 'react-stately'\nimport type { AriaDatePickerProps, DateValue } from 'react-aria'\nimport { useDateField, useDateSegment, useLocale } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport type { StyledDateSegmentProps } from './text-field.styled'\nimport { StyledDataSegment } from './text-field.styled'\n\nexport interface DataSegmentProps extends StyledDateSegmentProps {\n segment: DateSegment\n state: DateFieldState\n}\n\nconst FieldDateSegment = React.forwardRef<\n ElementRef<typeof StyledDataSegment>,\n DataSegmentProps\n>(({ segment, state }) => {\n const ref = useRef(null)\n const { segmentProps } = useDateSegment(segment, state, ref)\n\n return (\n <StyledDataSegment\n {...segmentProps}\n ref={ref}\n data-value={state.value !== null ? '' : undefined}\n >\n {/* Always reserve space for the placeholder, to prevent layout shift when editing. */}\n <span\n aria-hidden='true'\n data-placeholder={!segment.isPlaceholder ? '' : undefined}\n >\n {segment.placeholder}\n </span>\n {segment.isPlaceholder ? '' : segment.text}\n </StyledDataSegment>\n )\n})\n\nexport const TextField: React.FC<AriaDatePickerProps<DateValue>> = props => {\n const ref = useRef(null)\n const { locale } = useLocale()\n const state = useDateFieldState({\n ...props,\n isReadOnly: true,\n locale,\n createCalendar,\n })\n\n const { fieldProps } = useDateField(props, state, ref)\n\n return (\n <Flex {...fieldProps} ref={ref}>\n {state.segments.map((segment, i) => (\n <FieldDateSegment key={i} segment={segment} state={state} />\n ))}\n </Flex>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledButton = styled(Primitive.button, {\n padding: '0',\n background: 'transparent',\n border: 'none',\n cursor: 'pointer',\n color: '$text-neutrals',\n\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n})\n\nexport type StyledButtonProps = ComponentPropsWithRef<typeof StyledButton>\n\nexport const StyledFieldButton = styled(Primitive.button, {\n padding: '0',\n background: 'transparent',\n border: 'none',\n cursor: 'pointer',\n square: '28px',\n\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n\n '& svg': {\n color: '$text-neutrals-subtle',\n square: '22px',\n },\n\n '&[data-custom]': {\n width: '100%',\n height: 'unset',\n },\n})\n","import type { ElementRef, RefObject } from 'react'\nimport React, { useRef } from 'react'\nimport type { AriaButtonProps } from 'react-aria'\nimport { useButton, useFocusRing, mergeProps } from 'react-aria'\n\nimport { StyledButton, StyledFieldButton } from './button.styled'\n\ninterface ButtonProps extends AriaButtonProps<'button'> {\n customButton?: boolean\n}\n\nexport const Button = React.forwardRef<\n ElementRef<typeof StyledButton>,\n AriaButtonProps<'button'>\n>((props, forwardRef) => {\n const { buttonProps } = useButton(props, forwardRef as RefObject<Element>)\n const { focusProps } = useFocusRing()\n const { children } = props\n return (\n <StyledButton {...mergeProps(buttonProps, focusProps)} ref={forwardRef}>\n {children}\n </StyledButton>\n )\n})\n\nexport const FieldButton: React.FC<ButtonProps> = props => {\n const ref = useRef(null)\n const { buttonProps } = useButton(props, ref)\n const { customButton = false, children } = props\n return (\n <StyledFieldButton\n data-custom={customButton ? '' : undefined}\n {...buttonProps}\n ref={ref}\n >\n {children}\n </StyledFieldButton>\n )\n}\n","/* eslint-disable react/jsx-handler-names */\nimport * as React from 'react'\nimport type { Placement, AriaDialogProps } from 'react-aria'\nimport { usePopover, DismissButton, Overlay, useDialog } from 'react-aria'\nimport type { DatePickerState, DateRangePickerState } from 'react-stately'\n\nexport const Popover: React.FC<{\n state: DateRangePickerState | DatePickerState\n triggerRef: React.RefObject<Element>\n placement: Placement\n children: JSX.Element\n}> = props => {\n const ref = React.useRef(null)\n const { state, children } = props\n const { dialogProps } = useDialog(props as AriaDialogProps, ref)\n\n const { popoverProps, underlayProps } = usePopover(\n {\n ...props,\n popoverRef: ref,\n },\n state\n )\n\n return (\n <Overlay>\n <div {...underlayProps} />\n <div {...popoverProps} ref={ref}>\n <DismissButton onDismiss={state.close} />\n <div {...dialogProps} ref={ref}>\n {children}\n </div>\n <DismissButton onDismiss={state.close} />\n </div>\n </Overlay>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledRangePicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport const StyledRangePickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n padding: '$100',\n paddingLeft: '$150',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledRangePickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n})\n\nexport type StyledRangePickerProps = ComponentPropsWithRef<\n typeof StyledRangePicker\n>\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledPredefinedRanges = styled(Primitive.div, {\n display: 'flex',\n flexDirection: 'column',\n borderRight: '1px solid $border-neutrals',\n padding: '$300 $200 0 $200',\n\n '& button': {\n background: 'transparent',\n border: 'none',\n fontSize: '$200',\n padding: '0 0 0 $100',\n textAlign: 'left',\n lineHeight: '24px',\n color: '$text-neutrals',\n marginBottom: '$150',\n borderRadius: '$50',\n minWidth: '125px',\n cursor: 'pointer',\n\n '&:hover': {\n backgroundColor: '$background-primary-prominent-hover',\n color: '$text-primary-inverted',\n fontWeight: '600',\n },\n },\n})\n\nexport type StyledPredefinedRangesProps = ComponentPropsWithRef<\n typeof StyledPredefinedRanges\n>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate } from '@internationalized/date'\nimport type { DateRange } from 'react-aria'\n\nimport { StyledPredefinedRanges } from './predefined-ranges.styled'\n\nexport interface PredefinedRange {\n id: string\n label: string\n date?: CalendarDate\n range?: DateRange\n}\n\nexport interface PredefinedRangesProps {\n range: PredefinedRange[]\n onClick: (range: PredefinedRange) => void\n}\n\nexport const PredefinedRanges = React.forwardRef<\n ElementRef<typeof StyledPredefinedRanges>,\n PredefinedRangesProps\n>(({ range, onClick }, forwardRef) => (\n <StyledPredefinedRanges ref={forwardRef}>\n {range?.map((date, i) => (\n <button key={i} type='button' onClick={() => onClick(date)}>\n {date.label}\n </button>\n ))}\n </StyledPredefinedRanges>\n))\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\n\nexport const StyledBody = styled(Primitive.div, {\n display: 'inline-block',\n background: '$background-neutrals',\n})\n\nexport const StyledBodyContent = styled(Flex, {\n margin: '0 auto',\n boxShadow: '$100',\n background: '$background-neutrals',\n borderRadius: '$100',\n})\n\nexport const StyledGridContent = styled(Flex, {\n paddingBottom: '$200',\n\n '& [data-left-calendar]': {\n paddingLeft: '$200',\n paddingRight: '$100',\n },\n\n '& [data-right-calendar]': {\n paddingLeft: '$100',\n paddingRight: '$200',\n },\n})\n\nexport const StyledBodyContentLeft = styled(Primitive.div, {\n paddingLeft: '$200',\n paddingRight: '$100',\n})\n\nexport const StyledBodyContentRight = styled(Primitive.div, {\n paddingLeft: '$100',\n paddingRight: '$200',\n})\n\nexport const StyledClearContent = styled(Primitive.div, {\n padding: '$200',\n borderTop: '1px solid $border-neutrals',\n})\n\nexport type StyledBodyProps = ComponentPropsWithRef<typeof StyledBody>\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\n\nexport const StyledHeaderTitle = styled(Flex, {\n justifyContent: 'center',\n flex: '3',\n color: '$text-neutrals',\n})\n\nexport const StyledHeader = styled(Flex, {\n padding: '0 $200',\n color: '$text-neutrals',\n})\n","import React from 'react'\nimport { useDateFormatter } from 'react-aria'\nimport type { AriaButtonProps } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\nimport { IconChevronLeft, IconChevronRight } from '@mirohq/design-system-icons'\nimport type { DateDuration } from '@internationalized/date'\n\nimport { Button } from './button'\nimport { StyledHeader, StyledHeaderTitle } from './header.styled'\n\ninterface IHeader {\n state: RangeCalendarState | CalendarState\n prevButtonProps: AriaButtonProps<'button'>\n nextButtonProps: AriaButtonProps<'button'>\n visibleMonths?: DateDuration\n}\n\nexport const Header: React.FC<IHeader> = ({\n state,\n prevButtonProps,\n nextButtonProps,\n visibleMonths,\n}) => {\n const monthDateFormatter = useDateFormatter({\n month: 'long',\n year: 'numeric',\n timeZone: state.timeZone,\n })\n\n return (\n <StyledHeader>\n <Button {...prevButtonProps}>\n <IconChevronLeft />\n </Button>\n <StyledHeaderTitle>\n <h2>\n {monthDateFormatter.format(\n state.visibleRange.start.toDate(state.timeZone)\n )}\n </h2>\n </StyledHeaderTitle>\n {visibleMonths !== undefined && (\n <StyledHeaderTitle>\n <h2>\n {monthDateFormatter.format(\n state.visibleRange.start.add({ months: 1 }).toDate(state.timeZone)\n )}\n </h2>\n </StyledHeaderTitle>\n )}\n <Button {...nextButtonProps}>\n <IconChevronRight />\n </Button>\n </StyledHeader>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledCellContent = styled(Primitive.div, {\n square: '28px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '$50',\n color: '$text-neutrals',\n\n '&[data-today]': {\n color: '$text-primary',\n },\n\n '&[data-weekend]': {\n color: '$text-neutrals-subtle',\n },\n\n '&[data-selected-middle]': {\n color: '$text-neutrals',\n },\n\n '&[data-selection]': {\n borderRadius: '$50',\n background: '$background-primary-prominent-selected',\n color: '$text-primary-inverted',\n fontWeight: '600',\n },\n\n '&[data-disabled]': {\n textDecoration: 'line-through',\n color: '$text-neutrals-disabled',\n },\n})\n\nexport const StyledCell = styled(Primitive.div, {\n square: '36px',\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n\n '&:hover': {\n background: '$background-primary-subtle-hover',\n\n [`& ${StyledCellContent}`]: {\n background: '$background-primary-prominent-hover',\n color: '$text-primary-inverted',\n },\n },\n\n '&[data-selected]': {\n background: '$background-primary-subtle-hover',\n },\n\n '&[data-selection-start]': {\n borderBottomLeftRadius: '$lg',\n borderTopLeftRadius: '$lg',\n },\n\n '&[data-selection-end]': {\n borderBottomRightRadius: '$lg',\n borderTopRightRadius: '$lg',\n },\n\n '&[data-hidden]': {\n display: 'none',\n },\n\n '&[data-disabled]': {\n cursor: 'not-allowed',\n\n '&:hover': {\n background: 'transparent',\n\n [`& ${StyledCellContent}`]: {\n background: 'transparent',\n color: '$text-neutrals-disabled',\n },\n },\n },\n})\n\nexport type StyledCellProps = ComponentPropsWithRef<typeof StyledCell>\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport {\n useCalendarCell,\n useLocale,\n useFocusRing,\n mergeProps,\n} from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport {\n isSameDay,\n getDayOfWeek,\n isSameMonth,\n isToday,\n getLocalTimeZone,\n isWeekend,\n} from '@internationalized/date'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport type { StyledCellProps } from './cell.styled'\nimport { StyledCell, StyledCellContent } from './cell.styled'\n\nexport interface CellProps extends StyledCellProps {\n state: RangeCalendarState | CalendarState\n date: CalendarDate\n currentMonth: CalendarDate\n}\n\nexport const Cell = React.forwardRef<ElementRef<typeof StyledCell>, CellProps>(\n (props, forwardRef) => {\n const { state, date, currentMonth } = props\n const ref = useRef(null)\n const { cellProps, buttonProps, isSelected, isDisabled, formattedDate } =\n useCalendarCell({ date }, state, ref)\n\n const isOutsideMonth = !isSameMonth(currentMonth, date)\n\n // The start and end date of the selected range will have\n // an emphasized appearance.\n const isSelectionStart =\n (state as RangeCalendarState).highlightedRange !== undefined &&\n (state as RangeCalendarState).highlightedRange !== null\n ? isSameDay(date, (state as RangeCalendarState).highlightedRange.start)\n : isSelected\n const isSelectionEnd =\n (state as RangeCalendarState).highlightedRange !== undefined &&\n (state as RangeCalendarState).highlightedRange !== null\n ? isSameDay(date, (state as RangeCalendarState).highlightedRange.end)\n : isSelected\n\n // We add rounded corners on the left for the first day of the month,\n // the first day of each week, and the start date of the selection.\n // We add rounded corners on the right for the last day of the month,\n // the last day of each week, and the end date of the selection.\n const { locale } = useLocale()\n const dayOfWeek = getDayOfWeek(date, locale)\n const isWeekendDay = isWeekend(date, locale)\n const isRoundedLeft =\n isSelected && (isSelectionStart || dayOfWeek === 0 || date.day === 1)\n const isRoundedRight =\n isSelected &&\n (isSelectionEnd ||\n dayOfWeek === 6 ||\n date.day === date.calendar.getDaysInMonth(date))\n\n const { focusProps } = useFocusRing()\n\n return (\n <td {...cellProps}>\n <StyledCell\n {...mergeProps(buttonProps, focusProps)}\n ref={forwardRef}\n data-selected={isSelected ? '' : undefined}\n data-selection-start={isRoundedLeft ? '' : undefined}\n data-selection-end={isRoundedRight ? '' : undefined}\n data-disabled={isDisabled ? '' : undefined}\n data-hidden={isOutsideMonth ? '' : undefined}\n >\n <StyledCellContent\n data-selected-middle={\n isSelected && !(isSelectionStart || isSelectionEnd)\n ? ''\n : undefined\n }\n data-selection={isSelectionStart || isSelectionEnd ? '' : undefined}\n data-disabled={isDisabled ? '' : undefined}\n data-today={isToday(date, getLocalTimeZone()) ? '' : undefined}\n data-weekend={isWeekendDay ? '' : undefined}\n >\n {formattedDate}\n </StyledCellContent>\n </StyledCell>\n </td>\n )\n }\n)\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledGrid = styled(Primitive.table, {\n borderCollapse: 'separate',\n borderSpacing: ' 0 $50',\n})\n\nexport const StyledDays = styled(Primitive.th, {\n square: '36px',\n color: '$text-neutrals',\n})\n\nexport type StyledGridProps = ComponentPropsWithRef<typeof StyledGrid>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { getWeeksInMonth } from '@internationalized/date'\nimport type { AriaCalendarGridProps, DateRange } from 'react-aria'\nimport { useLocale, useCalendarGrid } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport { Cell } from './cell'\nimport type { StyledGridProps } from './grid.styled'\nimport { StyledDays, StyledGrid } from './grid.styled'\n\nexport interface GridProps extends Omit<StyledGridProps, 'onChange'> {\n state: RangeCalendarState | CalendarState\n offset?: DateDuration\n onChange?: (value: DateRange) => void\n}\n\nexport const Grid = React.forwardRef<ElementRef<typeof StyledGrid>, GridProps>(\n (props, forwardRef) => {\n const { locale } = useLocale()\n const { state, offset = {} } = props\n const startDate: CalendarDate = state.visibleRange.start.add(offset)\n const { gridProps, headerProps, weekDays } = useCalendarGrid(\n props as AriaCalendarGridProps,\n state\n )\n\n // Get the number of weeks in the month so we can render the proper number of rows.\n const weeksInMonth = getWeeksInMonth(startDate, locale)\n\n return (\n <StyledGrid ref={forwardRef} {...gridProps} cellPadding='0'>\n <thead {...headerProps}>\n <tr>\n {weekDays.map((day, i) => (\n <StyledDays key={i}>\n <div>{day}</div>\n </StyledDays>\n ))}\n </tr>\n </thead>\n <tbody>\n {Array.from(Array(weeksInMonth).keys()).map(weekIndex => (\n <tr key={weekIndex}>\n {state\n .getDatesInWeek(weekIndex, startDate)\n .map((date: CalendarDate | null, i: number) =>\n date !== null ? (\n <Cell\n key={i}\n state={state}\n date={date}\n currentMonth={startDate}\n />\n ) : (\n <td key={i} />\n )\n )}\n </tr>\n ))}\n </tbody>\n </StyledGrid>\n )\n }\n)\n","import type { ElementRef } from 'react'\nimport React, { useCallback, useRef } from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport { useDateRangePicker, useLocale, useRangeCalendar } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport type { DateRangePickerStateOptions } from 'react-stately'\nimport { useDateRangePickerState, useRangeCalendarState } from 'react-stately'\nimport { Flex } from '@mirohq/design-system-flex'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { Button } from '@mirohq/design-system-button'\n\nimport { TextField } from '../partials/text-field'\nimport { FieldButton } from '../partials/button'\nimport { Popover } from '../partials/popover'\nimport {\n StyledRangePicker,\n StyledRangePickerInput,\n StyledRangePickerInputContent,\n} from './range-picker.styled'\nimport type { PredefinedRange } from '../partials/predefined-ranges'\nimport { PredefinedRanges } from '../partials/predefined-ranges'\nimport * as bodyStyled from '../partials/body.styled'\nimport { Header } from '../partials/header'\nimport { Grid } from '../partials/grid'\nimport type { CalendarProps } from '../calendar'\n\nexport interface RangePickerProps\n extends Omit<CalendarProps, 'picker' | 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: DateRange\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateRange) => void\n}\nexport const RangePicker = React.forwardRef<\n ElementRef<typeof StyledRangePicker>,\n RangePickerProps\n>((props, forwardRef) => {\n const {\n predefinedRanges,\n minDate,\n maxDate,\n visibleMonths,\n clearString,\n children,\n defaultOpen,\n onClear,\n } = props\n const state = useDateRangePickerState(\n props as DateRangePickerStateOptions<DateValue>\n )\n const ref = useRef(null)\n const { locale } = useLocale()\n\n const { groupProps, startFieldProps, endFieldProps, buttonProps } =\n useDateRangePicker(\n {\n ...(props as DateRangePickerStateOptions<DateValue>),\n isOpen: defaultOpen,\n },\n state,\n ref\n )\n\n const change = (value: DateRange): void => {\n state.setValue(value)\n state.close()\n }\n\n const rangeState = useRangeCalendarState({\n ...props,\n visibleDuration: visibleMonths,\n minValue: minDate,\n maxValue: maxDate,\n autoFocus: true,\n onFocusChange: focus,\n onChange: change,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useRangeCalendar(\n props,\n rangeState,\n ref\n )\n\n const rangeClick = useCallback(\n (selectedRange: PredefinedRange) => {\n if (selectedRange.range !== undefined) {\n state.setValue(selectedRange.range)\n rangeState.setValue(selectedRange.range)\n }\n },\n [rangeState, state]\n )\n\n const clear = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue({ start: null, end: null })\n if (onClear !== undefined) {\n onClear()\n state.close()\n }\n }\n\n return (\n <StyledRangePicker ref={forwardRef}>\n {children === undefined && (\n <StyledRangePickerInput {...groupProps} ref={ref}>\n <StyledRangePickerInputContent>\n <TextField {...startFieldProps} />\n <span aria-hidden='true'>–</span>\n <TextField {...endFieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledRangePickerInputContent>\n </StyledRangePickerInput>\n )}\n {children !== null && (\n <div {...groupProps} ref={ref}>\n <FieldButton {...buttonProps} customButton>\n {children}\n </FieldButton>\n </div>\n )}\n {state.isOpen && (\n <Popover triggerRef={ref} state={state} placement='bottom start'>\n <bodyStyled.StyledBody ref={forwardRef}>\n <bodyStyled.StyledBodyContent>\n {predefinedRanges !== undefined && (\n <PredefinedRanges\n range={predefinedRanges}\n onClick={rangeClick}\n />\n )}\n\n <Flex direction='column' {...calendarProps}>\n <Header\n state={rangeState}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n visibleMonths={visibleMonths}\n />\n <bodyStyled.StyledGridContent>\n <bodyStyled.StyledBodyContentLeft>\n <Grid state={rangeState} />\n </bodyStyled.StyledBodyContentLeft>\n {visibleMonths !== undefined && (\n <bodyStyled.StyledBodyContentRight>\n <Grid\n onChange={change}\n state={rangeState}\n offset={{ months: 1 }}\n />\n </bodyStyled.StyledBodyContentRight>\n )}\n </bodyStyled.StyledGridContent>\n\n {onClear !== undefined && (\n <bodyStyled.StyledClearContent>\n <Button\n size='medium'\n type='button'\n onClick={clear}\n disabled={rangeState.value === null}\n >\n {clearString}\n </Button>\n </bodyStyled.StyledClearContent>\n )}\n </Flex>\n </bodyStyled.StyledBodyContent>\n </bodyStyled.StyledBody>\n </Popover>\n )}\n </StyledRangePicker>\n )\n})\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledRangePickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n padding: '$100',\n paddingLeft: '$150',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledRangePickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n})\n\nexport const StyledDatePicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport type StyledDatePickerProps = ComponentPropsWithRef<\n typeof StyledDatePicker\n>\n","import type { ElementRef } from 'react'\nimport React, { useCallback } from 'react'\nimport { useCalendarState } from 'react-stately'\nimport type { AriaCalendarProps, CalendarProps, DateValue } from 'react-aria'\nimport { useCalendar, useLocale } from 'react-aria'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { createCalendar } from '@internationalized/date'\nimport { Button } from '@mirohq/design-system-button'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport { Grid } from '../partials/grid'\nimport { Header } from '../partials/header'\nimport type { StyledBodyProps } from '../partials/body.styled'\nimport {\n StyledBody,\n StyledBodyContent,\n StyledBodyContentLeft,\n StyledBodyContentRight,\n StyledClearContent,\n StyledGridContent,\n} from '../partials/body.styled'\nimport type { PredefinedRange } from '../partials/predefined-ranges'\nimport { PredefinedRanges } from '../partials/predefined-ranges'\n\nexport interface DatePickerBodyProps\n extends Omit<StyledBodyProps, 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: CalendarDate\n\n /**\n * Set of predefined ranges\n */\n predefinedRanges?: PredefinedRange[]\n\n /**\n * By default it shows only one calendar, show more calendars\n */\n visibleMonths?: DateDuration\n\n /**\n * Minimum allowed date to select from\n */\n minDate?: DateValue\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: DateValue\n\n /**\n * Clear button string\n */\n clearString?: string\n\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: CalendarDate) => void\n}\n\nexport const DatePickerBody = React.forwardRef<\n ElementRef<typeof StyledBody>,\n DatePickerBodyProps\n>((props, forwardRef) => {\n const {\n predefinedRanges,\n visibleMonths,\n onClear,\n minDate,\n maxDate,\n clearString,\n } = props\n const { locale } = useLocale()\n const state = useCalendarState({\n ...(props as CalendarProps<DateValue>),\n visibleDuration: visibleMonths,\n minValue: minDate,\n maxValue: maxDate,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useCalendar(\n props as AriaCalendarProps<DateValue>,\n state\n )\n\n const dateClick = useCallback(\n (selectedRange: PredefinedRange) => {\n if (selectedRange.date !== undefined) state.setValue(selectedRange.date)\n },\n [state]\n )\n\n return (\n <StyledBody ref={forwardRef}>\n <StyledBodyContent {...calendarProps}>\n {predefinedRanges !== undefined && (\n <PredefinedRanges range={predefinedRanges} onClick={dateClick} />\n )}\n <Flex direction='column'>\n <Header\n state={state}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n visibleMonths={visibleMonths}\n />\n <StyledGridContent>\n <StyledBodyContentLeft>\n <Grid state={state} />\n </StyledBodyContentLeft>\n {visibleMonths !== undefined && (\n <StyledBodyContentRight>\n <Grid state={state} offset={{ months: 1 }} />\n </StyledBodyContentRight>\n )}\n </StyledGridContent>\n {onClear !== undefined && (\n <StyledClearContent>\n <Button\n size='medium'\n onClick={onClear}\n disabled={state.value === null}\n >\n {clearString}\n </Button>\n </StyledClearContent>\n )}\n </Flex>\n </StyledBodyContent>\n </StyledBody>\n )\n})\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport { useDatePickerState } from 'react-stately'\nimport type { AriaDatePickerProps, DateValue } from 'react-aria'\nimport { useDatePicker } from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport { FieldButton } from '../partials/button'\nimport { TextField } from '../partials/text-field'\nimport { Popover } from '../partials/popover'\nimport {\n StyledDatePicker,\n StyledRangePickerInput,\n StyledRangePickerInputContent,\n} from './date-picker.styled'\nimport type { CalendarProps as ICalendarProps } from '../calendar'\nimport { DatePickerBody } from './date-picker-body'\n\nexport interface DatePickerProps\n extends Omit<ICalendarProps, 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: CalendarDate\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateValue) => void\n}\n\nexport const DatePicker = React.forwardRef<\n ElementRef<typeof StyledDatePicker>,\n DatePickerProps\n>((props, forwardRef) => {\n const {\n picker,\n predefinedRanges,\n visibleMonths,\n defaultValue,\n minDate,\n maxDate,\n children,\n clearString,\n defaultOpen,\n onClear,\n } = props\n\n const ref = useRef(null)\n\n const state = useDatePickerState(props as AriaDatePickerProps<CalendarDate>)\n const { groupProps, fieldProps, buttonProps, calendarProps } = useDatePicker(\n { ...(props as AriaDatePickerProps<CalendarDate>), isOpen: defaultOpen },\n state,\n ref\n )\n\n const clearState = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue(null)\n if (onClear !== undefined) {\n onClear()\n }\n }\n\n return (\n <>\n {picker === 'single' ? (\n <StyledDatePicker ref={forwardRef}>\n {children === undefined && (\n <StyledRangePickerInput {...groupProps} ref={ref}>\n <StyledRangePickerInputContent>\n <TextField {...fieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledRangePickerInputContent>\n </StyledRangePickerInput>\n )}\n {children !== undefined && (\n <div {...groupProps} ref={ref}>\n <FieldButton {...buttonProps} customButton>\n {children}\n </FieldButton>\n </div>\n )}\n {state.isOpen && (\n <Popover triggerRef={ref} state={state} placement='bottom start'>\n <DatePickerBody\n {...calendarProps}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={clearState}\n minDate={minDate}\n maxDate={maxDate}\n clearString={clearString}\n />\n </Popover>\n )}\n </StyledDatePicker>\n ) : (\n <DatePickerBody\n {...calendarProps}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={onClear !== undefined ? clearState : undefined}\n minDate={minDate}\n maxDate={maxDate}\n clearString={onClear !== undefined ? clearString : undefined}\n />\n )}\n </>\n )\n})\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef, ElementRef } from 'react'\nimport React from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\n\nimport { RangePicker } from './partials/range-picker'\nimport { DatePicker } from './partials/date-picker'\nimport type { PredefinedRange } from './partials/predefined-ranges'\n\nexport const StyledCalendar = styled(Primitive.div, {})\nexport type StyledCalendarProps = ComponentPropsWithRef<typeof StyledCalendar>\n\nexport interface CalendarProps\n extends Omit<StyledCalendarProps, 'defaultValue' | 'onChange'> {\n /**\n * Type of calendar\n */\n picker: 'single' | 'range' | undefined\n\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: DateRange | CalendarDate\n\n /**\n * Set of predefined ranges\n */\n predefinedRanges?: PredefinedRange[]\n\n /**\n * By default it shows only one calendar, show more calendars\n */\n visibleMonths?: DateDuration\n\n /**\n * Minimum allowed date to select from\n */\n minDate?: CalendarDate\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: CalendarDate\n\n /**\n * Custom input element\n */\n children?: JSX.Element\n\n /**\n * Clear button string\n */\n clearString?: string\n\n /**\n * Calendar open by default\n */\n defaultOpen?: boolean\n\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateRange | DateValue) => void\n}\n\nexport const Calendar = React.forwardRef<\n ElementRef<typeof StyledCalendar>,\n CalendarProps\n>(({ picker, defaultValue, ...props }, forwardRef) => (\n <StyledCalendar ref={forwardRef}>\n {picker === 'range' ? (\n <RangePicker defaultValue={defaultValue as DateRange} {...props} />\n ) : (\n <DatePicker\n defaultValue={defaultValue as CalendarDate}\n {...props}\n picker={picker}\n />\n )}\n </StyledCalendar>\n))\n"],"names":["styled","Primitive","React","useRef","useDateSegment","useLocale","useDateFieldState","createCalendar","useDateField","Flex","useButton","useFocusRing","mergeProps","useDialog","usePopover","Overlay","DismissButton","StyledRangePickerInput","StyledRangePickerInputContent","useDateFormatter","IconChevronLeft","IconChevronRight","date","useCalendarCell","isSameMonth","isSameDay","getDayOfWeek","isWeekend","isToday","getLocalTimeZone","useCalendarGrid","getWeeksInMonth","useDateRangePickerState","useDateRangePicker","useRangeCalendarState","useRangeCalendar","useCallback","IconCalendarBlank","bodyStyled.StyledBody","bodyStyled.StyledBodyContent","bodyStyled.StyledGridContent","bodyStyled.StyledBodyContentLeft","bodyStyled.StyledBodyContentRight","bodyStyled.StyledClearContent","Button","useCalendarState","useCalendar","useDatePickerState","useDatePicker"],"mappings":"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"}
|
package/dist/module.js
CHANGED
|
@@ -7,7 +7,6 @@ import { createCalendar, isSameMonth, isSameDay, getDayOfWeek, isWeekend, isToda
|
|
|
7
7
|
import { useDateFieldState, useDateRangePickerState, useRangeCalendarState, useCalendarState, useDatePickerState } from 'react-stately';
|
|
8
8
|
import { Flex } from '@mirohq/design-system-flex';
|
|
9
9
|
import { IconChevronLeft, IconChevronRight, IconCalendarBlank } from '@mirohq/design-system-icons';
|
|
10
|
-
import { mergeRefs } from '@mirohq/design-system-utils';
|
|
11
10
|
import { Button as Button$1 } from '@mirohq/design-system-button';
|
|
12
11
|
|
|
13
12
|
const StyledDataSegment = styled(Primitive.div, {
|
|
@@ -87,14 +86,12 @@ const StyledFieldButton = styled(Primitive.button, {
|
|
|
87
86
|
});
|
|
88
87
|
|
|
89
88
|
const Button = React__default.forwardRef((props, forwardRef) => {
|
|
90
|
-
const
|
|
91
|
-
const { buttonProps } = useButton(props, ref);
|
|
89
|
+
const { buttonProps } = useButton(props, forwardRef);
|
|
92
90
|
const { focusProps } = useFocusRing();
|
|
93
91
|
const { children } = props;
|
|
94
|
-
const refs = mergeRefs([ref, forwardRef]);
|
|
95
92
|
return /* @__PURE__ */ React__default.createElement(StyledButton, {
|
|
96
93
|
...mergeProps(buttonProps, focusProps),
|
|
97
|
-
ref:
|
|
94
|
+
ref: forwardRef
|
|
98
95
|
}, children);
|
|
99
96
|
});
|
|
100
97
|
const FieldButton = (props) => {
|
|
@@ -461,9 +458,8 @@ const RangePicker = React__default.forwardRef((props, forwardRef) => {
|
|
|
461
458
|
state.close();
|
|
462
459
|
}
|
|
463
460
|
};
|
|
464
|
-
const refs = mergeRefs([ref, forwardRef]);
|
|
465
461
|
return /* @__PURE__ */ React__default.createElement(StyledRangePicker, {
|
|
466
|
-
ref:
|
|
462
|
+
ref: forwardRef
|
|
467
463
|
}, children === void 0 && /* @__PURE__ */ React__default.createElement(StyledRangePickerInput$1, {
|
|
468
464
|
...groupProps,
|
|
469
465
|
ref
|
|
@@ -488,7 +484,7 @@ const RangePicker = React__default.forwardRef((props, forwardRef) => {
|
|
|
488
484
|
state,
|
|
489
485
|
placement: "bottom start"
|
|
490
486
|
}, /* @__PURE__ */ React__default.createElement(StyledBody, {
|
|
491
|
-
ref:
|
|
487
|
+
ref: forwardRef
|
|
492
488
|
}, /* @__PURE__ */ React__default.createElement(StyledBodyContent, null, predefinedRanges !== void 0 && /* @__PURE__ */ React__default.createElement(PredefinedRanges, {
|
|
493
489
|
range: predefinedRanges,
|
|
494
490
|
onClick: rangeClick
|
|
@@ -558,7 +554,6 @@ const DatePickerBody = React__default.forwardRef((props, forwardRef) => {
|
|
|
558
554
|
locale,
|
|
559
555
|
createCalendar
|
|
560
556
|
});
|
|
561
|
-
const ref = useRef(null);
|
|
562
557
|
const { calendarProps, prevButtonProps, nextButtonProps } = useCalendar(
|
|
563
558
|
props,
|
|
564
559
|
state
|
|
@@ -570,9 +565,8 @@ const DatePickerBody = React__default.forwardRef((props, forwardRef) => {
|
|
|
570
565
|
},
|
|
571
566
|
[state]
|
|
572
567
|
);
|
|
573
|
-
const refs = mergeRefs([ref, forwardRef]);
|
|
574
568
|
return /* @__PURE__ */ React__default.createElement(StyledBody, {
|
|
575
|
-
ref:
|
|
569
|
+
ref: forwardRef
|
|
576
570
|
}, /* @__PURE__ */ React__default.createElement(StyledBodyContent, {
|
|
577
571
|
...calendarProps
|
|
578
572
|
}, predefinedRanges !== void 0 && /* @__PURE__ */ React__default.createElement(PredefinedRanges, {
|
|
@@ -611,7 +605,6 @@ const DatePicker = React__default.forwardRef((props, forwardRef) => {
|
|
|
611
605
|
onClear
|
|
612
606
|
} = props;
|
|
613
607
|
const ref = useRef(null);
|
|
614
|
-
const refs = mergeRefs([ref, forwardRef]);
|
|
615
608
|
const state = useDatePickerState(props);
|
|
616
609
|
const { groupProps, fieldProps, buttonProps, calendarProps } = useDatePicker(
|
|
617
610
|
{ ...props, isOpen: defaultOpen },
|
|
@@ -625,7 +618,7 @@ const DatePicker = React__default.forwardRef((props, forwardRef) => {
|
|
|
625
618
|
}
|
|
626
619
|
};
|
|
627
620
|
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, picker === "single" ? /* @__PURE__ */ React__default.createElement(StyledDatePicker, {
|
|
628
|
-
ref:
|
|
621
|
+
ref: forwardRef
|
|
629
622
|
}, children === void 0 && /* @__PURE__ */ React__default.createElement(StyledRangePickerInput, {
|
|
630
623
|
...groupProps,
|
|
631
624
|
ref
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sources":["../src/partials/text-field.styled.tsx","../src/partials/text-field.tsx","../src/partials/button.styled.tsx","../src/partials/button.tsx","../src/partials/popover.tsx","../src/partials/range-picker.styled.tsx","../src/partials/predefined-ranges.styled.tsx","../src/partials/predefined-ranges.tsx","../src/partials/body.styled.tsx","../src/partials/header.styled.tsx","../src/partials/header.tsx","../src/partials/cell.styled.tsx","../src/partials/cell.tsx","../src/partials/grid.styled.tsx","../src/partials/grid.tsx","../src/partials/range-picker.tsx","../src/partials/date-picker.styled.tsx","../src/partials/date-picker-body.tsx","../src/partials/date-picker.tsx","../src/calendar.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledDataSegment = styled(Primitive.div, {\n color: '$text-neutrals-subtle',\n\n '&[data-value]': {\n color: '$text-neutrals',\n },\n\n '& span': {\n pointerEvents: 'none',\n\n '&[data-placeholder]': {\n display: 'none',\n height: '0',\n color: '$text-neutrals-subtle',\n },\n },\n})\nexport type StyledDateSegmentProps = ComponentPropsWithRef<\n typeof StyledDataSegment\n>\n","import React, { useRef } from 'react'\nimport type { ElementRef } from 'react'\nimport type { DateFieldState, DateSegment } from 'react-stately'\nimport { useDateFieldState } from 'react-stately'\nimport type { AriaDatePickerProps, DateValue } from 'react-aria'\nimport { useDateField, useDateSegment, useLocale } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport type { StyledDateSegmentProps } from './text-field.styled'\nimport { StyledDataSegment } from './text-field.styled'\n\nexport interface DataSegmentProps extends StyledDateSegmentProps {\n segment: DateSegment\n state: DateFieldState\n}\n\nconst FieldDateSegment = React.forwardRef<\n ElementRef<typeof StyledDataSegment>,\n DataSegmentProps\n>(({ segment, state }) => {\n const ref = useRef(null)\n const { segmentProps } = useDateSegment(segment, state, ref)\n\n return (\n <StyledDataSegment\n {...segmentProps}\n ref={ref}\n data-value={state.value !== null ? '' : undefined}\n >\n {/* Always reserve space for the placeholder, to prevent layout shift when editing. */}\n <span\n aria-hidden='true'\n data-placeholder={!segment.isPlaceholder ? '' : undefined}\n >\n {segment.placeholder}\n </span>\n {segment.isPlaceholder ? '' : segment.text}\n </StyledDataSegment>\n )\n})\n\nexport const TextField: React.FC<AriaDatePickerProps<DateValue>> = props => {\n const ref = useRef(null)\n const { locale } = useLocale()\n const state = useDateFieldState({\n ...props,\n isReadOnly: true,\n locale,\n createCalendar,\n })\n\n const { fieldProps } = useDateField(props, state, ref)\n\n return (\n <Flex {...fieldProps} ref={ref}>\n {state.segments.map((segment, i) => (\n <FieldDateSegment key={i} segment={segment} state={state} />\n ))}\n </Flex>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledButton = styled(Primitive.button, {\n padding: '0',\n background: 'transparent',\n border: 'none',\n cursor: 'pointer',\n color: '$text-neutrals',\n\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n})\n\nexport type StyledButtonProps = ComponentPropsWithRef<typeof StyledButton>\n\nexport const StyledFieldButton = styled(Primitive.button, {\n padding: '0',\n background: 'transparent',\n border: 'none',\n cursor: 'pointer',\n square: '28px',\n\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n\n '& svg': {\n color: '$text-neutrals-subtle',\n square: '22px',\n },\n\n '&[data-custom]': {\n width: '100%',\n height: 'unset',\n },\n})\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport type { AriaButtonProps } from 'react-aria'\nimport { useButton, useFocusRing, mergeProps } from 'react-aria'\nimport { mergeRefs } from '@mirohq/design-system-utils'\n\nimport { StyledButton, StyledFieldButton } from './button.styled'\n\ninterface ButtonProps extends AriaButtonProps<'button'> {\n customButton?: boolean\n}\n\nexport const Button = React.forwardRef<\n ElementRef<typeof StyledButton>,\n AriaButtonProps<'button'>\n>((props, forwardRef) => {\n const ref = useRef(null)\n const { buttonProps } = useButton(props, ref)\n const { focusProps } = useFocusRing()\n const { children } = props\n const refs = mergeRefs([ref, forwardRef])\n return (\n <StyledButton {...mergeProps(buttonProps, focusProps)} ref={refs}>\n {children}\n </StyledButton>\n )\n})\n\nexport const FieldButton: React.FC<ButtonProps> = props => {\n const ref = useRef(null)\n const { buttonProps } = useButton(props, ref)\n const { customButton = false, children } = props\n return (\n <StyledFieldButton\n data-custom={customButton ? '' : undefined}\n {...buttonProps}\n ref={ref}\n >\n {children}\n </StyledFieldButton>\n )\n}\n","/* eslint-disable react/jsx-handler-names */\nimport * as React from 'react'\nimport type { Placement, AriaDialogProps } from 'react-aria'\nimport { usePopover, DismissButton, Overlay, useDialog } from 'react-aria'\nimport type { DatePickerState, DateRangePickerState } from 'react-stately'\n\nexport const Popover: React.FC<{\n state: DateRangePickerState | DatePickerState\n triggerRef: React.RefObject<Element>\n placement: Placement\n children: JSX.Element\n}> = props => {\n const ref = React.useRef(null)\n const { state, children } = props\n const { dialogProps } = useDialog(props as AriaDialogProps, ref)\n\n const { popoverProps, underlayProps } = usePopover(\n {\n ...props,\n popoverRef: ref,\n },\n state\n )\n\n return (\n <Overlay>\n <div {...underlayProps} />\n <div {...popoverProps} ref={ref}>\n <DismissButton onDismiss={state.close} />\n <div {...dialogProps} ref={ref}>\n {children}\n </div>\n <DismissButton onDismiss={state.close} />\n </div>\n </Overlay>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledRangePicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport const StyledRangePickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n padding: '$100',\n paddingLeft: '$150',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledRangePickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n})\n\nexport type StyledRangePickerProps = ComponentPropsWithRef<\n typeof StyledRangePicker\n>\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledPredefinedRanges = styled(Primitive.div, {\n display: 'flex',\n flexDirection: 'column',\n borderRight: '1px solid $border-neutrals',\n padding: '$300 $200 0 $200',\n\n '& button': {\n background: 'transparent',\n border: 'none',\n fontSize: '$200',\n padding: '0 0 0 $100',\n textAlign: 'left',\n lineHeight: '24px',\n color: '$text-neutrals',\n marginBottom: '$150',\n borderRadius: '$50',\n minWidth: '125px',\n cursor: 'pointer',\n\n '&:hover': {\n backgroundColor: '$background-primary-prominent-hover',\n color: '$text-primary-inverted',\n fontWeight: '600',\n },\n },\n})\n\nexport type StyledPredefinedRangesProps = ComponentPropsWithRef<\n typeof StyledPredefinedRanges\n>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate } from '@internationalized/date'\nimport type { DateRange } from 'react-aria'\n\nimport { StyledPredefinedRanges } from './predefined-ranges.styled'\n\nexport interface PredefinedRange {\n id: string\n label: string\n date?: CalendarDate\n range?: DateRange\n}\n\nexport interface PredefinedRangesProps {\n range: PredefinedRange[]\n onClick: (range: PredefinedRange) => void\n}\n\nexport const PredefinedRanges = React.forwardRef<\n ElementRef<typeof StyledPredefinedRanges>,\n PredefinedRangesProps\n>(({ range, onClick }, forwardRef) => (\n <StyledPredefinedRanges ref={forwardRef}>\n {range?.map((date, i) => (\n <button key={i} type='button' onClick={() => onClick(date)}>\n {date.label}\n </button>\n ))}\n </StyledPredefinedRanges>\n))\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\n\nexport const StyledBody = styled(Primitive.div, {\n display: 'inline-block',\n background: '$background-neutrals',\n})\n\nexport const StyledBodyContent = styled(Flex, {\n margin: '0 auto',\n boxShadow: '$100',\n background: '$background-neutrals',\n borderRadius: '$100',\n})\n\nexport const StyledGridContent = styled(Flex, {\n paddingBottom: '$200',\n\n '& [data-left-calendar]': {\n paddingLeft: '$200',\n paddingRight: '$100',\n },\n\n '& [data-right-calendar]': {\n paddingLeft: '$100',\n paddingRight: '$200',\n },\n})\n\nexport const StyledBodyContentLeft = styled(Primitive.div, {\n paddingLeft: '$200',\n paddingRight: '$100',\n})\n\nexport const StyledBodyContentRight = styled(Primitive.div, {\n paddingLeft: '$100',\n paddingRight: '$200',\n})\n\nexport const StyledClearContent = styled(Primitive.div, {\n padding: '$200',\n borderTop: '1px solid $border-neutrals',\n})\n\nexport type StyledBodyProps = ComponentPropsWithRef<typeof StyledBody>\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\n\nexport const StyledHeaderTitle = styled(Flex, {\n justifyContent: 'center',\n flex: '3',\n color: '$text-neutrals',\n})\n\nexport const StyledHeader = styled(Flex, {\n padding: '0 $200',\n color: '$text-neutrals',\n})\n","import React from 'react'\nimport { useDateFormatter } from 'react-aria'\nimport type { AriaButtonProps } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\nimport { IconChevronLeft, IconChevronRight } from '@mirohq/design-system-icons'\nimport type { DateDuration } from '@internationalized/date'\n\nimport { Button } from './button'\nimport { StyledHeader, StyledHeaderTitle } from './header.styled'\n\ninterface IHeader {\n state: RangeCalendarState | CalendarState\n prevButtonProps: AriaButtonProps<'button'>\n nextButtonProps: AriaButtonProps<'button'>\n visibleMonths?: DateDuration\n}\n\nexport const Header: React.FC<IHeader> = ({\n state,\n prevButtonProps,\n nextButtonProps,\n visibleMonths,\n}) => {\n const monthDateFormatter = useDateFormatter({\n month: 'long',\n year: 'numeric',\n timeZone: state.timeZone,\n })\n\n return (\n <StyledHeader>\n <Button {...prevButtonProps}>\n <IconChevronLeft />\n </Button>\n <StyledHeaderTitle>\n <h2>\n {monthDateFormatter.format(\n state.visibleRange.start.toDate(state.timeZone)\n )}\n </h2>\n </StyledHeaderTitle>\n {visibleMonths !== undefined && (\n <StyledHeaderTitle>\n <h2>\n {monthDateFormatter.format(\n state.visibleRange.start.add({ months: 1 }).toDate(state.timeZone)\n )}\n </h2>\n </StyledHeaderTitle>\n )}\n <Button {...nextButtonProps}>\n <IconChevronRight />\n </Button>\n </StyledHeader>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledCellContent = styled(Primitive.div, {\n square: '28px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '$50',\n color: '$text-neutrals',\n\n '&[data-today]': {\n color: '$text-primary',\n },\n\n '&[data-weekend]': {\n color: '$text-neutrals-subtle',\n },\n\n '&[data-selected-middle]': {\n color: '$text-neutrals',\n },\n\n '&[data-selection]': {\n borderRadius: '$50',\n background: '$background-primary-prominent-selected',\n color: '$text-primary-inverted',\n fontWeight: '600',\n },\n\n '&[data-disabled]': {\n textDecoration: 'line-through',\n color: '$text-neutrals-disabled',\n },\n})\n\nexport const StyledCell = styled(Primitive.div, {\n square: '36px',\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n\n '&:hover': {\n background: '$background-primary-subtle-hover',\n\n [`& ${StyledCellContent}`]: {\n background: '$background-primary-prominent-hover',\n color: '$text-primary-inverted',\n },\n },\n\n '&[data-selected]': {\n background: '$background-primary-subtle-hover',\n },\n\n '&[data-selection-start]': {\n borderBottomLeftRadius: '$lg',\n borderTopLeftRadius: '$lg',\n },\n\n '&[data-selection-end]': {\n borderBottomRightRadius: '$lg',\n borderTopRightRadius: '$lg',\n },\n\n '&[data-hidden]': {\n display: 'none',\n },\n\n '&[data-disabled]': {\n cursor: 'not-allowed',\n\n '&:hover': {\n background: 'transparent',\n\n [`& ${StyledCellContent}`]: {\n background: 'transparent',\n color: '$text-neutrals-disabled',\n },\n },\n },\n})\n\nexport type StyledCellProps = ComponentPropsWithRef<typeof StyledCell>\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport {\n useCalendarCell,\n useLocale,\n useFocusRing,\n mergeProps,\n} from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport {\n isSameDay,\n getDayOfWeek,\n isSameMonth,\n isToday,\n getLocalTimeZone,\n isWeekend,\n} from '@internationalized/date'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport type { StyledCellProps } from './cell.styled'\nimport { StyledCell, StyledCellContent } from './cell.styled'\n\nexport interface CellProps extends StyledCellProps {\n state: RangeCalendarState | CalendarState\n date: CalendarDate\n currentMonth: CalendarDate\n}\n\nexport const Cell = React.forwardRef<ElementRef<typeof StyledCell>, CellProps>(\n (props, forwardRef) => {\n const { state, date, currentMonth } = props\n const ref = useRef(null)\n const { cellProps, buttonProps, isSelected, isDisabled, formattedDate } =\n useCalendarCell({ date }, state, ref)\n\n const isOutsideMonth = !isSameMonth(currentMonth, date)\n\n // The start and end date of the selected range will have\n // an emphasized appearance.\n const isSelectionStart =\n (state as RangeCalendarState).highlightedRange !== undefined &&\n (state as RangeCalendarState).highlightedRange !== null\n ? isSameDay(date, (state as RangeCalendarState).highlightedRange.start)\n : isSelected\n const isSelectionEnd =\n (state as RangeCalendarState).highlightedRange !== undefined &&\n (state as RangeCalendarState).highlightedRange !== null\n ? isSameDay(date, (state as RangeCalendarState).highlightedRange.end)\n : isSelected\n\n // We add rounded corners on the left for the first day of the month,\n // the first day of each week, and the start date of the selection.\n // We add rounded corners on the right for the last day of the month,\n // the last day of each week, and the end date of the selection.\n const { locale } = useLocale()\n const dayOfWeek = getDayOfWeek(date, locale)\n const isWeekendDay = isWeekend(date, locale)\n const isRoundedLeft =\n isSelected && (isSelectionStart || dayOfWeek === 0 || date.day === 1)\n const isRoundedRight =\n isSelected &&\n (isSelectionEnd ||\n dayOfWeek === 6 ||\n date.day === date.calendar.getDaysInMonth(date))\n\n const { focusProps } = useFocusRing()\n\n return (\n <td {...cellProps}>\n <StyledCell\n {...mergeProps(buttonProps, focusProps)}\n ref={forwardRef}\n data-selected={isSelected ? '' : undefined}\n data-selection-start={isRoundedLeft ? '' : undefined}\n data-selection-end={isRoundedRight ? '' : undefined}\n data-disabled={isDisabled ? '' : undefined}\n data-hidden={isOutsideMonth ? '' : undefined}\n >\n <StyledCellContent\n data-selected-middle={\n isSelected && !(isSelectionStart || isSelectionEnd)\n ? ''\n : undefined\n }\n data-selection={isSelectionStart || isSelectionEnd ? '' : undefined}\n data-disabled={isDisabled ? '' : undefined}\n data-today={isToday(date, getLocalTimeZone()) ? '' : undefined}\n data-weekend={isWeekendDay ? '' : undefined}\n >\n {formattedDate}\n </StyledCellContent>\n </StyledCell>\n </td>\n )\n }\n)\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledGrid = styled(Primitive.table, {\n borderCollapse: 'separate',\n borderSpacing: ' 0 $50',\n})\n\nexport const StyledDays = styled(Primitive.th, {\n square: '36px',\n color: '$text-neutrals',\n})\n\nexport type StyledGridProps = ComponentPropsWithRef<typeof StyledGrid>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { getWeeksInMonth } from '@internationalized/date'\nimport type { AriaCalendarGridProps, DateRange } from 'react-aria'\nimport { useLocale, useCalendarGrid } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport { Cell } from './cell'\nimport type { StyledGridProps } from './grid.styled'\nimport { StyledDays, StyledGrid } from './grid.styled'\n\nexport interface GridProps extends Omit<StyledGridProps, 'onChange'> {\n state: RangeCalendarState | CalendarState\n offset?: DateDuration\n onChange?: (value: DateRange) => void\n}\n\nexport const Grid = React.forwardRef<ElementRef<typeof StyledGrid>, GridProps>(\n (props, forwardRef) => {\n const { locale } = useLocale()\n const { state, offset = {} } = props\n const startDate: CalendarDate = state.visibleRange.start.add(offset)\n const { gridProps, headerProps, weekDays } = useCalendarGrid(\n props as AriaCalendarGridProps,\n state\n )\n\n // Get the number of weeks in the month so we can render the proper number of rows.\n const weeksInMonth = getWeeksInMonth(startDate, locale)\n\n return (\n <StyledGrid ref={forwardRef} {...gridProps} cellPadding='0'>\n <thead {...headerProps}>\n <tr>\n {weekDays.map((day, i) => (\n <StyledDays key={i}>\n <div>{day}</div>\n </StyledDays>\n ))}\n </tr>\n </thead>\n <tbody>\n {Array.from(Array(weeksInMonth).keys()).map(weekIndex => (\n <tr key={weekIndex}>\n {state\n .getDatesInWeek(weekIndex, startDate)\n .map((date: CalendarDate | null, i: number) =>\n date !== null ? (\n <Cell\n key={i}\n state={state}\n date={date}\n currentMonth={startDate}\n />\n ) : (\n <td key={i} />\n )\n )}\n </tr>\n ))}\n </tbody>\n </StyledGrid>\n )\n }\n)\n","import type { ElementRef } from 'react'\nimport React, { useCallback, useRef } from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport { useDateRangePicker, useLocale, useRangeCalendar } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport type { DateRangePickerStateOptions } from 'react-stately'\nimport { useDateRangePickerState, useRangeCalendarState } from 'react-stately'\nimport { Flex } from '@mirohq/design-system-flex'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport { Button } from '@mirohq/design-system-button'\n\nimport { TextField } from '../partials/text-field'\nimport { FieldButton } from '../partials/button'\nimport { Popover } from '../partials/popover'\nimport {\n StyledRangePicker,\n StyledRangePickerInput,\n StyledRangePickerInputContent,\n} from './range-picker.styled'\nimport type { PredefinedRange } from '../partials/predefined-ranges'\nimport { PredefinedRanges } from '../partials/predefined-ranges'\nimport * as bodyStyled from '../partials/body.styled'\nimport { Header } from '../partials/header'\nimport { Grid } from '../partials/grid'\nimport type { CalendarProps } from '../calendar'\n\nexport interface RangePickerProps\n extends Omit<CalendarProps, 'picker' | 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: DateRange\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateRange) => void\n}\nexport const RangePicker = React.forwardRef<\n ElementRef<typeof StyledRangePicker>,\n RangePickerProps\n>((props, forwardRef) => {\n const {\n predefinedRanges,\n minDate,\n maxDate,\n visibleMonths,\n clearString,\n children,\n defaultOpen,\n onClear,\n } = props\n const state = useDateRangePickerState(\n props as DateRangePickerStateOptions<DateValue>\n )\n const ref = useRef(null)\n const { locale } = useLocale()\n\n const { groupProps, startFieldProps, endFieldProps, buttonProps } =\n useDateRangePicker(\n {\n ...(props as DateRangePickerStateOptions<DateValue>),\n isOpen: defaultOpen,\n },\n state,\n ref\n )\n\n const change = (value: DateRange): void => {\n state.setValue(value)\n state.close()\n }\n\n const rangeState = useRangeCalendarState({\n ...props,\n visibleDuration: visibleMonths,\n minValue: minDate,\n maxValue: maxDate,\n autoFocus: true,\n onFocusChange: focus,\n onChange: change,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useRangeCalendar(\n props,\n rangeState,\n ref\n )\n\n const rangeClick = useCallback(\n (selectedRange: PredefinedRange) => {\n if (selectedRange.range !== undefined) {\n state.setValue(selectedRange.range)\n rangeState.setValue(selectedRange.range)\n }\n },\n [rangeState, state]\n )\n\n const clear = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue({ start: null, end: null })\n if (onClear !== undefined) {\n onClear()\n state.close()\n }\n }\n\n const refs = mergeRefs([ref, forwardRef])\n\n return (\n <StyledRangePicker ref={refs}>\n {children === undefined && (\n <StyledRangePickerInput {...groupProps} ref={ref}>\n <StyledRangePickerInputContent>\n <TextField {...startFieldProps} />\n <span aria-hidden='true'>–</span>\n <TextField {...endFieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledRangePickerInputContent>\n </StyledRangePickerInput>\n )}\n {children !== null && (\n <div {...groupProps} ref={ref}>\n <FieldButton {...buttonProps} customButton>\n {children}\n </FieldButton>\n </div>\n )}\n {state.isOpen && (\n <Popover triggerRef={ref} state={state} placement='bottom start'>\n <bodyStyled.StyledBody ref={refs}>\n <bodyStyled.StyledBodyContent>\n {predefinedRanges !== undefined && (\n <PredefinedRanges\n range={predefinedRanges}\n onClick={rangeClick}\n />\n )}\n\n <Flex direction='column' {...calendarProps}>\n <Header\n state={rangeState}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n visibleMonths={visibleMonths}\n />\n <bodyStyled.StyledGridContent>\n <bodyStyled.StyledBodyContentLeft>\n <Grid state={rangeState} />\n </bodyStyled.StyledBodyContentLeft>\n {visibleMonths !== undefined && (\n <bodyStyled.StyledBodyContentRight>\n <Grid\n onChange={change}\n state={rangeState}\n offset={{ months: 1 }}\n />\n </bodyStyled.StyledBodyContentRight>\n )}\n </bodyStyled.StyledGridContent>\n\n {onClear !== undefined && (\n <bodyStyled.StyledClearContent>\n <Button\n size='medium'\n type='button'\n onClick={clear}\n disabled={rangeState.value === null}\n >\n {clearString}\n </Button>\n </bodyStyled.StyledClearContent>\n )}\n </Flex>\n </bodyStyled.StyledBodyContent>\n </bodyStyled.StyledBody>\n </Popover>\n )}\n </StyledRangePicker>\n )\n})\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledRangePickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n padding: '$100',\n paddingLeft: '$150',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledRangePickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n})\n\nexport const StyledDatePicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport type StyledDatePickerProps = ComponentPropsWithRef<\n typeof StyledDatePicker\n>\n","import type { ElementRef } from 'react'\nimport React, { useCallback, useRef } from 'react'\nimport { useCalendarState } from 'react-stately'\nimport type { AriaCalendarProps, CalendarProps, DateValue } from 'react-aria'\nimport { useCalendar, useLocale } from 'react-aria'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { createCalendar } from '@internationalized/date'\nimport { Button } from '@mirohq/design-system-button'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport { Grid } from '../partials/grid'\nimport { Header } from '../partials/header'\nimport type { StyledBodyProps } from '../partials/body.styled'\nimport {\n StyledBody,\n StyledBodyContent,\n StyledBodyContentLeft,\n StyledBodyContentRight,\n StyledClearContent,\n StyledGridContent,\n} from '../partials/body.styled'\nimport type { PredefinedRange } from '../partials/predefined-ranges'\nimport { PredefinedRanges } from '../partials/predefined-ranges'\n\nexport interface DatePickerBodyProps\n extends Omit<StyledBodyProps, 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: CalendarDate\n\n /**\n * Set of predefined ranges\n */\n predefinedRanges?: PredefinedRange[]\n\n /**\n * By default it shows only one calendar, show more calendars\n */\n visibleMonths?: DateDuration\n\n /**\n * Minimum allowed date to select from\n */\n minDate?: DateValue\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: DateValue\n\n /**\n * Clear button string\n */\n clearString?: string\n\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: CalendarDate) => void\n}\n\nexport const DatePickerBody = React.forwardRef<\n ElementRef<typeof StyledBody>,\n DatePickerBodyProps\n>((props, forwardRef) => {\n const {\n predefinedRanges,\n visibleMonths,\n onClear,\n minDate,\n maxDate,\n clearString,\n } = props\n const { locale } = useLocale()\n const state = useCalendarState({\n ...(props as CalendarProps<DateValue>),\n visibleDuration: visibleMonths,\n minValue: minDate,\n maxValue: maxDate,\n locale,\n createCalendar,\n })\n\n const ref = useRef(null)\n const { calendarProps, prevButtonProps, nextButtonProps } = useCalendar(\n props as AriaCalendarProps<DateValue>,\n state\n )\n\n const dateClick = useCallback(\n (selectedRange: PredefinedRange) => {\n if (selectedRange.date !== undefined) state.setValue(selectedRange.date)\n },\n [state]\n )\n\n const refs = mergeRefs([ref, forwardRef])\n\n return (\n <StyledBody ref={refs}>\n <StyledBodyContent {...calendarProps}>\n {predefinedRanges !== undefined && (\n <PredefinedRanges range={predefinedRanges} onClick={dateClick} />\n )}\n <Flex direction='column'>\n <Header\n state={state}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n visibleMonths={visibleMonths}\n />\n <StyledGridContent>\n <StyledBodyContentLeft>\n <Grid state={state} />\n </StyledBodyContentLeft>\n {visibleMonths !== undefined && (\n <StyledBodyContentRight>\n <Grid state={state} offset={{ months: 1 }} />\n </StyledBodyContentRight>\n )}\n </StyledGridContent>\n {onClear !== undefined && (\n <StyledClearContent>\n <Button\n size='medium'\n onClick={onClear}\n disabled={state.value === null}\n >\n {clearString}\n </Button>\n </StyledClearContent>\n )}\n </Flex>\n </StyledBodyContent>\n </StyledBody>\n )\n})\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport { useDatePickerState } from 'react-stately'\nimport type { AriaDatePickerProps, DateValue } from 'react-aria'\nimport { useDatePicker } from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { Flex } from '@mirohq/design-system-flex'\nimport { mergeRefs } from '@mirohq/design-system-utils'\n\nimport { FieldButton } from '../partials/button'\nimport { TextField } from '../partials/text-field'\nimport { Popover } from '../partials/popover'\nimport {\n StyledDatePicker,\n StyledRangePickerInput,\n StyledRangePickerInputContent,\n} from './date-picker.styled'\nimport type { CalendarProps as ICalendarProps } from '../calendar'\nimport { DatePickerBody } from './date-picker-body'\n\nexport interface DatePickerProps\n extends Omit<ICalendarProps, 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: CalendarDate\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateValue) => void\n}\n\nexport const DatePicker = React.forwardRef<\n ElementRef<typeof StyledDatePicker>,\n DatePickerProps\n>((props, forwardRef) => {\n const {\n picker,\n predefinedRanges,\n visibleMonths,\n defaultValue,\n minDate,\n maxDate,\n children,\n clearString,\n defaultOpen,\n onClear,\n } = props\n\n const ref = useRef(null)\n\n const refs = mergeRefs([ref, forwardRef])\n\n const state = useDatePickerState(props as AriaDatePickerProps<CalendarDate>)\n const { groupProps, fieldProps, buttonProps, calendarProps } = useDatePicker(\n { ...(props as AriaDatePickerProps<CalendarDate>), isOpen: defaultOpen },\n state,\n ref\n )\n\n const clearState = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue(null)\n if (onClear !== undefined) {\n onClear()\n }\n }\n\n return (\n <>\n {picker === 'single' ? (\n <StyledDatePicker ref={refs}>\n {children === undefined && (\n <StyledRangePickerInput {...groupProps} ref={ref}>\n <StyledRangePickerInputContent>\n <TextField {...fieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledRangePickerInputContent>\n </StyledRangePickerInput>\n )}\n {children !== undefined && (\n <div {...groupProps} ref={ref}>\n <FieldButton {...buttonProps} customButton>\n {children}\n </FieldButton>\n </div>\n )}\n {state.isOpen && (\n <Popover triggerRef={ref} state={state} placement='bottom start'>\n <DatePickerBody\n {...calendarProps}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={clearState}\n minDate={minDate}\n maxDate={maxDate}\n clearString={clearString}\n />\n </Popover>\n )}\n </StyledDatePicker>\n ) : (\n <DatePickerBody\n {...calendarProps}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={onClear !== undefined ? clearState : undefined}\n minDate={minDate}\n maxDate={maxDate}\n clearString={onClear !== undefined ? clearString : undefined}\n />\n )}\n </>\n )\n})\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef, ElementRef } from 'react'\nimport React from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\n\nimport { RangePicker } from './partials/range-picker'\nimport { DatePicker } from './partials/date-picker'\nimport type { PredefinedRange } from './partials/predefined-ranges'\n\nexport const StyledCalendar = styled(Primitive.div, {})\nexport type StyledCalendarProps = ComponentPropsWithRef<typeof StyledCalendar>\n\nexport interface CalendarProps\n extends Omit<StyledCalendarProps, 'defaultValue' | 'onChange'> {\n /**\n * Type of calendar\n */\n picker: 'single' | 'range' | undefined\n\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: DateRange | CalendarDate\n\n /**\n * Set of predefined ranges\n */\n predefinedRanges?: PredefinedRange[]\n\n /**\n * By default it shows only one calendar, show more calendars\n */\n visibleMonths?: DateDuration\n\n /**\n * Minimum allowed date to select from\n */\n minDate?: CalendarDate\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: CalendarDate\n\n /**\n * Custom input element\n */\n children?: JSX.Element\n\n /**\n * Clear button string\n */\n clearString?: string\n\n /**\n * Calendar open by default\n */\n defaultOpen?: boolean\n\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateRange | DateValue) => void\n}\n\nexport const Calendar = React.forwardRef<\n ElementRef<typeof StyledCalendar>,\n CalendarProps\n>(({ picker, defaultValue, ...props }, forwardRef) => (\n <StyledCalendar ref={forwardRef}>\n {picker === 'range' ? (\n <RangePicker defaultValue={defaultValue as DateRange} {...props} />\n ) : (\n <DatePicker\n defaultValue={defaultValue as CalendarDate}\n {...props}\n picker={picker}\n />\n )}\n </StyledCalendar>\n))\n"],"names":["React","StyledRangePickerInput","StyledRangePickerInputContent","bodyStyled.StyledBody","bodyStyled.StyledBodyContent","bodyStyled.StyledGridContent","bodyStyled.StyledBodyContentLeft","bodyStyled.StyledBodyContentRight","bodyStyled.StyledClearContent","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"module.js","sources":["../src/partials/text-field.styled.tsx","../src/partials/text-field.tsx","../src/partials/button.styled.tsx","../src/partials/button.tsx","../src/partials/popover.tsx","../src/partials/range-picker.styled.tsx","../src/partials/predefined-ranges.styled.tsx","../src/partials/predefined-ranges.tsx","../src/partials/body.styled.tsx","../src/partials/header.styled.tsx","../src/partials/header.tsx","../src/partials/cell.styled.tsx","../src/partials/cell.tsx","../src/partials/grid.styled.tsx","../src/partials/grid.tsx","../src/partials/range-picker.tsx","../src/partials/date-picker.styled.tsx","../src/partials/date-picker-body.tsx","../src/partials/date-picker.tsx","../src/calendar.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledDataSegment = styled(Primitive.div, {\n color: '$text-neutrals-subtle',\n\n '&[data-value]': {\n color: '$text-neutrals',\n },\n\n '& span': {\n pointerEvents: 'none',\n\n '&[data-placeholder]': {\n display: 'none',\n height: '0',\n color: '$text-neutrals-subtle',\n },\n },\n})\nexport type StyledDateSegmentProps = ComponentPropsWithRef<\n typeof StyledDataSegment\n>\n","import React, { useRef } from 'react'\nimport type { ElementRef } from 'react'\nimport type { DateFieldState, DateSegment } from 'react-stately'\nimport { useDateFieldState } from 'react-stately'\nimport type { AriaDatePickerProps, DateValue } from 'react-aria'\nimport { useDateField, useDateSegment, useLocale } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport type { StyledDateSegmentProps } from './text-field.styled'\nimport { StyledDataSegment } from './text-field.styled'\n\nexport interface DataSegmentProps extends StyledDateSegmentProps {\n segment: DateSegment\n state: DateFieldState\n}\n\nconst FieldDateSegment = React.forwardRef<\n ElementRef<typeof StyledDataSegment>,\n DataSegmentProps\n>(({ segment, state }) => {\n const ref = useRef(null)\n const { segmentProps } = useDateSegment(segment, state, ref)\n\n return (\n <StyledDataSegment\n {...segmentProps}\n ref={ref}\n data-value={state.value !== null ? '' : undefined}\n >\n {/* Always reserve space for the placeholder, to prevent layout shift when editing. */}\n <span\n aria-hidden='true'\n data-placeholder={!segment.isPlaceholder ? '' : undefined}\n >\n {segment.placeholder}\n </span>\n {segment.isPlaceholder ? '' : segment.text}\n </StyledDataSegment>\n )\n})\n\nexport const TextField: React.FC<AriaDatePickerProps<DateValue>> = props => {\n const ref = useRef(null)\n const { locale } = useLocale()\n const state = useDateFieldState({\n ...props,\n isReadOnly: true,\n locale,\n createCalendar,\n })\n\n const { fieldProps } = useDateField(props, state, ref)\n\n return (\n <Flex {...fieldProps} ref={ref}>\n {state.segments.map((segment, i) => (\n <FieldDateSegment key={i} segment={segment} state={state} />\n ))}\n </Flex>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledButton = styled(Primitive.button, {\n padding: '0',\n background: 'transparent',\n border: 'none',\n cursor: 'pointer',\n color: '$text-neutrals',\n\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n})\n\nexport type StyledButtonProps = ComponentPropsWithRef<typeof StyledButton>\n\nexport const StyledFieldButton = styled(Primitive.button, {\n padding: '0',\n background: 'transparent',\n border: 'none',\n cursor: 'pointer',\n square: '28px',\n\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n\n '& svg': {\n color: '$text-neutrals-subtle',\n square: '22px',\n },\n\n '&[data-custom]': {\n width: '100%',\n height: 'unset',\n },\n})\n","import type { ElementRef, RefObject } from 'react'\nimport React, { useRef } from 'react'\nimport type { AriaButtonProps } from 'react-aria'\nimport { useButton, useFocusRing, mergeProps } from 'react-aria'\n\nimport { StyledButton, StyledFieldButton } from './button.styled'\n\ninterface ButtonProps extends AriaButtonProps<'button'> {\n customButton?: boolean\n}\n\nexport const Button = React.forwardRef<\n ElementRef<typeof StyledButton>,\n AriaButtonProps<'button'>\n>((props, forwardRef) => {\n const { buttonProps } = useButton(props, forwardRef as RefObject<Element>)\n const { focusProps } = useFocusRing()\n const { children } = props\n return (\n <StyledButton {...mergeProps(buttonProps, focusProps)} ref={forwardRef}>\n {children}\n </StyledButton>\n )\n})\n\nexport const FieldButton: React.FC<ButtonProps> = props => {\n const ref = useRef(null)\n const { buttonProps } = useButton(props, ref)\n const { customButton = false, children } = props\n return (\n <StyledFieldButton\n data-custom={customButton ? '' : undefined}\n {...buttonProps}\n ref={ref}\n >\n {children}\n </StyledFieldButton>\n )\n}\n","/* eslint-disable react/jsx-handler-names */\nimport * as React from 'react'\nimport type { Placement, AriaDialogProps } from 'react-aria'\nimport { usePopover, DismissButton, Overlay, useDialog } from 'react-aria'\nimport type { DatePickerState, DateRangePickerState } from 'react-stately'\n\nexport const Popover: React.FC<{\n state: DateRangePickerState | DatePickerState\n triggerRef: React.RefObject<Element>\n placement: Placement\n children: JSX.Element\n}> = props => {\n const ref = React.useRef(null)\n const { state, children } = props\n const { dialogProps } = useDialog(props as AriaDialogProps, ref)\n\n const { popoverProps, underlayProps } = usePopover(\n {\n ...props,\n popoverRef: ref,\n },\n state\n )\n\n return (\n <Overlay>\n <div {...underlayProps} />\n <div {...popoverProps} ref={ref}>\n <DismissButton onDismiss={state.close} />\n <div {...dialogProps} ref={ref}>\n {children}\n </div>\n <DismissButton onDismiss={state.close} />\n </div>\n </Overlay>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledRangePicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport const StyledRangePickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n padding: '$100',\n paddingLeft: '$150',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledRangePickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n})\n\nexport type StyledRangePickerProps = ComponentPropsWithRef<\n typeof StyledRangePicker\n>\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledPredefinedRanges = styled(Primitive.div, {\n display: 'flex',\n flexDirection: 'column',\n borderRight: '1px solid $border-neutrals',\n padding: '$300 $200 0 $200',\n\n '& button': {\n background: 'transparent',\n border: 'none',\n fontSize: '$200',\n padding: '0 0 0 $100',\n textAlign: 'left',\n lineHeight: '24px',\n color: '$text-neutrals',\n marginBottom: '$150',\n borderRadius: '$50',\n minWidth: '125px',\n cursor: 'pointer',\n\n '&:hover': {\n backgroundColor: '$background-primary-prominent-hover',\n color: '$text-primary-inverted',\n fontWeight: '600',\n },\n },\n})\n\nexport type StyledPredefinedRangesProps = ComponentPropsWithRef<\n typeof StyledPredefinedRanges\n>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate } from '@internationalized/date'\nimport type { DateRange } from 'react-aria'\n\nimport { StyledPredefinedRanges } from './predefined-ranges.styled'\n\nexport interface PredefinedRange {\n id: string\n label: string\n date?: CalendarDate\n range?: DateRange\n}\n\nexport interface PredefinedRangesProps {\n range: PredefinedRange[]\n onClick: (range: PredefinedRange) => void\n}\n\nexport const PredefinedRanges = React.forwardRef<\n ElementRef<typeof StyledPredefinedRanges>,\n PredefinedRangesProps\n>(({ range, onClick }, forwardRef) => (\n <StyledPredefinedRanges ref={forwardRef}>\n {range?.map((date, i) => (\n <button key={i} type='button' onClick={() => onClick(date)}>\n {date.label}\n </button>\n ))}\n </StyledPredefinedRanges>\n))\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\n\nexport const StyledBody = styled(Primitive.div, {\n display: 'inline-block',\n background: '$background-neutrals',\n})\n\nexport const StyledBodyContent = styled(Flex, {\n margin: '0 auto',\n boxShadow: '$100',\n background: '$background-neutrals',\n borderRadius: '$100',\n})\n\nexport const StyledGridContent = styled(Flex, {\n paddingBottom: '$200',\n\n '& [data-left-calendar]': {\n paddingLeft: '$200',\n paddingRight: '$100',\n },\n\n '& [data-right-calendar]': {\n paddingLeft: '$100',\n paddingRight: '$200',\n },\n})\n\nexport const StyledBodyContentLeft = styled(Primitive.div, {\n paddingLeft: '$200',\n paddingRight: '$100',\n})\n\nexport const StyledBodyContentRight = styled(Primitive.div, {\n paddingLeft: '$100',\n paddingRight: '$200',\n})\n\nexport const StyledClearContent = styled(Primitive.div, {\n padding: '$200',\n borderTop: '1px solid $border-neutrals',\n})\n\nexport type StyledBodyProps = ComponentPropsWithRef<typeof StyledBody>\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\n\nexport const StyledHeaderTitle = styled(Flex, {\n justifyContent: 'center',\n flex: '3',\n color: '$text-neutrals',\n})\n\nexport const StyledHeader = styled(Flex, {\n padding: '0 $200',\n color: '$text-neutrals',\n})\n","import React from 'react'\nimport { useDateFormatter } from 'react-aria'\nimport type { AriaButtonProps } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\nimport { IconChevronLeft, IconChevronRight } from '@mirohq/design-system-icons'\nimport type { DateDuration } from '@internationalized/date'\n\nimport { Button } from './button'\nimport { StyledHeader, StyledHeaderTitle } from './header.styled'\n\ninterface IHeader {\n state: RangeCalendarState | CalendarState\n prevButtonProps: AriaButtonProps<'button'>\n nextButtonProps: AriaButtonProps<'button'>\n visibleMonths?: DateDuration\n}\n\nexport const Header: React.FC<IHeader> = ({\n state,\n prevButtonProps,\n nextButtonProps,\n visibleMonths,\n}) => {\n const monthDateFormatter = useDateFormatter({\n month: 'long',\n year: 'numeric',\n timeZone: state.timeZone,\n })\n\n return (\n <StyledHeader>\n <Button {...prevButtonProps}>\n <IconChevronLeft />\n </Button>\n <StyledHeaderTitle>\n <h2>\n {monthDateFormatter.format(\n state.visibleRange.start.toDate(state.timeZone)\n )}\n </h2>\n </StyledHeaderTitle>\n {visibleMonths !== undefined && (\n <StyledHeaderTitle>\n <h2>\n {monthDateFormatter.format(\n state.visibleRange.start.add({ months: 1 }).toDate(state.timeZone)\n )}\n </h2>\n </StyledHeaderTitle>\n )}\n <Button {...nextButtonProps}>\n <IconChevronRight />\n </Button>\n </StyledHeader>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledCellContent = styled(Primitive.div, {\n square: '28px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '$50',\n color: '$text-neutrals',\n\n '&[data-today]': {\n color: '$text-primary',\n },\n\n '&[data-weekend]': {\n color: '$text-neutrals-subtle',\n },\n\n '&[data-selected-middle]': {\n color: '$text-neutrals',\n },\n\n '&[data-selection]': {\n borderRadius: '$50',\n background: '$background-primary-prominent-selected',\n color: '$text-primary-inverted',\n fontWeight: '600',\n },\n\n '&[data-disabled]': {\n textDecoration: 'line-through',\n color: '$text-neutrals-disabled',\n },\n})\n\nexport const StyledCell = styled(Primitive.div, {\n square: '36px',\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n\n '&:hover': {\n background: '$background-primary-subtle-hover',\n\n [`& ${StyledCellContent}`]: {\n background: '$background-primary-prominent-hover',\n color: '$text-primary-inverted',\n },\n },\n\n '&[data-selected]': {\n background: '$background-primary-subtle-hover',\n },\n\n '&[data-selection-start]': {\n borderBottomLeftRadius: '$lg',\n borderTopLeftRadius: '$lg',\n },\n\n '&[data-selection-end]': {\n borderBottomRightRadius: '$lg',\n borderTopRightRadius: '$lg',\n },\n\n '&[data-hidden]': {\n display: 'none',\n },\n\n '&[data-disabled]': {\n cursor: 'not-allowed',\n\n '&:hover': {\n background: 'transparent',\n\n [`& ${StyledCellContent}`]: {\n background: 'transparent',\n color: '$text-neutrals-disabled',\n },\n },\n },\n})\n\nexport type StyledCellProps = ComponentPropsWithRef<typeof StyledCell>\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport {\n useCalendarCell,\n useLocale,\n useFocusRing,\n mergeProps,\n} from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport {\n isSameDay,\n getDayOfWeek,\n isSameMonth,\n isToday,\n getLocalTimeZone,\n isWeekend,\n} from '@internationalized/date'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport type { StyledCellProps } from './cell.styled'\nimport { StyledCell, StyledCellContent } from './cell.styled'\n\nexport interface CellProps extends StyledCellProps {\n state: RangeCalendarState | CalendarState\n date: CalendarDate\n currentMonth: CalendarDate\n}\n\nexport const Cell = React.forwardRef<ElementRef<typeof StyledCell>, CellProps>(\n (props, forwardRef) => {\n const { state, date, currentMonth } = props\n const ref = useRef(null)\n const { cellProps, buttonProps, isSelected, isDisabled, formattedDate } =\n useCalendarCell({ date }, state, ref)\n\n const isOutsideMonth = !isSameMonth(currentMonth, date)\n\n // The start and end date of the selected range will have\n // an emphasized appearance.\n const isSelectionStart =\n (state as RangeCalendarState).highlightedRange !== undefined &&\n (state as RangeCalendarState).highlightedRange !== null\n ? isSameDay(date, (state as RangeCalendarState).highlightedRange.start)\n : isSelected\n const isSelectionEnd =\n (state as RangeCalendarState).highlightedRange !== undefined &&\n (state as RangeCalendarState).highlightedRange !== null\n ? isSameDay(date, (state as RangeCalendarState).highlightedRange.end)\n : isSelected\n\n // We add rounded corners on the left for the first day of the month,\n // the first day of each week, and the start date of the selection.\n // We add rounded corners on the right for the last day of the month,\n // the last day of each week, and the end date of the selection.\n const { locale } = useLocale()\n const dayOfWeek = getDayOfWeek(date, locale)\n const isWeekendDay = isWeekend(date, locale)\n const isRoundedLeft =\n isSelected && (isSelectionStart || dayOfWeek === 0 || date.day === 1)\n const isRoundedRight =\n isSelected &&\n (isSelectionEnd ||\n dayOfWeek === 6 ||\n date.day === date.calendar.getDaysInMonth(date))\n\n const { focusProps } = useFocusRing()\n\n return (\n <td {...cellProps}>\n <StyledCell\n {...mergeProps(buttonProps, focusProps)}\n ref={forwardRef}\n data-selected={isSelected ? '' : undefined}\n data-selection-start={isRoundedLeft ? '' : undefined}\n data-selection-end={isRoundedRight ? '' : undefined}\n data-disabled={isDisabled ? '' : undefined}\n data-hidden={isOutsideMonth ? '' : undefined}\n >\n <StyledCellContent\n data-selected-middle={\n isSelected && !(isSelectionStart || isSelectionEnd)\n ? ''\n : undefined\n }\n data-selection={isSelectionStart || isSelectionEnd ? '' : undefined}\n data-disabled={isDisabled ? '' : undefined}\n data-today={isToday(date, getLocalTimeZone()) ? '' : undefined}\n data-weekend={isWeekendDay ? '' : undefined}\n >\n {formattedDate}\n </StyledCellContent>\n </StyledCell>\n </td>\n )\n }\n)\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledGrid = styled(Primitive.table, {\n borderCollapse: 'separate',\n borderSpacing: ' 0 $50',\n})\n\nexport const StyledDays = styled(Primitive.th, {\n square: '36px',\n color: '$text-neutrals',\n})\n\nexport type StyledGridProps = ComponentPropsWithRef<typeof StyledGrid>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { getWeeksInMonth } from '@internationalized/date'\nimport type { AriaCalendarGridProps, DateRange } from 'react-aria'\nimport { useLocale, useCalendarGrid } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport { Cell } from './cell'\nimport type { StyledGridProps } from './grid.styled'\nimport { StyledDays, StyledGrid } from './grid.styled'\n\nexport interface GridProps extends Omit<StyledGridProps, 'onChange'> {\n state: RangeCalendarState | CalendarState\n offset?: DateDuration\n onChange?: (value: DateRange) => void\n}\n\nexport const Grid = React.forwardRef<ElementRef<typeof StyledGrid>, GridProps>(\n (props, forwardRef) => {\n const { locale } = useLocale()\n const { state, offset = {} } = props\n const startDate: CalendarDate = state.visibleRange.start.add(offset)\n const { gridProps, headerProps, weekDays } = useCalendarGrid(\n props as AriaCalendarGridProps,\n state\n )\n\n // Get the number of weeks in the month so we can render the proper number of rows.\n const weeksInMonth = getWeeksInMonth(startDate, locale)\n\n return (\n <StyledGrid ref={forwardRef} {...gridProps} cellPadding='0'>\n <thead {...headerProps}>\n <tr>\n {weekDays.map((day, i) => (\n <StyledDays key={i}>\n <div>{day}</div>\n </StyledDays>\n ))}\n </tr>\n </thead>\n <tbody>\n {Array.from(Array(weeksInMonth).keys()).map(weekIndex => (\n <tr key={weekIndex}>\n {state\n .getDatesInWeek(weekIndex, startDate)\n .map((date: CalendarDate | null, i: number) =>\n date !== null ? (\n <Cell\n key={i}\n state={state}\n date={date}\n currentMonth={startDate}\n />\n ) : (\n <td key={i} />\n )\n )}\n </tr>\n ))}\n </tbody>\n </StyledGrid>\n )\n }\n)\n","import type { ElementRef } from 'react'\nimport React, { useCallback, useRef } from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport { useDateRangePicker, useLocale, useRangeCalendar } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport type { DateRangePickerStateOptions } from 'react-stately'\nimport { useDateRangePickerState, useRangeCalendarState } from 'react-stately'\nimport { Flex } from '@mirohq/design-system-flex'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { Button } from '@mirohq/design-system-button'\n\nimport { TextField } from '../partials/text-field'\nimport { FieldButton } from '../partials/button'\nimport { Popover } from '../partials/popover'\nimport {\n StyledRangePicker,\n StyledRangePickerInput,\n StyledRangePickerInputContent,\n} from './range-picker.styled'\nimport type { PredefinedRange } from '../partials/predefined-ranges'\nimport { PredefinedRanges } from '../partials/predefined-ranges'\nimport * as bodyStyled from '../partials/body.styled'\nimport { Header } from '../partials/header'\nimport { Grid } from '../partials/grid'\nimport type { CalendarProps } from '../calendar'\n\nexport interface RangePickerProps\n extends Omit<CalendarProps, 'picker' | 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: DateRange\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateRange) => void\n}\nexport const RangePicker = React.forwardRef<\n ElementRef<typeof StyledRangePicker>,\n RangePickerProps\n>((props, forwardRef) => {\n const {\n predefinedRanges,\n minDate,\n maxDate,\n visibleMonths,\n clearString,\n children,\n defaultOpen,\n onClear,\n } = props\n const state = useDateRangePickerState(\n props as DateRangePickerStateOptions<DateValue>\n )\n const ref = useRef(null)\n const { locale } = useLocale()\n\n const { groupProps, startFieldProps, endFieldProps, buttonProps } =\n useDateRangePicker(\n {\n ...(props as DateRangePickerStateOptions<DateValue>),\n isOpen: defaultOpen,\n },\n state,\n ref\n )\n\n const change = (value: DateRange): void => {\n state.setValue(value)\n state.close()\n }\n\n const rangeState = useRangeCalendarState({\n ...props,\n visibleDuration: visibleMonths,\n minValue: minDate,\n maxValue: maxDate,\n autoFocus: true,\n onFocusChange: focus,\n onChange: change,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useRangeCalendar(\n props,\n rangeState,\n ref\n )\n\n const rangeClick = useCallback(\n (selectedRange: PredefinedRange) => {\n if (selectedRange.range !== undefined) {\n state.setValue(selectedRange.range)\n rangeState.setValue(selectedRange.range)\n }\n },\n [rangeState, state]\n )\n\n const clear = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue({ start: null, end: null })\n if (onClear !== undefined) {\n onClear()\n state.close()\n }\n }\n\n return (\n <StyledRangePicker ref={forwardRef}>\n {children === undefined && (\n <StyledRangePickerInput {...groupProps} ref={ref}>\n <StyledRangePickerInputContent>\n <TextField {...startFieldProps} />\n <span aria-hidden='true'>–</span>\n <TextField {...endFieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledRangePickerInputContent>\n </StyledRangePickerInput>\n )}\n {children !== null && (\n <div {...groupProps} ref={ref}>\n <FieldButton {...buttonProps} customButton>\n {children}\n </FieldButton>\n </div>\n )}\n {state.isOpen && (\n <Popover triggerRef={ref} state={state} placement='bottom start'>\n <bodyStyled.StyledBody ref={forwardRef}>\n <bodyStyled.StyledBodyContent>\n {predefinedRanges !== undefined && (\n <PredefinedRanges\n range={predefinedRanges}\n onClick={rangeClick}\n />\n )}\n\n <Flex direction='column' {...calendarProps}>\n <Header\n state={rangeState}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n visibleMonths={visibleMonths}\n />\n <bodyStyled.StyledGridContent>\n <bodyStyled.StyledBodyContentLeft>\n <Grid state={rangeState} />\n </bodyStyled.StyledBodyContentLeft>\n {visibleMonths !== undefined && (\n <bodyStyled.StyledBodyContentRight>\n <Grid\n onChange={change}\n state={rangeState}\n offset={{ months: 1 }}\n />\n </bodyStyled.StyledBodyContentRight>\n )}\n </bodyStyled.StyledGridContent>\n\n {onClear !== undefined && (\n <bodyStyled.StyledClearContent>\n <Button\n size='medium'\n type='button'\n onClick={clear}\n disabled={rangeState.value === null}\n >\n {clearString}\n </Button>\n </bodyStyled.StyledClearContent>\n )}\n </Flex>\n </bodyStyled.StyledBodyContent>\n </bodyStyled.StyledBody>\n </Popover>\n )}\n </StyledRangePicker>\n )\n})\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledRangePickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n padding: '$100',\n paddingLeft: '$150',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledRangePickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n})\n\nexport const StyledDatePicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport type StyledDatePickerProps = ComponentPropsWithRef<\n typeof StyledDatePicker\n>\n","import type { ElementRef } from 'react'\nimport React, { useCallback } from 'react'\nimport { useCalendarState } from 'react-stately'\nimport type { AriaCalendarProps, CalendarProps, DateValue } from 'react-aria'\nimport { useCalendar, useLocale } from 'react-aria'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { createCalendar } from '@internationalized/date'\nimport { Button } from '@mirohq/design-system-button'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport { Grid } from '../partials/grid'\nimport { Header } from '../partials/header'\nimport type { StyledBodyProps } from '../partials/body.styled'\nimport {\n StyledBody,\n StyledBodyContent,\n StyledBodyContentLeft,\n StyledBodyContentRight,\n StyledClearContent,\n StyledGridContent,\n} from '../partials/body.styled'\nimport type { PredefinedRange } from '../partials/predefined-ranges'\nimport { PredefinedRanges } from '../partials/predefined-ranges'\n\nexport interface DatePickerBodyProps\n extends Omit<StyledBodyProps, 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: CalendarDate\n\n /**\n * Set of predefined ranges\n */\n predefinedRanges?: PredefinedRange[]\n\n /**\n * By default it shows only one calendar, show more calendars\n */\n visibleMonths?: DateDuration\n\n /**\n * Minimum allowed date to select from\n */\n minDate?: DateValue\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: DateValue\n\n /**\n * Clear button string\n */\n clearString?: string\n\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: CalendarDate) => void\n}\n\nexport const DatePickerBody = React.forwardRef<\n ElementRef<typeof StyledBody>,\n DatePickerBodyProps\n>((props, forwardRef) => {\n const {\n predefinedRanges,\n visibleMonths,\n onClear,\n minDate,\n maxDate,\n clearString,\n } = props\n const { locale } = useLocale()\n const state = useCalendarState({\n ...(props as CalendarProps<DateValue>),\n visibleDuration: visibleMonths,\n minValue: minDate,\n maxValue: maxDate,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useCalendar(\n props as AriaCalendarProps<DateValue>,\n state\n )\n\n const dateClick = useCallback(\n (selectedRange: PredefinedRange) => {\n if (selectedRange.date !== undefined) state.setValue(selectedRange.date)\n },\n [state]\n )\n\n return (\n <StyledBody ref={forwardRef}>\n <StyledBodyContent {...calendarProps}>\n {predefinedRanges !== undefined && (\n <PredefinedRanges range={predefinedRanges} onClick={dateClick} />\n )}\n <Flex direction='column'>\n <Header\n state={state}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n visibleMonths={visibleMonths}\n />\n <StyledGridContent>\n <StyledBodyContentLeft>\n <Grid state={state} />\n </StyledBodyContentLeft>\n {visibleMonths !== undefined && (\n <StyledBodyContentRight>\n <Grid state={state} offset={{ months: 1 }} />\n </StyledBodyContentRight>\n )}\n </StyledGridContent>\n {onClear !== undefined && (\n <StyledClearContent>\n <Button\n size='medium'\n onClick={onClear}\n disabled={state.value === null}\n >\n {clearString}\n </Button>\n </StyledClearContent>\n )}\n </Flex>\n </StyledBodyContent>\n </StyledBody>\n )\n})\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport { useDatePickerState } from 'react-stately'\nimport type { AriaDatePickerProps, DateValue } from 'react-aria'\nimport { useDatePicker } from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport { FieldButton } from '../partials/button'\nimport { TextField } from '../partials/text-field'\nimport { Popover } from '../partials/popover'\nimport {\n StyledDatePicker,\n StyledRangePickerInput,\n StyledRangePickerInputContent,\n} from './date-picker.styled'\nimport type { CalendarProps as ICalendarProps } from '../calendar'\nimport { DatePickerBody } from './date-picker-body'\n\nexport interface DatePickerProps\n extends Omit<ICalendarProps, 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: CalendarDate\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateValue) => void\n}\n\nexport const DatePicker = React.forwardRef<\n ElementRef<typeof StyledDatePicker>,\n DatePickerProps\n>((props, forwardRef) => {\n const {\n picker,\n predefinedRanges,\n visibleMonths,\n defaultValue,\n minDate,\n maxDate,\n children,\n clearString,\n defaultOpen,\n onClear,\n } = props\n\n const ref = useRef(null)\n\n const state = useDatePickerState(props as AriaDatePickerProps<CalendarDate>)\n const { groupProps, fieldProps, buttonProps, calendarProps } = useDatePicker(\n { ...(props as AriaDatePickerProps<CalendarDate>), isOpen: defaultOpen },\n state,\n ref\n )\n\n const clearState = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue(null)\n if (onClear !== undefined) {\n onClear()\n }\n }\n\n return (\n <>\n {picker === 'single' ? (\n <StyledDatePicker ref={forwardRef}>\n {children === undefined && (\n <StyledRangePickerInput {...groupProps} ref={ref}>\n <StyledRangePickerInputContent>\n <TextField {...fieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledRangePickerInputContent>\n </StyledRangePickerInput>\n )}\n {children !== undefined && (\n <div {...groupProps} ref={ref}>\n <FieldButton {...buttonProps} customButton>\n {children}\n </FieldButton>\n </div>\n )}\n {state.isOpen && (\n <Popover triggerRef={ref} state={state} placement='bottom start'>\n <DatePickerBody\n {...calendarProps}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={clearState}\n minDate={minDate}\n maxDate={maxDate}\n clearString={clearString}\n />\n </Popover>\n )}\n </StyledDatePicker>\n ) : (\n <DatePickerBody\n {...calendarProps}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={onClear !== undefined ? clearState : undefined}\n minDate={minDate}\n maxDate={maxDate}\n clearString={onClear !== undefined ? clearString : undefined}\n />\n )}\n </>\n )\n})\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef, ElementRef } from 'react'\nimport React from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\n\nimport { RangePicker } from './partials/range-picker'\nimport { DatePicker } from './partials/date-picker'\nimport type { PredefinedRange } from './partials/predefined-ranges'\n\nexport const StyledCalendar = styled(Primitive.div, {})\nexport type StyledCalendarProps = ComponentPropsWithRef<typeof StyledCalendar>\n\nexport interface CalendarProps\n extends Omit<StyledCalendarProps, 'defaultValue' | 'onChange'> {\n /**\n * Type of calendar\n */\n picker: 'single' | 'range' | undefined\n\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: DateRange | CalendarDate\n\n /**\n * Set of predefined ranges\n */\n predefinedRanges?: PredefinedRange[]\n\n /**\n * By default it shows only one calendar, show more calendars\n */\n visibleMonths?: DateDuration\n\n /**\n * Minimum allowed date to select from\n */\n minDate?: CalendarDate\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: CalendarDate\n\n /**\n * Custom input element\n */\n children?: JSX.Element\n\n /**\n * Clear button string\n */\n clearString?: string\n\n /**\n * Calendar open by default\n */\n defaultOpen?: boolean\n\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateRange | DateValue) => void\n}\n\nexport const Calendar = React.forwardRef<\n ElementRef<typeof StyledCalendar>,\n CalendarProps\n>(({ picker, defaultValue, ...props }, forwardRef) => (\n <StyledCalendar ref={forwardRef}>\n {picker === 'range' ? (\n <RangePicker defaultValue={defaultValue as DateRange} {...props} />\n ) : (\n <DatePicker\n defaultValue={defaultValue as CalendarDate}\n {...props}\n picker={picker}\n />\n )}\n </StyledCalendar>\n))\n"],"names":["React","StyledRangePickerInput","StyledRangePickerInputContent","bodyStyled.StyledBody","bodyStyled.StyledBodyContent","bodyStyled.StyledGridContent","bodyStyled.StyledBodyContentLeft","bodyStyled.StyledBodyContentRight","bodyStyled.StyledClearContent","Button"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mirohq/design-system-calendar",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Miro",
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -30,10 +30,9 @@
|
|
|
30
30
|
"react-aria": "^3.25.0",
|
|
31
31
|
"react-stately": "^3.23.0",
|
|
32
32
|
"@mirohq/design-system-button": "^3.1.3",
|
|
33
|
-
"@mirohq/design-system-stitches": "^2.3.2",
|
|
34
|
-
"@mirohq/design-system-utils": "^0.14.0",
|
|
35
|
-
"@mirohq/design-system-primitive": "^1.1.0",
|
|
36
33
|
"@mirohq/design-system-icons": "^0.24.4",
|
|
34
|
+
"@mirohq/design-system-primitive": "^1.1.0",
|
|
35
|
+
"@mirohq/design-system-stitches": "^2.3.2",
|
|
37
36
|
"@mirohq/design-system-flex": "^2.1.13"
|
|
38
37
|
},
|
|
39
38
|
"scripts": {
|