@mirohq/design-system-calendar 0.1.26 → 0.1.28

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
@@ -157,30 +157,32 @@ const Popover = (props) => {
157
157
  ] });
158
158
  };
159
159
 
160
- const StyledRangePicker = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
161
- display: "inline-block"
162
- });
163
- const StyledRangePickerInput$1 = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
160
+ const StyledPickerInput = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
164
161
  display: "flex",
165
162
  alignItems: "center",
166
- padding: "$100",
167
163
  paddingLeft: "$150",
164
+ paddingRight: "$100",
168
165
  border: "1px solid $border-neutrals",
169
166
  borderRadius: "$50",
170
167
  background: "$background-neutrals",
171
168
  color: "$text-neutrals",
172
169
  minWidth: "230px",
170
+ boxSizing: "border-box",
173
171
  "&:hover": {
174
172
  border: "1px solid $border-primary-hover",
175
173
  cursor: "pointer"
176
174
  }
177
175
  });
178
- const StyledRangePickerInputContent$1 = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
176
+ const StyledPickerInputContent = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
179
177
  display: "flex",
180
178
  alignItems: "center",
181
179
  fontSize: "$200",
182
180
  lineHeight: "24px",
183
- width: "100%"
181
+ width: "100%",
182
+ height: "48px"
183
+ });
184
+ const StyledPicker = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
185
+ display: "inline-block"
184
186
  });
185
187
 
186
188
  const StyledPredefinedRanges = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
@@ -489,8 +491,8 @@ const RangePicker = React__default["default"].forwardRef((props, forwardRef) =>
489
491
  state.close();
490
492
  }
491
493
  };
