@mirohq/design-system-calendar 0.3.17 → 0.4.0-button-api-changes.0

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
@@ -95,7 +95,7 @@ const StyledPredefinedRanges = designSystemStitches.styled(designSystemPrimitive
95
95
  const PredefinedRanges = React__default["default"].forwardRef(({ range, onClick }, forwardRef) => /* @__PURE__ */ jsxRuntime.jsx(StyledPredefinedRanges, { ref: forwardRef, children: range == null ? void 0 : range.map((date, i) => /* @__PURE__ */ jsxRuntime.jsx(
96
96
  designSystemButton.Button,
97
97
  {
98
- variant: "ghost-prominent",
98
+ variant: "ghost",
99
99
  size: "medium",
100
100
  type: "button",
101
101
  onClick: () => onClick(date),
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sources":["../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/button.styled.tsx","../src/partials/button.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/trigger.styled.tsx","../src/partials/clear-button.styled.tsx","../src/partials/clear-button.tsx","../src/partials/trigger.tsx","../src/partials/range-picker.tsx","../src/partials/date-picker-body.tsx","../src/partials/date-picker.tsx","../src/calendar.tsx"],"sourcesContent":["/* 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 { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledGroup = styled(Primitive.div, {\n position: 'relative',\n})\n\nexport const StyledPicker = styled(Primitive.div, {})\n","import { 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","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 { 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","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 } from './button.styled'\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","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 { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\nimport { focus } from '@mirohq/design-system-styles'\n\nexport const StyledPlaceholder = styled(Primitive.span, {\n ...textFieldStyles.base.placeholder,\n padding: '0 $50',\n})\n\nexport const StyledValue = styled(Primitive.span, {\n padding: '0 $50',\n})\n\nexport const StyledTriggerContainer = styled(Primitive.div, {\n position: 'relative',\n})\n\nexport const StyledTrigger = styled(Primitive.button, {\n all: 'unset',\n display: 'inline-flex',\n gap: '$50',\n justifyContent: 'space-between',\n alignItems: 'center',\n height: '$10',\n padding: '0 $100',\n minWidth: '230px',\n\n ...textFieldStyles.variants.idle,\n\n '& svg': {\n color: '$text-neutrals-subtle',\n square: '22px',\n },\n\n _hover: textFieldStyles.variants.hovered,\n ...focus.css(textFieldStyles.variants.focused),\n\n variants: {\n withClearButton: {\n true: {\n paddingRight: 'calc($100 + $400)', // initial left padding + clear button width + gap\n },\n },\n },\n})\n\nexport const StyledCustomTrigger = styled(Primitive.button, {\n width: '100%',\n height: 'unset',\n padding: '0',\n backgroundColor: '$transparent',\n border: 'none',\n cursor: 'pointer',\n})\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { actionButtonStyles } from '@mirohq/design-system-base-text-field'\nimport { BaseButton } from '@mirohq/design-system-base-button'\n\nexport const StyledClearButton = styled(BaseButton, {\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: 'calc($100 + 1px)', // to compensate border width\n margin: 'auto',\n\n ...actionButtonStyles,\n})\n\nexport type StyledClearButtonProps = ComponentPropsWithRef<\n typeof StyledClearButton\n>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport { IconCross } from '@mirohq/design-system-icons'\nimport { Tooltip } from '@mirohq/design-system-tooltip'\n\nimport type { StyledClearButtonProps } from './clear-button.styled'\nimport { StyledClearButton } from './clear-button.styled'\n\ninterface ClearButtonProps extends Omit<StyledClearButtonProps, 'children'> {\n label: string\n}\n\nexport const ClearButton = React.forwardRef<\n ElementRef<typeof StyledClearButton>,\n ClearButtonProps\n>(({ 'aria-label': ariaLabel, label, ...restProps }, forwardRef) => (\n <Tooltip>\n <Tooltip.Trigger asChild>\n <StyledClearButton\n {...restProps}\n ref={forwardRef}\n aria-label={ariaLabel ?? label}\n >\n <IconCross />\n </StyledClearButton>\n </Tooltip.Trigger>\n <Tooltip.Content>{label}</Tooltip.Content>\n </Tooltip>\n))\n","import type { ElementRef, RefObject } from 'react'\nimport React from 'react'\nimport type { AriaButtonProps } from 'react-aria'\nimport { useButton } from 'react-aria'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport type { DateRange, DateValue } from '@react-types/datepicker'\n\nimport {\n StyledCustomTrigger,\n StyledPlaceholder,\n StyledTrigger,\n StyledTriggerContainer,\n StyledValue,\n} from './trigger.styled'\nimport { ClearButton } from './clear-button'\n\n// todo refactoring: move to context\ninterface TriggerContextProps {\n displayValue?: string\n stateValue?: DateValue | DateRange | null\n}\n\ntype TriggerProps = AriaButtonProps<'button'> &\n TriggerContextProps & {\n placeholder?: string\n asChild?: boolean\n\n // todo refactoring: use Clearable and NonClearable types similarly to Combobox.Trigger\n clearable?: boolean\n clearActionLabel?: string\n onClear?: () => void\n }\n\nfunction dateToString(\n value: DateValue | DateRange | undefined | null\n): string | undefined {\n if (value == null) {\n return undefined\n }\n\n if ('start' in value) {\n if (value.start == null || value.end == null) {\n return undefined\n }\n\n return `${value.start} - ${value.end}`\n }\n\n return value.toString()\n}\n\nexport const Trigger = React.forwardRef<\n ElementRef<typeof StyledTrigger>,\n TriggerProps\n>(\n (\n {\n placeholder,\n displayValue,\n stateValue,\n asChild = false,\n clearable = true,\n clearActionLabel,\n onClear,\n ...restProps\n },\n forwardRef\n ) => {\n // todo refactoring: use BaseButton\n const { buttonProps } = useButton(\n restProps,\n forwardRef as RefObject<Element>\n )\n const { children } = restProps\n\n if (asChild) {\n return (\n <StyledCustomTrigger {...buttonProps}>{children}</StyledCustomTrigger>\n )\n }\n\n const valueToDisplay = displayValue ?? dateToString(stateValue)\n\n const clearButtonVisible =\n clearable && clearActionLabel !== undefined && valueToDisplay != null\n\n return (\n <StyledTriggerContainer>\n <StyledTrigger\n data-custom=''\n {...buttonProps}\n ref={forwardRef}\n withClearButton={clearButtonVisible}\n >\n {valueToDisplay != null ? (\n <StyledValue>{valueToDisplay}</StyledValue>\n ) : (\n <StyledPlaceholder>{placeholder}</StyledPlaceholder>\n )}\n\n {!clearButtonVisible && <IconCalendarBlank weight='thin' />}\n </StyledTrigger>\n\n {clearButtonVisible && (\n <ClearButton label={clearActionLabel} onPress={onClear} />\n )}\n </StyledTriggerContainer>\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 { Button } from '@mirohq/design-system-button'\nimport { FloatingLabel } from '@mirohq/design-system-base-form'\n\nimport { Popover } from '../partials/popover'\nimport { StyledGroup, StyledPicker } 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'\nimport { Trigger } from './trigger'\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 label,\n placeholder,\n displayValue,\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, labelProps, buttonProps } = useDateRangePicker(\n {\n ...(props as DateRangePickerStateOptions<DateValue>),\n isOpen: defaultOpen,\n label,\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 onClearHandler = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue({ start: null, end: null })\n if (onClear !== undefined) {\n onClear()\n state.close()\n }\n }\n\n const clearableTrigger =\n clearButtonText !== undefined && onClear !== undefined\n\n return (\n <StyledPicker ref={forwardRef}>\n {children === undefined && (\n <StyledGroup {...groupProps} ref={ref}>\n {label !== undefined && (\n // todo refactoring: use Form Field context\n <FloatingLabel floating {...labelProps}>\n {label}\n </FloatingLabel>\n )}\n <Trigger\n {...buttonProps}\n placeholder={placeholder}\n displayValue={displayValue}\n stateValue={state.value}\n clearable={clearableTrigger}\n clearActionLabel={clearableTrigger ? clearButtonText : undefined}\n onClear={clearableTrigger ? onClearHandler : undefined}\n />\n </StyledGroup>\n )}\n {children !== undefined && (\n <div {...groupProps} ref={ref}>\n <Trigger {...buttonProps} asChild>\n {children}\n </Trigger>\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={onClearHandler}\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 { FloatingLabel } from '@mirohq/design-system-base-form'\n\nimport { Popover } from '../partials/popover'\nimport { StyledGroup, StyledPicker } from './picker.styled'\nimport type { CalendarProps as ICalendarProps } from '../calendar'\nimport { DatePickerBody } from './date-picker-body'\nimport { Trigger } from './trigger'\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 label,\n placeholder,\n displayValue,\n } = props\n\n const ref = useRef(null)\n\n const state = useDatePickerState(props as AriaDatePickerProps<CalendarDate>)\n const { groupProps, buttonProps, calendarProps, labelProps } = useDatePicker(\n {\n ...(props as AriaDatePickerProps<CalendarDate>),\n isOpen: defaultOpen,\n label,\n },\n state,\n ref\n )\n\n const onClearHandler = (): 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 const clearableTrigger =\n clearButtonText !== undefined && onClear !== undefined\n\n return (\n <>\n {picker === 'single' ? (\n <StyledPicker ref={forwardRef}>\n {children === undefined && (\n <StyledGroup {...groupProps} ref={ref}>\n {label !== undefined && (\n // todo refactoring: use Form Field context\n <FloatingLabel floating {...labelProps}>\n {label}\n </FloatingLabel>\n )}\n <Trigger\n {...buttonProps}\n placeholder={placeholder}\n displayValue={displayValue}\n stateValue={state.value}\n clearable={clearableTrigger}\n clearActionLabel={\n clearableTrigger ? clearButtonText : undefined\n }\n onClear={clearableTrigger ? onClearHandler : undefined}\n />\n </StyledGroup>\n )}\n {children !== undefined && (\n <div {...groupProps} ref={ref}>\n <Trigger {...buttonProps} asChild>\n {children}\n </Trigger>\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 ? onClearHandler : 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 ? onClearHandler : 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 /**\n * The label text for trigger's clear button when Calendar has a value. Will be rendered in a Tooltip\n */\n label?: string\n\n /**\n * The content that will be rendered inside the Calendar trigger when there is no value\n */\n placeholder?: string\n\n /**\n * A string that will be rendered in the trigger instead of the selected value\n */\n displayValue?: string\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","useDialog","usePopover","Overlay","jsx","jsxs","DismissButton","styled","Primitive","Button","Flex","useButton","useFocusRing","mergeProps","useDateFormatter","IconChevronLeft","IconChevronRight","date","useRef","useCalendarCell","isSameMonth","isSameDay","useLocale","getDayOfWeek","isWeekend","isToday","getLocalTimeZone","useCalendarGrid","getWeeksInMonth","textFieldStyles","focus","BaseButton","actionButtonStyles","Tooltip","IconCross","IconCalendarBlank","useDateRangePickerState","useDateRangePicker","useRangeCalendarState","createCalendar","useRangeCalendar","useCallback","FloatingLabel","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/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/button.styled.tsx","../src/partials/button.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/trigger.styled.tsx","../src/partials/clear-button.styled.tsx","../src/partials/clear-button.tsx","../src/partials/trigger.tsx","../src/partials/range-picker.tsx","../src/partials/date-picker-body.tsx","../src/partials/date-picker.tsx","../src/calendar.tsx"],"sourcesContent":["/* 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 { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledGroup = styled(Primitive.div, {\n position: 'relative',\n})\n\nexport const StyledPicker = styled(Primitive.div, {})\n","import { 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","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'\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 { 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","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 } from './button.styled'\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","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 { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\nimport { focus } from '@mirohq/design-system-styles'\n\nexport const StyledPlaceholder = styled(Primitive.span, {\n ...textFieldStyles.base.placeholder,\n padding: '0 $50',\n})\n\nexport const StyledValue = styled(Primitive.span, {\n padding: '0 $50',\n})\n\nexport const StyledTriggerContainer = styled(Primitive.div, {\n position: 'relative',\n})\n\nexport const StyledTrigger = styled(Primitive.button, {\n all: 'unset',\n display: 'inline-flex',\n gap: '$50',\n justifyContent: 'space-between',\n alignItems: 'center',\n height: '$10',\n padding: '0 $100',\n minWidth: '230px',\n\n ...textFieldStyles.variants.idle,\n\n '& svg': {\n color: '$text-neutrals-subtle',\n square: '22px',\n },\n\n _hover: textFieldStyles.variants.hovered,\n ...focus.css(textFieldStyles.variants.focused),\n\n variants: {\n withClearButton: {\n true: {\n paddingRight: 'calc($100 + $400)', // initial left padding + clear button width + gap\n },\n },\n },\n})\n\nexport const StyledCustomTrigger = styled(Primitive.button, {\n width: '100%',\n height: 'unset',\n padding: '0',\n backgroundColor: '$transparent',\n border: 'none',\n cursor: 'pointer',\n})\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { actionButtonStyles } from '@mirohq/design-system-base-text-field'\nimport { BaseButton } from '@mirohq/design-system-base-button'\n\nexport const StyledClearButton = styled(BaseButton, {\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: 'calc($100 + 1px)', // to compensate border width\n margin: 'auto',\n\n ...actionButtonStyles,\n})\n\nexport type StyledClearButtonProps = ComponentPropsWithRef<\n typeof StyledClearButton\n>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport { IconCross } from '@mirohq/design-system-icons'\nimport { Tooltip } from '@mirohq/design-system-tooltip'\n\nimport type { StyledClearButtonProps } from './clear-button.styled'\nimport { StyledClearButton } from './clear-button.styled'\n\ninterface ClearButtonProps extends Omit<StyledClearButtonProps, 'children'> {\n label: string\n}\n\nexport const ClearButton = React.forwardRef<\n ElementRef<typeof StyledClearButton>,\n ClearButtonProps\n>(({ 'aria-label': ariaLabel, label, ...restProps }, forwardRef) => (\n <Tooltip>\n <Tooltip.Trigger asChild>\n <StyledClearButton\n {...restProps}\n ref={forwardRef}\n aria-label={ariaLabel ?? label}\n >\n <IconCross />\n </StyledClearButton>\n </Tooltip.Trigger>\n <Tooltip.Content>{label}</Tooltip.Content>\n </Tooltip>\n))\n","import type { ElementRef, RefObject } from 'react'\nimport React from 'react'\nimport type { AriaButtonProps } from 'react-aria'\nimport { useButton } from 'react-aria'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport type { DateRange, DateValue } from '@react-types/datepicker'\n\nimport {\n StyledCustomTrigger,\n StyledPlaceholder,\n StyledTrigger,\n StyledTriggerContainer,\n StyledValue,\n} from './trigger.styled'\nimport { ClearButton } from './clear-button'\n\n// todo refactoring: move to context\ninterface TriggerContextProps {\n displayValue?: string\n stateValue?: DateValue | DateRange | null\n}\n\ntype TriggerProps = AriaButtonProps<'button'> &\n TriggerContextProps & {\n placeholder?: string\n asChild?: boolean\n\n // todo refactoring: use Clearable and NonClearable types similarly to Combobox.Trigger\n clearable?: boolean\n clearActionLabel?: string\n onClear?: () => void\n }\n\nfunction dateToString(\n value: DateValue | DateRange | undefined | null\n): string | undefined {\n if (value == null) {\n return undefined\n }\n\n if ('start' in value) {\n if (value.start == null || value.end == null) {\n return undefined\n }\n\n return `${value.start} - ${value.end}`\n }\n\n return value.toString()\n}\n\nexport const Trigger = React.forwardRef<\n ElementRef<typeof StyledTrigger>,\n TriggerProps\n>(\n (\n {\n placeholder,\n displayValue,\n stateValue,\n asChild = false,\n clearable = true,\n clearActionLabel,\n onClear,\n ...restProps\n },\n forwardRef\n ) => {\n // todo refactoring: use BaseButton\n const { buttonProps } = useButton(\n restProps,\n forwardRef as RefObject<Element>\n )\n const { children } = restProps\n\n if (asChild) {\n return (\n <StyledCustomTrigger {...buttonProps}>{children}</StyledCustomTrigger>\n )\n }\n\n const valueToDisplay = displayValue ?? dateToString(stateValue)\n\n const clearButtonVisible =\n clearable && clearActionLabel !== undefined && valueToDisplay != null\n\n return (\n <StyledTriggerContainer>\n <StyledTrigger\n data-custom=''\n {...buttonProps}\n ref={forwardRef}\n withClearButton={clearButtonVisible}\n >\n {valueToDisplay != null ? (\n <StyledValue>{valueToDisplay}</StyledValue>\n ) : (\n <StyledPlaceholder>{placeholder}</StyledPlaceholder>\n )}\n\n {!clearButtonVisible && <IconCalendarBlank weight='thin' />}\n </StyledTrigger>\n\n {clearButtonVisible && (\n <ClearButton label={clearActionLabel} onPress={onClear} />\n )}\n </StyledTriggerContainer>\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 { Button } from '@mirohq/design-system-button'\nimport { FloatingLabel } from '@mirohq/design-system-base-form'\n\nimport { Popover } from '../partials/popover'\nimport { StyledGroup, StyledPicker } 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'\nimport { Trigger } from './trigger'\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 label,\n placeholder,\n displayValue,\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, labelProps, buttonProps } = useDateRangePicker(\n {\n ...(props as DateRangePickerStateOptions<DateValue>),\n isOpen: defaultOpen,\n label,\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 onClearHandler = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue({ start: null, end: null })\n if (onClear !== undefined) {\n onClear()\n state.close()\n }\n }\n\n const clearableTrigger =\n clearButtonText !== undefined && onClear !== undefined\n\n return (\n <StyledPicker ref={forwardRef}>\n {children === undefined && (\n <StyledGroup {...groupProps} ref={ref}>\n {label !== undefined && (\n // todo refactoring: use Form Field context\n <FloatingLabel floating {...labelProps}>\n {label}\n </FloatingLabel>\n )}\n <Trigger\n {...buttonProps}\n placeholder={placeholder}\n displayValue={displayValue}\n stateValue={state.value}\n clearable={clearableTrigger}\n clearActionLabel={clearableTrigger ? clearButtonText : undefined}\n onClear={clearableTrigger ? onClearHandler : undefined}\n />\n </StyledGroup>\n )}\n {children !== undefined && (\n <div {...groupProps} ref={ref}>\n <Trigger {...buttonProps} asChild>\n {children}\n </Trigger>\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={onClearHandler}\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 { FloatingLabel } from '@mirohq/design-system-base-form'\n\nimport { Popover } from '../partials/popover'\nimport { StyledGroup, StyledPicker } from './picker.styled'\nimport type { CalendarProps as ICalendarProps } from '../calendar'\nimport { DatePickerBody } from './date-picker-body'\nimport { Trigger } from './trigger'\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 label,\n placeholder,\n displayValue,\n } = props\n\n const ref = useRef(null)\n\n const state = useDatePickerState(props as AriaDatePickerProps<CalendarDate>)\n const { groupProps, buttonProps, calendarProps, labelProps } = useDatePicker(\n {\n ...(props as AriaDatePickerProps<CalendarDate>),\n isOpen: defaultOpen,\n label,\n },\n state,\n ref\n )\n\n const onClearHandler = (): 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 const clearableTrigger =\n clearButtonText !== undefined && onClear !== undefined\n\n return (\n <>\n {picker === 'single' ? (\n <StyledPicker ref={forwardRef}>\n {children === undefined && (\n <StyledGroup {...groupProps} ref={ref}>\n {label !== undefined && (\n // todo refactoring: use Form Field context\n <FloatingLabel floating {...labelProps}>\n {label}\n </FloatingLabel>\n )}\n <Trigger\n {...buttonProps}\n placeholder={placeholder}\n displayValue={displayValue}\n stateValue={state.value}\n clearable={clearableTrigger}\n clearActionLabel={\n clearableTrigger ? clearButtonText : undefined\n }\n onClear={clearableTrigger ? onClearHandler : undefined}\n />\n </StyledGroup>\n )}\n {children !== undefined && (\n <div {...groupProps} ref={ref}>\n <Trigger {...buttonProps} asChild>\n {children}\n </Trigger>\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 ? onClearHandler : 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 ? onClearHandler : 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 /**\n * The label text for trigger's clear button when Calendar has a value. Will be rendered in a Tooltip\n */\n label?: string\n\n /**\n * The content that will be rendered inside the Calendar trigger when there is no value\n */\n placeholder?: string\n\n /**\n * A string that will be rendered in the trigger instead of the selected value\n */\n displayValue?: string\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","useDialog","usePopover","Overlay","jsx","jsxs","DismissButton","styled","Primitive","Button","Flex","useButton","useFocusRing","mergeProps","useDateFormatter","IconChevronLeft","IconChevronRight","date","useRef","useCalendarCell","isSameMonth","isSameDay","useLocale","getDayOfWeek","isWeekend","isToday","getLocalTimeZone","useCalendarGrid","getWeeksInMonth","textFieldStyles","focus","BaseButton","actionButtonStyles","Tooltip","IconCross","IconCalendarBlank","useDateRangePickerState","useDateRangePicker","useRangeCalendarState","createCalendar","useRangeCalendar","useCallback","FloatingLabel","bodyStyled.StyledBody","bodyStyled.StyledBodyContent","bodyStyled.StyledGridContent","bodyStyled.StyledBodyContentLeft","bodyStyled.StyledBodyContentRight","bodyStyled.StyledClearContent","useCalendarState","useCalendar","useDatePickerState","useDatePicker"],"mappings":"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"}
package/dist/module.js CHANGED
@@ -69,7 +69,7 @@ const StyledPredefinedRanges = styled(Primitive.div, {
69
69
  const PredefinedRanges = React__default.forwardRef(({ range, onClick }, forwardRef) => /* @__PURE__ */ jsx(StyledPredefinedRanges, { ref: forwardRef, children: range == null ? void 0 : range.map((date, i) => /* @__PURE__ */ jsx(
70
70
  Button$1,
71
71
  {
72
- variant: "ghost-prominent",
72
+ variant: "ghost",
73
73
  size: "medium",
74
74
  type: "button",
75
75
  onClick: () => onClick(date),
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sources":["../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/button.styled.tsx","../src/partials/button.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/trigger.styled.tsx","../src/partials/clear-button.styled.tsx","../src/partials/clear-button.tsx","../src/partials/trigger.tsx","../src/partials/range-picker.tsx","../src/partials/date-picker-body.tsx","../src/partials/date-picker.tsx","../src/calendar.tsx"],"sourcesContent":["/* 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 { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledGroup = styled(Primitive.div, {\n position: 'relative',\n})\n\nexport const StyledPicker = styled(Primitive.div, {})\n","import { 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","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 { 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","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 } from './button.styled'\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","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 { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\nimport { focus } from '@mirohq/design-system-styles'\n\nexport const StyledPlaceholder = styled(Primitive.span, {\n ...textFieldStyles.base.placeholder,\n padding: '0 $50',\n})\n\nexport const StyledValue = styled(Primitive.span, {\n padding: '0 $50',\n})\n\nexport const StyledTriggerContainer = styled(Primitive.div, {\n position: 'relative',\n})\n\nexport const StyledTrigger = styled(Primitive.button, {\n all: 'unset',\n display: 'inline-flex',\n gap: '$50',\n justifyContent: 'space-between',\n alignItems: 'center',\n height: '$10',\n padding: '0 $100',\n minWidth: '230px',\n\n ...textFieldStyles.variants.idle,\n\n '& svg': {\n color: '$text-neutrals-subtle',\n square: '22px',\n },\n\n _hover: textFieldStyles.variants.hovered,\n ...focus.css(textFieldStyles.variants.focused),\n\n variants: {\n withClearButton: {\n true: {\n paddingRight: 'calc($100 + $400)', // initial left padding + clear button width + gap\n },\n },\n },\n})\n\nexport const StyledCustomTrigger = styled(Primitive.button, {\n width: '100%',\n height: 'unset',\n padding: '0',\n backgroundColor: '$transparent',\n border: 'none',\n cursor: 'pointer',\n})\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { actionButtonStyles } from '@mirohq/design-system-base-text-field'\nimport { BaseButton } from '@mirohq/design-system-base-button'\n\nexport const StyledClearButton = styled(BaseButton, {\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: 'calc($100 + 1px)', // to compensate border width\n margin: 'auto',\n\n ...actionButtonStyles,\n})\n\nexport type StyledClearButtonProps = ComponentPropsWithRef<\n typeof StyledClearButton\n>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport { IconCross } from '@mirohq/design-system-icons'\nimport { Tooltip } from '@mirohq/design-system-tooltip'\n\nimport type { StyledClearButtonProps } from './clear-button.styled'\nimport { StyledClearButton } from './clear-button.styled'\n\ninterface ClearButtonProps extends Omit<StyledClearButtonProps, 'children'> {\n label: string\n}\n\nexport const ClearButton = React.forwardRef<\n ElementRef<typeof StyledClearButton>,\n ClearButtonProps\n>(({ 'aria-label': ariaLabel, label, ...restProps }, forwardRef) => (\n <Tooltip>\n <Tooltip.Trigger asChild>\n <StyledClearButton\n {...restProps}\n ref={forwardRef}\n aria-label={ariaLabel ?? label}\n >\n <IconCross />\n </StyledClearButton>\n </Tooltip.Trigger>\n <Tooltip.Content>{label}</Tooltip.Content>\n </Tooltip>\n))\n","import type { ElementRef, RefObject } from 'react'\nimport React from 'react'\nimport type { AriaButtonProps } from 'react-aria'\nimport { useButton } from 'react-aria'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport type { DateRange, DateValue } from '@react-types/datepicker'\n\nimport {\n StyledCustomTrigger,\n StyledPlaceholder,\n StyledTrigger,\n StyledTriggerContainer,\n StyledValue,\n} from './trigger.styled'\nimport { ClearButton } from './clear-button'\n\n// todo refactoring: move to context\ninterface TriggerContextProps {\n displayValue?: string\n stateValue?: DateValue | DateRange | null\n}\n\ntype TriggerProps = AriaButtonProps<'button'> &\n TriggerContextProps & {\n placeholder?: string\n asChild?: boolean\n\n // todo refactoring: use Clearable and NonClearable types similarly to Combobox.Trigger\n clearable?: boolean\n clearActionLabel?: string\n onClear?: () => void\n }\n\nfunction dateToString(\n value: DateValue | DateRange | undefined | null\n): string | undefined {\n if (value == null) {\n return undefined\n }\n\n if ('start' in value) {\n if (value.start == null || value.end == null) {\n return undefined\n }\n\n return `${value.start} - ${value.end}`\n }\n\n return value.toString()\n}\n\nexport const Trigger = React.forwardRef<\n ElementRef<typeof StyledTrigger>,\n TriggerProps\n>(\n (\n {\n placeholder,\n displayValue,\n stateValue,\n asChild = false,\n clearable = true,\n clearActionLabel,\n onClear,\n ...restProps\n },\n forwardRef\n ) => {\n // todo refactoring: use BaseButton\n const { buttonProps } = useButton(\n restProps,\n forwardRef as RefObject<Element>\n )\n const { children } = restProps\n\n if (asChild) {\n return (\n <StyledCustomTrigger {...buttonProps}>{children}</StyledCustomTrigger>\n )\n }\n\n const valueToDisplay = displayValue ?? dateToString(stateValue)\n\n const clearButtonVisible =\n clearable && clearActionLabel !== undefined && valueToDisplay != null\n\n return (\n <StyledTriggerContainer>\n <StyledTrigger\n data-custom=''\n {...buttonProps}\n ref={forwardRef}\n withClearButton={clearButtonVisible}\n >\n {valueToDisplay != null ? (\n <StyledValue>{valueToDisplay}</StyledValue>\n ) : (\n <StyledPlaceholder>{placeholder}</StyledPlaceholder>\n )}\n\n {!clearButtonVisible && <IconCalendarBlank weight='thin' />}\n </StyledTrigger>\n\n {clearButtonVisible && (\n <ClearButton label={clearActionLabel} onPress={onClear} />\n )}\n </StyledTriggerContainer>\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 { Button } from '@mirohq/design-system-button'\nimport { FloatingLabel } from '@mirohq/design-system-base-form'\n\nimport { Popover } from '../partials/popover'\nimport { StyledGroup, StyledPicker } 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'\nimport { Trigger } from './trigger'\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 label,\n placeholder,\n displayValue,\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, labelProps, buttonProps } = useDateRangePicker(\n {\n ...(props as DateRangePickerStateOptions<DateValue>),\n isOpen: defaultOpen,\n label,\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 onClearHandler = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue({ start: null, end: null })\n if (onClear !== undefined) {\n onClear()\n state.close()\n }\n }\n\n const clearableTrigger =\n clearButtonText !== undefined && onClear !== undefined\n\n return (\n <StyledPicker ref={forwardRef}>\n {children === undefined && (\n <StyledGroup {...groupProps} ref={ref}>\n {label !== undefined && (\n // todo refactoring: use Form Field context\n <FloatingLabel floating {...labelProps}>\n {label}\n </FloatingLabel>\n )}\n <Trigger\n {...buttonProps}\n placeholder={placeholder}\n displayValue={displayValue}\n stateValue={state.value}\n clearable={clearableTrigger}\n clearActionLabel={clearableTrigger ? clearButtonText : undefined}\n onClear={clearableTrigger ? onClearHandler : undefined}\n />\n </StyledGroup>\n )}\n {children !== undefined && (\n <div {...groupProps} ref={ref}>\n <Trigger {...buttonProps} asChild>\n {children}\n </Trigger>\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={onClearHandler}\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 { FloatingLabel } from '@mirohq/design-system-base-form'\n\nimport { Popover } from '../partials/popover'\nimport { StyledGroup, StyledPicker } from './picker.styled'\nimport type { CalendarProps as ICalendarProps } from '../calendar'\nimport { DatePickerBody } from './date-picker-body'\nimport { Trigger } from './trigger'\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 label,\n placeholder,\n displayValue,\n } = props\n\n const ref = useRef(null)\n\n const state = useDatePickerState(props as AriaDatePickerProps<CalendarDate>)\n const { groupProps, buttonProps, calendarProps, labelProps } = useDatePicker(\n {\n ...(props as AriaDatePickerProps<CalendarDate>),\n isOpen: defaultOpen,\n label,\n },\n state,\n ref\n )\n\n const onClearHandler = (): 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 const clearableTrigger =\n clearButtonText !== undefined && onClear !== undefined\n\n return (\n <>\n {picker === 'single' ? (\n <StyledPicker ref={forwardRef}>\n {children === undefined && (\n <StyledGroup {...groupProps} ref={ref}>\n {label !== undefined && (\n // todo refactoring: use Form Field context\n <FloatingLabel floating {...labelProps}>\n {label}\n </FloatingLabel>\n )}\n <Trigger\n {...buttonProps}\n placeholder={placeholder}\n displayValue={displayValue}\n stateValue={state.value}\n clearable={clearableTrigger}\n clearActionLabel={\n clearableTrigger ? clearButtonText : undefined\n }\n onClear={clearableTrigger ? onClearHandler : undefined}\n />\n </StyledGroup>\n )}\n {children !== undefined && (\n <div {...groupProps} ref={ref}>\n <Trigger {...buttonProps} asChild>\n {children}\n </Trigger>\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 ? onClearHandler : 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 ? onClearHandler : 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 /**\n * The label text for trigger's clear button when Calendar has a value. Will be rendered in a Tooltip\n */\n label?: string\n\n /**\n * The content that will be rendered inside the Calendar trigger when there is no value\n */\n placeholder?: string\n\n /**\n * A string that will be rendered in the trigger instead of the selected value\n */\n displayValue?: string\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","focus","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/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/button.styled.tsx","../src/partials/button.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/trigger.styled.tsx","../src/partials/clear-button.styled.tsx","../src/partials/clear-button.tsx","../src/partials/trigger.tsx","../src/partials/range-picker.tsx","../src/partials/date-picker-body.tsx","../src/partials/date-picker.tsx","../src/calendar.tsx"],"sourcesContent":["/* 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 { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledGroup = styled(Primitive.div, {\n position: 'relative',\n})\n\nexport const StyledPicker = styled(Primitive.div, {})\n","import { 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","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'\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 { 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","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 } from './button.styled'\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","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 { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\nimport { focus } from '@mirohq/design-system-styles'\n\nexport const StyledPlaceholder = styled(Primitive.span, {\n ...textFieldStyles.base.placeholder,\n padding: '0 $50',\n})\n\nexport const StyledValue = styled(Primitive.span, {\n padding: '0 $50',\n})\n\nexport const StyledTriggerContainer = styled(Primitive.div, {\n position: 'relative',\n})\n\nexport const StyledTrigger = styled(Primitive.button, {\n all: 'unset',\n display: 'inline-flex',\n gap: '$50',\n justifyContent: 'space-between',\n alignItems: 'center',\n height: '$10',\n padding: '0 $100',\n minWidth: '230px',\n\n ...textFieldStyles.variants.idle,\n\n '& svg': {\n color: '$text-neutrals-subtle',\n square: '22px',\n },\n\n _hover: textFieldStyles.variants.hovered,\n ...focus.css(textFieldStyles.variants.focused),\n\n variants: {\n withClearButton: {\n true: {\n paddingRight: 'calc($100 + $400)', // initial left padding + clear button width + gap\n },\n },\n },\n})\n\nexport const StyledCustomTrigger = styled(Primitive.button, {\n width: '100%',\n height: 'unset',\n padding: '0',\n backgroundColor: '$transparent',\n border: 'none',\n cursor: 'pointer',\n})\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { actionButtonStyles } from '@mirohq/design-system-base-text-field'\nimport { BaseButton } from '@mirohq/design-system-base-button'\n\nexport const StyledClearButton = styled(BaseButton, {\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: 'calc($100 + 1px)', // to compensate border width\n margin: 'auto',\n\n ...actionButtonStyles,\n})\n\nexport type StyledClearButtonProps = ComponentPropsWithRef<\n typeof StyledClearButton\n>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport { IconCross } from '@mirohq/design-system-icons'\nimport { Tooltip } from '@mirohq/design-system-tooltip'\n\nimport type { StyledClearButtonProps } from './clear-button.styled'\nimport { StyledClearButton } from './clear-button.styled'\n\ninterface ClearButtonProps extends Omit<StyledClearButtonProps, 'children'> {\n label: string\n}\n\nexport const ClearButton = React.forwardRef<\n ElementRef<typeof StyledClearButton>,\n ClearButtonProps\n>(({ 'aria-label': ariaLabel, label, ...restProps }, forwardRef) => (\n <Tooltip>\n <Tooltip.Trigger asChild>\n <StyledClearButton\n {...restProps}\n ref={forwardRef}\n aria-label={ariaLabel ?? label}\n >\n <IconCross />\n </StyledClearButton>\n </Tooltip.Trigger>\n <Tooltip.Content>{label}</Tooltip.Content>\n </Tooltip>\n))\n","import type { ElementRef, RefObject } from 'react'\nimport React from 'react'\nimport type { AriaButtonProps } from 'react-aria'\nimport { useButton } from 'react-aria'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport type { DateRange, DateValue } from '@react-types/datepicker'\n\nimport {\n StyledCustomTrigger,\n StyledPlaceholder,\n StyledTrigger,\n StyledTriggerContainer,\n StyledValue,\n} from './trigger.styled'\nimport { ClearButton } from './clear-button'\n\n// todo refactoring: move to context\ninterface TriggerContextProps {\n displayValue?: string\n stateValue?: DateValue | DateRange | null\n}\n\ntype TriggerProps = AriaButtonProps<'button'> &\n TriggerContextProps & {\n placeholder?: string\n asChild?: boolean\n\n // todo refactoring: use Clearable and NonClearable types similarly to Combobox.Trigger\n clearable?: boolean\n clearActionLabel?: string\n onClear?: () => void\n }\n\nfunction dateToString(\n value: DateValue | DateRange | undefined | null\n): string | undefined {\n if (value == null) {\n return undefined\n }\n\n if ('start' in value) {\n if (value.start == null || value.end == null) {\n return undefined\n }\n\n return `${value.start} - ${value.end}`\n }\n\n return value.toString()\n}\n\nexport const Trigger = React.forwardRef<\n ElementRef<typeof StyledTrigger>,\n TriggerProps\n>(\n (\n {\n placeholder,\n displayValue,\n stateValue,\n asChild = false,\n clearable = true,\n clearActionLabel,\n onClear,\n ...restProps\n },\n forwardRef\n ) => {\n // todo refactoring: use BaseButton\n const { buttonProps } = useButton(\n restProps,\n forwardRef as RefObject<Element>\n )\n const { children } = restProps\n\n if (asChild) {\n return (\n <StyledCustomTrigger {...buttonProps}>{children}</StyledCustomTrigger>\n )\n }\n\n const valueToDisplay = displayValue ?? dateToString(stateValue)\n\n const clearButtonVisible =\n clearable && clearActionLabel !== undefined && valueToDisplay != null\n\n return (\n <StyledTriggerContainer>\n <StyledTrigger\n data-custom=''\n {...buttonProps}\n ref={forwardRef}\n withClearButton={clearButtonVisible}\n >\n {valueToDisplay != null ? (\n <StyledValue>{valueToDisplay}</StyledValue>\n ) : (\n <StyledPlaceholder>{placeholder}</StyledPlaceholder>\n )}\n\n {!clearButtonVisible && <IconCalendarBlank weight='thin' />}\n </StyledTrigger>\n\n {clearButtonVisible && (\n <ClearButton label={clearActionLabel} onPress={onClear} />\n )}\n </StyledTriggerContainer>\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 { Button } from '@mirohq/design-system-button'\nimport { FloatingLabel } from '@mirohq/design-system-base-form'\n\nimport { Popover } from '../partials/popover'\nimport { StyledGroup, StyledPicker } 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'\nimport { Trigger } from './trigger'\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 label,\n placeholder,\n displayValue,\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, labelProps, buttonProps } = useDateRangePicker(\n {\n ...(props as DateRangePickerStateOptions<DateValue>),\n isOpen: defaultOpen,\n label,\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 onClearHandler = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue({ start: null, end: null })\n if (onClear !== undefined) {\n onClear()\n state.close()\n }\n }\n\n const clearableTrigger =\n clearButtonText !== undefined && onClear !== undefined\n\n return (\n <StyledPicker ref={forwardRef}>\n {children === undefined && (\n <StyledGroup {...groupProps} ref={ref}>\n {label !== undefined && (\n // todo refactoring: use Form Field context\n <FloatingLabel floating {...labelProps}>\n {label}\n </FloatingLabel>\n )}\n <Trigger\n {...buttonProps}\n placeholder={placeholder}\n displayValue={displayValue}\n stateValue={state.value}\n clearable={clearableTrigger}\n clearActionLabel={clearableTrigger ? clearButtonText : undefined}\n onClear={clearableTrigger ? onClearHandler : undefined}\n />\n </StyledGroup>\n )}\n {children !== undefined && (\n <div {...groupProps} ref={ref}>\n <Trigger {...buttonProps} asChild>\n {children}\n </Trigger>\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={onClearHandler}\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 { FloatingLabel } from '@mirohq/design-system-base-form'\n\nimport { Popover } from '../partials/popover'\nimport { StyledGroup, StyledPicker } from './picker.styled'\nimport type { CalendarProps as ICalendarProps } from '../calendar'\nimport { DatePickerBody } from './date-picker-body'\nimport { Trigger } from './trigger'\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 label,\n placeholder,\n displayValue,\n } = props\n\n const ref = useRef(null)\n\n const state = useDatePickerState(props as AriaDatePickerProps<CalendarDate>)\n const { groupProps, buttonProps, calendarProps, labelProps } = useDatePicker(\n {\n ...(props as AriaDatePickerProps<CalendarDate>),\n isOpen: defaultOpen,\n label,\n },\n state,\n ref\n )\n\n const onClearHandler = (): 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 const clearableTrigger =\n clearButtonText !== undefined && onClear !== undefined\n\n return (\n <>\n {picker === 'single' ? (\n <StyledPicker ref={forwardRef}>\n {children === undefined && (\n <StyledGroup {...groupProps} ref={ref}>\n {label !== undefined && (\n // todo refactoring: use Form Field context\n <FloatingLabel floating {...labelProps}>\n {label}\n </FloatingLabel>\n )}\n <Trigger\n {...buttonProps}\n placeholder={placeholder}\n displayValue={displayValue}\n stateValue={state.value}\n clearable={clearableTrigger}\n clearActionLabel={\n clearableTrigger ? clearButtonText : undefined\n }\n onClear={clearableTrigger ? onClearHandler : undefined}\n />\n </StyledGroup>\n )}\n {children !== undefined && (\n <div {...groupProps} ref={ref}>\n <Trigger {...buttonProps} asChild>\n {children}\n </Trigger>\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 ? onClearHandler : 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 ? onClearHandler : 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 /**\n * The label text for trigger's clear button when Calendar has a value. Will be rendered in a Tooltip\n */\n label?: string\n\n /**\n * The content that will be rendered inside the Calendar trigger when there is no value\n */\n placeholder?: string\n\n /**\n * A string that will be rendered in the trigger instead of the selected value\n */\n displayValue?: string\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","focus","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.3.17",
3
+ "version": "0.4.0-button-api-changes.0",
4
4
  "description": "",
5
5
  "author": "Miro",
6
6
  "source": "src/index.ts",
@@ -30,16 +30,16 @@
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-base-button": "^0.4.57",
34
- "@mirohq/design-system-base-text-field": "^0.1.10",
35
- "@mirohq/design-system-base-form": "^0.2.27",
36
- "@mirohq/design-system-button": "^3.1.61",
37
- "@mirohq/design-system-icons": "^0.51.1",
38
- "@mirohq/design-system-flex": "^2.1.55",
33
+ "@mirohq/design-system-base-button": "^0.4.56",
34
+ "@mirohq/design-system-base-form": "^0.2.26",
35
+ "@mirohq/design-system-button": "^4.0.0-button-api-changes.0",
36
+ "@mirohq/design-system-flex": "^2.1.54",
37
+ "@mirohq/design-system-base-text-field": "^0.1.9",
38
+ "@mirohq/design-system-icons": "^0.52.0-button-api-changes.0",
39
39
  "@mirohq/design-system-primitive": "^1.1.2",
40
- "@mirohq/design-system-stitches": "^2.6.20",
41
- "@mirohq/design-system-styles": "^1.2.20",
42
- "@mirohq/design-system-tooltip": "^3.3.28"
40
+ "@mirohq/design-system-stitches": "^2.6.19",
41
+ "@mirohq/design-system-styles": "^1.2.19",
42
+ "@mirohq/design-system-tooltip": "^3.3.27"
43
43
  },
44
44
  "scripts": {
45
45
  "build": "rollup -c ../../../rollup.config.js",