@mirohq/design-system-calendar 0.1.3 → 0.1.5

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 CHANGED
@@ -50,7 +50,7 @@ const StyledDataSegment = designSystemStitches.styled(designSystemPrimitive.Prim
50
50
  }
51
51
  });
52
52
 
53
- const FieldDateSegment = React__default["default"].forwardRef(({ segment, state }) => {
53
+ const FieldDateSegment = ({ segment, state }) => {
54
54
  const ref = React.useRef(null);
55
55
  const { segmentProps } = reactAria.useDateSegment(segment, state, ref);
56
56
  return /* @__PURE__ */ React__default["default"].createElement(StyledDataSegment, {
@@ -61,8 +61,8 @@ const FieldDateSegment = React__default["default"].forwardRef(({ segment, state
61
61
  "aria-hidden": "true",
62
62
  "data-placeholder": !segment.isPlaceholder ? "" : void 0
63
63
  }, segment.placeholder), segment.isPlaceholder ? "" : segment.text);
64
- });
65
- const TextField = (props) => {
64
+ };
65
+ const TextField = React__default["default"].forwardRef((props, forwardRef) => {
66
66
  const ref = React.useRef(null);
67
67
  const { locale } = reactAria.useLocale();
68
68
  const state = reactStately.useDateFieldState({
@@ -74,17 +74,17 @@ const TextField = (props) => {
74
74
  const { fieldProps } = reactAria.useDateField(props, state, ref);
75
75
  return /* @__PURE__ */ React__default["default"].createElement(designSystemFlex.Flex, {
76
76
  ...fieldProps,
77
- ref
77
+ ref: forwardRef
78
78
  }, state.segments.map((segment, i) => /* @__PURE__ */ React__default["default"].createElement(FieldDateSegment, {
79
79
  key: i,
80
80
  segment,
81
81
  state
82
82
  })));
83
- };
83
+ });
84
84
 
85
85
  const StyledButton = designSystemStitches.styled(designSystemPrimitive.Primitive.button, {
86
86
  padding: "0",
87
- background: "transparent",
87
+ backgroundColor: "$transparent",
88
88
  border: "none",
89
89
  cursor: "pointer",
90
90
  color: "$text-neutrals",
@@ -94,7 +94,7 @@ const StyledButton = designSystemStitches.styled(designSystemPrimitive.Primitive
94
94
  });
95
95
  const StyledFieldButton = designSystemStitches.styled(designSystemPrimitive.Primitive.button, {
96
96
  padding: "0",
97
- background: "transparent",
97
+ backgroundColor: "$transparent",
98
98
  border: "none",
99
99
  cursor: "pointer",
100
100
  square: "28px",
@@ -120,16 +120,15 @@ const Button = React__default["default"].forwardRef((props, forwardRef) => {
120
120
  ref: forwardRef
121
121
  }, children);
122
122
  });
123
- const FieldButton = (props) => {
124
- const ref = React.useRef(null);
125
- const { buttonProps } = reactAria.useButton(props, ref);
123
+ const FieldButton = React__default["default"].forwardRef((props, forwardRef) => {
124
+ const { buttonProps } = reactAria.useButton(props, forwardRef);
126
125
  const { customButton = false, children } = props;
127
126
  return /* @__PURE__ */ React__default["default"].createElement(StyledFieldButton, {
128
127
  "data-custom": customButton ? "" : void 0,
129
128
  ...buttonProps,
130
- ref
129
+ ref: forwardRef
131
130
  }, children);
132
- };
131
+ });
133
132
 
134
133
  const Popover = (props) => {
135
134
  const ref = React__namespace.useRef(null);
@@ -189,7 +188,7 @@ const StyledPredefinedRanges = designSystemStitches.styled(designSystemPrimitive
189
188
  borderRight: "1px solid $border-neutrals",
190
189
  padding: "$300 $200 0 $200",
191
190
  "& button": {
192
- background: "transparent",
191
+ backgroundColor: "$transparent",
193
192
  border: "none",
194
193
  fontSize: "$200",
195
194
  padding: "0 0 0 $100",
@@ -341,9 +340,9 @@ const StyledCell = designSystemStitches.styled(designSystemPrimitive.Primitive.d
341
340
  "&[data-disabled]": {
342
341
  cursor: "not-allowed",
343
342
  "&:hover": {
344
- background: "transparent",
343
+ backgroundColor: "$transparent",
345
344
  [`& ${StyledCellContent}`]: {
346
- background: "transparent",
345
+ backgroundColor: "$transparent",
347
346
  color: "$text-neutrals-disabled"
348
347
  }
349
348
  }
@@ -432,7 +431,7 @@ const RangePicker = React__default["default"].forwardRef((props, forwardRef) =>
432
431
  minDate,
433
432
  maxDate,
434
433
  visibleMonths,
435
- clearString,
434
+ clearButtonText,
436
435
  children,
437
436
  defaultOpen,
438
437
  onClear
@@ -535,7 +534,7 @@ const RangePicker = React__default["default"].forwardRef((props, forwardRef) =>
535
534
  type: "button",
536
535
  onClick: clear,
537
536
  disabled: rangeState.value === null
538
- }, clearString)))))));
537
+ }, clearButtonText)))))));
539
538
  });
