@mirohq/design-system-calendar 1.2.0-new-focus-keyboard.1 → 1.2.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
@@ -70,9 +70,6 @@ const StyledTrigger = designSystemStitches.styled(designSystemBaseButton.BaseBut
70
70
  minWidth: "230px",
71
71
  ...designSystemBaseTextField.textFieldStyles.variants.idle,
72
72
  _hover: designSystemBaseTextField.textFieldStyles.variants.hovered,
73
- ...designSystemStyles.focus.css({
74
- boxShadow: "$focus-keyboard"
75
- }),
76
73
  '&:disabled, &[aria-disabled="true"]': {
77
74
  ...designSystemBaseTextField.textFieldStyles.variants.disabled,
78
75
  color: "$text-neutrals-disabled"
@@ -80,9 +77,12 @@ const StyledTrigger = designSystemStitches.styled(designSystemBaseButton.BaseBut
80
77
  variants: {
81
78
  v1: {
82
79
  true: {
83
- ...designSystemBaseTextField.textFieldStyles.v1.idle
80
+ ...designSystemBaseTextField.textFieldStyles.v1.idle,
81
+ ...designSystemStyles.focus.css(designSystemBaseTextField.textFieldStyles.v1.focused)
84
82
  },
85
- false: {}
83
+ false: {
84
+ ...designSystemStyles.focus.css(designSystemBaseTextField.textFieldStyles.variants.focused)
85
+ }
86
86
  },
87
87
  withClearButton: {
88
88
  true: {
@@ -352,7 +352,7 @@ const StyledCellContent = designSystemStitches.styled(designSystemPrimitive.Prim
352
352
  left: "0",
353
353
  position: "absolute",
354
354
  zIndex: "1",
355
- boxShadow: "$focus-keyboard",
355
+ boxShadow: "$focus-v1",
356
356
  outline: "1px solid transparent"
357
357
  }),
358
358
  '&[aria-disabled="true"]': {
@@ -414,7 +414,7 @@ const StyledCellContent = designSystemStitches.styled(designSystemPrimitive.Prim
414
414
  });
415
415
 
416
416
  const Cell = (props) => {
417
- const { state, date: date$1, currentMonth } = props;
417
+ let { state, date: date$1, currentMonth } = props;
418
418
  const ref = React.useRef(null);
419
419
  const { cellProps, buttonProps, isSelected, formattedDate } = reactAria.useCalendarCell(
420
420
  { date: date$1 },
@@ -422,6 +422,7 @@ const Cell = (props) => {
422
422
  ref
423
423
  );
424
424
  const isOutsideMonth = !date.isSameMonth(currentMonth, date$1);
425
+ state = state;
425
426
  const isSelectionStart = state.highlightedRange !== void 0 && state.highlightedRange !== null ? date.isSameDay(date$1, state.highlightedRange.start) : isSelected;
426
427
  const isSelectionEnd = state.highlightedRange !== void 0 && state.highlightedRange !== null ? date.isSameDay(date$1, state.highlightedRange.end) : isSelected;
427
428
  const { focusProps } = reactAria.useFocusRing();
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sources":["../src/partials/trigger.styled.tsx","../src/partials/clear-action.styled.tsx","../src/partials/clear-action.tsx","../src/use-calendar-context.tsx","../src/partials/trigger.tsx","../src/partials/content.styled.tsx","../src/partials/header.styled.tsx","../src/partials/header-button.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/content.tsx","../src/partials/value.styled.tsx","../src/partials/value.tsx","../src/partials/clear-button.tsx","../src/partials/save-button.tsx","../src/calendar.styled.tsx","../src/calendar.tsx"],"sourcesContent":["import { Primitive } from '@mirohq/design-system-primitive'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\nimport { focus } from '@mirohq/design-system-styles'\nimport { BaseButton } from '@mirohq/design-system-base-button'\n\nexport const StyledPlaceholder = styled(Primitive.span, {\n ...textFieldStyles.base.placeholder.old,\n padding: '0 $50',\n})\n\nexport const StyledValue = styled(Primitive.span, {\n padding: '0 $50',\n})\n\nexport const StyledIconContainer = styled(Primitive.span, {\n display: 'flex',\n justifyContent: 'center',\n padding: '6px',\n color: '$text-neutrals-subtle',\n})\n\nexport const StyledTrigger = styled(BaseButton, {\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 _hover: textFieldStyles.variants.hovered,\n ...focus.css({\n boxShadow: '$focus-keyboard',\n }),\n\n '&:disabled, &[aria-disabled=\"true\"]': {\n ...textFieldStyles.variants.disabled,\n color: '$text-neutrals-disabled',\n },\n\n variants: {\n v1: {\n true: {\n ...textFieldStyles.v1.idle,\n },\n false: {},\n },\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(BaseButton, {\n width: '100%',\n height: 'unset',\n padding: '0',\n backgroundColor: '$transparent',\n border: 'none',\n cursor: 'pointer',\n})\n\nexport type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>\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 StyledClearAction = 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 '&:disabled, &[aria-disabled=\"true\"]': {\n color: '$icon-neutrals-disabled',\n },\n})\n\nexport type StyledClearActionProps = ComponentPropsWithRef<\n typeof StyledClearAction\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 { StyledClearActionProps } from './clear-action.styled'\nimport { StyledClearAction } from './clear-action.styled'\n\ninterface ClearActionProps extends Omit<StyledClearActionProps, 'children'> {\n label: string\n}\n\nexport const ClearAction = React.forwardRef<\n ElementRef<typeof StyledClearAction>,\n ClearActionProps\n>(({ 'aria-label': ariaLabel, label, ...restProps }, forwardRef) => (\n <Tooltip>\n <Tooltip.Trigger asChild>\n <StyledClearAction\n {...restProps}\n ref={forwardRef}\n aria-label={ariaLabel ?? label}\n >\n <IconCross />\n </StyledClearAction>\n </Tooltip.Trigger>\n <Tooltip.Content>{label}</Tooltip.Content>\n </Tooltip>\n))\n","import React, {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react'\nimport type { PropsWithChildren } from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport type { DateDuration } from '@internationalized/date'\nimport { useControllableState } from '@radix-ui/react-use-controllable-state'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\ninterface SharedProps {\n picker: 'single' | 'range'\n minDate?: DateValue\n maxDate?: DateValue\n disabled?: boolean\n ariaDisabled?: Booleanish\n}\n\ninterface CalendarContextProps<T extends DateRange | DateValue>\n extends SharedProps {\n visibleDuration: DateDuration\n\n value?: T\n setValue: React.Dispatch<React.SetStateAction<T | undefined>>\n\n open: boolean\n setOpen: React.Dispatch<React.SetStateAction<boolean | undefined>>\n\n setImmediateSave: React.Dispatch<React.SetStateAction<boolean>>\n\n calendarValue?: T | null\n calendarDefaultValue?: T | null\n onCalendarDateClick: (date: T) => void\n onSaveClick: () => void\n}\n\nexport interface CalendarProviderProps<T extends DateRange | DateValue>\n extends SharedProps {\n visibleMonths?: number\n\n defaultValue?: T\n value?: T\n onValueChange?: (value: T | undefined) => void\n\n defaultOpen?: boolean\n open?: boolean\n onOpen?: () => void\n onClose?: () => void\n}\n\nconst CalendarContext = createContext<CalendarContextProps<any>>({} as any)\n\nexport const CalendarProvider = <T extends DateRange | DateValue>({\n children,\n visibleMonths = 1,\n value: valueProp,\n defaultValue: defaultValueProp,\n onValueChange,\n open: openProp,\n defaultOpen: defaultOpenProp,\n onOpen,\n onClose,\n ...restProps\n}: PropsWithChildren<CalendarProviderProps<T>>): JSX.Element => {\n const [immediateSave, setImmediateSave] = useState(false)\n const [internalCalendarValue, setInternalCalendarValue] = useState<\n T | undefined\n >(valueProp ?? defaultValueProp)\n\n const visibleDuration = useMemo(\n () => ({\n months: visibleMonths,\n }),\n [visibleMonths]\n )\n\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValueProp,\n onChange: onValueChange,\n })\n\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpenProp,\n onChange: state => {\n if (state) {\n onOpen?.()\n } else {\n onClose?.()\n }\n },\n })\n\n const onCalendarDateClick = useCallback(\n (value: T): void => {\n if (immediateSave) {\n setInternalCalendarValue(value)\n } else {\n setValue(value)\n setOpen(false)\n }\n },\n [setValue, setOpen, immediateSave, setInternalCalendarValue]\n )\n\n const onSaveClick = (): void => {\n setValue(internalCalendarValue)\n setOpen(false)\n }\n\n return (\n <CalendarContext.Provider\n value={{\n ...restProps,\n visibleDuration,\n value: value,\n setValue,\n open,\n setOpen,\n onCalendarDateClick,\n setImmediateSave,\n onSaveClick,\n // value should not be undefined otherwise react-aria calendar will complain in console\n calendarValue: (immediateSave ? internalCalendarValue : value) ?? null,\n }}\n >\n {children}\n </CalendarContext.Provider>\n )\n}\n\nexport const useCalendarContext = <\n T extends DateRange | DateValue\n>(): CalendarContextProps<T> => useContext(CalendarContext)\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { useNewDesignLanguage } from '@mirohq/design-system-experiments'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\nimport { Trigger as RadixTrigger } from '@radix-ui/react-popover'\nimport { booleanify, stringAttrValue } from '@mirohq/design-system-utils'\n\nimport type { StyledTriggerProps } from './trigger.styled'\nimport {\n StyledIconContainer,\n StyledCustomTrigger,\n StyledPlaceholder,\n StyledTrigger,\n StyledValue,\n} from './trigger.styled'\nimport { ClearAction } from './clear-action'\nimport { useCalendarContext } from '../use-calendar-context'\n\ntype TriggerSharedProps = Omit<StyledTriggerProps, 'v1' | 'withClearButton'> & {\n /**\n * The content that will be rendered inside the Calendar trigger when there is no value\n */\n placeholder?: string\n\n /**\n * Show a button to clear the Calendar value\n * @default false\n */\n clearable?: boolean\n}\n\nexport type TriggerProps = TriggerSharedProps &\n (\n | { clearable: false; clearLabel?: never; onClear?: never }\n | {\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * The label text for Trigger's action button when Combobox has values selected. Will be rendered in a Tooltip.\n */\n clearLabel: string\n }\n )\n\nexport const Trigger = React.forwardRef<ElementRef<'button'>, TriggerProps>(\n (\n {\n id,\n 'aria-describedby': ariaDescribedBy,\n placeholder,\n asChild = false,\n clearable = true,\n clearLabel,\n onClear,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const [v1] = useNewDesignLanguage()\n\n const { value, setValue, disabled, ariaDisabled } = useCalendarContext()\n\n const { formElementId, ariaDescribedBy: formFieldContextDescribedBy } =\n useFormFieldContext()\n\n if (asChild) {\n return (\n <RadixTrigger ref={forwardRef} asChild>\n <StyledCustomTrigger asChild {...restProps}>\n {children}\n </StyledCustomTrigger>\n </RadixTrigger>\n )\n }\n\n const onClearHandler = (): void => {\n setValue(undefined)\n if (onClear !== undefined) {\n onClear()\n }\n }\n\n const clearButtonVisible =\n clearable && value != null && clearLabel !== undefined\n\n return (\n <>\n <RadixTrigger ref={forwardRef} asChild>\n <StyledTrigger\n id={id ?? formElementId}\n aria-describedby={stringAttrValue(\n ariaDescribedBy,\n formFieldContextDescribedBy\n )}\n v1={v1}\n withClearButton={clearButtonVisible}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n {...restProps}\n >\n {value != null ? (\n <StyledValue>{children}</StyledValue>\n ) : (\n <StyledPlaceholder>{placeholder}</StyledPlaceholder>\n )}\n\n {!clearButtonVisible && (\n <StyledIconContainer>\n <IconCalendarBlank weight='thin' size='small' />\n </StyledIconContainer>\n )}\n </StyledTrigger>\n </RadixTrigger>\n {clearButtonVisible && (\n <ClearAction\n label={clearLabel}\n onPress={onClearHandler}\n disabled={disabled ?? booleanify(ariaDisabled)}\n />\n )}\n </>\n )\n }\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'\nimport { Content as RadixContent } from '@radix-ui/react-popover'\n\nexport const StyledContent = styled(RadixContent, {\n zIndex: '$calendar',\n background: '$background-neutrals',\n borderRadius: '$100',\n boxShadow: '$100',\n})\n\nexport const StyledCalendarBody = styled(Flex, {\n padding: '$200',\n})\n\nexport const StyledGridContent = styled(Flex, {})\n\nexport const StyledBodyContentLeft = styled(Primitive.div, {})\n\nexport const StyledBodyContentRight = styled(Primitive.div, {\n paddingLeft: '$200',\n})\n\nexport const StyledClearContent = styled(Primitive.div, {\n display: 'flex',\n gap: '$100',\n padding: '$200',\n borderTop: '1px solid $border-neutrals',\n})\n\nexport type StyledContentProps = ComponentPropsWithRef<typeof StyledContent>\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\nimport { Heading } from '@mirohq/design-system-typography'\n\nexport const StyledHeaderTitle = styled(Heading, {\n margin: 0,\n flex: '2',\n textAlign: 'center',\n})\n\nexport const StyledHeaderPlaceholder = styled('div', {\n height: '$8',\n // to compensate icon buttons' width and space between 2 calendars\n width: 'calc($8 * 2 + $space$200)',\n})\n\nexport const StyledHeader = styled(Flex, {\n color: '$text-neutrals',\n height: '$8',\n alignItems: 'center',\n justifyContent: 'space-between',\n})\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { IconButtonProps } from '@mirohq/design-system-icon-button'\nimport { IconButton } from '@mirohq/design-system-icon-button'\n\nexport type HeaderButtonProps = IconButtonProps & {\n onFocus?: () => void\n onPress?: () => void\n isDisabled?: boolean // name comes from react-aria\n 'aria-label': string\n}\n\nexport const HeaderButton = React.forwardRef<\n ElementRef<'button'>,\n HeaderButtonProps\n>(({ isDisabled, children, ...restProps }, forwardRef) => (\n <IconButton\n {...restProps}\n size='medium'\n disabled={isDisabled}\n ref={forwardRef}\n >\n {children}\n </IconButton>\n))\n","import React from 'react'\nimport { useDateFormatter } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\nimport { IconChevronLeft, IconChevronRight } from '@mirohq/design-system-icons'\n\nimport {\n StyledHeaderPlaceholder,\n StyledHeader,\n StyledHeaderTitle,\n} from './header.styled'\nimport type { HeaderButtonProps } from './header-button'\nimport { HeaderButton } from './header-button'\n\ninterface IHeader {\n state: RangeCalendarState | CalendarState\n prevButtonProps: HeaderButtonProps\n nextButtonProps: HeaderButtonProps\n visibleMonths?: number\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 <HeaderButton {...prevButtonProps}>\n <IconChevronLeft />\n </HeaderButton>\n <StyledHeaderTitle level={2} styledAs='h3'>\n {monthDateFormatter.format(\n state.visibleRange.start.toDate(state.timeZone)\n )}\n </StyledHeaderTitle>\n {visibleMonths === 2 && (\n <>\n <StyledHeaderPlaceholder />\n <StyledHeaderTitle level={2} styledAs='h3'>\n {monthDateFormatter.format(\n state.visibleRange.start.add({ months: 1 }).toDate(state.timeZone)\n )}\n </StyledHeaderTitle>\n </>\n )}\n <HeaderButton {...nextButtonProps}>\n <IconChevronRight />\n </HeaderButton>\n </StyledHeader>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { focus } from '@mirohq/design-system-styles'\n\nexport const StyledCell = styled(Primitive.td, {\n square: '$10',\n marginTop: '$50',\n position: 'relative',\n})\n\nexport const StyledCellContent = styled(Primitive.div, {\n cursor: 'pointer',\n square: '$10',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '$50',\n color: '$text-neutrals',\n\n ...focus.css({\n top: '0',\n left: '0',\n position: 'absolute',\n zIndex: '1',\n boxShadow: '$focus-keyboard',\n outline: '1px solid transparent',\n }),\n\n '&[aria-disabled=\"true\"]': {\n textDecoration: 'line-through',\n color: '$text-neutrals-disabled',\n cursor: 'default',\n },\n\n '&:not([aria-disabled=\"true\"])': {\n _hover: {\n backgroundColor: '$background-neutrals-subtle-hover',\n color: '$text-neutrals',\n },\n },\n\n variants: {\n today: {\n true: {\n backgroundColor: '$background-neutrals-subtle-hover',\n color: '$text-neutrals',\n },\n },\n selected: {\n true: {\n backgroundColor: '$background-primary-prominent-selected',\n color: '$text-neutrals-inverted',\n\n '&:not([aria-disabled=\"true\"])': {\n _hover: {\n backgroundColor: '$background-primary-prominent-hover',\n color: '$text-neutrals-inverted',\n },\n },\n },\n },\n range: {\n middle: {\n backgroundColor: '$background-primary-subtle-selected',\n color: '$text-neutrals',\n borderRadius: 0,\n\n '&:not([aria-disabled=\"true\"])': {\n _hover: {\n backgroundColor: '$background-primary-subtle-hover',\n },\n },\n },\n start: {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n },\n end: {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n },\n },\n hidden: {\n true: {\n display: 'none',\n },\n },\n },\n})\n\nexport type StyledCellProps = ComponentPropsWithRef<typeof StyledCell>\n","import React, { useRef } from 'react'\nimport { useCalendarCell, useFocusRing, mergeProps } from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport {\n isSameDay,\n isSameMonth,\n isToday,\n getLocalTimeZone,\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.FC<CellProps> = props => {\n const { state, date, currentMonth } = props\n const ref = useRef(null)\n const { cellProps, buttonProps, isSelected, formattedDate } = useCalendarCell(\n { date },\n state,\n ref\n )\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 const { focusProps } = useFocusRing()\n\n // when it's both start and end, it's single date\n const isRange = isSelected && (!isSelectionStart || !isSelectionEnd)\n\n const rangeVariant = isRange\n ? isSelectionStart\n ? 'start'\n : isSelectionEnd\n ? 'end'\n : 'middle'\n : undefined\n\n return (\n <StyledCell {...cellProps}>\n <StyledCellContent\n {...mergeProps(buttonProps, focusProps)}\n ref={ref}\n selected={isSelected && (isSelectionStart || isSelectionEnd)}\n today={isToday(date, getLocalTimeZone())}\n range={rangeVariant}\n hidden={isOutsideMonth}\n >\n {formattedDate}\n </StyledCellContent>\n </StyledCell>\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 height: '$10',\n color: '$text-neutrals-subtle',\n fontWeight: '$regular',\n paddingTop: '$50',\n})\n\nexport type StyledGridProps = ComponentPropsWithRef<typeof StyledGrid>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { getWeeksInMonth } from '@internationalized/date'\nimport type { AriaCalendarGridProps, DateRange } from 'react-aria'\nimport { useLocale, useCalendarGrid } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport { Cell } from './cell'\nimport type { StyledGridProps } from './grid.styled'\nimport { StyledDays, StyledGrid } from './grid.styled'\n\nexport interface GridProps extends Omit<StyledGridProps, 'onChange'> {\n state: RangeCalendarState | CalendarState\n offset?: DateDuration\n onChange?: (value: DateRange) => void\n}\n\nexport const Grid = React.forwardRef<ElementRef<typeof StyledGrid>, GridProps>(\n (props, forwardRef) => {\n const { locale } = useLocale()\n const { state, offset = {} } = props\n const startDate: CalendarDate = state.visibleRange.start.add(offset)\n const { gridProps, headerProps, weekDays } = useCalendarGrid(\n props as AriaCalendarGridProps,\n state\n )\n\n // Get the number of weeks in the month so we can render the proper number of rows.\n const weeksInMonth = getWeeksInMonth(startDate, locale)\n\n return (\n <StyledGrid ref={forwardRef} {...gridProps} cellPadding='0'>\n <thead {...headerProps}>\n <tr>\n {weekDays.map((day, i) => (\n <StyledDays key={i}>\n <div>{day}</div>\n </StyledDays>\n ))}\n </tr>\n </thead>\n <tbody>\n {Array.from(Array(weeksInMonth).keys()).map(weekIndex => (\n <tr key={weekIndex}>\n {state\n .getDatesInWeek(weekIndex, startDate)\n .map((date: CalendarDate | null, i: number) =>\n date !== null ? (\n <Cell\n key={i}\n state={state}\n date={date}\n currentMonth={startDate}\n />\n ) : (\n <td key={i} />\n )\n )}\n </tr>\n ))}\n </tbody>\n </StyledGrid>\n )\n }\n)\n","import type { ElementRef, ReactElement, ReactNode } from 'react'\nimport React, { useRef } from 'react'\nimport { useCalendarState, useRangeCalendarState } from 'react-stately'\nimport { useCalendar, useRangeCalendar, useLocale } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport { Flex } from '@mirohq/design-system-flex'\nimport type { DateRange, DateValue, AriaButtonProps } from 'react-aria'\nimport type { DOMAttributes } from '@react-types/shared'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\nimport { theme } from '@mirohq/design-system-stitches'\n\nimport { useCalendarContext } from '../use-calendar-context'\nimport type { StyledContentProps } from './content.styled'\nimport {\n StyledContent,\n StyledClearContent,\n StyledCalendarBody,\n StyledBodyContentLeft,\n StyledBodyContentRight,\n StyledGridContent,\n} from './content.styled'\nimport { Header } from './header'\nimport { Grid } from './grid'\nimport type { Align, PointerDownOutsideEvent, Side, Sticky } from '../types'\nimport type { HeaderButtonProps } from './header-button'\n\nexport const CONTENT_OFFSET = parseInt(theme.space[50])\n\nexport type ContentProps = StyledContentProps & {\n /**\n * Calendar's content.\n */\n children?: ReactNode\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault.\n */\n onCloseAutoFocus?: (event: Event) => void\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void\n\n /**\n * Event handler called when a pointer event occurs outside the bounds of the\n * component. It can be prevented by calling event.preventDefault.\n */\n onPointerDownOutside?: (event: PointerDownOutsideEvent) => void\n\n /**\n * The preferred side of the anchor to render against when open. Will be\n * reversed when collisions occur and avoidCollisions is enabled.\n * @default 'bottom'\n */\n side?: Side\n\n /**\n * The distance in pixels from the anchor.\n * @default CONTENT_OFFSET\n */\n sideOffset?: number\n\n /**\n * The preferred alignment against the anchor. May change when collisions\n * occur.\n * @default 'start'\n */\n align?: Align\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options.\n * @default 0\n */\n alignOffset?: number\n\n /**\n * When true, overrides the side and align preferences to prevent collisions\n * with boundary edges.\n * @default true\n */\n avoidCollisions?: boolean\n\n /**\n * The element used as the collision boundary. By default this is the\n * viewport, though you can provide additional element(s) to be included in\n * this check.\n */\n collisionBoundary?: Element | null\n\n /**\n * The distance in pixels from the boundary edges where collision detection\n * should occur. Accepts a number (same for all sides), or a partial padding\n * object, for example: { top: 20, left: 20 }.\n * @default 0\n */\n collisionPadding?: number | Partial<Record<Side, number>>\n\n /**\n * The sticky behavior on the align axis. \"partial\" will keep the content in the\n * boundary as long as the trigger is at least partially in the boundary whilst\n * \"always\" will keep the content in the boundary regardless.\n * @default 'partial'\n */\n sticky?: Sticky\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded.\n * @default true\n */\n hideWhenDetached?: boolean\n}\n\ninterface SharedContentProps {\n calendarProps: DOMAttributes\n prevButtonProps: AriaButtonProps\n nextButtonProps: AriaButtonProps\n state: RangeCalendarState | CalendarState\n}\n\nconst SharedContent = React.forwardRef<HTMLDivElement, SharedContentProps>(\n ({ calendarProps, prevButtonProps, nextButtonProps, state }, forwardRef) => {\n const { visibleDuration } = useCalendarContext<DateValue>()\n\n return (\n <StyledCalendarBody\n direction='column'\n {...calendarProps}\n ref={forwardRef}\n >\n <Header\n state={state}\n prevButtonProps={prevButtonProps as HeaderButtonProps}\n nextButtonProps={nextButtonProps as HeaderButtonProps}\n visibleMonths={visibleDuration.months}\n />\n <StyledGridContent>\n <StyledBodyContentLeft>\n <Grid state={state} />\n </StyledBodyContentLeft>\n {visibleDuration.months === 2 && (\n <StyledBodyContentRight>\n <Grid state={state} offset={{ months: 1 }} />\n </StyledBodyContentRight>\n )}\n </StyledGridContent>\n </StyledCalendarBody>\n )\n }\n)\n\nconst DatePickerContent = (): ReactElement => {\n const { locale } = useLocale()\n\n const {\n calendarValue,\n visibleDuration,\n minDate,\n maxDate,\n onCalendarDateClick,\n } = useCalendarContext<DateValue>()\n\n const state = useCalendarState({\n value: calendarValue,\n visibleDuration,\n minValue: minDate,\n maxValue: maxDate,\n autoFocus: true,\n onChange: onCalendarDateClick,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useCalendar(\n {},\n state\n )\n\n return (\n <SharedContent\n calendarProps={calendarProps}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n state={state}\n />\n )\n}\n\nconst RangePickerContent = (): ReactElement => {\n const { locale } = useLocale()\n\n const {\n calendarValue,\n visibleDuration,\n minDate,\n maxDate,\n onCalendarDateClick,\n } = useCalendarContext<DateRange>()\n\n const ref = useRef<HTMLDivElement>(null)\n\n const state = useRangeCalendarState({\n value: calendarValue,\n visibleDuration,\n minValue: minDate,\n maxValue: maxDate,\n autoFocus: true,\n onChange: onCalendarDateClick,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useRangeCalendar(\n {},\n state,\n ref\n )\n\n return (\n <SharedContent\n ref={ref}\n calendarProps={calendarProps}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n state={state}\n />\n )\n}\n\nexport const Content = React.forwardRef<\n ElementRef<typeof StyledContent>,\n ContentProps\n>(\n (\n {\n side = 'bottom',\n sideOffset = CONTENT_OFFSET,\n align = 'start',\n alignOffset = 0,\n collisionPadding = 0,\n avoidCollisions = true,\n sticky = 'partial',\n hideWhenDetached = true,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const { picker, open } = useCalendarContext()\n\n if (!open) {\n return null\n }\n\n return (\n <StyledContent\n {...restProps}\n ref={forwardRef}\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n collisionPadding={collisionPadding}\n avoidCollisions={avoidCollisions}\n sticky={sticky}\n hideWhenDetached={hideWhenDetached}\n >\n <Flex direction='column'>\n {picker === 'single' ? <DatePickerContent /> : <RangePickerContent />}\n {children != null && (\n <StyledClearContent>{children}</StyledClearContent>\n )}\n </Flex>\n </StyledContent>\n )\n }\n)\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\n\nexport const StyledValue = styled(Primitive.span, {})\n\nexport type StyledValueProps = ComponentPropsWithRef<typeof StyledValue>\n","import type { ElementRef } from 'react'\nimport React, { useMemo } from 'react'\nimport type { DateRange, DateValue } from '@react-types/datepicker'\nimport type { DateFormatter } from 'react-aria'\nimport { useDateFormatter } from 'react-aria'\nimport { getLocalTimeZone } from '@internationalized/date'\n\nimport type { StyledValueProps } from './value.styled'\nimport { StyledValue } from './value.styled'\nimport { useCalendarContext } from '../use-calendar-context'\n\ntype FormatOptions = Pick<\n Intl.DateTimeFormatOptions,\n 'weekday' | 'era' | 'year' | 'month' | 'day' | 'formatMatcher'\n>\n\nexport type ValueProps = StyledValueProps & {\n format?: FormatOptions\n}\n\nconst DEFAULT_FORMAT: FormatOptions = {\n day: '2-digit',\n month: 'short',\n year: 'numeric',\n}\n\nfunction formatDate(\n date: DateValue,\n formatter: DateFormatter,\n timeZone: string\n): string | undefined {\n return formatter.format(date.toDate(timeZone))\n}\n\nfunction formatValue(\n value: DateValue | DateRange | undefined | null,\n formatter: DateFormatter,\n timeZone: string\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 `${formatDate(value.start, formatter, timeZone)} - ${formatDate(\n value.end,\n formatter,\n timeZone\n )}`\n }\n\n return formatDate(value, formatter, timeZone)\n}\n\nexport const Value = React.forwardRef<\n ElementRef<typeof StyledValue>,\n ValueProps\n>(({ format = DEFAULT_FORMAT, ...restProps }, forwardRef) => {\n const { value } = useCalendarContext()\n\n const timeZone = useMemo(getLocalTimeZone, [format])\n\n const formatWithTimeZone = useMemo(\n () => ({ ...format, timeZone }),\n [format, timeZone]\n )\n const dateFormatter = useDateFormatter(formatWithTimeZone)\n\n const valueToDisplay = formatValue(value, dateFormatter, timeZone)\n\n return (\n <StyledValue ref={forwardRef} {...restProps}>\n {valueToDisplay}\n </StyledValue>\n )\n})\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport { Button } from '@mirohq/design-system-button'\nimport type { BaseButtonProps } from '@mirohq/design-system-base-button'\n\nimport { useCalendarContext } from '../use-calendar-context'\n\nexport type ClearButtonProps = BaseButtonProps & {\n /**\n * Event handler called when the calendar value is cleared\n */\n onClear?: () => void\n}\n\nexport const ClearButton = React.forwardRef<\n ElementRef<typeof Button>,\n ClearButtonProps\n>(({ onClear, children, ...restProps }, forwardRef) => {\n const { value, setValue } = useCalendarContext()\n\n const onClearHandler = (): void => {\n setValue(undefined)\n if (onClear !== undefined) {\n onClear()\n }\n }\n\n return (\n <Button\n {...restProps}\n ref={forwardRef}\n variant='ghost'\n size='medium'\n onClick={onClearHandler}\n disabled={value === null}\n >\n {children}\n </Button>\n )\n})\n","import type { ElementRef } from 'react'\nimport React, { useEffect } from 'react'\nimport { Button } from '@mirohq/design-system-button'\nimport type { BaseButtonProps } from '@mirohq/design-system-base-button'\n\nimport { useCalendarContext } from '../use-calendar-context'\n\nexport type SaveButtonProps = BaseButtonProps & {\n /**\n * Event handler called when the calendar value is saved\n */\n onSave?: () => void\n}\n\nexport const SaveButton = React.forwardRef<\n ElementRef<typeof Button>,\n SaveButtonProps\n>(({ onSave, children, ...restProps }, forwardRef) => {\n const { setImmediateSave, onSaveClick } = useCalendarContext()\n\n useEffect(() => {\n setImmediateSave(true)\n\n return () => setImmediateSave(false)\n }, [setImmediateSave])\n\n const onSaveHandler = (): void => {\n onSaveClick()\n if (onSave !== undefined) {\n onSave()\n }\n }\n\n return (\n <Button\n ref={forwardRef}\n {...restProps}\n variant='primary'\n size='medium'\n onClick={onSaveHandler}\n >\n {children}\n </Button>\n )\n})\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport type { ComponentPropsWithRef } from 'react'\n\nexport const StyledCalendar = styled(Primitive.div, {\n position: 'relative',\n})\nexport type StyledCalendarProps = ComponentPropsWithRef<typeof StyledCalendar>\n","import type {\n ElementRef,\n ForwardRefExoticComponent,\n PropsWithChildren,\n} from 'react'\nimport React from 'react'\nimport { I18nProvider } from 'react-aria'\nimport * as RadixPopover from '@radix-ui/react-popover'\nimport type { DateRange, DateValue } from 'react-aria'\nimport {\n FloatingLabel,\n useFormFieldContext,\n} from '@mirohq/design-system-base-form'\n\nimport type { CalendarDatePickerProps, CalendarRangePickerProps } from './types'\nimport { Trigger } from './partials/trigger'\nimport { Content } from './partials/content'\nimport type { CalendarProviderProps } from './use-calendar-context'\nimport { CalendarProvider, useCalendarContext } from './use-calendar-context'\nimport { Value } from './partials/value'\nimport { ClearButton } from './partials/clear-button'\nimport { SaveButton } from './partials/save-button'\nimport { StyledCalendar } from './calendar.styled'\n\nexport type CalendarProps = (\n | CalendarDatePickerProps\n | CalendarRangePickerProps\n) & {\n /**\n * The locale for Calendar internationalization\n */\n locale?: string\n}\n\ntype CalendarRootProps = PropsWithChildren<{}>\n\nconst Root = React.forwardRef<\n ElementRef<typeof StyledCalendar>,\n CalendarRootProps\n>(({ children, ...restProps }, forwardRef) => {\n const { open, setOpen } = useCalendarContext()\n\n const { label, isFloatingLabel } = useFormFieldContext<HTMLSelectElement>()\n\n return (\n <RadixPopover.Root open={open} onOpenChange={setOpen}>\n <StyledCalendar ref={forwardRef} {...restProps}>\n {label !== null && isFloatingLabel && (\n <FloatingLabel floating size='medium'>\n {label}\n </FloatingLabel>\n )}\n {children}\n </StyledCalendar>\n </RadixPopover.Root>\n )\n})\n\nexport const Calendar = React.forwardRef<\n ElementRef<typeof StyledCalendar>,\n CalendarProps\n>(\n (\n {\n picker,\n defaultValue,\n value,\n onValueChange,\n defaultOpen,\n open,\n onClose,\n onOpen,\n locale,\n visibleMonths,\n minDate,\n maxDate,\n disabled,\n 'aria-disabled': ariaDisabled,\n children,\n ...props\n },\n forwardRef\n ) => {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n const providerProps = {\n picker,\n defaultValue,\n value,\n onValueChange,\n visibleMonths,\n minDate,\n maxDate,\n defaultOpen,\n open,\n onClose,\n onOpen,\n disabled,\n ariaDisabled,\n } as CalendarProviderProps<DateValue> | CalendarProviderProps<DateRange>\n\n return (\n <I18nProvider locale={locale}>\n <CalendarProvider {...(providerProps as any)}>\n <Root {...props} ref={forwardRef}>\n {children}\n </Root>\n </CalendarProvider>\n </I18nProvider>\n )\n }\n) as ForwardRefExoticComponent<CalendarProps> & Partials\n\nexport interface Partials {\n Trigger: typeof Trigger\n Content: typeof Content\n Value: typeof Value\n ClearButton: typeof ClearButton\n SaveButton: typeof SaveButton\n}\n\nCalendar.Trigger = Trigger\nCalendar.Content = Content\nCalendar.Value = Value\nCalendar.ClearButton = ClearButton\nCalendar.SaveButton = SaveButton\n"],"names":["styled","Primitive","textFieldStyles","StyledValue","BaseButton","focus","actionButtonStyles","React","Tooltip","jsx","IconCross","createContext","useState","useMemo","useControllableState","useCallback","value","useContext","useNewDesignLanguage","useFormFieldContext","RadixTrigger","jsxs","Fragment","stringAttrValue","IconCalendarBlank","booleanify","RadixContent","Flex","Heading","IconButton","useDateFormatter","IconChevronLeft","IconChevronRight","date","useRef","useCalendarCell","isSameMonth","isSameDay","useFocusRing","mergeProps","isToday","getLocalTimeZone","useLocale","useCalendarGrid","getWeeksInMonth","theme","useCalendarState","createCalendar","useCalendar","useRangeCalendarState","useRangeCalendar","Button","useEffect","RadixPopover","FloatingLabel","I18nProvider"],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sources":["../src/partials/trigger.styled.tsx","../src/partials/clear-action.styled.tsx","../src/partials/clear-action.tsx","../src/use-calendar-context.tsx","../src/partials/trigger.tsx","../src/partials/content.styled.tsx","../src/partials/header.styled.tsx","../src/partials/header-button.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/content.tsx","../src/partials/value.styled.tsx","../src/partials/value.tsx","../src/partials/clear-button.tsx","../src/partials/save-button.tsx","../src/calendar.styled.tsx","../src/calendar.tsx"],"sourcesContent":["import { Primitive } from '@mirohq/design-system-primitive'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\nimport { focus } from '@mirohq/design-system-styles'\nimport { BaseButton } from '@mirohq/design-system-base-button'\n\nexport const StyledPlaceholder = styled(Primitive.span, {\n ...textFieldStyles.base.placeholder.old,\n padding: '0 $50',\n})\n\nexport const StyledValue = styled(Primitive.span, {\n padding: '0 $50',\n})\n\nexport const StyledIconContainer = styled(Primitive.span, {\n display: 'flex',\n justifyContent: 'center',\n padding: '6px',\n color: '$text-neutrals-subtle',\n})\n\nexport const StyledTrigger = styled(BaseButton, {\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 _hover: textFieldStyles.variants.hovered,\n\n '&:disabled, &[aria-disabled=\"true\"]': {\n ...textFieldStyles.variants.disabled,\n color: '$text-neutrals-disabled',\n },\n\n variants: {\n v1: {\n true: {\n ...textFieldStyles.v1.idle,\n ...focus.css(textFieldStyles.v1.focused),\n },\n false: {\n ...focus.css(textFieldStyles.variants.focused),\n },\n },\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(BaseButton, {\n width: '100%',\n height: 'unset',\n padding: '0',\n backgroundColor: '$transparent',\n border: 'none',\n cursor: 'pointer',\n})\n\nexport type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>\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 StyledClearAction = 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 '&:disabled, &[aria-disabled=\"true\"]': {\n color: '$icon-neutrals-disabled',\n },\n})\n\nexport type StyledClearActionProps = ComponentPropsWithRef<\n typeof StyledClearAction\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 { StyledClearActionProps } from './clear-action.styled'\nimport { StyledClearAction } from './clear-action.styled'\n\ninterface ClearActionProps extends Omit<StyledClearActionProps, 'children'> {\n label: string\n}\n\nexport const ClearAction = React.forwardRef<\n ElementRef<typeof StyledClearAction>,\n ClearActionProps\n>(({ 'aria-label': ariaLabel, label, ...restProps }, forwardRef) => (\n <Tooltip>\n <Tooltip.Trigger asChild>\n <StyledClearAction\n {...restProps}\n ref={forwardRef}\n aria-label={ariaLabel ?? label}\n >\n <IconCross />\n </StyledClearAction>\n </Tooltip.Trigger>\n <Tooltip.Content>{label}</Tooltip.Content>\n </Tooltip>\n))\n","import React, {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react'\nimport type { PropsWithChildren } from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport type { DateDuration } from '@internationalized/date'\nimport { useControllableState } from '@radix-ui/react-use-controllable-state'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\ninterface SharedProps {\n picker: 'single' | 'range'\n minDate?: DateValue\n maxDate?: DateValue\n disabled?: boolean\n ariaDisabled?: Booleanish\n}\n\ninterface CalendarContextProps<T extends DateRange | DateValue>\n extends SharedProps {\n visibleDuration: DateDuration\n\n value?: T\n setValue: React.Dispatch<React.SetStateAction<T | undefined>>\n\n open: boolean\n setOpen: React.Dispatch<React.SetStateAction<boolean | undefined>>\n\n setImmediateSave: React.Dispatch<React.SetStateAction<boolean>>\n\n calendarValue?: T | null\n calendarDefaultValue?: T | null\n onCalendarDateClick: (date: T) => void\n onSaveClick: () => void\n}\n\nexport interface CalendarProviderProps<T extends DateRange | DateValue>\n extends SharedProps {\n visibleMonths?: number\n\n defaultValue?: T\n value?: T\n onValueChange?: (value: T | undefined) => void\n\n defaultOpen?: boolean\n open?: boolean\n onOpen?: () => void\n onClose?: () => void\n}\n\nconst CalendarContext = createContext<CalendarContextProps<any>>({} as any)\n\nexport const CalendarProvider = <T extends DateRange | DateValue>({\n children,\n visibleMonths = 1,\n value: valueProp,\n defaultValue: defaultValueProp,\n onValueChange,\n open: openProp,\n defaultOpen: defaultOpenProp,\n onOpen,\n onClose,\n ...restProps\n}: PropsWithChildren<CalendarProviderProps<T>>): JSX.Element => {\n const [immediateSave, setImmediateSave] = useState(false)\n const [internalCalendarValue, setInternalCalendarValue] = useState<\n T | undefined\n >(valueProp ?? defaultValueProp)\n\n const visibleDuration = useMemo(\n () => ({\n months: visibleMonths,\n }),\n [visibleMonths]\n )\n\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValueProp,\n onChange: onValueChange,\n })\n\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpenProp,\n onChange: state => {\n if (state) {\n onOpen?.()\n } else {\n onClose?.()\n }\n },\n })\n\n const onCalendarDateClick = useCallback(\n (value: T): void => {\n if (immediateSave) {\n setInternalCalendarValue(value)\n } else {\n setValue(value)\n setOpen(false)\n }\n },\n [setValue, setOpen, immediateSave, setInternalCalendarValue]\n )\n\n const onSaveClick = (): void => {\n setValue(internalCalendarValue)\n setOpen(false)\n }\n\n return (\n <CalendarContext.Provider\n value={{\n ...restProps,\n visibleDuration,\n value: value,\n setValue,\n open,\n setOpen,\n onCalendarDateClick,\n setImmediateSave,\n onSaveClick,\n // value should not be undefined otherwise react-aria calendar will complain in console\n calendarValue: (immediateSave ? internalCalendarValue : value) ?? null,\n }}\n >\n {children}\n </CalendarContext.Provider>\n )\n}\n\nexport const useCalendarContext = <\n T extends DateRange | DateValue\n>(): CalendarContextProps<T> => useContext(CalendarContext)\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { useNewDesignLanguage } from '@mirohq/design-system-experiments'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\nimport { Trigger as RadixTrigger } from '@radix-ui/react-popover'\nimport { booleanify, stringAttrValue } from '@mirohq/design-system-utils'\n\nimport type { StyledTriggerProps } from './trigger.styled'\nimport {\n StyledIconContainer,\n StyledCustomTrigger,\n StyledPlaceholder,\n StyledTrigger,\n StyledValue,\n} from './trigger.styled'\nimport { ClearAction } from './clear-action'\nimport { useCalendarContext } from '../use-calendar-context'\n\ntype TriggerSharedProps = Omit<StyledTriggerProps, 'v1' | 'withClearButton'> & {\n /**\n * The content that will be rendered inside the Calendar trigger when there is no value\n */\n placeholder?: string\n\n /**\n * Show a button to clear the Calendar value\n * @default false\n */\n clearable?: boolean\n\n /**\n * The content\n */\n children: React.ReactNode\n}\n\nexport type TriggerProps = TriggerSharedProps &\n (\n | { clearable: false; clearLabel?: never; onClear?: never }\n | {\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * The label text for Trigger's action button when Combobox has values selected. Will be rendered in a Tooltip.\n */\n clearLabel: string\n }\n )\n\nexport const Trigger = React.forwardRef<ElementRef<'button'>, TriggerProps>(\n (\n {\n id,\n 'aria-describedby': ariaDescribedBy,\n placeholder,\n asChild = false,\n clearable = true,\n clearLabel,\n onClear,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const [v1] = useNewDesignLanguage()\n\n const { value, setValue, disabled, ariaDisabled } = useCalendarContext()\n\n const { formElementId, ariaDescribedBy: formFieldContextDescribedBy } =\n useFormFieldContext()\n\n if (asChild) {\n return (\n <RadixTrigger ref={forwardRef} asChild>\n <StyledCustomTrigger asChild {...restProps}>\n {children}\n </StyledCustomTrigger>\n </RadixTrigger>\n )\n }\n\n const onClearHandler = (): void => {\n setValue(undefined)\n if (onClear !== undefined) {\n onClear()\n }\n }\n\n const clearButtonVisible =\n clearable && value != null && clearLabel !== undefined\n\n return (\n <>\n <RadixTrigger ref={forwardRef} asChild>\n <StyledTrigger\n id={id ?? formElementId}\n aria-describedby={stringAttrValue(\n ariaDescribedBy,\n formFieldContextDescribedBy\n )}\n v1={v1}\n withClearButton={clearButtonVisible}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n {...restProps}\n >\n {value != null ? (\n <StyledValue>{children}</StyledValue>\n ) : (\n <StyledPlaceholder>{placeholder}</StyledPlaceholder>\n )}\n\n {!clearButtonVisible && (\n <StyledIconContainer>\n <IconCalendarBlank weight='thin' size='small' />\n </StyledIconContainer>\n )}\n </StyledTrigger>\n </RadixTrigger>\n {clearButtonVisible && (\n <ClearAction\n label={clearLabel}\n onPress={onClearHandler}\n disabled={disabled ?? booleanify(ariaDisabled)}\n />\n )}\n </>\n )\n }\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'\nimport { Content as RadixContent } from '@radix-ui/react-popover'\n\nexport const StyledContent = styled(RadixContent, {\n zIndex: '$calendar',\n background: '$background-neutrals',\n borderRadius: '$100',\n boxShadow: '$100',\n})\n\nexport const StyledCalendarBody = styled(Flex, {\n padding: '$200',\n})\n\nexport const StyledGridContent = styled(Flex, {})\n\nexport const StyledBodyContentLeft = styled(Primitive.div, {})\n\nexport const StyledBodyContentRight = styled(Primitive.div, {\n paddingLeft: '$200',\n})\n\nexport const StyledClearContent = styled(Primitive.div, {\n display: 'flex',\n gap: '$100',\n padding: '$200',\n borderTop: '1px solid $border-neutrals',\n})\n\nexport type StyledContentProps = ComponentPropsWithRef<typeof StyledContent>\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\nimport { Heading } from '@mirohq/design-system-typography'\n\nexport const StyledHeaderTitle = styled(Heading, {\n margin: 0,\n flex: '2',\n textAlign: 'center',\n})\n\nexport const StyledHeaderPlaceholder = styled('div', {\n height: '$8',\n // to compensate icon buttons' width and space between 2 calendars\n width: 'calc($8 * 2 + $space$200)',\n})\n\nexport const StyledHeader = styled(Flex, {\n color: '$text-neutrals',\n height: '$8',\n alignItems: 'center',\n justifyContent: 'space-between',\n})\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { IconButtonProps } from '@mirohq/design-system-icon-button'\nimport { IconButton } from '@mirohq/design-system-icon-button'\n\nexport type HeaderButtonProps = IconButtonProps & {\n onFocus?: () => void\n onPress?: () => void\n isDisabled?: boolean // name comes from react-aria\n 'aria-label': string\n}\n\nexport const HeaderButton = React.forwardRef<\n ElementRef<'button'>,\n HeaderButtonProps\n>(({ isDisabled, children, ...restProps }, forwardRef) => (\n <IconButton\n {...restProps}\n size='medium'\n disabled={isDisabled}\n ref={forwardRef}\n >\n {children}\n </IconButton>\n))\n","import React from 'react'\nimport { useDateFormatter } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\nimport { IconChevronLeft, IconChevronRight } from '@mirohq/design-system-icons'\n\nimport {\n StyledHeaderPlaceholder,\n StyledHeader,\n StyledHeaderTitle,\n} from './header.styled'\nimport type { HeaderButtonProps } from './header-button'\nimport { HeaderButton } from './header-button'\n\ninterface IHeader {\n state: RangeCalendarState | CalendarState\n prevButtonProps: HeaderButtonProps\n nextButtonProps: HeaderButtonProps\n visibleMonths?: number\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 <HeaderButton {...prevButtonProps}>\n <IconChevronLeft />\n </HeaderButton>\n <StyledHeaderTitle level={2} styledAs='h3'>\n {monthDateFormatter.format(\n state.visibleRange.start.toDate(state.timeZone)\n )}\n </StyledHeaderTitle>\n {visibleMonths === 2 && (\n <>\n <StyledHeaderPlaceholder />\n <StyledHeaderTitle level={2} styledAs='h3'>\n {monthDateFormatter.format(\n state.visibleRange.start.add({ months: 1 }).toDate(state.timeZone)\n )}\n </StyledHeaderTitle>\n </>\n )}\n <HeaderButton {...nextButtonProps}>\n <IconChevronRight />\n </HeaderButton>\n </StyledHeader>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { focus } from '@mirohq/design-system-styles'\n\nexport const StyledCell = styled(Primitive.td, {\n square: '$10',\n marginTop: '$50',\n position: 'relative',\n})\n\nexport const StyledCellContent = styled(Primitive.div, {\n cursor: 'pointer',\n square: '$10',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '$50',\n color: '$text-neutrals',\n\n ...focus.css({\n top: '0',\n left: '0',\n position: 'absolute',\n zIndex: '1',\n boxShadow: '$focus-v1',\n outline: '1px solid transparent',\n }),\n\n '&[aria-disabled=\"true\"]': {\n textDecoration: 'line-through',\n color: '$text-neutrals-disabled',\n cursor: 'default',\n },\n\n '&:not([aria-disabled=\"true\"])': {\n _hover: {\n backgroundColor: '$background-neutrals-subtle-hover',\n color: '$text-neutrals',\n },\n },\n\n variants: {\n today: {\n true: {\n backgroundColor: '$background-neutrals-subtle-hover',\n color: '$text-neutrals',\n },\n },\n selected: {\n true: {\n backgroundColor: '$background-primary-prominent-selected',\n color: '$text-neutrals-inverted',\n\n '&:not([aria-disabled=\"true\"])': {\n _hover: {\n backgroundColor: '$background-primary-prominent-hover',\n color: '$text-neutrals-inverted',\n },\n },\n },\n },\n range: {\n middle: {\n backgroundColor: '$background-primary-subtle-selected',\n color: '$text-neutrals',\n borderRadius: 0,\n\n '&:not([aria-disabled=\"true\"])': {\n _hover: {\n backgroundColor: '$background-primary-subtle-hover',\n },\n },\n },\n start: {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n },\n end: {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n },\n },\n hidden: {\n true: {\n display: 'none',\n },\n },\n },\n})\n\nexport type StyledCellProps = ComponentPropsWithRef<typeof StyledCell>\n","import React, { useRef } from 'react'\nimport { useCalendarCell, useFocusRing, mergeProps } from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport {\n isSameDay,\n isSameMonth,\n isToday,\n getLocalTimeZone,\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.FC<CellProps> = props => {\n let { state, date, currentMonth } = props\n const ref = useRef(null)\n const { cellProps, buttonProps, isSelected, formattedDate } = useCalendarCell(\n { date },\n state,\n ref\n )\n\n const isOutsideMonth = !isSameMonth(currentMonth, date)\n\n state = state as RangeCalendarState\n\n // The start and end date of the selected range will have\n // an emphasized appearance.\n const isSelectionStart =\n state.highlightedRange !== undefined && state.highlightedRange !== null\n ? isSameDay(date, state.highlightedRange.start)\n : isSelected\n const isSelectionEnd =\n state.highlightedRange !== undefined && state.highlightedRange !== null\n ? isSameDay(date, state.highlightedRange.end)\n : isSelected\n\n const { focusProps } = useFocusRing()\n\n // when it's both start and end, it's single date\n const isRange = isSelected && (!isSelectionStart || !isSelectionEnd)\n\n const rangeVariant = isRange\n ? isSelectionStart\n ? 'start'\n : isSelectionEnd\n ? 'end'\n : 'middle'\n : undefined\n\n return (\n <StyledCell {...cellProps}>\n <StyledCellContent\n {...mergeProps(buttonProps, focusProps)}\n ref={ref}\n selected={isSelected && (isSelectionStart || isSelectionEnd)}\n today={isToday(date, getLocalTimeZone())}\n range={rangeVariant}\n hidden={isOutsideMonth}\n >\n {formattedDate}\n </StyledCellContent>\n </StyledCell>\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 height: '$10',\n color: '$text-neutrals-subtle',\n fontWeight: '$regular',\n paddingTop: '$50',\n})\n\nexport type StyledGridProps = ComponentPropsWithRef<typeof StyledGrid>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { getWeeksInMonth } from '@internationalized/date'\nimport type { AriaCalendarGridProps, DateRange } from 'react-aria'\nimport { useLocale, useCalendarGrid } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport { Cell } from './cell'\nimport type { StyledGridProps } from './grid.styled'\nimport { StyledDays, StyledGrid } from './grid.styled'\n\nexport interface GridProps extends Omit<StyledGridProps, 'onChange'> {\n state: RangeCalendarState | CalendarState\n offset?: DateDuration\n onChange?: (value: DateRange) => void\n}\n\nexport const Grid = React.forwardRef<ElementRef<typeof StyledGrid>, GridProps>(\n (props, forwardRef) => {\n const { locale } = useLocale()\n const { state, offset = {} } = props\n const startDate: CalendarDate = state.visibleRange.start.add(offset)\n const { gridProps, headerProps, weekDays } = useCalendarGrid(\n props as AriaCalendarGridProps,\n state\n )\n\n // Get the number of weeks in the month so we can render the proper number of rows.\n const weeksInMonth = getWeeksInMonth(startDate, locale)\n\n return (\n <StyledGrid ref={forwardRef} {...gridProps} cellPadding='0'>\n <thead {...headerProps}>\n <tr>\n {weekDays.map((day, i) => (\n <StyledDays key={i}>\n <div>{day}</div>\n </StyledDays>\n ))}\n </tr>\n </thead>\n <tbody>\n {Array.from(Array(weeksInMonth).keys()).map(weekIndex => (\n <tr key={weekIndex}>\n {state\n .getDatesInWeek(weekIndex, startDate)\n .map((date: CalendarDate | null, i: number) =>\n date !== null ? (\n <Cell\n key={i}\n state={state}\n date={date}\n currentMonth={startDate}\n />\n ) : (\n <td key={i} />\n )\n )}\n </tr>\n ))}\n </tbody>\n </StyledGrid>\n )\n }\n)\n","import type { ElementRef, ReactElement, ReactNode } from 'react'\nimport React, { useRef } from 'react'\nimport { useCalendarState, useRangeCalendarState } from 'react-stately'\nimport { useCalendar, useRangeCalendar, useLocale } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport { Flex } from '@mirohq/design-system-flex'\nimport type { DateRange, DateValue, AriaButtonProps } from 'react-aria'\nimport type { DOMAttributes } from '@react-types/shared'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\nimport { theme } from '@mirohq/design-system-stitches'\n\nimport { useCalendarContext } from '../use-calendar-context'\nimport type { StyledContentProps } from './content.styled'\nimport {\n StyledContent,\n StyledClearContent,\n StyledCalendarBody,\n StyledBodyContentLeft,\n StyledBodyContentRight,\n StyledGridContent,\n} from './content.styled'\nimport { Header } from './header'\nimport { Grid } from './grid'\nimport type { Align, PointerDownOutsideEvent, Side, Sticky } from '../types'\nimport type { HeaderButtonProps } from './header-button'\n\nexport const CONTENT_OFFSET = parseInt(theme.space[50])\n\nexport type ContentProps = StyledContentProps & {\n /**\n * Calendar's content.\n */\n children?: ReactNode\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault.\n */\n onCloseAutoFocus?: (event: Event) => void\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void\n\n /**\n * Event handler called when a pointer event occurs outside the bounds of the\n * component. It can be prevented by calling event.preventDefault.\n */\n onPointerDownOutside?: (event: PointerDownOutsideEvent) => void\n\n /**\n * The preferred side of the anchor to render against when open. Will be\n * reversed when collisions occur and avoidCollisions is enabled.\n * @default 'bottom'\n */\n side?: Side\n\n /**\n * The distance in pixels from the anchor.\n * @default CONTENT_OFFSET\n */\n sideOffset?: number\n\n /**\n * The preferred alignment against the anchor. May change when collisions\n * occur.\n * @default 'start'\n */\n align?: Align\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options.\n * @default 0\n */\n alignOffset?: number\n\n /**\n * When true, overrides the side and align preferences to prevent collisions\n * with boundary edges.\n * @default true\n */\n avoidCollisions?: boolean\n\n /**\n * The element used as the collision boundary. By default this is the\n * viewport, though you can provide additional element(s) to be included in\n * this check.\n */\n collisionBoundary?: Element | null\n\n /**\n * The distance in pixels from the boundary edges where collision detection\n * should occur. Accepts a number (same for all sides), or a partial padding\n * object, for example: { top: 20, left: 20 }.\n * @default 0\n */\n collisionPadding?: number | Partial<Record<Side, number>>\n\n /**\n * The sticky behavior on the align axis. \"partial\" will keep the content in the\n * boundary as long as the trigger is at least partially in the boundary whilst\n * \"always\" will keep the content in the boundary regardless.\n * @default 'partial'\n */\n sticky?: Sticky\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded.\n * @default true\n */\n hideWhenDetached?: boolean\n}\n\ninterface SharedContentProps {\n calendarProps: DOMAttributes\n prevButtonProps: AriaButtonProps\n nextButtonProps: AriaButtonProps\n state: RangeCalendarState | CalendarState\n}\n\nconst SharedContent = React.forwardRef<HTMLDivElement, SharedContentProps>(\n ({ calendarProps, prevButtonProps, nextButtonProps, state }, forwardRef) => {\n const { visibleDuration } = useCalendarContext<DateValue>()\n\n return (\n <StyledCalendarBody\n direction='column'\n {...calendarProps}\n ref={forwardRef}\n >\n <Header\n state={state}\n prevButtonProps={prevButtonProps as HeaderButtonProps}\n nextButtonProps={nextButtonProps as HeaderButtonProps}\n visibleMonths={visibleDuration.months}\n />\n <StyledGridContent>\n <StyledBodyContentLeft>\n <Grid state={state} />\n </StyledBodyContentLeft>\n {visibleDuration.months === 2 && (\n <StyledBodyContentRight>\n <Grid state={state} offset={{ months: 1 }} />\n </StyledBodyContentRight>\n )}\n </StyledGridContent>\n </StyledCalendarBody>\n )\n }\n)\n\nconst DatePickerContent = (): ReactElement => {\n const { locale } = useLocale()\n\n const {\n calendarValue,\n visibleDuration,\n minDate,\n maxDate,\n onCalendarDateClick,\n } = useCalendarContext<DateValue>()\n\n const state = useCalendarState({\n value: calendarValue,\n visibleDuration,\n minValue: minDate,\n maxValue: maxDate,\n autoFocus: true,\n onChange: onCalendarDateClick,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useCalendar(\n {},\n state\n )\n\n return (\n <SharedContent\n calendarProps={calendarProps}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n state={state}\n />\n )\n}\n\nconst RangePickerContent = (): ReactElement => {\n const { locale } = useLocale()\n\n const {\n calendarValue,\n visibleDuration,\n minDate,\n maxDate,\n onCalendarDateClick,\n } = useCalendarContext<DateRange>()\n\n const ref = useRef<HTMLDivElement>(null)\n\n const state = useRangeCalendarState({\n value: calendarValue,\n visibleDuration,\n minValue: minDate,\n maxValue: maxDate,\n autoFocus: true,\n onChange: onCalendarDateClick,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useRangeCalendar(\n {},\n state,\n ref\n )\n\n return (\n <SharedContent\n ref={ref}\n calendarProps={calendarProps}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n state={state}\n />\n )\n}\n\nexport const Content = React.forwardRef<\n ElementRef<typeof StyledContent>,\n ContentProps\n>(\n (\n {\n side = 'bottom',\n sideOffset = CONTENT_OFFSET,\n align = 'start',\n alignOffset = 0,\n collisionPadding = 0,\n avoidCollisions = true,\n sticky = 'partial',\n hideWhenDetached = true,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const { picker, open } = useCalendarContext()\n\n if (!open) {\n return null\n }\n\n return (\n <StyledContent\n {...restProps}\n ref={forwardRef}\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n collisionPadding={collisionPadding}\n avoidCollisions={avoidCollisions}\n sticky={sticky}\n hideWhenDetached={hideWhenDetached}\n >\n <Flex direction='column'>\n {picker === 'single' ? <DatePickerContent /> : <RangePickerContent />}\n {children != null && (\n <StyledClearContent>{children}</StyledClearContent>\n )}\n </Flex>\n </StyledContent>\n )\n }\n)\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\n\nexport const StyledValue = styled(Primitive.span, {})\n\nexport type StyledValueProps = ComponentPropsWithRef<typeof StyledValue>\n","import type { ElementRef } from 'react'\nimport React, { useMemo } from 'react'\nimport type { DateRange, DateValue } from '@react-types/datepicker'\nimport type { DateFormatter } from 'react-aria'\nimport { useDateFormatter } from 'react-aria'\nimport { getLocalTimeZone } from '@internationalized/date'\n\nimport type { StyledValueProps } from './value.styled'\nimport { StyledValue } from './value.styled'\nimport { useCalendarContext } from '../use-calendar-context'\n\ntype FormatOptions = Pick<\n Intl.DateTimeFormatOptions,\n 'weekday' | 'era' | 'year' | 'month' | 'day' | 'formatMatcher'\n>\n\nexport type ValueProps = StyledValueProps & {\n format?: FormatOptions\n}\n\nconst DEFAULT_FORMAT: FormatOptions = {\n day: '2-digit',\n month: 'short',\n year: 'numeric',\n}\n\nfunction formatDate(\n date: DateValue,\n formatter: DateFormatter,\n timeZone: string\n): string | undefined {\n return formatter.format(date.toDate(timeZone))\n}\n\nfunction formatValue(\n value: DateValue | DateRange | undefined | null,\n formatter: DateFormatter,\n timeZone: string\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 `${formatDate(value.start, formatter, timeZone)} - ${formatDate(\n value.end,\n formatter,\n timeZone\n )}`\n }\n\n return formatDate(value, formatter, timeZone)\n}\n\nexport const Value = React.forwardRef<\n ElementRef<typeof StyledValue>,\n ValueProps\n>(({ format = DEFAULT_FORMAT, ...restProps }, forwardRef) => {\n const { value } = useCalendarContext()\n\n const timeZone = useMemo(getLocalTimeZone, [format])\n\n const formatWithTimeZone = useMemo(\n () => ({ ...format, timeZone }),\n [format, timeZone]\n )\n const dateFormatter = useDateFormatter(formatWithTimeZone)\n\n const valueToDisplay = formatValue(value, dateFormatter, timeZone)\n\n return (\n <StyledValue ref={forwardRef} {...restProps}>\n {valueToDisplay}\n </StyledValue>\n )\n})\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport { Button } from '@mirohq/design-system-button'\nimport type { BaseButtonProps } from '@mirohq/design-system-base-button'\n\nimport { useCalendarContext } from '../use-calendar-context'\n\nexport type ClearButtonProps = BaseButtonProps & {\n /**\n * Event handler called when the calendar value is cleared\n */\n onClear?: () => void\n}\n\nexport const ClearButton = React.forwardRef<\n ElementRef<typeof Button>,\n ClearButtonProps\n>(({ onClear, children, ...restProps }, forwardRef) => {\n const { value, setValue } = useCalendarContext()\n\n const onClearHandler = (): void => {\n setValue(undefined)\n if (onClear !== undefined) {\n onClear()\n }\n }\n\n return (\n <Button\n {...restProps}\n ref={forwardRef}\n variant='ghost'\n size='medium'\n onClick={onClearHandler}\n disabled={value === null}\n >\n {children}\n </Button>\n )\n})\n","import type { ElementRef } from 'react'\nimport React, { useEffect } from 'react'\nimport { Button } from '@mirohq/design-system-button'\nimport type { BaseButtonProps } from '@mirohq/design-system-base-button'\n\nimport { useCalendarContext } from '../use-calendar-context'\n\nexport type SaveButtonProps = BaseButtonProps & {\n /**\n * Event handler called when the calendar value is saved\n */\n onSave?: () => void\n}\n\nexport const SaveButton = React.forwardRef<\n ElementRef<typeof Button>,\n SaveButtonProps\n>(({ onSave, children, ...restProps }, forwardRef) => {\n const { setImmediateSave, onSaveClick } = useCalendarContext()\n\n useEffect(() => {\n setImmediateSave(true)\n\n return () => setImmediateSave(false)\n }, [setImmediateSave])\n\n const onSaveHandler = (): void => {\n onSaveClick()\n if (onSave !== undefined) {\n onSave()\n }\n }\n\n return (\n <Button\n ref={forwardRef}\n {...restProps}\n variant='primary'\n size='medium'\n onClick={onSaveHandler}\n >\n {children}\n </Button>\n )\n})\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport type { ComponentPropsWithRef } from 'react'\n\nexport const StyledCalendar = styled(Primitive.div, {\n position: 'relative',\n})\nexport type StyledCalendarProps = ComponentPropsWithRef<typeof StyledCalendar>\n","import type {\n ElementRef,\n ForwardRefExoticComponent,\n PropsWithChildren,\n} from 'react'\nimport React from 'react'\nimport { I18nProvider } from 'react-aria'\nimport * as RadixPopover from '@radix-ui/react-popover'\nimport type { DateRange, DateValue } from 'react-aria'\nimport {\n FloatingLabel,\n useFormFieldContext,\n} from '@mirohq/design-system-base-form'\n\nimport type { CalendarDatePickerProps, CalendarRangePickerProps } from './types'\nimport { Trigger } from './partials/trigger'\nimport { Content } from './partials/content'\nimport type { CalendarProviderProps } from './use-calendar-context'\nimport { CalendarProvider, useCalendarContext } from './use-calendar-context'\nimport { Value } from './partials/value'\nimport { ClearButton } from './partials/clear-button'\nimport { SaveButton } from './partials/save-button'\nimport { StyledCalendar } from './calendar.styled'\n\nexport type CalendarProps = (\n | CalendarDatePickerProps\n | CalendarRangePickerProps\n) & {\n /**\n * The locale for Calendar internationalization\n */\n locale?: string\n}\n\ntype CalendarRootProps = PropsWithChildren<{}>\n\nconst Root = React.forwardRef<\n ElementRef<typeof StyledCalendar>,\n CalendarRootProps\n>(({ children, ...restProps }, forwardRef) => {\n const { open, setOpen } = useCalendarContext()\n\n const { label, isFloatingLabel } = useFormFieldContext<HTMLSelectElement>()\n\n return (\n <RadixPopover.Root open={open} onOpenChange={setOpen}>\n <StyledCalendar ref={forwardRef} {...restProps}>\n {label !== null && isFloatingLabel && (\n <FloatingLabel floating size='medium'>\n {label}\n </FloatingLabel>\n )}\n {children}\n </StyledCalendar>\n </RadixPopover.Root>\n )\n})\n\nexport const Calendar = React.forwardRef<\n ElementRef<typeof StyledCalendar>,\n CalendarProps\n>(\n (\n {\n picker,\n defaultValue,\n value,\n onValueChange,\n defaultOpen,\n open,\n onClose,\n onOpen,\n locale,\n visibleMonths,\n minDate,\n maxDate,\n disabled,\n 'aria-disabled': ariaDisabled,\n children,\n ...props\n },\n forwardRef\n ) => {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n const providerProps = {\n picker,\n defaultValue,\n value,\n onValueChange,\n visibleMonths,\n minDate,\n maxDate,\n defaultOpen,\n open,\n onClose,\n onOpen,\n disabled,\n ariaDisabled,\n } as CalendarProviderProps<DateValue> | CalendarProviderProps<DateRange>\n\n return (\n <I18nProvider locale={locale}>\n <CalendarProvider {...(providerProps as any)}>\n <Root {...props} ref={forwardRef}>\n {children}\n </Root>\n </CalendarProvider>\n </I18nProvider>\n )\n }\n) as ForwardRefExoticComponent<CalendarProps> & Partials\n\nexport interface Partials {\n Trigger: typeof Trigger\n Content: typeof Content\n Value: typeof Value\n ClearButton: typeof ClearButton\n SaveButton: typeof SaveButton\n}\n\nCalendar.Trigger = Trigger\nCalendar.Content = Content\nCalendar.Value = Value\nCalendar.ClearButton = ClearButton\nCalendar.SaveButton = SaveButton\n"],"names":["styled","Primitive","textFieldStyles","StyledValue","BaseButton","focus","actionButtonStyles","React","Tooltip","jsx","IconCross","createContext","useState","useMemo","useControllableState","useCallback","value","useContext","useNewDesignLanguage","useFormFieldContext","RadixTrigger","jsxs","Fragment","stringAttrValue","IconCalendarBlank","booleanify","RadixContent","Flex","Heading","IconButton","useDateFormatter","IconChevronLeft","IconChevronRight","date","useRef","useCalendarCell","isSameMonth","isSameDay","useFocusRing","mergeProps","isToday","getLocalTimeZone","useLocale","useCalendarGrid","getWeeksInMonth","theme","useCalendarState","createCalendar","useCalendar","useRangeCalendarState","useRangeCalendar","Button","useEffect","RadixPopover","FloatingLabel","I18nProvider"],"mappings":"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"}
package/dist/module.js CHANGED
@@ -44,9 +44,6 @@ const StyledTrigger = styled(BaseButton, {
44
44
  minWidth: "230px",
45
45
  ...textFieldStyles.variants.idle,
46
46
  _hover: textFieldStyles.variants.hovered,
47
- ...focus.css({
48
- boxShadow: "$focus-keyboard"
49
- }),
50
47
  '&:disabled, &[aria-disabled="true"]': {
51
48
  ...textFieldStyles.variants.disabled,
52
49
  color: "$text-neutrals-disabled"
@@ -54,9 +51,12 @@ const StyledTrigger = styled(BaseButton, {
54
51
  variants: {
55
52
  v1: {
56
53
  true: {
57
- ...textFieldStyles.v1.idle
54
+ ...textFieldStyles.v1.idle,
55
+ ...focus.css(textFieldStyles.v1.focused)
58
56
  },
59
- false: {}
57
+ false: {
58
+ ...focus.css(textFieldStyles.variants.focused)
59
+ }
60
60
  },
61
61
  withClearButton: {
62
62
  true: {
@@ -326,7 +326,7 @@ const StyledCellContent = styled(Primitive.div, {
326
326
  left: "0",
327
327
  position: "absolute",
328
328
  zIndex: "1",
329
- boxShadow: "$focus-keyboard",
329
+ boxShadow: "$focus-v1",
330
330
  outline: "1px solid transparent"
331
331
  }),
332
332
  '&[aria-disabled="true"]': {
@@ -388,7 +388,7 @@ const StyledCellContent = styled(Primitive.div, {
388
388
  });
389
389
 
390
390
  const Cell = (props) => {
391
- const { state, date, currentMonth } = props;
391
+ let { state, date, currentMonth } = props;
392
392
  const ref = useRef(null);
393
393
  const { cellProps, buttonProps, isSelected, formattedDate } = useCalendarCell(
394
394
  { date },
@@ -396,6 +396,7 @@ const Cell = (props) => {
396
396
  ref
397
397
  );
398
398
  const isOutsideMonth = !isSameMonth(currentMonth, date);
399
+ state = state;
399
400
  const isSelectionStart = state.highlightedRange !== void 0 && state.highlightedRange !== null ? isSameDay(date, state.highlightedRange.start) : isSelected;
400
401
  const isSelectionEnd = state.highlightedRange !== void 0 && state.highlightedRange !== null ? isSameDay(date, state.highlightedRange.end) : isSelected;
401
402
  const { focusProps } = useFocusRing();
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sources":["../src/partials/trigger.styled.tsx","../src/partials/clear-action.styled.tsx","../src/partials/clear-action.tsx","../src/use-calendar-context.tsx","../src/partials/trigger.tsx","../src/partials/content.styled.tsx","../src/partials/header.styled.tsx","../src/partials/header-button.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/content.tsx","../src/partials/value.styled.tsx","../src/partials/value.tsx","../src/partials/clear-button.tsx","../src/partials/save-button.tsx","../src/calendar.styled.tsx","../src/calendar.tsx"],"sourcesContent":["import { Primitive } from '@mirohq/design-system-primitive'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\nimport { focus } from '@mirohq/design-system-styles'\nimport { BaseButton } from '@mirohq/design-system-base-button'\n\nexport const StyledPlaceholder = styled(Primitive.span, {\n ...textFieldStyles.base.placeholder.old,\n padding: '0 $50',\n})\n\nexport const StyledValue = styled(Primitive.span, {\n padding: '0 $50',\n})\n\nexport const StyledIconContainer = styled(Primitive.span, {\n display: 'flex',\n justifyContent: 'center',\n padding: '6px',\n color: '$text-neutrals-subtle',\n})\n\nexport const StyledTrigger = styled(BaseButton, {\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 _hover: textFieldStyles.variants.hovered,\n ...focus.css({\n boxShadow: '$focus-keyboard',\n }),\n\n '&:disabled, &[aria-disabled=\"true\"]': {\n ...textFieldStyles.variants.disabled,\n color: '$text-neutrals-disabled',\n },\n\n variants: {\n v1: {\n true: {\n ...textFieldStyles.v1.idle,\n },\n false: {},\n },\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(BaseButton, {\n width: '100%',\n height: 'unset',\n padding: '0',\n backgroundColor: '$transparent',\n border: 'none',\n cursor: 'pointer',\n})\n\nexport type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>\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 StyledClearAction = 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 '&:disabled, &[aria-disabled=\"true\"]': {\n color: '$icon-neutrals-disabled',\n },\n})\n\nexport type StyledClearActionProps = ComponentPropsWithRef<\n typeof StyledClearAction\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 { StyledClearActionProps } from './clear-action.styled'\nimport { StyledClearAction } from './clear-action.styled'\n\ninterface ClearActionProps extends Omit<StyledClearActionProps, 'children'> {\n label: string\n}\n\nexport const ClearAction = React.forwardRef<\n ElementRef<typeof StyledClearAction>,\n ClearActionProps\n>(({ 'aria-label': ariaLabel, label, ...restProps }, forwardRef) => (\n <Tooltip>\n <Tooltip.Trigger asChild>\n <StyledClearAction\n {...restProps}\n ref={forwardRef}\n aria-label={ariaLabel ?? label}\n >\n <IconCross />\n </StyledClearAction>\n </Tooltip.Trigger>\n <Tooltip.Content>{label}</Tooltip.Content>\n </Tooltip>\n))\n","import React, {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react'\nimport type { PropsWithChildren } from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport type { DateDuration } from '@internationalized/date'\nimport { useControllableState } from '@radix-ui/react-use-controllable-state'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\ninterface SharedProps {\n picker: 'single' | 'range'\n minDate?: DateValue\n maxDate?: DateValue\n disabled?: boolean\n ariaDisabled?: Booleanish\n}\n\ninterface CalendarContextProps<T extends DateRange | DateValue>\n extends SharedProps {\n visibleDuration: DateDuration\n\n value?: T\n setValue: React.Dispatch<React.SetStateAction<T | undefined>>\n\n open: boolean\n setOpen: React.Dispatch<React.SetStateAction<boolean | undefined>>\n\n setImmediateSave: React.Dispatch<React.SetStateAction<boolean>>\n\n calendarValue?: T | null\n calendarDefaultValue?: T | null\n onCalendarDateClick: (date: T) => void\n onSaveClick: () => void\n}\n\nexport interface CalendarProviderProps<T extends DateRange | DateValue>\n extends SharedProps {\n visibleMonths?: number\n\n defaultValue?: T\n value?: T\n onValueChange?: (value: T | undefined) => void\n\n defaultOpen?: boolean\n open?: boolean\n onOpen?: () => void\n onClose?: () => void\n}\n\nconst CalendarContext = createContext<CalendarContextProps<any>>({} as any)\n\nexport const CalendarProvider = <T extends DateRange | DateValue>({\n children,\n visibleMonths = 1,\n value: valueProp,\n defaultValue: defaultValueProp,\n onValueChange,\n open: openProp,\n defaultOpen: defaultOpenProp,\n onOpen,\n onClose,\n ...restProps\n}: PropsWithChildren<CalendarProviderProps<T>>): JSX.Element => {\n const [immediateSave, setImmediateSave] = useState(false)\n const [internalCalendarValue, setInternalCalendarValue] = useState<\n T | undefined\n >(valueProp ?? defaultValueProp)\n\n const visibleDuration = useMemo(\n () => ({\n months: visibleMonths,\n }),\n [visibleMonths]\n )\n\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValueProp,\n onChange: onValueChange,\n })\n\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpenProp,\n onChange: state => {\n if (state) {\n onOpen?.()\n } else {\n onClose?.()\n }\n },\n })\n\n const onCalendarDateClick = useCallback(\n (value: T): void => {\n if (immediateSave) {\n setInternalCalendarValue(value)\n } else {\n setValue(value)\n setOpen(false)\n }\n },\n [setValue, setOpen, immediateSave, setInternalCalendarValue]\n )\n\n const onSaveClick = (): void => {\n setValue(internalCalendarValue)\n setOpen(false)\n }\n\n return (\n <CalendarContext.Provider\n value={{\n ...restProps,\n visibleDuration,\n value: value,\n setValue,\n open,\n setOpen,\n onCalendarDateClick,\n setImmediateSave,\n onSaveClick,\n // value should not be undefined otherwise react-aria calendar will complain in console\n calendarValue: (immediateSave ? internalCalendarValue : value) ?? null,\n }}\n >\n {children}\n </CalendarContext.Provider>\n )\n}\n\nexport const useCalendarContext = <\n T extends DateRange | DateValue\n>(): CalendarContextProps<T> => useContext(CalendarContext)\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { useNewDesignLanguage } from '@mirohq/design-system-experiments'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\nimport { Trigger as RadixTrigger } from '@radix-ui/react-popover'\nimport { booleanify, stringAttrValue } from '@mirohq/design-system-utils'\n\nimport type { StyledTriggerProps } from './trigger.styled'\nimport {\n StyledIconContainer,\n StyledCustomTrigger,\n StyledPlaceholder,\n StyledTrigger,\n StyledValue,\n} from './trigger.styled'\nimport { ClearAction } from './clear-action'\nimport { useCalendarContext } from '../use-calendar-context'\n\ntype TriggerSharedProps = Omit<StyledTriggerProps, 'v1' | 'withClearButton'> & {\n /**\n * The content that will be rendered inside the Calendar trigger when there is no value\n */\n placeholder?: string\n\n /**\n * Show a button to clear the Calendar value\n * @default false\n */\n clearable?: boolean\n}\n\nexport type TriggerProps = TriggerSharedProps &\n (\n | { clearable: false; clearLabel?: never; onClear?: never }\n | {\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * The label text for Trigger's action button when Combobox has values selected. Will be rendered in a Tooltip.\n */\n clearLabel: string\n }\n )\n\nexport const Trigger = React.forwardRef<ElementRef<'button'>, TriggerProps>(\n (\n {\n id,\n 'aria-describedby': ariaDescribedBy,\n placeholder,\n asChild = false,\n clearable = true,\n clearLabel,\n onClear,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const [v1] = useNewDesignLanguage()\n\n const { value, setValue, disabled, ariaDisabled } = useCalendarContext()\n\n const { formElementId, ariaDescribedBy: formFieldContextDescribedBy } =\n useFormFieldContext()\n\n if (asChild) {\n return (\n <RadixTrigger ref={forwardRef} asChild>\n <StyledCustomTrigger asChild {...restProps}>\n {children}\n </StyledCustomTrigger>\n </RadixTrigger>\n )\n }\n\n const onClearHandler = (): void => {\n setValue(undefined)\n if (onClear !== undefined) {\n onClear()\n }\n }\n\n const clearButtonVisible =\n clearable && value != null && clearLabel !== undefined\n\n return (\n <>\n <RadixTrigger ref={forwardRef} asChild>\n <StyledTrigger\n id={id ?? formElementId}\n aria-describedby={stringAttrValue(\n ariaDescribedBy,\n formFieldContextDescribedBy\n )}\n v1={v1}\n withClearButton={clearButtonVisible}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n {...restProps}\n >\n {value != null ? (\n <StyledValue>{children}</StyledValue>\n ) : (\n <StyledPlaceholder>{placeholder}</StyledPlaceholder>\n )}\n\n {!clearButtonVisible && (\n <StyledIconContainer>\n <IconCalendarBlank weight='thin' size='small' />\n </StyledIconContainer>\n )}\n </StyledTrigger>\n </RadixTrigger>\n {clearButtonVisible && (\n <ClearAction\n label={clearLabel}\n onPress={onClearHandler}\n disabled={disabled ?? booleanify(ariaDisabled)}\n />\n )}\n </>\n )\n }\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'\nimport { Content as RadixContent } from '@radix-ui/react-popover'\n\nexport const StyledContent = styled(RadixContent, {\n zIndex: '$calendar',\n background: '$background-neutrals',\n borderRadius: '$100',\n boxShadow: '$100',\n})\n\nexport const StyledCalendarBody = styled(Flex, {\n padding: '$200',\n})\n\nexport const StyledGridContent = styled(Flex, {})\n\nexport const StyledBodyContentLeft = styled(Primitive.div, {})\n\nexport const StyledBodyContentRight = styled(Primitive.div, {\n paddingLeft: '$200',\n})\n\nexport const StyledClearContent = styled(Primitive.div, {\n display: 'flex',\n gap: '$100',\n padding: '$200',\n borderTop: '1px solid $border-neutrals',\n})\n\nexport type StyledContentProps = ComponentPropsWithRef<typeof StyledContent>\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\nimport { Heading } from '@mirohq/design-system-typography'\n\nexport const StyledHeaderTitle = styled(Heading, {\n margin: 0,\n flex: '2',\n textAlign: 'center',\n})\n\nexport const StyledHeaderPlaceholder = styled('div', {\n height: '$8',\n // to compensate icon buttons' width and space between 2 calendars\n width: 'calc($8 * 2 + $space$200)',\n})\n\nexport const StyledHeader = styled(Flex, {\n color: '$text-neutrals',\n height: '$8',\n alignItems: 'center',\n justifyContent: 'space-between',\n})\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { IconButtonProps } from '@mirohq/design-system-icon-button'\nimport { IconButton } from '@mirohq/design-system-icon-button'\n\nexport type HeaderButtonProps = IconButtonProps & {\n onFocus?: () => void\n onPress?: () => void\n isDisabled?: boolean // name comes from react-aria\n 'aria-label': string\n}\n\nexport const HeaderButton = React.forwardRef<\n ElementRef<'button'>,\n HeaderButtonProps\n>(({ isDisabled, children, ...restProps }, forwardRef) => (\n <IconButton\n {...restProps}\n size='medium'\n disabled={isDisabled}\n ref={forwardRef}\n >\n {children}\n </IconButton>\n))\n","import React from 'react'\nimport { useDateFormatter } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\nimport { IconChevronLeft, IconChevronRight } from '@mirohq/design-system-icons'\n\nimport {\n StyledHeaderPlaceholder,\n StyledHeader,\n StyledHeaderTitle,\n} from './header.styled'\nimport type { HeaderButtonProps } from './header-button'\nimport { HeaderButton } from './header-button'\n\ninterface IHeader {\n state: RangeCalendarState | CalendarState\n prevButtonProps: HeaderButtonProps\n nextButtonProps: HeaderButtonProps\n visibleMonths?: number\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 <HeaderButton {...prevButtonProps}>\n <IconChevronLeft />\n </HeaderButton>\n <StyledHeaderTitle level={2} styledAs='h3'>\n {monthDateFormatter.format(\n state.visibleRange.start.toDate(state.timeZone)\n )}\n </StyledHeaderTitle>\n {visibleMonths === 2 && (\n <>\n <StyledHeaderPlaceholder />\n <StyledHeaderTitle level={2} styledAs='h3'>\n {monthDateFormatter.format(\n state.visibleRange.start.add({ months: 1 }).toDate(state.timeZone)\n )}\n </StyledHeaderTitle>\n </>\n )}\n <HeaderButton {...nextButtonProps}>\n <IconChevronRight />\n </HeaderButton>\n </StyledHeader>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { focus } from '@mirohq/design-system-styles'\n\nexport const StyledCell = styled(Primitive.td, {\n square: '$10',\n marginTop: '$50',\n position: 'relative',\n})\n\nexport const StyledCellContent = styled(Primitive.div, {\n cursor: 'pointer',\n square: '$10',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '$50',\n color: '$text-neutrals',\n\n ...focus.css({\n top: '0',\n left: '0',\n position: 'absolute',\n zIndex: '1',\n boxShadow: '$focus-keyboard',\n outline: '1px solid transparent',\n }),\n\n '&[aria-disabled=\"true\"]': {\n textDecoration: 'line-through',\n color: '$text-neutrals-disabled',\n cursor: 'default',\n },\n\n '&:not([aria-disabled=\"true\"])': {\n _hover: {\n backgroundColor: '$background-neutrals-subtle-hover',\n color: '$text-neutrals',\n },\n },\n\n variants: {\n today: {\n true: {\n backgroundColor: '$background-neutrals-subtle-hover',\n color: '$text-neutrals',\n },\n },\n selected: {\n true: {\n backgroundColor: '$background-primary-prominent-selected',\n color: '$text-neutrals-inverted',\n\n '&:not([aria-disabled=\"true\"])': {\n _hover: {\n backgroundColor: '$background-primary-prominent-hover',\n color: '$text-neutrals-inverted',\n },\n },\n },\n },\n range: {\n middle: {\n backgroundColor: '$background-primary-subtle-selected',\n color: '$text-neutrals',\n borderRadius: 0,\n\n '&:not([aria-disabled=\"true\"])': {\n _hover: {\n backgroundColor: '$background-primary-subtle-hover',\n },\n },\n },\n start: {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n },\n end: {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n },\n },\n hidden: {\n true: {\n display: 'none',\n },\n },\n },\n})\n\nexport type StyledCellProps = ComponentPropsWithRef<typeof StyledCell>\n","import React, { useRef } from 'react'\nimport { useCalendarCell, useFocusRing, mergeProps } from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport {\n isSameDay,\n isSameMonth,\n isToday,\n getLocalTimeZone,\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.FC<CellProps> = props => {\n const { state, date, currentMonth } = props\n const ref = useRef(null)\n const { cellProps, buttonProps, isSelected, formattedDate } = useCalendarCell(\n { date },\n state,\n ref\n )\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 const { focusProps } = useFocusRing()\n\n // when it's both start and end, it's single date\n const isRange = isSelected && (!isSelectionStart || !isSelectionEnd)\n\n const rangeVariant = isRange\n ? isSelectionStart\n ? 'start'\n : isSelectionEnd\n ? 'end'\n : 'middle'\n : undefined\n\n return (\n <StyledCell {...cellProps}>\n <StyledCellContent\n {...mergeProps(buttonProps, focusProps)}\n ref={ref}\n selected={isSelected && (isSelectionStart || isSelectionEnd)}\n today={isToday(date, getLocalTimeZone())}\n range={rangeVariant}\n hidden={isOutsideMonth}\n >\n {formattedDate}\n </StyledCellContent>\n </StyledCell>\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 height: '$10',\n color: '$text-neutrals-subtle',\n fontWeight: '$regular',\n paddingTop: '$50',\n})\n\nexport type StyledGridProps = ComponentPropsWithRef<typeof StyledGrid>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { getWeeksInMonth } from '@internationalized/date'\nimport type { AriaCalendarGridProps, DateRange } from 'react-aria'\nimport { useLocale, useCalendarGrid } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport { Cell } from './cell'\nimport type { StyledGridProps } from './grid.styled'\nimport { StyledDays, StyledGrid } from './grid.styled'\n\nexport interface GridProps extends Omit<StyledGridProps, 'onChange'> {\n state: RangeCalendarState | CalendarState\n offset?: DateDuration\n onChange?: (value: DateRange) => void\n}\n\nexport const Grid = React.forwardRef<ElementRef<typeof StyledGrid>, GridProps>(\n (props, forwardRef) => {\n const { locale } = useLocale()\n const { state, offset = {} } = props\n const startDate: CalendarDate = state.visibleRange.start.add(offset)\n const { gridProps, headerProps, weekDays } = useCalendarGrid(\n props as AriaCalendarGridProps,\n state\n )\n\n // Get the number of weeks in the month so we can render the proper number of rows.\n const weeksInMonth = getWeeksInMonth(startDate, locale)\n\n return (\n <StyledGrid ref={forwardRef} {...gridProps} cellPadding='0'>\n <thead {...headerProps}>\n <tr>\n {weekDays.map((day, i) => (\n <StyledDays key={i}>\n <div>{day}</div>\n </StyledDays>\n ))}\n </tr>\n </thead>\n <tbody>\n {Array.from(Array(weeksInMonth).keys()).map(weekIndex => (\n <tr key={weekIndex}>\n {state\n .getDatesInWeek(weekIndex, startDate)\n .map((date: CalendarDate | null, i: number) =>\n date !== null ? (\n <Cell\n key={i}\n state={state}\n date={date}\n currentMonth={startDate}\n />\n ) : (\n <td key={i} />\n )\n )}\n </tr>\n ))}\n </tbody>\n </StyledGrid>\n )\n }\n)\n","import type { ElementRef, ReactElement, ReactNode } from 'react'\nimport React, { useRef } from 'react'\nimport { useCalendarState, useRangeCalendarState } from 'react-stately'\nimport { useCalendar, useRangeCalendar, useLocale } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport { Flex } from '@mirohq/design-system-flex'\nimport type { DateRange, DateValue, AriaButtonProps } from 'react-aria'\nimport type { DOMAttributes } from '@react-types/shared'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\nimport { theme } from '@mirohq/design-system-stitches'\n\nimport { useCalendarContext } from '../use-calendar-context'\nimport type { StyledContentProps } from './content.styled'\nimport {\n StyledContent,\n StyledClearContent,\n StyledCalendarBody,\n StyledBodyContentLeft,\n StyledBodyContentRight,\n StyledGridContent,\n} from './content.styled'\nimport { Header } from './header'\nimport { Grid } from './grid'\nimport type { Align, PointerDownOutsideEvent, Side, Sticky } from '../types'\nimport type { HeaderButtonProps } from './header-button'\n\nexport const CONTENT_OFFSET = parseInt(theme.space[50])\n\nexport type ContentProps = StyledContentProps & {\n /**\n * Calendar's content.\n */\n children?: ReactNode\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault.\n */\n onCloseAutoFocus?: (event: Event) => void\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void\n\n /**\n * Event handler called when a pointer event occurs outside the bounds of the\n * component. It can be prevented by calling event.preventDefault.\n */\n onPointerDownOutside?: (event: PointerDownOutsideEvent) => void\n\n /**\n * The preferred side of the anchor to render against when open. Will be\n * reversed when collisions occur and avoidCollisions is enabled.\n * @default 'bottom'\n */\n side?: Side\n\n /**\n * The distance in pixels from the anchor.\n * @default CONTENT_OFFSET\n */\n sideOffset?: number\n\n /**\n * The preferred alignment against the anchor. May change when collisions\n * occur.\n * @default 'start'\n */\n align?: Align\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options.\n * @default 0\n */\n alignOffset?: number\n\n /**\n * When true, overrides the side and align preferences to prevent collisions\n * with boundary edges.\n * @default true\n */\n avoidCollisions?: boolean\n\n /**\n * The element used as the collision boundary. By default this is the\n * viewport, though you can provide additional element(s) to be included in\n * this check.\n */\n collisionBoundary?: Element | null\n\n /**\n * The distance in pixels from the boundary edges where collision detection\n * should occur. Accepts a number (same for all sides), or a partial padding\n * object, for example: { top: 20, left: 20 }.\n * @default 0\n */\n collisionPadding?: number | Partial<Record<Side, number>>\n\n /**\n * The sticky behavior on the align axis. \"partial\" will keep the content in the\n * boundary as long as the trigger is at least partially in the boundary whilst\n * \"always\" will keep the content in the boundary regardless.\n * @default 'partial'\n */\n sticky?: Sticky\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded.\n * @default true\n */\n hideWhenDetached?: boolean\n}\n\ninterface SharedContentProps {\n calendarProps: DOMAttributes\n prevButtonProps: AriaButtonProps\n nextButtonProps: AriaButtonProps\n state: RangeCalendarState | CalendarState\n}\n\nconst SharedContent = React.forwardRef<HTMLDivElement, SharedContentProps>(\n ({ calendarProps, prevButtonProps, nextButtonProps, state }, forwardRef) => {\n const { visibleDuration } = useCalendarContext<DateValue>()\n\n return (\n <StyledCalendarBody\n direction='column'\n {...calendarProps}\n ref={forwardRef}\n >\n <Header\n state={state}\n prevButtonProps={prevButtonProps as HeaderButtonProps}\n nextButtonProps={nextButtonProps as HeaderButtonProps}\n visibleMonths={visibleDuration.months}\n />\n <StyledGridContent>\n <StyledBodyContentLeft>\n <Grid state={state} />\n </StyledBodyContentLeft>\n {visibleDuration.months === 2 && (\n <StyledBodyContentRight>\n <Grid state={state} offset={{ months: 1 }} />\n </StyledBodyContentRight>\n )}\n </StyledGridContent>\n </StyledCalendarBody>\n )\n }\n)\n\nconst DatePickerContent = (): ReactElement => {\n const { locale } = useLocale()\n\n const {\n calendarValue,\n visibleDuration,\n minDate,\n maxDate,\n onCalendarDateClick,\n } = useCalendarContext<DateValue>()\n\n const state = useCalendarState({\n value: calendarValue,\n visibleDuration,\n minValue: minDate,\n maxValue: maxDate,\n autoFocus: true,\n onChange: onCalendarDateClick,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useCalendar(\n {},\n state\n )\n\n return (\n <SharedContent\n calendarProps={calendarProps}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n state={state}\n />\n )\n}\n\nconst RangePickerContent = (): ReactElement => {\n const { locale } = useLocale()\n\n const {\n calendarValue,\n visibleDuration,\n minDate,\n maxDate,\n onCalendarDateClick,\n } = useCalendarContext<DateRange>()\n\n const ref = useRef<HTMLDivElement>(null)\n\n const state = useRangeCalendarState({\n value: calendarValue,\n visibleDuration,\n minValue: minDate,\n maxValue: maxDate,\n autoFocus: true,\n onChange: onCalendarDateClick,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useRangeCalendar(\n {},\n state,\n ref\n )\n\n return (\n <SharedContent\n ref={ref}\n calendarProps={calendarProps}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n state={state}\n />\n )\n}\n\nexport const Content = React.forwardRef<\n ElementRef<typeof StyledContent>,\n ContentProps\n>(\n (\n {\n side = 'bottom',\n sideOffset = CONTENT_OFFSET,\n align = 'start',\n alignOffset = 0,\n collisionPadding = 0,\n avoidCollisions = true,\n sticky = 'partial',\n hideWhenDetached = true,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const { picker, open } = useCalendarContext()\n\n if (!open) {\n return null\n }\n\n return (\n <StyledContent\n {...restProps}\n ref={forwardRef}\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n collisionPadding={collisionPadding}\n avoidCollisions={avoidCollisions}\n sticky={sticky}\n hideWhenDetached={hideWhenDetached}\n >\n <Flex direction='column'>\n {picker === 'single' ? <DatePickerContent /> : <RangePickerContent />}\n {children != null && (\n <StyledClearContent>{children}</StyledClearContent>\n )}\n </Flex>\n </StyledContent>\n )\n }\n)\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\n\nexport const StyledValue = styled(Primitive.span, {})\n\nexport type StyledValueProps = ComponentPropsWithRef<typeof StyledValue>\n","import type { ElementRef } from 'react'\nimport React, { useMemo } from 'react'\nimport type { DateRange, DateValue } from '@react-types/datepicker'\nimport type { DateFormatter } from 'react-aria'\nimport { useDateFormatter } from 'react-aria'\nimport { getLocalTimeZone } from '@internationalized/date'\n\nimport type { StyledValueProps } from './value.styled'\nimport { StyledValue } from './value.styled'\nimport { useCalendarContext } from '../use-calendar-context'\n\ntype FormatOptions = Pick<\n Intl.DateTimeFormatOptions,\n 'weekday' | 'era' | 'year' | 'month' | 'day' | 'formatMatcher'\n>\n\nexport type ValueProps = StyledValueProps & {\n format?: FormatOptions\n}\n\nconst DEFAULT_FORMAT: FormatOptions = {\n day: '2-digit',\n month: 'short',\n year: 'numeric',\n}\n\nfunction formatDate(\n date: DateValue,\n formatter: DateFormatter,\n timeZone: string\n): string | undefined {\n return formatter.format(date.toDate(timeZone))\n}\n\nfunction formatValue(\n value: DateValue | DateRange | undefined | null,\n formatter: DateFormatter,\n timeZone: string\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 `${formatDate(value.start, formatter, timeZone)} - ${formatDate(\n value.end,\n formatter,\n timeZone\n )}`\n }\n\n return formatDate(value, formatter, timeZone)\n}\n\nexport const Value = React.forwardRef<\n ElementRef<typeof StyledValue>,\n ValueProps\n>(({ format = DEFAULT_FORMAT, ...restProps }, forwardRef) => {\n const { value } = useCalendarContext()\n\n const timeZone = useMemo(getLocalTimeZone, [format])\n\n const formatWithTimeZone = useMemo(\n () => ({ ...format, timeZone }),\n [format, timeZone]\n )\n const dateFormatter = useDateFormatter(formatWithTimeZone)\n\n const valueToDisplay = formatValue(value, dateFormatter, timeZone)\n\n return (\n <StyledValue ref={forwardRef} {...restProps}>\n {valueToDisplay}\n </StyledValue>\n )\n})\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport { Button } from '@mirohq/design-system-button'\nimport type { BaseButtonProps } from '@mirohq/design-system-base-button'\n\nimport { useCalendarContext } from '../use-calendar-context'\n\nexport type ClearButtonProps = BaseButtonProps & {\n /**\n * Event handler called when the calendar value is cleared\n */\n onClear?: () => void\n}\n\nexport const ClearButton = React.forwardRef<\n ElementRef<typeof Button>,\n ClearButtonProps\n>(({ onClear, children, ...restProps }, forwardRef) => {\n const { value, setValue } = useCalendarContext()\n\n const onClearHandler = (): void => {\n setValue(undefined)\n if (onClear !== undefined) {\n onClear()\n }\n }\n\n return (\n <Button\n {...restProps}\n ref={forwardRef}\n variant='ghost'\n size='medium'\n onClick={onClearHandler}\n disabled={value === null}\n >\n {children}\n </Button>\n )\n})\n","import type { ElementRef } from 'react'\nimport React, { useEffect } from 'react'\nimport { Button } from '@mirohq/design-system-button'\nimport type { BaseButtonProps } from '@mirohq/design-system-base-button'\n\nimport { useCalendarContext } from '../use-calendar-context'\n\nexport type SaveButtonProps = BaseButtonProps & {\n /**\n * Event handler called when the calendar value is saved\n */\n onSave?: () => void\n}\n\nexport const SaveButton = React.forwardRef<\n ElementRef<typeof Button>,\n SaveButtonProps\n>(({ onSave, children, ...restProps }, forwardRef) => {\n const { setImmediateSave, onSaveClick } = useCalendarContext()\n\n useEffect(() => {\n setImmediateSave(true)\n\n return () => setImmediateSave(false)\n }, [setImmediateSave])\n\n const onSaveHandler = (): void => {\n onSaveClick()\n if (onSave !== undefined) {\n onSave()\n }\n }\n\n return (\n <Button\n ref={forwardRef}\n {...restProps}\n variant='primary'\n size='medium'\n onClick={onSaveHandler}\n >\n {children}\n </Button>\n )\n})\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport type { ComponentPropsWithRef } from 'react'\n\nexport const StyledCalendar = styled(Primitive.div, {\n position: 'relative',\n})\nexport type StyledCalendarProps = ComponentPropsWithRef<typeof StyledCalendar>\n","import type {\n ElementRef,\n ForwardRefExoticComponent,\n PropsWithChildren,\n} from 'react'\nimport React from 'react'\nimport { I18nProvider } from 'react-aria'\nimport * as RadixPopover from '@radix-ui/react-popover'\nimport type { DateRange, DateValue } from 'react-aria'\nimport {\n FloatingLabel,\n useFormFieldContext,\n} from '@mirohq/design-system-base-form'\n\nimport type { CalendarDatePickerProps, CalendarRangePickerProps } from './types'\nimport { Trigger } from './partials/trigger'\nimport { Content } from './partials/content'\nimport type { CalendarProviderProps } from './use-calendar-context'\nimport { CalendarProvider, useCalendarContext } from './use-calendar-context'\nimport { Value } from './partials/value'\nimport { ClearButton } from './partials/clear-button'\nimport { SaveButton } from './partials/save-button'\nimport { StyledCalendar } from './calendar.styled'\n\nexport type CalendarProps = (\n | CalendarDatePickerProps\n | CalendarRangePickerProps\n) & {\n /**\n * The locale for Calendar internationalization\n */\n locale?: string\n}\n\ntype CalendarRootProps = PropsWithChildren<{}>\n\nconst Root = React.forwardRef<\n ElementRef<typeof StyledCalendar>,\n CalendarRootProps\n>(({ children, ...restProps }, forwardRef) => {\n const { open, setOpen } = useCalendarContext()\n\n const { label, isFloatingLabel } = useFormFieldContext<HTMLSelectElement>()\n\n return (\n <RadixPopover.Root open={open} onOpenChange={setOpen}>\n <StyledCalendar ref={forwardRef} {...restProps}>\n {label !== null && isFloatingLabel && (\n <FloatingLabel floating size='medium'>\n {label}\n </FloatingLabel>\n )}\n {children}\n </StyledCalendar>\n </RadixPopover.Root>\n )\n})\n\nexport const Calendar = React.forwardRef<\n ElementRef<typeof StyledCalendar>,\n CalendarProps\n>(\n (\n {\n picker,\n defaultValue,\n value,\n onValueChange,\n defaultOpen,\n open,\n onClose,\n onOpen,\n locale,\n visibleMonths,\n minDate,\n maxDate,\n disabled,\n 'aria-disabled': ariaDisabled,\n children,\n ...props\n },\n forwardRef\n ) => {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n const providerProps = {\n picker,\n defaultValue,\n value,\n onValueChange,\n visibleMonths,\n minDate,\n maxDate,\n defaultOpen,\n open,\n onClose,\n onOpen,\n disabled,\n ariaDisabled,\n } as CalendarProviderProps<DateValue> | CalendarProviderProps<DateRange>\n\n return (\n <I18nProvider locale={locale}>\n <CalendarProvider {...(providerProps as any)}>\n <Root {...props} ref={forwardRef}>\n {children}\n </Root>\n </CalendarProvider>\n </I18nProvider>\n )\n }\n) as ForwardRefExoticComponent<CalendarProps> & Partials\n\nexport interface Partials {\n Trigger: typeof Trigger\n Content: typeof Content\n Value: typeof Value\n ClearButton: typeof ClearButton\n SaveButton: typeof SaveButton\n}\n\nCalendar.Trigger = Trigger\nCalendar.Content = Content\nCalendar.Value = Value\nCalendar.ClearButton = ClearButton\nCalendar.SaveButton = SaveButton\n"],"names":["StyledValue","value","RadixTrigger","RadixContent"],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sources":["../src/partials/trigger.styled.tsx","../src/partials/clear-action.styled.tsx","../src/partials/clear-action.tsx","../src/use-calendar-context.tsx","../src/partials/trigger.tsx","../src/partials/content.styled.tsx","../src/partials/header.styled.tsx","../src/partials/header-button.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/content.tsx","../src/partials/value.styled.tsx","../src/partials/value.tsx","../src/partials/clear-button.tsx","../src/partials/save-button.tsx","../src/calendar.styled.tsx","../src/calendar.tsx"],"sourcesContent":["import { Primitive } from '@mirohq/design-system-primitive'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\nimport { focus } from '@mirohq/design-system-styles'\nimport { BaseButton } from '@mirohq/design-system-base-button'\n\nexport const StyledPlaceholder = styled(Primitive.span, {\n ...textFieldStyles.base.placeholder.old,\n padding: '0 $50',\n})\n\nexport const StyledValue = styled(Primitive.span, {\n padding: '0 $50',\n})\n\nexport const StyledIconContainer = styled(Primitive.span, {\n display: 'flex',\n justifyContent: 'center',\n padding: '6px',\n color: '$text-neutrals-subtle',\n})\n\nexport const StyledTrigger = styled(BaseButton, {\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 _hover: textFieldStyles.variants.hovered,\n\n '&:disabled, &[aria-disabled=\"true\"]': {\n ...textFieldStyles.variants.disabled,\n color: '$text-neutrals-disabled',\n },\n\n variants: {\n v1: {\n true: {\n ...textFieldStyles.v1.idle,\n ...focus.css(textFieldStyles.v1.focused),\n },\n false: {\n ...focus.css(textFieldStyles.variants.focused),\n },\n },\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(BaseButton, {\n width: '100%',\n height: 'unset',\n padding: '0',\n backgroundColor: '$transparent',\n border: 'none',\n cursor: 'pointer',\n})\n\nexport type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>\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 StyledClearAction = 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 '&:disabled, &[aria-disabled=\"true\"]': {\n color: '$icon-neutrals-disabled',\n },\n})\n\nexport type StyledClearActionProps = ComponentPropsWithRef<\n typeof StyledClearAction\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 { StyledClearActionProps } from './clear-action.styled'\nimport { StyledClearAction } from './clear-action.styled'\n\ninterface ClearActionProps extends Omit<StyledClearActionProps, 'children'> {\n label: string\n}\n\nexport const ClearAction = React.forwardRef<\n ElementRef<typeof StyledClearAction>,\n ClearActionProps\n>(({ 'aria-label': ariaLabel, label, ...restProps }, forwardRef) => (\n <Tooltip>\n <Tooltip.Trigger asChild>\n <StyledClearAction\n {...restProps}\n ref={forwardRef}\n aria-label={ariaLabel ?? label}\n >\n <IconCross />\n </StyledClearAction>\n </Tooltip.Trigger>\n <Tooltip.Content>{label}</Tooltip.Content>\n </Tooltip>\n))\n","import React, {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react'\nimport type { PropsWithChildren } from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport type { DateDuration } from '@internationalized/date'\nimport { useControllableState } from '@radix-ui/react-use-controllable-state'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\ninterface SharedProps {\n picker: 'single' | 'range'\n minDate?: DateValue\n maxDate?: DateValue\n disabled?: boolean\n ariaDisabled?: Booleanish\n}\n\ninterface CalendarContextProps<T extends DateRange | DateValue>\n extends SharedProps {\n visibleDuration: DateDuration\n\n value?: T\n setValue: React.Dispatch<React.SetStateAction<T | undefined>>\n\n open: boolean\n setOpen: React.Dispatch<React.SetStateAction<boolean | undefined>>\n\n setImmediateSave: React.Dispatch<React.SetStateAction<boolean>>\n\n calendarValue?: T | null\n calendarDefaultValue?: T | null\n onCalendarDateClick: (date: T) => void\n onSaveClick: () => void\n}\n\nexport interface CalendarProviderProps<T extends DateRange | DateValue>\n extends SharedProps {\n visibleMonths?: number\n\n defaultValue?: T\n value?: T\n onValueChange?: (value: T | undefined) => void\n\n defaultOpen?: boolean\n open?: boolean\n onOpen?: () => void\n onClose?: () => void\n}\n\nconst CalendarContext = createContext<CalendarContextProps<any>>({} as any)\n\nexport const CalendarProvider = <T extends DateRange | DateValue>({\n children,\n visibleMonths = 1,\n value: valueProp,\n defaultValue: defaultValueProp,\n onValueChange,\n open: openProp,\n defaultOpen: defaultOpenProp,\n onOpen,\n onClose,\n ...restProps\n}: PropsWithChildren<CalendarProviderProps<T>>): JSX.Element => {\n const [immediateSave, setImmediateSave] = useState(false)\n const [internalCalendarValue, setInternalCalendarValue] = useState<\n T | undefined\n >(valueProp ?? defaultValueProp)\n\n const visibleDuration = useMemo(\n () => ({\n months: visibleMonths,\n }),\n [visibleMonths]\n )\n\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValueProp,\n onChange: onValueChange,\n })\n\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpenProp,\n onChange: state => {\n if (state) {\n onOpen?.()\n } else {\n onClose?.()\n }\n },\n })\n\n const onCalendarDateClick = useCallback(\n (value: T): void => {\n if (immediateSave) {\n setInternalCalendarValue(value)\n } else {\n setValue(value)\n setOpen(false)\n }\n },\n [setValue, setOpen, immediateSave, setInternalCalendarValue]\n )\n\n const onSaveClick = (): void => {\n setValue(internalCalendarValue)\n setOpen(false)\n }\n\n return (\n <CalendarContext.Provider\n value={{\n ...restProps,\n visibleDuration,\n value: value,\n setValue,\n open,\n setOpen,\n onCalendarDateClick,\n setImmediateSave,\n onSaveClick,\n // value should not be undefined otherwise react-aria calendar will complain in console\n calendarValue: (immediateSave ? internalCalendarValue : value) ?? null,\n }}\n >\n {children}\n </CalendarContext.Provider>\n )\n}\n\nexport const useCalendarContext = <\n T extends DateRange | DateValue\n>(): CalendarContextProps<T> => useContext(CalendarContext)\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { useNewDesignLanguage } from '@mirohq/design-system-experiments'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\nimport { Trigger as RadixTrigger } from '@radix-ui/react-popover'\nimport { booleanify, stringAttrValue } from '@mirohq/design-system-utils'\n\nimport type { StyledTriggerProps } from './trigger.styled'\nimport {\n StyledIconContainer,\n StyledCustomTrigger,\n StyledPlaceholder,\n StyledTrigger,\n StyledValue,\n} from './trigger.styled'\nimport { ClearAction } from './clear-action'\nimport { useCalendarContext } from '../use-calendar-context'\n\ntype TriggerSharedProps = Omit<StyledTriggerProps, 'v1' | 'withClearButton'> & {\n /**\n * The content that will be rendered inside the Calendar trigger when there is no value\n */\n placeholder?: string\n\n /**\n * Show a button to clear the Calendar value\n * @default false\n */\n clearable?: boolean\n\n /**\n * The content\n */\n children: React.ReactNode\n}\n\nexport type TriggerProps = TriggerSharedProps &\n (\n | { clearable: false; clearLabel?: never; onClear?: never }\n | {\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * The label text for Trigger's action button when Combobox has values selected. Will be rendered in a Tooltip.\n */\n clearLabel: string\n }\n )\n\nexport const Trigger = React.forwardRef<ElementRef<'button'>, TriggerProps>(\n (\n {\n id,\n 'aria-describedby': ariaDescribedBy,\n placeholder,\n asChild = false,\n clearable = true,\n clearLabel,\n onClear,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const [v1] = useNewDesignLanguage()\n\n const { value, setValue, disabled, ariaDisabled } = useCalendarContext()\n\n const { formElementId, ariaDescribedBy: formFieldContextDescribedBy } =\n useFormFieldContext()\n\n if (asChild) {\n return (\n <RadixTrigger ref={forwardRef} asChild>\n <StyledCustomTrigger asChild {...restProps}>\n {children}\n </StyledCustomTrigger>\n </RadixTrigger>\n )\n }\n\n const onClearHandler = (): void => {\n setValue(undefined)\n if (onClear !== undefined) {\n onClear()\n }\n }\n\n const clearButtonVisible =\n clearable && value != null && clearLabel !== undefined\n\n return (\n <>\n <RadixTrigger ref={forwardRef} asChild>\n <StyledTrigger\n id={id ?? formElementId}\n aria-describedby={stringAttrValue(\n ariaDescribedBy,\n formFieldContextDescribedBy\n )}\n v1={v1}\n withClearButton={clearButtonVisible}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n {...restProps}\n >\n {value != null ? (\n <StyledValue>{children}</StyledValue>\n ) : (\n <StyledPlaceholder>{placeholder}</StyledPlaceholder>\n )}\n\n {!clearButtonVisible && (\n <StyledIconContainer>\n <IconCalendarBlank weight='thin' size='small' />\n </StyledIconContainer>\n )}\n </StyledTrigger>\n </RadixTrigger>\n {clearButtonVisible && (\n <ClearAction\n label={clearLabel}\n onPress={onClearHandler}\n disabled={disabled ?? booleanify(ariaDisabled)}\n />\n )}\n </>\n )\n }\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'\nimport { Content as RadixContent } from '@radix-ui/react-popover'\n\nexport const StyledContent = styled(RadixContent, {\n zIndex: '$calendar',\n background: '$background-neutrals',\n borderRadius: '$100',\n boxShadow: '$100',\n})\n\nexport const StyledCalendarBody = styled(Flex, {\n padding: '$200',\n})\n\nexport const StyledGridContent = styled(Flex, {})\n\nexport const StyledBodyContentLeft = styled(Primitive.div, {})\n\nexport const StyledBodyContentRight = styled(Primitive.div, {\n paddingLeft: '$200',\n})\n\nexport const StyledClearContent = styled(Primitive.div, {\n display: 'flex',\n gap: '$100',\n padding: '$200',\n borderTop: '1px solid $border-neutrals',\n})\n\nexport type StyledContentProps = ComponentPropsWithRef<typeof StyledContent>\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\nimport { Heading } from '@mirohq/design-system-typography'\n\nexport const StyledHeaderTitle = styled(Heading, {\n margin: 0,\n flex: '2',\n textAlign: 'center',\n})\n\nexport const StyledHeaderPlaceholder = styled('div', {\n height: '$8',\n // to compensate icon buttons' width and space between 2 calendars\n width: 'calc($8 * 2 + $space$200)',\n})\n\nexport const StyledHeader = styled(Flex, {\n color: '$text-neutrals',\n height: '$8',\n alignItems: 'center',\n justifyContent: 'space-between',\n})\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { IconButtonProps } from '@mirohq/design-system-icon-button'\nimport { IconButton } from '@mirohq/design-system-icon-button'\n\nexport type HeaderButtonProps = IconButtonProps & {\n onFocus?: () => void\n onPress?: () => void\n isDisabled?: boolean // name comes from react-aria\n 'aria-label': string\n}\n\nexport const HeaderButton = React.forwardRef<\n ElementRef<'button'>,\n HeaderButtonProps\n>(({ isDisabled, children, ...restProps }, forwardRef) => (\n <IconButton\n {...restProps}\n size='medium'\n disabled={isDisabled}\n ref={forwardRef}\n >\n {children}\n </IconButton>\n))\n","import React from 'react'\nimport { useDateFormatter } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\nimport { IconChevronLeft, IconChevronRight } from '@mirohq/design-system-icons'\n\nimport {\n StyledHeaderPlaceholder,\n StyledHeader,\n StyledHeaderTitle,\n} from './header.styled'\nimport type { HeaderButtonProps } from './header-button'\nimport { HeaderButton } from './header-button'\n\ninterface IHeader {\n state: RangeCalendarState | CalendarState\n prevButtonProps: HeaderButtonProps\n nextButtonProps: HeaderButtonProps\n visibleMonths?: number\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 <HeaderButton {...prevButtonProps}>\n <IconChevronLeft />\n </HeaderButton>\n <StyledHeaderTitle level={2} styledAs='h3'>\n {monthDateFormatter.format(\n state.visibleRange.start.toDate(state.timeZone)\n )}\n </StyledHeaderTitle>\n {visibleMonths === 2 && (\n <>\n <StyledHeaderPlaceholder />\n <StyledHeaderTitle level={2} styledAs='h3'>\n {monthDateFormatter.format(\n state.visibleRange.start.add({ months: 1 }).toDate(state.timeZone)\n )}\n </StyledHeaderTitle>\n </>\n )}\n <HeaderButton {...nextButtonProps}>\n <IconChevronRight />\n </HeaderButton>\n </StyledHeader>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { focus } from '@mirohq/design-system-styles'\n\nexport const StyledCell = styled(Primitive.td, {\n square: '$10',\n marginTop: '$50',\n position: 'relative',\n})\n\nexport const StyledCellContent = styled(Primitive.div, {\n cursor: 'pointer',\n square: '$10',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '$50',\n color: '$text-neutrals',\n\n ...focus.css({\n top: '0',\n left: '0',\n position: 'absolute',\n zIndex: '1',\n boxShadow: '$focus-v1',\n outline: '1px solid transparent',\n }),\n\n '&[aria-disabled=\"true\"]': {\n textDecoration: 'line-through',\n color: '$text-neutrals-disabled',\n cursor: 'default',\n },\n\n '&:not([aria-disabled=\"true\"])': {\n _hover: {\n backgroundColor: '$background-neutrals-subtle-hover',\n color: '$text-neutrals',\n },\n },\n\n variants: {\n today: {\n true: {\n backgroundColor: '$background-neutrals-subtle-hover',\n color: '$text-neutrals',\n },\n },\n selected: {\n true: {\n backgroundColor: '$background-primary-prominent-selected',\n color: '$text-neutrals-inverted',\n\n '&:not([aria-disabled=\"true\"])': {\n _hover: {\n backgroundColor: '$background-primary-prominent-hover',\n color: '$text-neutrals-inverted',\n },\n },\n },\n },\n range: {\n middle: {\n backgroundColor: '$background-primary-subtle-selected',\n color: '$text-neutrals',\n borderRadius: 0,\n\n '&:not([aria-disabled=\"true\"])': {\n _hover: {\n backgroundColor: '$background-primary-subtle-hover',\n },\n },\n },\n start: {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n },\n end: {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n },\n },\n hidden: {\n true: {\n display: 'none',\n },\n },\n },\n})\n\nexport type StyledCellProps = ComponentPropsWithRef<typeof StyledCell>\n","import React, { useRef } from 'react'\nimport { useCalendarCell, useFocusRing, mergeProps } from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport {\n isSameDay,\n isSameMonth,\n isToday,\n getLocalTimeZone,\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.FC<CellProps> = props => {\n let { state, date, currentMonth } = props\n const ref = useRef(null)\n const { cellProps, buttonProps, isSelected, formattedDate } = useCalendarCell(\n { date },\n state,\n ref\n )\n\n const isOutsideMonth = !isSameMonth(currentMonth, date)\n\n state = state as RangeCalendarState\n\n // The start and end date of the selected range will have\n // an emphasized appearance.\n const isSelectionStart =\n state.highlightedRange !== undefined && state.highlightedRange !== null\n ? isSameDay(date, state.highlightedRange.start)\n : isSelected\n const isSelectionEnd =\n state.highlightedRange !== undefined && state.highlightedRange !== null\n ? isSameDay(date, state.highlightedRange.end)\n : isSelected\n\n const { focusProps } = useFocusRing()\n\n // when it's both start and end, it's single date\n const isRange = isSelected && (!isSelectionStart || !isSelectionEnd)\n\n const rangeVariant = isRange\n ? isSelectionStart\n ? 'start'\n : isSelectionEnd\n ? 'end'\n : 'middle'\n : undefined\n\n return (\n <StyledCell {...cellProps}>\n <StyledCellContent\n {...mergeProps(buttonProps, focusProps)}\n ref={ref}\n selected={isSelected && (isSelectionStart || isSelectionEnd)}\n today={isToday(date, getLocalTimeZone())}\n range={rangeVariant}\n hidden={isOutsideMonth}\n >\n {formattedDate}\n </StyledCellContent>\n </StyledCell>\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 height: '$10',\n color: '$text-neutrals-subtle',\n fontWeight: '$regular',\n paddingTop: '$50',\n})\n\nexport type StyledGridProps = ComponentPropsWithRef<typeof StyledGrid>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { getWeeksInMonth } from '@internationalized/date'\nimport type { AriaCalendarGridProps, DateRange } from 'react-aria'\nimport { useLocale, useCalendarGrid } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport { Cell } from './cell'\nimport type { StyledGridProps } from './grid.styled'\nimport { StyledDays, StyledGrid } from './grid.styled'\n\nexport interface GridProps extends Omit<StyledGridProps, 'onChange'> {\n state: RangeCalendarState | CalendarState\n offset?: DateDuration\n onChange?: (value: DateRange) => void\n}\n\nexport const Grid = React.forwardRef<ElementRef<typeof StyledGrid>, GridProps>(\n (props, forwardRef) => {\n const { locale } = useLocale()\n const { state, offset = {} } = props\n const startDate: CalendarDate = state.visibleRange.start.add(offset)\n const { gridProps, headerProps, weekDays } = useCalendarGrid(\n props as AriaCalendarGridProps,\n state\n )\n\n // Get the number of weeks in the month so we can render the proper number of rows.\n const weeksInMonth = getWeeksInMonth(startDate, locale)\n\n return (\n <StyledGrid ref={forwardRef} {...gridProps} cellPadding='0'>\n <thead {...headerProps}>\n <tr>\n {weekDays.map((day, i) => (\n <StyledDays key={i}>\n <div>{day}</div>\n </StyledDays>\n ))}\n </tr>\n </thead>\n <tbody>\n {Array.from(Array(weeksInMonth).keys()).map(weekIndex => (\n <tr key={weekIndex}>\n {state\n .getDatesInWeek(weekIndex, startDate)\n .map((date: CalendarDate | null, i: number) =>\n date !== null ? (\n <Cell\n key={i}\n state={state}\n date={date}\n currentMonth={startDate}\n />\n ) : (\n <td key={i} />\n )\n )}\n </tr>\n ))}\n </tbody>\n </StyledGrid>\n )\n }\n)\n","import type { ElementRef, ReactElement, ReactNode } from 'react'\nimport React, { useRef } from 'react'\nimport { useCalendarState, useRangeCalendarState } from 'react-stately'\nimport { useCalendar, useRangeCalendar, useLocale } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport { Flex } from '@mirohq/design-system-flex'\nimport type { DateRange, DateValue, AriaButtonProps } from 'react-aria'\nimport type { DOMAttributes } from '@react-types/shared'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\nimport { theme } from '@mirohq/design-system-stitches'\n\nimport { useCalendarContext } from '../use-calendar-context'\nimport type { StyledContentProps } from './content.styled'\nimport {\n StyledContent,\n StyledClearContent,\n StyledCalendarBody,\n StyledBodyContentLeft,\n StyledBodyContentRight,\n StyledGridContent,\n} from './content.styled'\nimport { Header } from './header'\nimport { Grid } from './grid'\nimport type { Align, PointerDownOutsideEvent, Side, Sticky } from '../types'\nimport type { HeaderButtonProps } from './header-button'\n\nexport const CONTENT_OFFSET = parseInt(theme.space[50])\n\nexport type ContentProps = StyledContentProps & {\n /**\n * Calendar's content.\n */\n children?: ReactNode\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault.\n */\n onCloseAutoFocus?: (event: Event) => void\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void\n\n /**\n * Event handler called when a pointer event occurs outside the bounds of the\n * component. It can be prevented by calling event.preventDefault.\n */\n onPointerDownOutside?: (event: PointerDownOutsideEvent) => void\n\n /**\n * The preferred side of the anchor to render against when open. Will be\n * reversed when collisions occur and avoidCollisions is enabled.\n * @default 'bottom'\n */\n side?: Side\n\n /**\n * The distance in pixels from the anchor.\n * @default CONTENT_OFFSET\n */\n sideOffset?: number\n\n /**\n * The preferred alignment against the anchor. May change when collisions\n * occur.\n * @default 'start'\n */\n align?: Align\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options.\n * @default 0\n */\n alignOffset?: number\n\n /**\n * When true, overrides the side and align preferences to prevent collisions\n * with boundary edges.\n * @default true\n */\n avoidCollisions?: boolean\n\n /**\n * The element used as the collision boundary. By default this is the\n * viewport, though you can provide additional element(s) to be included in\n * this check.\n */\n collisionBoundary?: Element | null\n\n /**\n * The distance in pixels from the boundary edges where collision detection\n * should occur. Accepts a number (same for all sides), or a partial padding\n * object, for example: { top: 20, left: 20 }.\n * @default 0\n */\n collisionPadding?: number | Partial<Record<Side, number>>\n\n /**\n * The sticky behavior on the align axis. \"partial\" will keep the content in the\n * boundary as long as the trigger is at least partially in the boundary whilst\n * \"always\" will keep the content in the boundary regardless.\n * @default 'partial'\n */\n sticky?: Sticky\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded.\n * @default true\n */\n hideWhenDetached?: boolean\n}\n\ninterface SharedContentProps {\n calendarProps: DOMAttributes\n prevButtonProps: AriaButtonProps\n nextButtonProps: AriaButtonProps\n state: RangeCalendarState | CalendarState\n}\n\nconst SharedContent = React.forwardRef<HTMLDivElement, SharedContentProps>(\n ({ calendarProps, prevButtonProps, nextButtonProps, state }, forwardRef) => {\n const { visibleDuration } = useCalendarContext<DateValue>()\n\n return (\n <StyledCalendarBody\n direction='column'\n {...calendarProps}\n ref={forwardRef}\n >\n <Header\n state={state}\n prevButtonProps={prevButtonProps as HeaderButtonProps}\n nextButtonProps={nextButtonProps as HeaderButtonProps}\n visibleMonths={visibleDuration.months}\n />\n <StyledGridContent>\n <StyledBodyContentLeft>\n <Grid state={state} />\n </StyledBodyContentLeft>\n {visibleDuration.months === 2 && (\n <StyledBodyContentRight>\n <Grid state={state} offset={{ months: 1 }} />\n </StyledBodyContentRight>\n )}\n </StyledGridContent>\n </StyledCalendarBody>\n )\n }\n)\n\nconst DatePickerContent = (): ReactElement => {\n const { locale } = useLocale()\n\n const {\n calendarValue,\n visibleDuration,\n minDate,\n maxDate,\n onCalendarDateClick,\n } = useCalendarContext<DateValue>()\n\n const state = useCalendarState({\n value: calendarValue,\n visibleDuration,\n minValue: minDate,\n maxValue: maxDate,\n autoFocus: true,\n onChange: onCalendarDateClick,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useCalendar(\n {},\n state\n )\n\n return (\n <SharedContent\n calendarProps={calendarProps}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n state={state}\n />\n )\n}\n\nconst RangePickerContent = (): ReactElement => {\n const { locale } = useLocale()\n\n const {\n calendarValue,\n visibleDuration,\n minDate,\n maxDate,\n onCalendarDateClick,\n } = useCalendarContext<DateRange>()\n\n const ref = useRef<HTMLDivElement>(null)\n\n const state = useRangeCalendarState({\n value: calendarValue,\n visibleDuration,\n minValue: minDate,\n maxValue: maxDate,\n autoFocus: true,\n onChange: onCalendarDateClick,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useRangeCalendar(\n {},\n state,\n ref\n )\n\n return (\n <SharedContent\n ref={ref}\n calendarProps={calendarProps}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n state={state}\n />\n )\n}\n\nexport const Content = React.forwardRef<\n ElementRef<typeof StyledContent>,\n ContentProps\n>(\n (\n {\n side = 'bottom',\n sideOffset = CONTENT_OFFSET,\n align = 'start',\n alignOffset = 0,\n collisionPadding = 0,\n avoidCollisions = true,\n sticky = 'partial',\n hideWhenDetached = true,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const { picker, open } = useCalendarContext()\n\n if (!open) {\n return null\n }\n\n return (\n <StyledContent\n {...restProps}\n ref={forwardRef}\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n collisionPadding={collisionPadding}\n avoidCollisions={avoidCollisions}\n sticky={sticky}\n hideWhenDetached={hideWhenDetached}\n >\n <Flex direction='column'>\n {picker === 'single' ? <DatePickerContent /> : <RangePickerContent />}\n {children != null && (\n <StyledClearContent>{children}</StyledClearContent>\n )}\n </Flex>\n </StyledContent>\n )\n }\n)\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\n\nexport const StyledValue = styled(Primitive.span, {})\n\nexport type StyledValueProps = ComponentPropsWithRef<typeof StyledValue>\n","import type { ElementRef } from 'react'\nimport React, { useMemo } from 'react'\nimport type { DateRange, DateValue } from '@react-types/datepicker'\nimport type { DateFormatter } from 'react-aria'\nimport { useDateFormatter } from 'react-aria'\nimport { getLocalTimeZone } from '@internationalized/date'\n\nimport type { StyledValueProps } from './value.styled'\nimport { StyledValue } from './value.styled'\nimport { useCalendarContext } from '../use-calendar-context'\n\ntype FormatOptions = Pick<\n Intl.DateTimeFormatOptions,\n 'weekday' | 'era' | 'year' | 'month' | 'day' | 'formatMatcher'\n>\n\nexport type ValueProps = StyledValueProps & {\n format?: FormatOptions\n}\n\nconst DEFAULT_FORMAT: FormatOptions = {\n day: '2-digit',\n month: 'short',\n year: 'numeric',\n}\n\nfunction formatDate(\n date: DateValue,\n formatter: DateFormatter,\n timeZone: string\n): string | undefined {\n return formatter.format(date.toDate(timeZone))\n}\n\nfunction formatValue(\n value: DateValue | DateRange | undefined | null,\n formatter: DateFormatter,\n timeZone: string\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 `${formatDate(value.start, formatter, timeZone)} - ${formatDate(\n value.end,\n formatter,\n timeZone\n )}`\n }\n\n return formatDate(value, formatter, timeZone)\n}\n\nexport const Value = React.forwardRef<\n ElementRef<typeof StyledValue>,\n ValueProps\n>(({ format = DEFAULT_FORMAT, ...restProps }, forwardRef) => {\n const { value } = useCalendarContext()\n\n const timeZone = useMemo(getLocalTimeZone, [format])\n\n const formatWithTimeZone = useMemo(\n () => ({ ...format, timeZone }),\n [format, timeZone]\n )\n const dateFormatter = useDateFormatter(formatWithTimeZone)\n\n const valueToDisplay = formatValue(value, dateFormatter, timeZone)\n\n return (\n <StyledValue ref={forwardRef} {...restProps}>\n {valueToDisplay}\n </StyledValue>\n )\n})\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport { Button } from '@mirohq/design-system-button'\nimport type { BaseButtonProps } from '@mirohq/design-system-base-button'\n\nimport { useCalendarContext } from '../use-calendar-context'\n\nexport type ClearButtonProps = BaseButtonProps & {\n /**\n * Event handler called when the calendar value is cleared\n */\n onClear?: () => void\n}\n\nexport const ClearButton = React.forwardRef<\n ElementRef<typeof Button>,\n ClearButtonProps\n>(({ onClear, children, ...restProps }, forwardRef) => {\n const { value, setValue } = useCalendarContext()\n\n const onClearHandler = (): void => {\n setValue(undefined)\n if (onClear !== undefined) {\n onClear()\n }\n }\n\n return (\n <Button\n {...restProps}\n ref={forwardRef}\n variant='ghost'\n size='medium'\n onClick={onClearHandler}\n disabled={value === null}\n >\n {children}\n </Button>\n )\n})\n","import type { ElementRef } from 'react'\nimport React, { useEffect } from 'react'\nimport { Button } from '@mirohq/design-system-button'\nimport type { BaseButtonProps } from '@mirohq/design-system-base-button'\n\nimport { useCalendarContext } from '../use-calendar-context'\n\nexport type SaveButtonProps = BaseButtonProps & {\n /**\n * Event handler called when the calendar value is saved\n */\n onSave?: () => void\n}\n\nexport const SaveButton = React.forwardRef<\n ElementRef<typeof Button>,\n SaveButtonProps\n>(({ onSave, children, ...restProps }, forwardRef) => {\n const { setImmediateSave, onSaveClick } = useCalendarContext()\n\n useEffect(() => {\n setImmediateSave(true)\n\n return () => setImmediateSave(false)\n }, [setImmediateSave])\n\n const onSaveHandler = (): void => {\n onSaveClick()\n if (onSave !== undefined) {\n onSave()\n }\n }\n\n return (\n <Button\n ref={forwardRef}\n {...restProps}\n variant='primary'\n size='medium'\n onClick={onSaveHandler}\n >\n {children}\n </Button>\n )\n})\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport type { ComponentPropsWithRef } from 'react'\n\nexport const StyledCalendar = styled(Primitive.div, {\n position: 'relative',\n})\nexport type StyledCalendarProps = ComponentPropsWithRef<typeof StyledCalendar>\n","import type {\n ElementRef,\n ForwardRefExoticComponent,\n PropsWithChildren,\n} from 'react'\nimport React from 'react'\nimport { I18nProvider } from 'react-aria'\nimport * as RadixPopover from '@radix-ui/react-popover'\nimport type { DateRange, DateValue } from 'react-aria'\nimport {\n FloatingLabel,\n useFormFieldContext,\n} from '@mirohq/design-system-base-form'\n\nimport type { CalendarDatePickerProps, CalendarRangePickerProps } from './types'\nimport { Trigger } from './partials/trigger'\nimport { Content } from './partials/content'\nimport type { CalendarProviderProps } from './use-calendar-context'\nimport { CalendarProvider, useCalendarContext } from './use-calendar-context'\nimport { Value } from './partials/value'\nimport { ClearButton } from './partials/clear-button'\nimport { SaveButton } from './partials/save-button'\nimport { StyledCalendar } from './calendar.styled'\n\nexport type CalendarProps = (\n | CalendarDatePickerProps\n | CalendarRangePickerProps\n) & {\n /**\n * The locale for Calendar internationalization\n */\n locale?: string\n}\n\ntype CalendarRootProps = PropsWithChildren<{}>\n\nconst Root = React.forwardRef<\n ElementRef<typeof StyledCalendar>,\n CalendarRootProps\n>(({ children, ...restProps }, forwardRef) => {\n const { open, setOpen } = useCalendarContext()\n\n const { label, isFloatingLabel } = useFormFieldContext<HTMLSelectElement>()\n\n return (\n <RadixPopover.Root open={open} onOpenChange={setOpen}>\n <StyledCalendar ref={forwardRef} {...restProps}>\n {label !== null && isFloatingLabel && (\n <FloatingLabel floating size='medium'>\n {label}\n </FloatingLabel>\n )}\n {children}\n </StyledCalendar>\n </RadixPopover.Root>\n )\n})\n\nexport const Calendar = React.forwardRef<\n ElementRef<typeof StyledCalendar>,\n CalendarProps\n>(\n (\n {\n picker,\n defaultValue,\n value,\n onValueChange,\n defaultOpen,\n open,\n onClose,\n onOpen,\n locale,\n visibleMonths,\n minDate,\n maxDate,\n disabled,\n 'aria-disabled': ariaDisabled,\n children,\n ...props\n },\n forwardRef\n ) => {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n const providerProps = {\n picker,\n defaultValue,\n value,\n onValueChange,\n visibleMonths,\n minDate,\n maxDate,\n defaultOpen,\n open,\n onClose,\n onOpen,\n disabled,\n ariaDisabled,\n } as CalendarProviderProps<DateValue> | CalendarProviderProps<DateRange>\n\n return (\n <I18nProvider locale={locale}>\n <CalendarProvider {...(providerProps as any)}>\n <Root {...props} ref={forwardRef}>\n {children}\n </Root>\n </CalendarProvider>\n </I18nProvider>\n )\n }\n) as ForwardRefExoticComponent<CalendarProps> & Partials\n\nexport interface Partials {\n Trigger: typeof Trigger\n Content: typeof Content\n Value: typeof Value\n ClearButton: typeof ClearButton\n SaveButton: typeof SaveButton\n}\n\nCalendar.Trigger = Trigger\nCalendar.Content = Content\nCalendar.Value = Value\nCalendar.ClearButton = ClearButton\nCalendar.SaveButton = SaveButton\n"],"names":["StyledValue","value","RadixTrigger","RadixContent"],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -13,7 +13,7 @@ import * as _mirohq_design_system_components_primitive from '@mirohq/design-syst
13
13
  import { BaseButtonProps } from '@mirohq/design-system-base-button';
14
14
 
15
15
  declare const StyledCalendar: react.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"div">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLDivElement>> & _mirohq_design_system_stitches.StitchesInternals<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"div">>, {}, {}>;
16
- declare type StyledCalendarProps = ComponentPropsWithRef<typeof StyledCalendar>;
16
+ type StyledCalendarProps = ComponentPropsWithRef<typeof StyledCalendar>;
17
17
 
18
18
  interface CalendarBaseProps extends Omit<StyledCalendarProps, 'defaultValue' | 'onChange'> {
19
19
  /**
@@ -99,34 +99,46 @@ interface CalendarRangePickerProps extends CalendarBaseProps {
99
99
  */
100
100
  onValueChange?: (value: DateRange | undefined) => void;
101
101
  }
102
- declare type PointerDownOutsideEvent = CustomEvent<{
102
+ type PointerDownOutsideEvent = CustomEvent<{
103
103
  originalEvent: PointerEvent;
104
104
  }>;
105
- declare type Side = 'top' | 'right' | 'bottom' | 'left';
106
- declare type Align = 'start' | 'center' | 'end';
107
- declare type Sticky = 'partial' | 'always';
105
+ type Side = 'top' | 'right' | 'bottom' | 'left';
106
+ type Align = 'start' | 'center' | 'end';
107
+ type Sticky = 'partial' | 'always';
108
108
 
109
- declare const StyledTrigger: react.ForwardRefExoticComponent<(Omit<Omit<Omit<Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"button">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLButtonElement> & _mirohq_design_system_hooks_use_press.PressProps & packages_components_internal_base_button_src_base_button.HoverEvents, "ref"> & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>, _mirohq_design_system_stitches.ForbiddenProps> & {
110
- children?: react.ReactNode;
109
+ declare const StyledTrigger: react.ForwardRefExoticComponent<(Omit<Omit<Omit<Omit<Omit<Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"button">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLButtonElement>, "ref"> & {
110
+ ref?: ((instance: HTMLButtonElement | null) => void | react.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof react.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | react.RefObject<HTMLButtonElement> | null | undefined;
111
+ } & _mirohq_design_system_hooks_use_press.PressProps & packages_components_internal_base_button_src_base_button.HoverEvents, "ref"> & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>, "ref"> & {
112
+ ref?: ((instance: HTMLAnchorElement | HTMLButtonElement | null) => void | react.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof react.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | react.RefObject<HTMLAnchorElement | HTMLButtonElement> | null | undefined;
113
+ }, _mirohq_design_system_stitches.ForbiddenProps> & {
114
+ children?: react.ReactNode | undefined;
111
115
  }, "v1" | "withClearButton"> & _stitches_react_types_styled_component.TransformProps<{
112
116
  v1?: boolean | "false" | "true" | undefined;
113
117
  withClearButton?: boolean | "true" | undefined;
114
- }, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> | Omit<Omit<Omit<Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"button">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLButtonElement> & _mirohq_design_system_hooks_use_press.PressProps & packages_components_internal_base_button_src_base_button.HoverEvents & react.AnchorHTMLAttributes<"a"> & {
118
+ }, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> | Omit<Omit<Omit<Omit<Omit<Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"button">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLButtonElement>, "ref"> & {
119
+ ref?: ((instance: HTMLButtonElement | null) => void | react.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof react.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | react.RefObject<HTMLButtonElement> | null | undefined;
120
+ } & _mirohq_design_system_hooks_use_press.PressProps & packages_components_internal_base_button_src_base_button.HoverEvents & react.AnchorHTMLAttributes<"a"> & {
115
121
  href: string;
116
- }, "ref"> & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>, _mirohq_design_system_stitches.ForbiddenProps> & {
117
- children?: react.ReactNode;
122
+ }, "ref"> & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>, "ref"> & {
123
+ ref?: ((instance: HTMLAnchorElement | HTMLButtonElement | null) => void | react.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof react.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | react.RefObject<HTMLAnchorElement | HTMLButtonElement> | null | undefined;
124
+ }, _mirohq_design_system_stitches.ForbiddenProps> & {
125
+ children?: react.ReactNode | undefined;
118
126
  }, "v1" | "withClearButton"> & _stitches_react_types_styled_component.TransformProps<{
119
127
  v1?: boolean | "false" | "true" | undefined;
120
128
  withClearButton?: boolean | "true" | undefined;
121
- }, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref">) & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>> & _mirohq_design_system_stitches.StitchesInternals<react.ForwardRefExoticComponent<(Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"button">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLButtonElement> & _mirohq_design_system_hooks_use_press.PressProps & packages_components_internal_base_button_src_base_button.HoverEvents, "ref"> | Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"button">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLButtonElement> & _mirohq_design_system_hooks_use_press.PressProps & packages_components_internal_base_button_src_base_button.HoverEvents & react.AnchorHTMLAttributes<"a"> & {
129
+ }, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref">) & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>> & _mirohq_design_system_stitches.StitchesInternals<react.ForwardRefExoticComponent<(Omit<Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"button">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLButtonElement>, "ref"> & {
130
+ ref?: ((instance: HTMLButtonElement | null) => void | react.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof react.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | react.RefObject<HTMLButtonElement> | null | undefined;
131
+ } & _mirohq_design_system_hooks_use_press.PressProps & packages_components_internal_base_button_src_base_button.HoverEvents, "ref"> | Omit<Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"button">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLButtonElement>, "ref"> & {
132
+ ref?: ((instance: HTMLButtonElement | null) => void | react.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof react.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | react.RefObject<HTMLButtonElement> | null | undefined;
133
+ } & _mirohq_design_system_hooks_use_press.PressProps & packages_components_internal_base_button_src_base_button.HoverEvents & react.AnchorHTMLAttributes<"a"> & {
122
134
  href: string;
123
135
  }, "ref">) & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>, {
124
136
  v1?: boolean | "false" | "true" | undefined;
125
137
  withClearButton?: boolean | "true" | undefined;
126
138
  }, {}>;
127
- declare type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>;
139
+ type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>;
128
140
 
129
- declare type TriggerSharedProps = Omit<StyledTriggerProps, 'v1' | 'withClearButton'> & {
141
+ type TriggerSharedProps = Omit<StyledTriggerProps, 'v1' | 'withClearButton'> & {
130
142
  /**
131
143
  * The content that will be rendered inside the Calendar trigger when there is no value
132
144
  */
@@ -136,8 +148,12 @@ declare type TriggerSharedProps = Omit<StyledTriggerProps, 'v1' | 'withClearButt
136
148
  * @default false
137
149
  */
138
150
  clearable?: boolean;
151
+ /**
152
+ * The content
153
+ */
154
+ children: react__default.ReactNode;
139
155
  };
140
- declare type TriggerProps = TriggerSharedProps & ({
156
+ type TriggerProps = TriggerSharedProps & ({
141
157
  clearable: false;
142
158
  clearLabel?: never;
143
159
  onClear?: never;
@@ -155,31 +171,39 @@ declare const Trigger: react__default.ForwardRefExoticComponent<(Omit<Omit<Style
155
171
  /**
156
172
  * The content that will be rendered inside the Calendar trigger when there is no value
157
173
  */
158
- placeholder?: string | undefined;
174
+ placeholder?: string;
159
175
  /**
160
176
  * Show a button to clear the Calendar value
161
177
  * @default false
162
178
  */
163
- clearable?: boolean | undefined;
179
+ clearable?: boolean;
180
+ /**
181
+ * The content
182
+ */
183
+ children: react__default.ReactNode;
164
184
  } & {
165
185
  clearable: false;
166
- clearLabel?: undefined;
167
- onClear?: undefined;
186
+ clearLabel?: never;
187
+ onClear?: never;
168
188
  }, "ref"> | Omit<Omit<StyledTriggerProps, "v1" | "withClearButton"> & {
169
189
  /**
170
190
  * The content that will be rendered inside the Calendar trigger when there is no value
171
191
  */
172
- placeholder?: string | undefined;
192
+ placeholder?: string;
173
193
  /**
174
194
  * Show a button to clear the Calendar value
175
195
  * @default false
176
196
  */
177
- clearable?: boolean | undefined;
197
+ clearable?: boolean;
198
+ /**
199
+ * The content
200
+ */
201
+ children: react__default.ReactNode;
178
202
  } & {
179
203
  /**
180
204
  * Event handler called when the calendar is cleared
181
205
  */
182
- onClear?: (() => void) | undefined;
206
+ onClear?: () => void;
183
207
  /**
184
208
  * The label text for Trigger's action button when Combobox has values selected. Will be rendered in a Tooltip.
185
209
  */
@@ -187,9 +211,9 @@ declare const Trigger: react__default.ForwardRefExoticComponent<(Omit<Omit<Style
187
211
  }, "ref">) & react__default.RefAttributes<HTMLButtonElement>>;
188
212
 
189
213
  declare const StyledContent: react.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_radix_ui_react_popover.PopoverContentProps & react.RefAttributes<HTMLDivElement>>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLDivElement>> & _mirohq_design_system_stitches.StitchesInternals<react.ForwardRefExoticComponent<_radix_ui_react_popover.PopoverContentProps & react.RefAttributes<HTMLDivElement>>, {}, {}>;
190
- declare type StyledContentProps = ComponentPropsWithRef<typeof StyledContent>;
214
+ type StyledContentProps = ComponentPropsWithRef<typeof StyledContent>;
191
215
 
192
- declare type ContentProps = StyledContentProps & {
216
+ type ContentProps = StyledContentProps & {
193
217
  /**
194
218
  * Calendar's content.
195
219
  */
@@ -266,55 +290,63 @@ declare type ContentProps = StyledContentProps & {
266
290
  declare const Content: react__default.ForwardRefExoticComponent<Omit<ContentProps, "ref"> & react__default.RefAttributes<HTMLDivElement>>;
267
291
 
268
292
  declare const StyledValue: react.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"span">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLSpanElement>> & _mirohq_design_system_stitches.StitchesInternals<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"span">>, {}, {}>;
269
- declare type StyledValueProps = ComponentPropsWithRef<typeof StyledValue>;
293
+ type StyledValueProps = ComponentPropsWithRef<typeof StyledValue>;
270
294
 
271
- declare type FormatOptions = Pick<Intl.DateTimeFormatOptions, 'weekday' | 'era' | 'year' | 'month' | 'day' | 'formatMatcher'>;
272
- declare type ValueProps = StyledValueProps & {
295
+ type FormatOptions = Pick<Intl.DateTimeFormatOptions, 'weekday' | 'era' | 'year' | 'month' | 'day' | 'formatMatcher'>;
296
+ type ValueProps = StyledValueProps & {
273
297
  format?: FormatOptions;
274
298
  };
275
299
  declare const Value: react__default.ForwardRefExoticComponent<Omit<ValueProps, "ref"> & react__default.RefAttributes<HTMLSpanElement>>;
276
300
 
277
- declare type ClearButtonProps = BaseButtonProps & {
301
+ type ClearButtonProps = BaseButtonProps & {
278
302
  /**
279
303
  * Event handler called when the calendar value is cleared
280
304
  */
281
305
  onClear?: () => void;
282
306
  };
283
- declare const ClearButton: react__default.ForwardRefExoticComponent<(Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react__default.ForwardRefExoticComponent<_mirohq_design_system_components_primitive.PrimitiveProps<"button">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react__default.RefAttributes<HTMLButtonElement> & _mirohq_design_system_hooks_use_press.PressProps & packages_components_internal_base_button_src_base_button.HoverEvents & {
307
+ declare const ClearButton: react__default.ForwardRefExoticComponent<(Omit<Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react__default.ForwardRefExoticComponent<_mirohq_design_system_components_primitive.PrimitiveProps<"button">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react__default.RefAttributes<HTMLButtonElement>, "ref"> & {
308
+ ref?: ((instance: HTMLButtonElement | null) => void | react__default.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof react__default.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | react__default.RefObject<HTMLButtonElement> | null | undefined;
309
+ } & _mirohq_design_system_hooks_use_press.PressProps & packages_components_internal_base_button_src_base_button.HoverEvents & {
284
310
  /**
285
311
  * Event handler called when the calendar value is cleared
286
312
  */
287
- onClear?: (() => void) | undefined;
288
- }, "ref"> | Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react__default.ForwardRefExoticComponent<_mirohq_design_system_components_primitive.PrimitiveProps<"button">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react__default.RefAttributes<HTMLButtonElement> & _mirohq_design_system_hooks_use_press.PressProps & packages_components_internal_base_button_src_base_button.HoverEvents & react__default.AnchorHTMLAttributes<"a"> & {
313
+ onClear?: () => void;
314
+ }, "ref"> | Omit<Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react__default.ForwardRefExoticComponent<_mirohq_design_system_components_primitive.PrimitiveProps<"button">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react__default.RefAttributes<HTMLButtonElement>, "ref"> & {
315
+ ref?: ((instance: HTMLButtonElement | null) => void | react__default.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof react__default.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | react__default.RefObject<HTMLButtonElement> | null | undefined;
316
+ } & _mirohq_design_system_hooks_use_press.PressProps & packages_components_internal_base_button_src_base_button.HoverEvents & react__default.AnchorHTMLAttributes<"a"> & {
289
317
  href: string;
290
318
  } & {
291
319
  /**
292
320
  * Event handler called when the calendar value is cleared
293
321
  */
294
- onClear?: (() => void) | undefined;
322
+ onClear?: () => void;
295
323
  }, "ref">) & react__default.RefAttributes<HTMLButtonElement>>;
296
324
 
297
- declare type SaveButtonProps = BaseButtonProps & {
325
+ type SaveButtonProps = BaseButtonProps & {
298
326
  /**
299
327
  * Event handler called when the calendar value is saved
300
328
  */
301
329
  onSave?: () => void;
302
330
  };
303
- declare const SaveButton: react__default.ForwardRefExoticComponent<(Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react__default.ForwardRefExoticComponent<_mirohq_design_system_components_primitive.PrimitiveProps<"button">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react__default.RefAttributes<HTMLButtonElement> & _mirohq_design_system_hooks_use_press.PressProps & packages_components_internal_base_button_src_base_button.HoverEvents & {
331
+ declare const SaveButton: react__default.ForwardRefExoticComponent<(Omit<Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react__default.ForwardRefExoticComponent<_mirohq_design_system_components_primitive.PrimitiveProps<"button">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react__default.RefAttributes<HTMLButtonElement>, "ref"> & {
332
+ ref?: ((instance: HTMLButtonElement | null) => void | react__default.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof react__default.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | react__default.RefObject<HTMLButtonElement> | null | undefined;
333
+ } & _mirohq_design_system_hooks_use_press.PressProps & packages_components_internal_base_button_src_base_button.HoverEvents & {
304
334
  /**
305
335
  * Event handler called when the calendar value is saved
306
336
  */
307
- onSave?: (() => void) | undefined;
308
- }, "ref"> | Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react__default.ForwardRefExoticComponent<_mirohq_design_system_components_primitive.PrimitiveProps<"button">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react__default.RefAttributes<HTMLButtonElement> & _mirohq_design_system_hooks_use_press.PressProps & packages_components_internal_base_button_src_base_button.HoverEvents & react__default.AnchorHTMLAttributes<"a"> & {
337
+ onSave?: () => void;
338
+ }, "ref"> | Omit<Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react__default.ForwardRefExoticComponent<_mirohq_design_system_components_primitive.PrimitiveProps<"button">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react__default.RefAttributes<HTMLButtonElement>, "ref"> & {
339
+ ref?: ((instance: HTMLButtonElement | null) => void | react__default.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof react__default.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | react__default.RefObject<HTMLButtonElement> | null | undefined;
340
+ } & _mirohq_design_system_hooks_use_press.PressProps & packages_components_internal_base_button_src_base_button.HoverEvents & react__default.AnchorHTMLAttributes<"a"> & {
309
341
  href: string;
310
342
  } & {
311
343
  /**
312
344
  * Event handler called when the calendar value is saved
313
345
  */
314
- onSave?: (() => void) | undefined;
346
+ onSave?: () => void;
315
347
  }, "ref">) & react__default.RefAttributes<HTMLButtonElement>>;
316
348
 
317
- declare type CalendarProps = (CalendarDatePickerProps | CalendarRangePickerProps) & {
349
+ type CalendarProps = (CalendarDatePickerProps | CalendarRangePickerProps) & {
318
350
  /**
319
351
  * The locale for Calendar internationalization
320
352
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirohq/design-system-calendar",
3
- "version": "1.2.0-new-focus-keyboard.1",
3
+ "version": "1.2.0",
4
4
  "description": "",
5
5
  "author": "Miro",
6
6
  "source": "src/index.ts",
@@ -34,20 +34,20 @@
34
34
  "@react-types/shared": "^3.18.1",
35
35
  "react-aria": "^3.25.0",
36
36
  "react-stately": "^3.23.0",
37
- "@mirohq/design-system-base-button": "^0.4.69-new-focus-keyboard.1",
38
- "@mirohq/design-system-base-text-field": "^0.3.0-new-focus-keyboard.1",
39
- "@mirohq/design-system-button": "^4.3.0-new-focus-keyboard.1",
40
- "@mirohq/design-system-flex": "^2.1.67-new-focus-keyboard.1",
41
- "@mirohq/design-system-base-form": "^0.3.5-new-focus-keyboard.1",
37
+ "@mirohq/design-system-base-button": "^0.5.0",
38
+ "@mirohq/design-system-base-text-field": "^0.2.3",
39
+ "@mirohq/design-system-base-form": "^0.3.4",
40
+ "@mirohq/design-system-flex": "^2.1.66",
42
41
  "@mirohq/design-system-experiments": "^0.2.0",
43
- "@mirohq/design-system-icon-button": "^3.3.0-new-focus-keyboard.1",
44
- "@mirohq/design-system-icons": "^0.62.2-new-focus-keyboard.1",
42
+ "@mirohq/design-system-button": "^4.2.7",
43
+ "@mirohq/design-system-icon-button": "^3.2.8",
44
+ "@mirohq/design-system-icons": "^0.64.0",
45
+ "@mirohq/design-system-stitches": "^2.6.30",
45
46
  "@mirohq/design-system-primitive": "^1.1.2",
46
- "@mirohq/design-system-stitches": "^2.6.31-new-focus-keyboard.1",
47
- "@mirohq/design-system-tooltip": "^3.5.10-new-focus-keyboard.1",
47
+ "@mirohq/design-system-tooltip": "^3.5.10",
48
+ "@mirohq/design-system-styles": "^1.2.30",
48
49
  "@mirohq/design-system-types": "^0.10.0",
49
- "@mirohq/design-system-typography": "^0.6.9-new-focus-keyboard.1",
50
- "@mirohq/design-system-styles": "^1.2.31-new-focus-keyboard.1",
50
+ "@mirohq/design-system-typography": "^0.6.8",
51
51
  "@mirohq/design-system-utils": "^0.15.5"
52
52
  },
53
53
  "scripts": {