492
- return /* @__PURE__ */ jsxRuntime.jsxs(StyledRangePicker, { ref: forwardRef, children: [
493
- children === void 0 && /* @__PURE__ */ jsxRuntime.jsx(StyledRangePickerInput$1, { ...groupProps, ref, children: /* @__PURE__ */ jsxRuntime.jsxs(StyledRangePickerInputContent$1, { children: [
494
+ return /* @__PURE__ */ jsxRuntime.jsxs(StyledPicker, { ref: forwardRef, children: [
495
+ children === void 0 && /* @__PURE__ */ jsxRuntime.jsx(StyledPickerInput, { ...groupProps, ref, children: /* @__PURE__ */ jsxRuntime.jsxs(StyledPickerInputContent, { children: [
494
496
  /* @__PURE__ */ jsxRuntime.jsx(TextField, { ...startFieldProps }),
495
497
  /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: "\u2013" }),
496
498
  /* @__PURE__ */ jsxRuntime.jsx(TextField, { ...endFieldProps }),
@@ -541,32 +543,6 @@ const RangePicker = React__default["default"].forwardRef((props, forwardRef) =>
541
543
  ] });
542
544
  });
543
545
 
544
- const StyledRangePickerInput = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
545
- display: "flex",
546
- alignItems: "center",
547
- padding: "$100",
548
- paddingLeft: "$150",
549
- border: "1px solid $border-neutrals",
550
- borderRadius: "$50",
551
- background: "$background-neutrals",
552
- color: "$text-neutrals",
553
- minWidth: "230px",
554
- "&:hover": {
555
- border: "1px solid $border-primary-hover",
556
- cursor: "pointer"
557
- }
558
- });
559
- const StyledRangePickerInputContent = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
560
- display: "flex",
561
- alignItems: "center",
562
- fontSize: "$200",
563
- lineHeight: "24px",
564
- width: "100%"
565
- });
566
- const StyledDatePicker = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
567
- display: "inline-block"
568
- });
569
-
570
546
  const DatePickerBody = React__default["default"].forwardRef((props, forwardRef) => {
571
547
  const {
572
548
  predefinedRanges,
@@ -651,8 +627,8 @@ const DatePicker = React__default["default"].forwardRef((props, forwardRef) => {
651
627
  onClear();
652
628
  }
653
629
  };
654
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: picker === "single" ? /* @__PURE__ */ jsxRuntime.jsxs(StyledDatePicker, { ref: forwardRef, children: [
655
- children === void 0 && /* @__PURE__ */ jsxRuntime.jsx(StyledRangePickerInput, { ...groupProps, ref, children: /* @__PURE__ */ jsxRuntime.jsxs(StyledRangePickerInputContent, { children: [
630
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: picker === "single" ? /* @__PURE__ */ jsxRuntime.jsxs(StyledPicker, { ref: forwardRef, children: [
631
+ children === void 0 && /* @__PURE__ */ jsxRuntime.jsx(StyledPickerInput, { ...groupProps, ref, children: /* @__PURE__ */ jsxRuntime.jsxs(StyledPickerInputContent, { children: [
656
632
  /* @__PURE__ */ jsxRuntime.jsx(TextField, { ...fieldProps }),
657
633
  /* @__PURE__ */ jsxRuntime.jsx(designSystemFlex.Flex, { css: { marginLeft: "auto" }, children: /* @__PURE__ */ jsxRuntime.jsx(FieldButton, { ...buttonProps, children: /* @__PURE__ */ jsxRuntime.jsx(designSystemIcons.IconCalendarBlank, {}) }) })
658
634
  ] }) }),
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.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-types/datepicker'\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?: DateValue\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: DateValue\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","jsxs","jsx","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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"}
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/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-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 StyledPickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n paddingLeft: '$150',\n paddingRight: '$100',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n boxSizing: 'border-box',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledPickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n height: '48px',\n})\n\nexport const StyledPicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport type StyledDatePickerProps = ComponentPropsWithRef<typeof StyledPicker>\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-types/datepicker'\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 StyledPicker,\n StyledPickerInput,\n StyledPickerInputContent,\n} from './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 StyledPicker>,\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 <StyledPicker ref={forwardRef}>\n {children === undefined && (\n <StyledPickerInput {...groupProps} ref={ref}>\n <StyledPickerInputContent>\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 </StyledPickerInputContent>\n </StyledPickerInput>\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 </StyledPicker>\n )\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 StyledPicker,\n StyledPickerInput,\n StyledPickerInputContent,\n} from './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 StyledPicker>,\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 <StyledPicker ref={forwardRef}>\n {children === undefined && (\n <StyledPickerInput {...groupProps} ref={ref}>\n <StyledPickerInputContent>\n <TextField {...fieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledPickerInputContent>\n </StyledPickerInput>\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 </StyledPicker>\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?: DateValue\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: DateValue\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","jsxs","jsx","React","useLocale","useDateFieldState","createCalendar","useDateField","Flex","useButton","useFocusRing","mergeProps","useDialog","usePopover","Overlay","DismissButton","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIa,MAAA,iBAAA,GAAoBA,2BAAO,CAAAC,+BAAA,CAAU,GAAK,EAAA;AAAA,EACrD,KAAO,EAAA,uBAAA;AAAA,EAEP,eAAiB,EAAA;AAAA,IACf,KAAO,EAAA,gBAAA;AAAA,GACT;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,aAAe,EAAA,MAAA;AAAA,IAEf,qBAAuB,EAAA;AAAA,MACrB,OAAS,EAAA,MAAA;AAAA,MACT,MAAQ,EAAA,GAAA;AAAA,MACR,KAAO,EAAA,uBAAA;AAAA,KACT;AAAA,GACF;AACF,CAAC,CAAA;;ACHD,MAAM,gBAA+C,GAAA,CAAC,EAAE,OAAA,EAAS,OAAY,KAAA;AAC3E,EAAM,MAAA,GAAA,GAAMC,aAAO,IAAI,CAAA,CAAA;AACvB,EAAA,MAAM,EAAE,YAAa,EAAA,GAAIC,wBAAe,CAAA,OAAA,EAAS,OAAO,GAAG,CAAA,CAAA;AAE3D,EACE,uBAAAC,eAAA;AAAA,IAAC,iBAAA;AAAA,IAAA;AAAA,MACE,GAAG,YAAA;AAAA,MACJ,GAAA;AAAA,MACA,YAAY,EAAA,KAAA,CAAM,KAAU,KAAA,IAAA,GAAO,EAAK,GAAA,KAAA,CAAA;AAAA,MAGxC,QAAA,EAAA;AAAA,wBAAAC,cAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,aAAY,EAAA,MAAA;AAAA,YACZ,kBAAkB,EAAA,CAAC,OAAQ,CAAA,aAAA,GAAgB,EAAK,GAAA,KAAA,CAAA;AAAA,YAE/C,QAAQ,EAAA,OAAA,CAAA,WAAA;AAAA,WAAA;AAAA,SACX;AAAA,QACC,OAAA,CAAQ,aAAgB,GAAA,EAAA,GAAK,OAAQ,CAAA,IAAA;AAAA,OAAA;AAAA,KAAA;AAAA,GACxC,CAAA;AAEJ,CAAA,CAAA;AAEO,MAAM,SAAY,GAAAC,yBAAA,CAAM,UAG7B,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAM,MAAA,GAAA,GAAMJ,aAAO,IAAI,CAAA,CAAA;AACvB,EAAM,MAAA,EAAE,MAAO,EAAA,GAAIK,mBAAU,EAAA,CAAA;AAC7B,EAAA,MAAM,QAAQC,8BAAkB,CAAA;AAAA,IAC9B,GAAG,KAAA;AAAA,IACH,UAAY,EAAA,IAAA;AAAA,IACZ,MAAA;AAAA,oBACAC,mBAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,EAAE,UAAW,EAAA,GAAIC,sBAAa,CAAA,KAAA,EAAO,OAAO,GAAG,CAAA,CAAA;AAErD,EAAA,sCACGC,qBAAM,EAAA,EAAA,GAAG,YAAY,GAAK,EAAA,UAAA,EACxB,gBAAM,QAAS,CAAA,GAAA,CAAI,CAAC,OAAA,EAAS,sBAC3BN,cAAA,CAAA,gBAAA,EAAA,EAAyB,SAAkB,KAArB,EAAA,EAAA,CAAmC,CAC3D,CACH,EAAA,CAAA,CAAA;AAEJ,CAAC,CAAA;;ACzDY,MAAA,YAAA,GAAeL,2BAAO,CAAAC,+BAAA,CAAU,MAAQ,EAAA;AAAA,EACnD,OAAS,EAAA,GAAA;AAAA,EACT,eAAiB,EAAA,cAAA;AAAA,EACjB,MAAQ,EAAA,MAAA;AAAA,EACR,MAAQ,EAAA,SAAA;AAAA,EACR,KAAO,EAAA,gBAAA;AAAA,EAEP,aAAe,EAAA;AAAA,IACb,MAAQ,EAAA,aAAA;AAAA,GACV;AACF,CAAC,CAAA,CAAA;AAIY,MAAA,iBAAA,GAAoBD,2BAAO,CAAAC,+BAAA,CAAU,MAAQ,EAAA;AAAA,EACxD,OAAS,EAAA,GAAA;AAAA,EACT,eAAiB,EAAA,cAAA;AAAA,EACjB,MAAQ,EAAA,MAAA;AAAA,EACR,MAAQ,EAAA,SAAA;AAAA,EACR,MAAQ,EAAA,MAAA;AAAA,EAER,aAAe,EAAA;AAAA,IACb,MAAQ,EAAA,aAAA;AAAA,GACV;AAAA,EAEA,OAAS,EAAA;AAAA,IACP,KAAO,EAAA,uBAAA;AAAA,IACP,MAAQ,EAAA,MAAA;AAAA,GACV;AAAA,EAEA,gBAAkB,EAAA;AAAA,IAChB,KAAO,EAAA,MAAA;AAAA,IACP,MAAQ,EAAA,OAAA;AAAA,GACV;AACF,CAAC,CAAA;;AC3BM,MAAM,MAAS,GAAAK,yBAAA,CAAM,UAG1B,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAA,MAAM,EAAE,WAAA,EAAgB,GAAAM,mBAAA,CAAU,OAAO,UAAgC,CAAA,CAAA;AACzE,EAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,sBAAa,EAAA,CAAA;AACpC,EAAM,MAAA,EAAE,UAAa,GAAA,KAAA,CAAA;AACrB,EACE,uBAAAR,cAAA,CAAC,gBAAc,GAAGS,oBAAA,CAAW,aAAa,UAAU,CAAA,EAAG,GAAK,EAAA,UAAA,EACzD,QACH,EAAA,CAAA,CAAA;AAEJ,CAAC,CAAA,CAAA;AAEM,MAAM,WAAc,GAAAR,yBAAA,CAAM,UAG/B,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAA,MAAM,EAAE,WAAA,EAAgB,GAAAM,mBAAA,CAAU,OAAO,UAAgC,CAAA,CAAA;AACzE,EAAA,MAAM,EAAE,YAAA,GAAe,KAAO,EAAA,QAAA,EAAa,GAAA,KAAA,CAAA;AAC3C,EACE,uBAAAP,cAAA;AAAA,IAAC,iBAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAa,eAAe,EAAK,GAAA,KAAA,CAAA;AAAA,MAChC,GAAG,WAAA;AAAA,MACJ,GAAK,EAAA,UAAA;AAAA,MAEJ,QAAA;AAAA,KAAA;AAAA,GACH,CAAA;AAEJ,CAAC,CAAA;;AClCM,MAAM,UAKR,CAAS,KAAA,KAAA;AACZ,EAAM,MAAA,GAAA,GAAMC,gBAAM,CAAA,MAAA,CAAO,IAAI,CAAA,CAAA;AAC7B,EAAM,MAAA,EAAE,KAAO,EAAA,QAAA,EAAa,GAAA,KAAA,CAAA;AAC5B,EAAA,MAAM,EAAE,WAAA,EAAgB,GAAAS,mBAAA,CAAU,OAA0B,GAAG,CAAA,CAAA;AAE/D,EAAM,MAAA,EAAE,YAAc,EAAA,aAAA,EAAkB,GAAAC,oBAAA;AAAA,IACtC;AAAA,MACE,GAAG,KAAA;AAAA,MACH,UAAY,EAAA,GAAA;AAAA,KACd;AAAA,IACA,KAAA;AAAA,GACF,CAAA;AAEA,EAAA,uCACGC,iBACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAACZ,cAAA,CAAA,KAAA,EAAA,EAAK,GAAG,aAAe,EAAA,CAAA;AAAA,oBACvBD,eAAA,CAAA,KAAA,EAAA,EAAK,GAAG,YAAA,EAAc,GACrB,EAAA,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAAa,uBAAA,EAAA,EAAc,SAAW,EAAA,KAAA,CAAM,KAAO,EAAA,CAAA;AAAA,sBACtCb,cAAA,CAAA,KAAA,EAAA,EAAK,GAAG,WAAA,EAAa,KACnB,QACH,EAAA,CAAA;AAAA,sBACCA,cAAA,CAAAa,uBAAA,EAAA,EAAc,SAAW,EAAA,KAAA,CAAM,KAAO,EAAA,CAAA;AAAA,KACzC,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,CAAA;;AChCa,MAAA,iBAAA,GAAoBlB,2BAAO,CAAAC,+BAAA,CAAU,GAAK,EAAA;AAAA,EACrD,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,WAAa,EAAA,MAAA;AAAA,EACb,YAAc,EAAA,MAAA;AAAA,EACd,MAAQ,EAAA,4BAAA;AAAA,EACR,YAAc,EAAA,KAAA;AAAA,EACd,UAAY,EAAA,sBAAA;AAAA,EACZ,KAAO,EAAA,gBAAA;AAAA,EACP,QAAU,EAAA,OAAA;AAAA,EACV,SAAW,EAAA,YAAA;AAAA,EAEX,SAAW,EAAA;AAAA,IACT,MAAQ,EAAA,iCAAA;AAAA,IACR,MAAQ,EAAA,SAAA;AAAA,GACV;AACF,CAAC,CAAA,CAAA;AAEY,MAAA,wBAAA,GAA2BD,2BAAO,CAAAC,+BAAA,CAAU,GAAK,EAAA;AAAA,EAC5D,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,QAAU,EAAA,MAAA;AAAA,EACV,UAAY,EAAA,MAAA;AAAA,EACZ,KAAO,EAAA,MAAA;AAAA,EACP,MAAQ,EAAA,MAAA;AACV,CAAC,CAAA,CAAA;AAEY,MAAA,YAAA,GAAeD,2BAAO,CAAAC,+BAAA,CAAU,GAAK,EAAA;AAAA,EAChD,OAAS,EAAA,cAAA;AACX,CAAC,CAAA;;AC7BY,MAAA,sBAAA,GAAyBD,2BAAO,CAAAC,+BAAA,CAAU,GAAK,EAAA;AAAA,EAC1D,OAAS,EAAA,MAAA;AAAA,EACT,aAAe,EAAA,QAAA;AAAA,EACf,WAAa,EAAA,4BAAA;AAAA,EACb,OAAS,EAAA,kBAAA;AAAA,EAET,UAAY,EAAA;AAAA,IACV,eAAiB,EAAA,cAAA;AAAA,IACjB,MAAQ,EAAA,MAAA;AAAA,IACR,QAAU,EAAA,MAAA;AAAA,IACV,OAAS,EAAA,YAAA;AAAA,IACT,SAAW,EAAA,MAAA;AAAA,IACX,UAAY,EAAA,MAAA;AAAA,IACZ,KAAO,EAAA,gBAAA;AAAA,IACP,YAAc,EAAA,MAAA;AAAA,IACd,YAAc,EAAA,KAAA;AAAA,IACd,QAAU,EAAA,OAAA;AAAA,IACV,MAAQ,EAAA,SAAA;AAAA,IAER,SAAW,EAAA;AAAA,MACT,eAAiB,EAAA,qCAAA;AAAA,MACjB,KAAO,EAAA,wBAAA;AAAA,MACP,UAAY,EAAA,KAAA;AAAA,KACd;AAAA,GACF;AACF,CAAC,CAAA;;ACTM,MAAM,mBAAmBK,yBAAM,CAAA,UAAA,CAGpC,CAAC,EAAE,OAAO,OAAQ,EAAA,EAAG,UACrB,qBAAAD,cAAA,CAAC,0BAAuB,GAAK,EAAA,UAAA,EAC1B,yCAAO,GAAI,CAAA,CAAC,MAAM,CACjB,qBAAAA,cAAA;AAAA,EAACc,yBAAA;AAAA,EAAA;AAAA,IACC,OAAQ,EAAA,iBAAA;AAAA,IACR,IAAK,EAAA,QAAA;AAAA,IAEL,IAAK,EAAA,QAAA;AAAA,IACL,OAAA,EAAS,MAAM,OAAA,CAAQ,IAAI,CAAA;AAAA,IAE1B,QAAK,EAAA,IAAA,CAAA,KAAA;AAAA,GAAA;AAAA,EAJD,CAAA;AAKP,CAAA,CAAA,EAEJ,CACD,CAAA;;AChCY,MAAA,UAAA,GAAanB,2BAAO,CAAAC,+BAAA,CAAU,GAAK,EAAA;AAAA,EAC9C,OAAS,EAAA,cAAA;AAAA,EACT,UAAY,EAAA,sBAAA;AACd,CAAC,CAAA,CAAA;AAEY,MAAA,iBAAA,GAAoBD,4BAAOW,qBAAM,EAAA;AAAA,EAC5C,MAAQ,EAAA,QAAA;AAAA,EACR,SAAW,EAAA,MAAA;AAAA,EACX,UAAY,EAAA,sBAAA;AAAA,EACZ,YAAc,EAAA,MAAA;AAChB,CAAC,CAAA,CAAA;AAEY,MAAA,iBAAA,GAAoBX,4BAAOW,qBAAM,EAAA;AAAA,EAC5C,aAAe,EAAA,MAAA;AAAA,EAEf,wBAA0B,EAAA;AAAA,IACxB,WAAa,EAAA,MAAA;AAAA,IACb,YAAc,EAAA,MAAA;AAAA,GAChB;AAAA,EAEA,yBAA2B,EAAA;AAAA,IACzB,WAAa,EAAA,MAAA;AAAA,IACb,YAAc,EAAA,MAAA;AAAA,GAChB;AACF,CAAC,CAAA,CAAA;AAEY,MAAA,qBAAA,GAAwBX,2BAAO,CAAAC,+BAAA,CAAU,GAAK,EAAA;AAAA,EACzD,WAAa,EAAA,MAAA;AAAA,EACb,YAAc,EAAA,MAAA;AAChB,CAAC,CAAA,CAAA;AAEY,MAAA,sBAAA,GAAyBD,2BAAO,CAAAC,+BAAA,CAAU,GAAK,EAAA;AAAA,EAC1D,WAAa,EAAA,MAAA;AAAA,EACb,YAAc,EAAA,MAAA;AAChB,CAAC,CAAA,CAAA;AAEY,MAAA,kBAAA,GAAqBD,2BAAO,CAAAC,+BAAA,CAAU,GAAK,EAAA;AAAA,EACtD,OAAS,EAAA,MAAA;AAAA,EACT,SAAW,EAAA,4BAAA;AACb,CAAC,CAAA;;ACzCY,MAAA,iBAAA,GAAoBD,4BAAOW,qBAAM,EAAA;AAAA,EAC5C,cAAgB,EAAA,QAAA;AAAA,EAChB,IAAM,EAAA,GAAA;AAAA,EACN,KAAO,EAAA,gBAAA;AACT,CAAC,CAAA,CAAA;AAEY,MAAA,YAAA,GAAeX,4BAAOW,qBAAM,EAAA;AAAA,EACvC,OAAS,EAAA,QAAA;AAAA,EACT,KAAO,EAAA,gBAAA;AACT,CAAC,CAAA;;ACKM,MAAM,SAA4B,CAAC;AAAA,EACxC,KAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA,aAAA;AACF,CAAM,KAAA;AACJ,EAAA,MAAM,qBAAqBS,0BAAiB,CAAA;AAAA,IAC1C,KAAO,EAAA,MAAA;AAAA,IACP,IAAM,EAAA,SAAA;AAAA,IACN,UAAU,KAAM,CAAA,QAAA;AAAA,GACjB,CAAA,CAAA;AAED,EAAA,uCACG,YACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAAf,cAAA,CAAC,MAAQ,EAAA,EAAA,GAAG,eACV,EAAA,QAAA,kBAAAA,cAAA,CAACgB,qCAAgB,CACnB,EAAA,CAAA;AAAA,oBACChB,cAAA,CAAA,iBAAA,EAAA,EACC,QAAC,kBAAAA,cAAA,CAAA,IAAA,EAAA,EACE,QAAmB,EAAA,kBAAA,CAAA,MAAA;AAAA,MAClB,KAAM,CAAA,YAAA,CAAa,KAAM,CAAA,MAAA,CAAO,MAAM,QAAQ,CAAA;AAAA,OAElD,CACF,EAAA,CAAA;AAAA,IACC,kBAAkB,KACjB,CAAA,oBAAAA,cAAA,CAAC,iBACC,EAAA,EAAA,QAAA,kBAAAA,cAAA,CAAC,QACE,QAAmB,EAAA,kBAAA,CAAA,MAAA;AAAA,MAClB,KAAA,CAAM,YAAa,CAAA,KAAA,CAAM,GAAI,CAAA,EAAE,MAAQ,EAAA,CAAA,EAAG,CAAA,CAAE,MAAO,CAAA,KAAA,CAAM,QAAQ,CAAA;AAAA,OAErE,CACF,EAAA,CAAA;AAAA,mCAED,MAAQ,EAAA,EAAA,GAAG,eACV,EAAA,QAAA,kBAAAA,cAAA,CAACiB,sCAAiB,CACpB,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,CAAA;;ACnDa,MAAA,iBAAA,GAAoBtB,2BAAO,CAAAC,+BAAA,CAAU,GAAK,EAAA;AAAA,EACrD,MAAQ,EAAA,MAAA;AAAA,EACR,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,cAAgB,EAAA,QAAA;AAAA,EAChB,YAAc,EAAA,KAAA;AAAA,EACd,KAAO,EAAA,gBAAA;AAAA,EAEP,eAAiB,EAAA;AAAA,IACf,KAAO,EAAA,eAAA;AAAA,GACT;AAAA,EAEA,iBAAmB,EAAA;AAAA,IACjB,KAAO,EAAA,uBAAA;AAAA,GACT;AAAA,EAEA,yBAA2B,EAAA;AAAA,IACzB,KAAO,EAAA,gBAAA;AAAA,GACT;AAAA,EAEA,mBAAqB,EAAA;AAAA,IACnB,YAAc,EAAA,KAAA;AAAA,IACd,UAAY,EAAA,wCAAA;AAAA,IACZ,KAAO,EAAA,wBAAA;AAAA,IACP,UAAY,EAAA,KAAA;AAAA,GACd;AAAA,EAEA,kBAAoB,EAAA;AAAA,IAClB,cAAgB,EAAA,cAAA;AAAA,IAChB,KAAO,EAAA,yBAAA;AAAA,GACT;AACF,CAAC,CAAA,CAAA;AAEY,MAAA,UAAA,GAAaD,2BAAO,CAAAC,+BAAA,CAAU,GAAK,EAAA;AAAA,EAC9C,MAAQ,EAAA,MAAA;AAAA,EACR,MAAQ,EAAA,SAAA;AAAA,EACR,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,cAAgB,EAAA,QAAA;AAAA,EAEhB,SAAW,EAAA;AAAA,IACT,UAAY,EAAA,kCAAA;AAAA,IAEZ,CAAC,IAAK,CAAA,MAAA,CAAA,iBAAA,CAAmB,GAAG;AAAA,MAC1B,UAAY,EAAA,qCAAA;AAAA,MACZ,KAAO,EAAA,wBAAA;AAAA,KACT;AAAA,GACF;AAAA,EAEA,kBAAoB,EAAA;AAAA,IAClB,UAAY,EAAA,kCAAA;AAAA,GACd;AAAA,EAEA,yBAA2B,EAAA;AAAA,IACzB,sBAAwB,EAAA,KAAA;AAAA,IACxB,mBAAqB,EAAA,KAAA;AAAA,GACvB;AAAA,EAEA,uBAAyB,EAAA;AAAA,IACvB,uBAAyB,EAAA,KAAA;AAAA,IACzB,oBAAsB,EAAA,KAAA;AAAA,GACxB;AAAA,EAEA,gBAAkB,EAAA;AAAA,IAChB,OAAS,EAAA,MAAA;AAAA,GACX;AAAA,EAEA,kBAAoB,EAAA;AAAA,IAClB,MAAQ,EAAA,aAAA;AAAA,IAER,SAAW,EAAA;AAAA,MACT,eAAiB,EAAA,cAAA;AAAA,MAEjB,CAAC,IAAK,CAAA,MAAA,CAAA,iBAAA,CAAmB,GAAG;AAAA,QAC1B,eAAiB,EAAA,cAAA;AAAA,QACjB,KAAO,EAAA,yBAAA;AAAA,OACT;AAAA,KACF;AAAA,GACF;AACF,CAAC,CAAA;;ACvDM,MAAM,OAAOK,yBAAM,CAAA,UAAA;AAAA,EACxB,CAAC,OAAO,UAAe,KAAA;AACrB,IAAA,MAAM,EAAE,KAAA,QAAOiB,MAAM,EAAA,YAAA,EAAiB,GAAA,KAAA,CAAA;AACtC,IAAM,MAAA,GAAA,GAAMrB,aAAO,IAAI,CAAA,CAAA;AACvB,IAAA,MAAM,EAAE,SAAA,EAAW,WAAa,EAAA,UAAA,EAAY,UAAY,EAAA,aAAA,EACtD,GAAAsB,yBAAA,CAAgB,QAAED,MAAA,EAAQ,EAAA,KAAA,EAAO,GAAG,CAAA,CAAA;AAEtC,IAAA,MAAM,cAAiB,GAAA,CAACE,gBAAY,CAAA,YAAA,EAAcF,MAAI,CAAA,CAAA;AAItD,IAAA,MAAM,gBACH,GAAA,KAAA,CAA6B,gBAAqB,KAAA,KAAA,CAAA,IAClD,KAA6B,CAAA,gBAAA,KAAqB,IAC/C,GAAAG,cAAA,CAAUH,MAAO,EAAA,KAAA,CAA6B,gBAAiB,CAAA,KAAK,CACpE,GAAA,UAAA,CAAA;AACN,IAAA,MAAM,cACH,GAAA,KAAA,CAA6B,gBAAqB,KAAA,KAAA,CAAA,IAClD,KAA6B,CAAA,gBAAA,KAAqB,IAC/C,GAAAG,cAAA,CAAUH,MAAO,EAAA,KAAA,CAA6B,gBAAiB,CAAA,GAAG,CAClE,GAAA,UAAA,CAAA;AAMN,IAAM,MAAA,EAAE,MAAO,EAAA,GAAIhB,mBAAU,EAAA,CAAA;AAC7B,IAAM,MAAA,SAAA,GAAYoB,iBAAa,CAAAJ,MAAA,EAAM,MAAM,CAAA,CAAA;AAC3C,IAAM,MAAA,YAAA,GAAeK,cAAU,CAAAL,MAAA,EAAM,MAAM,CAAA,CAAA;AAC3C,IAAA,MAAM,gBACJ,UAAe,KAAA,gBAAA,IAAoB,SAAc,KAAA,CAAA,IAAKA,OAAK,GAAQ,KAAA,CAAA,CAAA,CAAA;AACrE,IAAM,MAAA,cAAA,GACJ,UACC,KAAA,cAAA,IACC,SAAc,KAAA,CAAA,IACdA,OAAK,GAAQ,KAAAA,MAAA,CAAK,QAAS,CAAA,cAAA,CAAeA,MAAI,CAAA,CAAA,CAAA;AAElD,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIV,sBAAa,EAAA,CAAA;AAEpC,IACE,uBAAAR,cAAA,CAAC,IAAI,EAAA,EAAA,GAAG,SACN,EAAA,QAAA,kBAAAA,cAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACE,GAAGS,oBAAW,CAAA,WAAA,EAAa,UAAU,CAAA;AAAA,QACtC,GAAK,EAAA,UAAA;AAAA,QACL,eAAA,EAAe,aAAa,EAAK,GAAA,KAAA,CAAA;AAAA,QACjC,sBAAA,EAAsB,gBAAgB,EAAK,GAAA,KAAA,CAAA;AAAA,QAC3C,oBAAA,EAAoB,iBAAiB,EAAK,GAAA,KAAA,CAAA;AAAA,QAC1C,eAAA,EAAe,aAAa,EAAK,GAAA,KAAA,CAAA;AAAA,QACjC,aAAA,EAAa,iBAAiB,EAAK,GAAA,KAAA,CAAA;AAAA,QAEnC,QAAA,kBAAAT,cAAA;AAAA,UAAC,iBAAA;AAAA,UAAA;AAAA,YACC,sBACE,EAAA,UAAA,IAAc,EAAE,gBAAA,IAAoB,kBAChC,EACA,GAAA,KAAA,CAAA;AAAA,YAEN,gBAAA,EAAgB,gBAAoB,IAAA,cAAA,GAAiB,EAAK,GAAA,KAAA,CAAA;AAAA,YAC1D,eAAA,EAAe,aAAa,EAAK,GAAA,KAAA,CAAA;AAAA,YACjC,cAAYwB,YAAQ,CAAAN,MAAA,EAAMO,qBAAiB,EAAC,IAAI,EAAK,GAAA,KAAA,CAAA;AAAA,YACrD,cAAA,EAAc,eAAe,EAAK,GAAA,KAAA,CAAA;AAAA,YAEjC,QAAA,EAAA,aAAA;AAAA,WAAA;AAAA,SACH;AAAA,OAAA;AAAA,KAEJ,EAAA,CAAA,CAAA;AAAA,GAEJ;AACF,CAAA;;AC3Fa,MAAA,UAAA,GAAa9B,2BAAO,CAAAC,+BAAA,CAAU,KAAO,EAAA;AAAA,EAChD,cAAgB,EAAA,UAAA;AAAA,EAChB,aAAe,EAAA,QAAA;AACjB,CAAC,CAAA,CAAA;AAEY,MAAA,UAAA,GAAaD,2BAAO,CAAAC,+BAAA,CAAU,EAAI,EAAA;AAAA,EAC7C,MAAQ,EAAA,MAAA;AAAA,EACR,KAAO,EAAA,gBAAA;AACT,CAAC,CAAA;;ACMM,MAAM,OAAOK,yBAAM,CAAA,UAAA;AAAA,EACxB,CAAC,OAAO,UAAe,KAAA;AACrB,IAAM,MAAA,EAAE,MAAO,EAAA,GAAIC,mBAAU,EAAA,CAAA;AAC7B,IAAA,MAAM,EAAE,KAAA,EAAO,MAAS,GAAA,IAAO,GAAA,KAAA,CAAA;AAC/B,IAAA,MAAM,SAA0B,GAAA,KAAA,CAAM,YAAa,CAAA,KAAA,CAAM,IAAI,MAAM,CAAA,CAAA;AACnE,IAAA,MAAM,EAAE,SAAA,EAAW,WAAa,EAAA,QAAA,EAAa,GAAAwB,yBAAA;AAAA,MAC3C,KAAA;AAAA,MACA,KAAA;AAAA,KACF,CAAA;AAGA,IAAM,MAAA,YAAA,GAAeC,oBAAgB,CAAA,SAAA,EAAW,MAAM,CAAA,CAAA;AAEtD,IAAA,uCACG,UAAW,EAAA,EAAA,GAAA,EAAK,YAAa,GAAG,SAAA,EAAW,aAAY,GACtD,EAAA,QAAA,EAAA;AAAA,sBAAA3B,cAAA,CAAC,WAAO,GAAG,WAAA,EACT,yCAAC,IACE,EAAA,EAAA,QAAA,EAAA,QAAA,CAAS,IAAI,CAAC,GAAA,EAAK,sBACjBA,cAAA,CAAA,UAAA,EAAA,EACC,yCAAC,KAAK,EAAA,EAAA,QAAA,EAAA,GAAA,EAAI,KADK,CAEjB,CACD,GACH,CACF,EAAA,CAAA;AAAA,qCACC,OACE,EAAA,EAAA,QAAA,EAAA,KAAA,CAAM,KAAK,KAAM,CAAA,YAAY,EAAE,IAAK,EAAC,CAAE,CAAA,GAAA,CAAI,+BACzCA,cAAA,CAAA,IAAA,EAAA,EACE,gBACE,cAAe,CAAA,SAAA,EAAW,SAAS,CACnC,CAAA,GAAA;AAAA,QAAI,CAAC,IAAA,EAA2B,CAC/B,KAAA,IAAA,KAAS,IACP,mBAAAA,cAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YAEC,KAAA;AAAA,YACA,IAAA;AAAA,YACA,YAAc,EAAA,SAAA;AAAA,WAAA;AAAA,UAHT,CAAA;AAAA,SAIP,mBAECA,cAAA,CAAA,IAAA,EAAA,EAAA,EAAQ,CAAG,CAAA;AAAA,OAEhB,EAAA,EAdK,SAeT,CACD,CACH,EAAA,CAAA;AAAA,KACF,EAAA,CAAA,CAAA;AAAA,GAEJ;AACF,CAAA;;AC3BO,MAAM,WAAc,GAAAC,yBAAA,CAAM,UAG/B,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAM,MAAA;AAAA,IACJ,gBAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,aAAA;AAAA,IACA,eAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,GACE,GAAA,KAAA,CAAA;AACJ,EAAA,MAAM,KAAQ,GAAA2B,oCAAA;AAAA,IACZ,KAAA;AAAA,GACF,CAAA;AACA,EAAM,MAAA,GAAA,GAAM/B,aAAO,IAAI,CAAA,CAAA;AACvB,EAAM,MAAA,EAAE,MAAO,EAAA,GAAIK,mBAAU,EAAA,CAAA;AAE7B,EAAA,MAAM,EAAE,UAAA,EAAY,eAAiB,EAAA,aAAA,EAAe,aAClD,GAAA2B,4BAAA;AAAA,IACE;AAAA,MACE,GAAI,KAAA;AAAA,MACJ,MAAQ,EAAA,WAAA;AAAA,KACV;AAAA,IACA,KAAA;AAAA,IACA,GAAA;AAAA,GACF,CAAA;AAEF,EAAM,MAAA,MAAA,GAAS,CAAC,KAA2B,KAAA;AACzC,IAAA,KAAA,CAAM,SAAS,KAAK,CAAA,CAAA;AACpB,IAAA,KAAA,CAAM,KAAM,EAAA,CAAA;AAAA,GACd,CAAA;AAEA,EAAA,MAAM,aAAaC,kCAAsB,CAAA;AAAA,IACvC,GAAG,KAAA;AAAA,IACH,eAAiB,EAAA,aAAA;AAAA,IACjB,QAAU,EAAA,OAAA;AAAA,IACV,QAAU,EAAA,OAAA;AAAA,IACV,SAAW,EAAA,IAAA;AAAA,IACX,aAAe,EAAA,KAAA;AAAA,IACf,QAAU,EAAA,MAAA;AAAA,IACV,MAAA;AAAA,oBACA1B,mBAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,EAAE,aAAA,EAAe,eAAiB,EAAA,eAAA,EAAoB,GAAA2B,0BAAA;AAAA,IAC1D,KAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAA;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,UAAa,GAAAC,iBAAA;AAAA,IACjB,CAAC,aAAmC,KAAA;AAClC,MAAI,IAAA,aAAA,CAAc,UAAU,KAAW,CAAA,EAAA;AACrC,QAAM,KAAA,CAAA,QAAA,CAAS,cAAc,KAAK,CAAA,CAAA;AAClC,QAAW,UAAA,CAAA,QAAA,CAAS,cAAc,KAAK,CAAA,CAAA;AAAA,OACzC;AAAA,KACF;AAAA,IACA,CAAC,YAAY,KAAK,CAAA;AAAA,GACpB,CAAA;AAEA,EAAA,MAAM,QAAQ,MAAY;AAGxB,IAAA,KAAA,CAAM,SAAS,EAAE,KAAA,EAAO,IAAM,EAAA,GAAA,EAAK,MAAM,CAAA,CAAA;AACzC,IAAA,IAAI,YAAY,KAAW,CAAA,EAAA;AACzB,MAAQ,OAAA,EAAA,CAAA;AACR,MAAA,KAAA,CAAM,KAAM,EAAA,CAAA;AAAA,KACd;AAAA,GACF,CAAA;AAEA,EACE,uBAAAjC,eAAA,CAAC,YAAa,EAAA,EAAA,GAAA,EAAK,UAChB,EAAA,QAAA,EAAA;AAAA,IAAA,QAAA,KAAa,0BACXC,cAAA,CAAA,iBAAA,EAAA,EAAmB,GAAG,UAAY,EAAA,GAAA,EACjC,0CAAC,wBACC,EAAA,EAAA,QAAA,EAAA;AAAA,sBAACA,cAAA,CAAA,SAAA,EAAA,EAAW,GAAG,eAAiB,EAAA,CAAA;AAAA,sBAC/BA,cAAA,CAAA,MAAA,EAAA,EAAK,aAAY,EAAA,MAAA,EAAO,QAAC,EAAA,QAAA,EAAA,CAAA;AAAA,sBAC1BA,cAAA,CAAC,SAAW,EAAA,EAAA,GAAG,aAAe,EAAA,CAAA;AAAA,sBAC7BA,cAAA,CAAAM,qBAAA,EAAA,EAAK,GAAK,EAAA,EAAE,YAAY,MAAO,EAAA,EAC9B,QAAC,kBAAAN,cAAA,CAAA,WAAA,EAAA,EAAa,GAAG,WAAA,EACf,QAAC,kBAAAA,cAAA,CAAAiC,mCAAA,EAAA,EAAkB,GACrB,CACF,EAAA,CAAA;AAAA,KAAA,EACF,CACF,EAAA,CAAA;AAAA,IAED,QAAa,KAAA,IAAA,oBACXjC,cAAA,CAAA,KAAA,EAAA,EAAK,GAAG,UAAY,EAAA,GAAA,EACnB,QAAC,kBAAAA,cAAA,CAAA,WAAA,EAAA,EAAa,GAAG,WAAA,EAAa,YAAY,EAAA,IAAA,EACvC,UACH,CACF,EAAA,CAAA;AAAA,IAED,MAAM,MACL,oBAAAA,cAAA,CAAC,WAAQ,UAAY,EAAA,GAAA,EAAK,OAAc,SAAU,EAAA,cAAA,EAChD,QAAC,kBAAAA,cAAA,CAAAkC,YAAA,EAAsB,GAAA,EAAK,YAC1B,QAAC,kBAAAnC,eAAA,CAAAoC,mBAAA,EACE,QAAA,EAAA;AAAA,MAAA,gBAAA,KAAqB,KACpB,CAAA,oBAAAnC,cAAA;AAAA,QAAC,gBAAA;AAAA,QAAA;AAAA,UACC,KAAO,EAAA,gBAAA;AAAA,UACP,OAAS,EAAA,UAAA;AAAA,SAAA;AAAA,OACX;AAAA,sBAGDD,eAAA,CAAAO,qBAAA,EAAA,EAAK,SAAU,EAAA,QAAA,EAAU,GAAG,aAC3B,EAAA,QAAA,EAAA;AAAA,wBAAAN,cAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,KAAO,EAAA,UAAA;AAAA,YACP,eAAA;AAAA,YACA,eAAA;AAAA,YACA,aAAA;AAAA,WAAA;AAAA,SACF;AAAA,wBACAD,eAAA,CAACqC,iBAAW,EAAX,EACC,QAAA,EAAA;AAAA,0BAAApC,cAAA,CAACqC,qBAAA,EAAA,EACC,yCAAC,IAAK,EAAA,EAAA,KAAA,EAAO,YAAY,CAC3B,EAAA,CAAA;AAAA,UACC,aAAkB,KAAA,KAAA,CAAA,oBAChBrC,cAAA,CAAAsC,wBAAA,EACC,QAAA,kBAAAtC,cAAA;AAAA,YAAC,IAAA;AAAA,YAAA;AAAA,cACC,QAAU,EAAA,MAAA;AAAA,cACV,KAAO,EAAA,UAAA;AAAA,cACP,MAAA,EAAQ,EAAE,MAAA,EAAQ,CAAE,EAAA;AAAA,aAAA;AAAA,WAExB,EAAA,CAAA;AAAA,SAEJ,EAAA,CAAA;AAAA,QAEC,OAAY,KAAA,KAAA,CAAA,oBACVA,cAAA,CAAAuC,oBAAA,EACC,QAAA,kBAAAvC,cAAA;AAAA,UAACc,yBAAA;AAAA,UAAA;AAAA,YACC,IAAK,EAAA,QAAA;AAAA,YACL,IAAK,EAAA,QAAA;AAAA,YACL,OAAS,EAAA,KAAA;AAAA,YACT,QAAA,EAAU,WAAW,KAAU,KAAA,IAAA;AAAA,YAE9B,QAAA,EAAA,eAAA;AAAA,WAAA;AAAA,SAEL,EAAA,CAAA;AAAA,OAEJ,EAAA,CAAA;AAAA,KAAA,EACF,GACF,CACF,EAAA,CAAA;AAAA,GAEJ,EAAA,CAAA,CAAA;AAEJ,CAAC,CAAA;;ACvHM,MAAM,cAAiB,GAAAb,yBAAA,CAAM,UAGlC,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAM,MAAA;AAAA,IACJ,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,eAAA;AAAA,GACE,GAAA,KAAA,CAAA;AACJ,EAAM,MAAA,EAAE,MAAO,EAAA,GAAIC,mBAAU,EAAA,CAAA;AAC7B,EAAA,MAAM,QAAQsC,6BAAiB,CAAA;AAAA,IAC7B,GAAI,KAAA;AAAA,IACJ,eAAiB,EAAA,aAAA;AAAA,IACjB,QAAU,EAAA,OAAA;AAAA,IACV,QAAU,EAAA,OAAA;AAAA,IACV,MAAA;AAAA,oBACApC,mBAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,EAAE,aAAA,EAAe,eAAiB,EAAA,eAAA,EAAoB,GAAAqC,qBAAA;AAAA,IAC1D,KAAA;AAAA,IACA,KAAA;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,SAAY,GAAAT,iBAAA;AAAA,IAChB,CAAC,aAAmC,KAAA;AAClC,MAAA,IAAI,cAAc,IAAS,KAAA,KAAA,CAAA;AAAW,QAAM,KAAA,CAAA,QAAA,CAAS,cAAc,IAAI,CAAA,CAAA;AAAA,KACzE;AAAA,IACA,CAAC,KAAK,CAAA;AAAA,GACR,CAAA;AAEA,EAAA,sCACG,UAAW,EAAA,EAAA,GAAA,EAAK,YACf,QAAC,kBAAAjC,eAAA,CAAA,iBAAA,EAAA,EAAmB,GAAG,aACpB,EAAA,QAAA,EAAA;AAAA,IAAA,gBAAA,KAAqB,0BACnBC,cAAA,CAAA,gBAAA,EAAA,EAAiB,KAAO,EAAA,gBAAA,EAAkB,SAAS,SAAW,EAAA,CAAA;AAAA,oBAEjED,eAAA,CAACO,qBAAK,EAAA,EAAA,SAAA,EAAU,QACd,EAAA,QAAA,EAAA;AAAA,sBAAAN,cAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,KAAA;AAAA,UACA,eAAA;AAAA,UACA,eAAA;AAAA,UACA,aAAA;AAAA,SAAA;AAAA,OACF;AAAA,sCACC,iBACC,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAAA,cAAA,CAAC,qBACC,EAAA,EAAA,QAAA,kBAAAA,cAAA,CAAC,IAAK,EAAA,EAAA,KAAA,EAAc,CACtB,EAAA,CAAA;AAAA,QACC,aAAkB,KAAA,KAAA,CAAA,oBAChBA,cAAA,CAAA,sBAAA,EAAA,EACC,QAAC,kBAAAA,cAAA,CAAA,IAAA,EAAA,EAAK,KAAc,EAAA,MAAA,EAAQ,EAAE,MAAA,EAAQ,CAAE,EAAA,EAAG,CAC7C,EAAA,CAAA;AAAA,OAEJ,EAAA,CAAA;AAAA,MACC,OAAA,KAAY,KACX,CAAA,oBAAAA,cAAA,CAAC,kBACC,EAAA,EAAA,QAAA,kBAAAA,cAAA;AAAA,QAACc,yBAAA;AAAA,QAAA;AAAA,UACC,IAAK,EAAA,QAAA;AAAA,UACL,OAAS,EAAA,OAAA;AAAA,UACT,QAAA,EAAU,MAAM,KAAU,KAAA,IAAA;AAAA,UAEzB,QAAA,EAAA,eAAA;AAAA,SAAA;AAAA,OAEL,EAAA,CAAA;AAAA,KAEJ,EAAA,CAAA;AAAA,GAAA,EACF,CACF,EAAA,CAAA,CAAA;AAEJ,CAAC,CAAA;;AC1GM,MAAM,UAAa,GAAAb,yBAAA,CAAM,UAG9B,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAM,MAAA;AAAA,IACJ,MAAA;AAAA,IACA,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,YAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,eAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,GACE,GAAA,KAAA,CAAA;AAEJ,EAAM,MAAA,GAAA,GAAMJ,aAAO,IAAI,CAAA,CAAA;AAEvB,EAAM,MAAA,KAAA,GAAQ6C,gCAAmB,KAA0C,CAAA,CAAA;AAC3E,EAAA,MAAM,EAAE,UAAA,EAAY,UAAY,EAAA,WAAA,EAAa,eAAkB,GAAAC,uBAAA;AAAA,IAC7D,EAAE,GAAI,KAA6C,EAAA,MAAA,EAAQ,WAAY,EAAA;AAAA,IACvE,KAAA;AAAA,IACA,GAAA;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,aAAa,MAAY;AAG7B,IAAA,KAAA,CAAM,SAAS,IAAI,CAAA,CAAA;AACnB,IAAA,IAAI,YAAY,KAAW,CAAA,EAAA;AACzB,MAAQ,OAAA,EAAA,CAAA;AAAA,KACV;AAAA,GACF,CAAA;AAEA,EAAA,6DAEK,QAAW,EAAA,MAAA,KAAA,QAAA,mBACT5C,eAAA,CAAA,YAAA,EAAA,EAAa,KAAK,UAChB,EAAA,QAAA,EAAA;AAAA,IAAA,QAAA,KAAa,0BACXC,cAAA,CAAA,iBAAA,EAAA,EAAmB,GAAG,UAAY,EAAA,GAAA,EACjC,0CAAC,wBACC,EAAA,EAAA,QAAA,EAAA;AAAA,sBAACA,cAAA,CAAA,SAAA,EAAA,EAAW,GAAG,UAAY,EAAA,CAAA;AAAA,sBAC1BA,cAAA,CAAAM,qBAAA,EAAA,EAAK,GAAK,EAAA,EAAE,YAAY,MAAO,EAAA,EAC9B,QAAC,kBAAAN,cAAA,CAAA,WAAA,EAAA,EAAa,GAAG,WAAA,EACf,QAAC,kBAAAA,cAAA,CAAAiC,mCAAA,EAAA,EAAkB,GACrB,CACF,EAAA,CAAA;AAAA,KAAA,EACF,CACF,EAAA,CAAA;AAAA,IAED,QAAa,KAAA,KAAA,CAAA,oBACXjC,cAAA,CAAA,KAAA,EAAA,EAAK,GAAG,UAAY,EAAA,GAAA,EACnB,QAAC,kBAAAA,cAAA,CAAA,WAAA,EAAA,EAAa,GAAG,WAAA,EAAa,YAAY,EAAA,IAAA,EACvC,UACH,CACF,EAAA,CAAA;AAAA,IAED,KAAA,CAAM,0BACJA,cAAA,CAAA,OAAA,EAAA,EAAQ,YAAY,GAAK,EAAA,KAAA,EAAc,WAAU,cAChD,EAAA,QAAA,kBAAAA,cAAA;AAAA,MAAC,cAAA;AAAA,MAAA;AAAA,QACE,GAAG,aAAA;AAAA,QACJ,YAAA;AAAA,QACA,gBAAA;AAAA,QACA,aAAA;AAAA,QACA,OAAA,EAAS,OAAY,KAAA,KAAA,CAAA,GAAY,UAAa,GAAA,KAAA,CAAA;AAAA,QAC9C,OAAA;AAAA,QACA,OAAA;AAAA,QACA,eAAA,EACE,OAAY,KAAA,KAAA,CAAA,GAAY,eAAkB,GAAA,KAAA,CAAA;AAAA,QAE5C,GAAK,EAAA,UAAA;AAAA,OAAA;AAAA,KAET,EAAA,CAAA;AAAA,GAAA,EAEJ,CAEA,mBAAAA,cAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACE,GAAG,aAAA;AAAA,MACJ,GAAK,EAAA,UAAA;AAAA,MACL,YAAA;AAAA,MACA,gBAAA;AAAA,MACA,aAAA;AAAA,MACA,OAAA,EAAS,OAAY,KAAA,KAAA,CAAA,GAAY,UAAa,GAAA,KAAA,CAAA;AAAA,MAC9C,OAAA;AAAA,MACA,OAAA;AAAA,MACA,eAAA,EAAiB,OAAY,KAAA,KAAA,CAAA,GAAY,eAAkB,GAAA,KAAA,CAAA;AAAA,KAAA;AAAA,GAGjE,EAAA,CAAA,CAAA;AAEJ,CAAC,CAAA;;ACjHM,MAAM,cAAiB,GAAAL,2BAAA,CAAOC,+BAAU,CAAA,GAAA,EAAK,EAAE,CAAA,CAAA;AA6DzC,MAAA,QAAA,GAAWK,0BAAM,UAG5B,CAAA,CAAC,EAAE,MAAQ,EAAA,YAAA,EAAc,GAAG,KAAA,EAAS,EAAA,UAAA,oCACpC,cAAe,EAAA,EAAA,GAAA,EAAK,YAClB,QAAW,EAAA,MAAA,KAAA,OAAA,kCACT,WAAY,EAAA,EAAA,YAAA,EAA0C,GAAG,KAAA,EAAO,CAEjE,mBAAAD,cAAA;AAAA,EAAC,UAAA;AAAA,EAAA;AAAA,IACC,YAAA;AAAA,IACC,GAAG,KAAA;AAAA,IACJ,MAAA;AAAA,GAAA;AACF,CAAA,EAEJ,CACD;;;;"}
package/dist/module.js CHANGED
@@ -131,30 +131,32 @@ const Popover = (props) => {
131
131
  ] });
132
132
  };
133
133
 
134
- const StyledRangePicker = styled(Primitive.div, {
135
- display: "inline-block"
136
- });
137
- const StyledRangePickerInput$1 = styled(Primitive.div, {
134
+ const StyledPickerInput = styled(Primitive.div, {
138
135
  display: "flex",
139
136
  alignItems: "center",
140
- padding: "$100",
141
137
  paddingLeft: "$150",
138
+ paddingRight: "$100",
142
139
  border: "1px solid $border-neutrals",
143
140
  borderRadius: "$50",
144
141
  background: "$background-neutrals",
145
142
  color: "$text-neutrals",
146
143
  minWidth: "230px",
144
+ boxSizing: "border-box",
147
145
  "&:hover": {
148
146
  border: "1px solid $border-primary-hover",
149
147
  cursor: "pointer"
150
148
  }
151
149
  });
152
- const StyledRangePickerInputContent$1 = styled(Primitive.div, {
150
+ const StyledPickerInputContent = styled(Primitive.div, {
153
151
  display: "flex",
154
152
  alignItems: "center",
155
153
  fontSize: "$200",
156
154
  lineHeight: "24px",
157
- width: "100%"
155
+ width: "100%",
156
+ height: "48px"
157
+ });
158
+ const StyledPicker = styled(Primitive.div, {
159
+ display: "inline-block"
158
160
  });
159
161
 
160
162
  const StyledPredefinedRanges = styled(Primitive.div, {
@@ -463,8 +465,8 @@ const RangePicker = React__default.forwardRef((props, forwardRef) => {
463
465
  state.close();
464
466
  }
465
467
  };
466
- return /* @__PURE__ */ jsxs(StyledRangePicker, { ref: forwardRef, children: [
467
- children === void 0 && /* @__PURE__ */ jsx(StyledRangePickerInput$1, { ...groupProps, ref, children: /* @__PURE__ */ jsxs(StyledRangePickerInputContent$1, { children: [
468
+ return /* @__PURE__ */ jsxs(StyledPicker, { ref: forwardRef, children: [
469
+ children === void 0 && /* @__PURE__ */ jsx(StyledPickerInput, { ...groupProps, ref, children: /* @__PURE__ */ jsxs(StyledPickerInputContent, { children: [
468
470
  /* @__PURE__ */ jsx(TextField, { ...startFieldProps }),
469
471
  /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: "\u2013" }),
470
472
  /* @__PURE__ */ jsx(TextField, { ...endFieldProps }),
@@ -515,32 +517,6 @@ const RangePicker = React__default.forwardRef((props, forwardRef) => {
515
517
  ] });
516
518
  });
517
519
 
518
- const StyledRangePickerInput = styled(Primitive.div, {
519
- display: "flex",
520
- alignItems: "center",
521
- padding: "$100",
522
- paddingLeft: "$150",
523
- border: "1px solid $border-neutrals",
524
- borderRadius: "$50",
525
- background: "$background-neutrals",
526
- color: "$text-neutrals",
527
- minWidth: "230px",
528
- "&:hover": {
529
- border: "1px solid $border-primary-hover",
530
- cursor: "pointer"
531
- }
532
- });
533
- const StyledRangePickerInputContent = styled(Primitive.div, {
534
- display: "flex",
535
- alignItems: "center",
536
- fontSize: "$200",
537
- lineHeight: "24px",
538
- width: "100%"
539
- });
540
- const StyledDatePicker = styled(Primitive.div, {
541
- display: "inline-block"
542
- });
543
-
544
520
  const DatePickerBody = React__default.forwardRef((props, forwardRef) => {
545
521
  const {
546
522
  predefinedRanges,
@@ -625,8 +601,8 @@ const DatePicker = React__default.forwardRef((props, forwardRef) => {
625
601
  onClear();
626
602
  }
627
603
  };
628
- return /* @__PURE__ */ jsx(Fragment, { children: picker === "single" ? /* @__PURE__ */ jsxs(StyledDatePicker, { ref: forwardRef, children: [
629
- children === void 0 && /* @__PURE__ */ jsx(StyledRangePickerInput, { ...groupProps, ref, children: /* @__PURE__ */ jsxs(StyledRangePickerInputContent, { children: [
604
+ return /* @__PURE__ */ jsx(Fragment, { children: picker === "single" ? /* @__PURE__ */ jsxs(StyledPicker, { ref: forwardRef, children: [
605
+ children === void 0 && /* @__PURE__ */ jsx(StyledPickerInput, { ...groupProps, ref, children: /* @__PURE__ */ jsxs(StyledPickerInputContent, { children: [
630
606
  /* @__PURE__ */ jsx(TextField, { ...fieldProps }),
631
607
  /* @__PURE__ */ jsx(Flex, { css: { marginLeft: "auto" }, children: /* @__PURE__ */ jsx(FieldButton, { ...buttonProps, children: /* @__PURE__ */ jsx(IconCalendarBlank, {}) }) })
632
608
  ] }) }),
@@ -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.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-types/datepicker'\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?: DateValue\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: DateValue\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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"}
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/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-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 StyledPickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n paddingLeft: '$150',\n paddingRight: '$100',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n boxSizing: 'border-box',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledPickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n height: '48px',\n})\n\nexport const StyledPicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport type StyledDatePickerProps = ComponentPropsWithRef<typeof StyledPicker>\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-types/datepicker'\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 StyledPicker,\n StyledPickerInput,\n StyledPickerInputContent,\n} from './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 StyledPicker>,\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 <StyledPicker ref={forwardRef}>\n {children === undefined && (\n <StyledPickerInput {...groupProps} ref={ref}>\n <StyledPickerInputContent>\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 </StyledPickerInputContent>\n </StyledPickerInput>\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 </StyledPicker>\n )\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 StyledPicker,\n StyledPickerInput,\n StyledPickerInputContent,\n} from './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 StyledPicker>,\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 <StyledPicker ref={forwardRef}>\n {children === undefined && (\n <StyledPickerInput {...groupProps} ref={ref}>\n <StyledPickerInputContent>\n <TextField {...fieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledPickerInputContent>\n </StyledPickerInput>\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 </StyledPicker>\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?: DateValue\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: DateValue\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","Button","bodyStyled.StyledBody","bodyStyled.StyledBodyContent","bodyStyled.StyledGridContent","bodyStyled.StyledBodyContentLeft","bodyStyled.StyledBodyContentRight","bodyStyled.StyledClearContent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirohq/design-system-calendar",
3
- "version": "0.1.26",
3
+ "version": "0.1.28",
4
4
  "description": "",
5
5
  "author": "Miro",
6
6
  "source": "src/index.ts",
@@ -30,10 +30,10 @@
30
30
  "@react-types/datepicker": "^3.4.0",
31
31
  "react-aria": "^3.25.0",
32
32
  "react-stately": "^3.23.0",
33
- "@mirohq/design-system-button": "^3.1.16",
34
- "@mirohq/design-system-stitches": "^2.3.11",
35
- "@mirohq/design-system-icons": "^0.30.1",
33
+ "@mirohq/design-system-button": "^3.1.17",
34
+ "@mirohq/design-system-icons": "^0.30.2",
36
35
  "@mirohq/design-system-primitive": "^1.1.1",
36
+ "@mirohq/design-system-stitches": "^2.3.11",
37
37
  "@mirohq/design-system-flex": "^2.1.24"
38
38
  },
39
39
  "scripts": {