540
539
 
541
540
  const StyledRangePickerInput = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
@@ -571,7 +570,7 @@ const DatePickerBody = React__default["default"].forwardRef((props, forwardRef)
571
570
  onClear,
572
571
  minDate,
573
572
  maxDate,
574
- clearString
573
+ clearButtonText
575
574
  } = props;
576
575
  const { locale } = reactAria.useLocale();
577
576
  const state = reactStately.useCalendarState({
@@ -616,7 +615,7 @@ const DatePickerBody = React__default["default"].forwardRef((props, forwardRef)
616
615
  size: "medium",
617
616
  onClick: onClear,
618
617
  disabled: state.value === null
619
- }, clearString)))));
618
+ }, clearButtonText)))));
620
619
  });
621
620
 
622
621
  const DatePicker = React__default["default"].forwardRef((props, forwardRef) => {
@@ -628,7 +627,7 @@ const DatePicker = React__default["default"].forwardRef((props, forwardRef) => {
628
627
  minDate,
629
628
  maxDate,
630
629
  children,
631
- clearString,
630
+ clearButtonText,
632
631
  defaultOpen,
633
632
  onClear
634
633
  } = props;
@@ -671,19 +670,21 @@ const DatePicker = React__default["default"].forwardRef((props, forwardRef) => {
671
670
  defaultValue,
672
671
  predefinedRanges,
673
672
  visibleMonths,
674
- onClear: clearState,
673
+ onClear: onClear !== void 0 ? clearState : void 0,
675
674
  minDate,
676
675
  maxDate,
677
- clearString
676
+ clearButtonText: onClear !== void 0 ? clearButtonText : void 0,
677
+ ref: forwardRef
678
678
  }))) : /* @__PURE__ */ React__default["default"].createElement(DatePickerBody, {
679
679
  ...calendarProps,
680
+ ref: forwardRef,
680
681
  defaultValue,
681
682
  predefinedRanges,
682
683
  visibleMonths,
683
684
  onClear: onClear !== void 0 ? clearState : void 0,
684
685
  minDate,
685
686
  maxDate,
686
- clearString: onClear !== void 0 ? clearString : void 0
687
+ clearButtonText: onClear !== void 0 ? clearButtonText : void 0
687
688
  }));
688
689
  });
689
690
 
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, 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'\nimport { Button } from '@mirohq/design-system-button'\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\n variant='ghost-prominent'\n size='medium'\n key={i}\n type='button'\n onClick={() => onClick(date)}\n >\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'\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","Button","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","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.FC<DataSegmentProps> = ({ 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.forwardRef<\n ElementRef<typeof Flex>,\n AriaDatePickerProps<DateValue>\n>((props, forwardRef) => {\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={forwardRef}>\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 backgroundColor: '$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 backgroundColor: '$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 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.forwardRef<\n ElementRef<typeof StyledFieldButton>,\n ButtonProps\n>((props, forwardRef) => {\n const { buttonProps } = useButton(props, forwardRef as RefObject<Element>)\n const { customButton = false, children } = props\n return (\n <StyledFieldButton\n data-custom={customButton ? '' : undefined}\n {...buttonProps}\n ref={forwardRef}\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 backgroundColor: '$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'\nimport { Button } from '@mirohq/design-system-button'\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\n variant='ghost-prominent'\n size='medium'\n key={i}\n type='button'\n onClick={() => onClick(date)}\n >\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 backgroundColor: '$transparent',\n\n [`& ${StyledCellContent}`]: {\n backgroundColor: '$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 clearButtonText,\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 {clearButtonText}\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 clearButtonText?: 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 clearButtonText,\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 {clearButtonText}\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 clearButtonText,\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={onClear !== undefined ? clearState : undefined}\n minDate={minDate}\n maxDate={maxDate}\n clearButtonText={\n onClear !== undefined ? clearButtonText : undefined\n }\n ref={forwardRef}\n />\n </Popover>\n )}\n </StyledDatePicker>\n ) : (\n <DatePickerBody\n {...calendarProps}\n ref={forwardRef}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={onClear !== undefined ? clearState : undefined}\n minDate={minDate}\n maxDate={maxDate}\n clearButtonText={onClear !== undefined ? clearButtonText : 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'\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 clearButtonText?: 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","useRef","useDateSegment","React","useLocale","useDateFieldState","createCalendar","useDateField","Flex","useButton","useFocusRing","mergeProps","useDialog","usePopover","Overlay","DismissButton","StyledRangePickerInput","StyledRangePickerInputContent","Button","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","useCalendarState","useCalendar","useDatePickerState","useDatePicker"],"mappings":"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"}
package/dist/module.js CHANGED
@@ -2,7 +2,7 @@ import { Primitive } from '@mirohq/design-system-primitive';
2
2
  import { styled } from '@mirohq/design-system-stitches';
3
3
  import * as React from 'react';
4
4
  import React__default, { useRef, useCallback } from 'react';
5
- import { useDateSegment, useLocale, useDateField, useButton, useFocusRing, mergeProps, useDialog, usePopover, Overlay, DismissButton, useDateFormatter, useCalendarCell, useCalendarGrid, useDateRangePicker, useRangeCalendar, useCalendar, useDatePicker } from 'react-aria';
5
+ import { useLocale, useDateField, useDateSegment, useButton, useFocusRing, mergeProps, useDialog, usePopover, Overlay, DismissButton, useDateFormatter, useCalendarCell, useCalendarGrid, useDateRangePicker, useRangeCalendar, useCalendar, useDatePicker } from 'react-aria';
6
6
  import { createCalendar, isSameMonth, isSameDay, getDayOfWeek, isWeekend, isToday, getLocalTimeZone, getWeeksInMonth } from '@internationalized/date';
7
7
  import { useDateFieldState, useDateRangePickerState, useRangeCalendarState, useCalendarState, useDatePickerState } from 'react-stately';
8
8
  import { Flex } from '@mirohq/design-system-flex';
@@ -24,7 +24,7 @@ const StyledDataSegment = styled(Primitive.div, {
24
24
  }
25
25
  });
26
26
 
27
- const FieldDateSegment = React__default.forwardRef(({ segment, state }) => {
27
+ const FieldDateSegment = ({ segment, state }) => {
28
28
  const ref = useRef(null);
29
29
  const { segmentProps } = useDateSegment(segment, state, ref);
30
30
  return /* @__PURE__ */ React__default.createElement(StyledDataSegment, {
@@ -35,8 +35,8 @@ const FieldDateSegment = React__default.forwardRef(({ segment, state }) => {
35
35
  "aria-hidden": "true",
36
36
  "data-placeholder": !segment.isPlaceholder ? "" : void 0
37
37
  }, segment.placeholder), segment.isPlaceholder ? "" : segment.text);
38
- });
39
- const TextField = (props) => {
38
+ };
39
+ const TextField = React__default.forwardRef((props, forwardRef) => {
40
40
  const ref = useRef(null);
41
41
  const { locale } = useLocale();
42
42
  const state = useDateFieldState({
@@ -48,17 +48,17 @@ const TextField = (props) => {
48
48
  const { fieldProps } = useDateField(props, state, ref);
49
49
  return /* @__PURE__ */ React__default.createElement(Flex, {
50
50
  ...fieldProps,
51
- ref
51
+ ref: forwardRef
52
52
  }, state.segments.map((segment, i) => /* @__PURE__ */ React__default.createElement(FieldDateSegment, {
53
53
  key: i,
54
54
  segment,
55
55
  state
56
56
  })));
57
- };
57
+ });
58
58
 
59
59
  const StyledButton = styled(Primitive.button, {
60
60
  padding: "0",
61
- background: "transparent",
61
+ backgroundColor: "$transparent",
62
62
  border: "none",
63
63
  cursor: "pointer",
64
64
  color: "$text-neutrals",
@@ -68,7 +68,7 @@ const StyledButton = styled(Primitive.button, {
68
68
  });
69
69
  const StyledFieldButton = styled(Primitive.button, {
70
70
  padding: "0",
71
- background: "transparent",
71
+ backgroundColor: "$transparent",
72
72
  border: "none",
73
73
  cursor: "pointer",
74
74
  square: "28px",
@@ -94,16 +94,15 @@ const Button = React__default.forwardRef((props, forwardRef) => {
94
94
  ref: forwardRef
95
95
  }, children);
96
96
  });
97
- const FieldButton = (props) => {
98
- const ref = useRef(null);
99
- const { buttonProps } = useButton(props, ref);
97
+ const FieldButton = React__default.forwardRef((props, forwardRef) => {
98
+ const { buttonProps } = useButton(props, forwardRef);
100
99
  const { customButton = false, children } = props;
101
100
  return /* @__PURE__ */ React__default.createElement(StyledFieldButton, {
102
101
  "data-custom": customButton ? "" : void 0,
103
102
  ...buttonProps,
104
- ref
103
+ ref: forwardRef
105
104
  }, children);
106
- };
105
+ });
107
106
 
108
107
  const Popover = (props) => {
109
108
  const ref = React.useRef(null);
@@ -163,7 +162,7 @@ const StyledPredefinedRanges = styled(Primitive.div, {
163
162
  borderRight: "1px solid $border-neutrals",
164
163
  padding: "$300 $200 0 $200",
165
164
  "& button": {
166
- background: "transparent",
165
+ backgroundColor: "$transparent",
167
166
  border: "none",
168
167
  fontSize: "$200",
169
168
  padding: "0 0 0 $100",
@@ -315,9 +314,9 @@ const StyledCell = styled(Primitive.div, {
315
314
  "&[data-disabled]": {
316
315
  cursor: "not-allowed",
317
316
  "&:hover": {
318
- background: "transparent",
317
+ backgroundColor: "$transparent",
319
318
  [`& ${StyledCellContent}`]: {
320
- background: "transparent",
319
+ backgroundColor: "$transparent",
321
320
  color: "$text-neutrals-disabled"
322
321
  }
323
322
  }
@@ -406,7 +405,7 @@ const RangePicker = React__default.forwardRef((props, forwardRef) => {
406
405
  minDate,
407
406
  maxDate,
408
407
  visibleMonths,
409
- clearString,
408
+ clearButtonText,
410
409
  children,
411
410
  defaultOpen,
412
411
  onClear
@@ -509,7 +508,7 @@ const RangePicker = React__default.forwardRef((props, forwardRef) => {
509
508
  type: "button",
510
509
  onClick: clear,
511
510
  disabled: rangeState.value === null
512
- }, clearString)))))));
511
+ }, clearButtonText)))))));
513
512
  });
514
513
 
515
514
  const StyledRangePickerInput = styled(Primitive.div, {
@@ -545,7 +544,7 @@ const DatePickerBody = React__default.forwardRef((props, forwardRef) => {
545
544
  onClear,
546
545
  minDate,
547
546
  maxDate,
548
- clearString
547
+ clearButtonText
549
548
  } = props;
550
549
  const { locale } = useLocale();
551
550
  const state = useCalendarState({
@@ -590,7 +589,7 @@ const DatePickerBody = React__default.forwardRef((props, forwardRef) => {
590
589
  size: "medium",
591
590
  onClick: onClear,
592
591
  disabled: state.value === null
593
- }, clearString)))));
592
+ }, clearButtonText)))));
594
593
  });
595
594
 
596
595
  const DatePicker = React__default.forwardRef((props, forwardRef) => {
@@ -602,7 +601,7 @@ const DatePicker = React__default.forwardRef((props, forwardRef) => {
602
601
  minDate,
603
602
  maxDate,
604
603
  children,
605
- clearString,
604
+ clearButtonText,
606
605
  defaultOpen,
607
606
  onClear
608
607
  } = props;
@@ -645,19 +644,21 @@ const DatePicker = React__default.forwardRef((props, forwardRef) => {
645
644
  defaultValue,
646
645
  predefinedRanges,
647
646
  visibleMonths,
648
- onClear: clearState,
647
+ onClear: onClear !== void 0 ? clearState : void 0,
649
648
  minDate,
650
649
  maxDate,
651
- clearString
650
+ clearButtonText: onClear !== void 0 ? clearButtonText : void 0,
651
+ ref: forwardRef
652
652
  }))) : /* @__PURE__ */ React__default.createElement(DatePickerBody, {
653
653
  ...calendarProps,
654
+ ref: forwardRef,
654
655
  defaultValue,
655
656
  predefinedRanges,
656
657
  visibleMonths,
657
658
  onClear: onClear !== void 0 ? clearState : void 0,
658
659
  minDate,
659
660
  maxDate,
660
- clearString: onClear !== void 0 ? clearString : void 0
661
+ clearButtonText: onClear !== void 0 ? clearButtonText : void 0
661
662
  }));
662
663
  });
663
664
 
@@ -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, 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'\nimport { Button } from '@mirohq/design-system-button'\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\n variant='ghost-prominent'\n size='medium'\n key={i}\n type='button'\n onClick={() => onClick(date)}\n >\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'\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","Button","bodyStyled.StyledBody","bodyStyled.StyledBodyContent","bodyStyled.StyledGridContent","bodyStyled.StyledBodyContentLeft","bodyStyled.StyledBodyContentRight","bodyStyled.StyledClearContent"],"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.FC<DataSegmentProps> = ({ 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.forwardRef<\n ElementRef<typeof Flex>,\n AriaDatePickerProps<DateValue>\n>((props, forwardRef) => {\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={forwardRef}>\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 backgroundColor: '$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 backgroundColor: '$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 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.forwardRef<\n ElementRef<typeof StyledFieldButton>,\n ButtonProps\n>((props, forwardRef) => {\n const { buttonProps } = useButton(props, forwardRef as RefObject<Element>)\n const { customButton = false, children } = props\n return (\n <StyledFieldButton\n data-custom={customButton ? '' : undefined}\n {...buttonProps}\n ref={forwardRef}\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 backgroundColor: '$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'\nimport { Button } from '@mirohq/design-system-button'\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\n variant='ghost-prominent'\n size='medium'\n key={i}\n type='button'\n onClick={() => onClick(date)}\n >\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 backgroundColor: '$transparent',\n\n [`& ${StyledCellContent}`]: {\n backgroundColor: '$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 clearButtonText,\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 {clearButtonText}\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 clearButtonText?: 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 clearButtonText,\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 {clearButtonText}\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 clearButtonText,\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={onClear !== undefined ? clearState : undefined}\n minDate={minDate}\n maxDate={maxDate}\n clearButtonText={\n onClear !== undefined ? clearButtonText : undefined\n }\n ref={forwardRef}\n />\n </Popover>\n )}\n </StyledDatePicker>\n ) : (\n <DatePickerBody\n {...calendarProps}\n ref={forwardRef}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={onClear !== undefined ? clearState : undefined}\n minDate={minDate}\n maxDate={maxDate}\n clearButtonText={onClear !== undefined ? clearButtonText : 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'\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 clearButtonText?: 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","Button","bodyStyled.StyledBody","bodyStyled.StyledBodyContent","bodyStyled.StyledGridContent","bodyStyled.StyledBodyContentLeft","bodyStyled.StyledBodyContentRight","bodyStyled.StyledClearContent"],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -217,28 +217,28 @@ declare const StyledCalendar: React.ForwardRefExoticComponent<Pick<Omit<{}, neve
217
217
  readonly 'icon-400': "32px";
218
218
  };
219
219
  space: {
220
- readonly none: 0;
220
+ readonly 0: 0;
221
221
  readonly 50: "4px";
222
222
  readonly 100: "8px";
223
223
  readonly 150: "12px";
224
224
  readonly 200: "16px";
225
225
  readonly 300: "24px";
226
226
  readonly 400: "32px";
227
- readonly 500: "64px";
227
+ readonly 500: "40px";
228
228
  readonly 600: "48px";
229
229
  readonly 800: "64px";
230
230
  readonly 1200: "96px";
231
231
  readonly 1600: "128px";
232
232
  };
233
233
  'space-gap': {
234
- readonly none: any;
234
+ readonly 0: any;
235
235
  readonly 50: any;
236
236
  readonly 100: any;
237
237
  readonly 200: any;
238
238
  readonly 300: any;
239
239
  };
240
240
  'space-inset': {
241
- readonly none: any;
241
+ readonly 0: any;
242
242
  readonly 50: any;
243
243
  readonly 100: any;
244
244
  readonly 150: any;
@@ -251,7 +251,7 @@ declare const StyledCalendar: React.ForwardRefExoticComponent<Pick<Omit<{}, neve
251
251
  readonly 1600: any;
252
252
  };
253
253
  'space-offset': {
254
- readonly none: any;
254
+ readonly 0: any;
255
255
  readonly 50: any;
256
256
  readonly 100: any;
257
257
  readonly 150: any;
@@ -262,7 +262,7 @@ declare const StyledCalendar: React.ForwardRefExoticComponent<Pick<Omit<{}, neve
262
262
  readonly 800: any;
263
263
  readonly 1200: any;
264
264
  readonly 1600: any;
265
- readonly 'stacking-none': any;
265
+ readonly 'stacking-0': any;
266
266
  readonly 'stacking-100': any;
267
267
  readonly 'stacking-200': any;
268
268
  readonly 'stacking-300': any;
@@ -498,7 +498,7 @@ interface CalendarProps extends Omit<StyledCalendarProps, 'defaultValue' | 'onCh
498
498
  /**
499
499
  * Clear button string
500
500
  */
501
- clearString?: string;
501
+ clearButtonText?: string;
502
502
  /**
503
503
  * Calendar open by default
504
504
  */
@@ -512,6 +512,6 @@ interface CalendarProps extends Omit<StyledCalendarProps, 'defaultValue' | 'onCh
512
512
  */
513
513
  onChange?: (value: DateRange | DateValue) => void;
514
514
  }
515
- declare const Calendar: React.ForwardRefExoticComponent<Pick<CalendarProps, "slot" | "title" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "asChild" | "css" | "UNSAFE_style" | "defaultOpen" | "visibleMonths" | "picker" | "predefinedRanges" | "minDate" | "maxDate" | "clearString" | "onClear"> & React.RefAttributes<HTMLDivElement>>;
515
+ declare const Calendar: React.ForwardRefExoticComponent<Pick<CalendarProps, "slot" | "title" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "asChild" | "css" | "UNSAFE_style" | "defaultOpen" | "visibleMonths" | "picker" | "predefinedRanges" | "minDate" | "maxDate" | "clearButtonText" | "onClear"> & React.RefAttributes<HTMLDivElement>>;
516
516
 
517
517
  export { Calendar, PredefinedRange as CalendarPredefinedRange, CalendarProps };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirohq/design-system-calendar",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "",
5
5
  "author": "Miro",
6
6
  "source": "src/index.ts",
@@ -29,11 +29,11 @@
29
29
  "@internationalized/date": "^3.2.0",
30
30
  "react-aria": "^3.25.0",
31
31
  "react-stately": "^3.23.0",
32
- "@mirohq/design-system-primitive": "^1.1.0",
32
+ "@mirohq/design-system-button": "^3.1.1",
33
+ "@mirohq/design-system-icons": "^0.23.1",
34
+ "@mirohq/design-system-flex": "^2.1.12",
33
35
  "@mirohq/design-system-stitches": "^2.3.2",
34
- "@mirohq/design-system-icons": "^0.24.4",
35
- "@mirohq/design-system-flex": "^2.1.13",
36
- "@mirohq/design-system-button": "^3.1.3"
36
+ "@mirohq/design-system-primitive": "^1.1.0"
37
37
  },
38
38
  "scripts": {
39
39
  "build": "rollup -c ../../../rollup.config.js",