@mirohq/design-system-calendar 1.2.0-new-focus-keyboard.1 → 1.2.1
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 +8 -7
- package/dist/main.js.map +1 -1
- package/dist/module.js +8 -7
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +69 -37
- package/package.json +12 -12
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-
|
|
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
|
-
|
|
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-
|
|
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
|
-
|
|
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();
|
package/dist/module.js.map
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
102
|
+
type PointerDownOutsideEvent = CustomEvent<{
|
|
103
103
|
originalEvent: PointerEvent;
|
|
104
104
|
}>;
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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
|
|
110
|
-
|
|
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
|
|
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>,
|
|
117
|
-
|
|
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<
|
|
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
|
-
|
|
139
|
+
type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>;
|
|
128
140
|
|
|
129
|
-
|
|
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
|
-
|
|
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
|
|
174
|
+
placeholder?: string;
|
|
159
175
|
/**
|
|
160
176
|
* Show a button to clear the Calendar value
|
|
161
177
|
* @default false
|
|
162
178
|
*/
|
|
163
|
-
clearable?: boolean
|
|
179
|
+
clearable?: boolean;
|
|
180
|
+
/**
|
|
181
|
+
* The content
|
|
182
|
+
*/
|
|
183
|
+
children: react__default.ReactNode;
|
|
164
184
|
} & {
|
|
165
185
|
clearable: false;
|
|
166
|
-
clearLabel?:
|
|
167
|
-
onClear?:
|
|
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
|
|
192
|
+
placeholder?: string;
|
|
173
193
|
/**
|
|
174
194
|
* Show a button to clear the Calendar value
|
|
175
195
|
* @default false
|
|
176
196
|
*/
|
|
177
|
-
clearable?: boolean
|
|
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?: (
|
|
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
|
-
|
|
214
|
+
type StyledContentProps = ComponentPropsWithRef<typeof StyledContent>;
|
|
191
215
|
|
|
192
|
-
|
|
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
|
-
|
|
293
|
+
type StyledValueProps = ComponentPropsWithRef<typeof StyledValue>;
|
|
270
294
|
|
|
271
|
-
|
|
272
|
-
|
|
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
|
-
|
|
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> &
|
|
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?: (
|
|
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
|
|
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?: (
|
|
322
|
+
onClear?: () => void;
|
|
295
323
|
}, "ref">) & react__default.RefAttributes<HTMLButtonElement>>;
|
|
296
324
|
|
|
297
|
-
|
|
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> &
|
|
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?: (
|
|
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
|
|
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?: (
|
|
346
|
+
onSave?: () => void;
|
|
315
347
|
}, "ref">) & react__default.RefAttributes<HTMLButtonElement>>;
|
|
316
348
|
|
|
317
|
-
|
|
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.
|
|
3
|
+
"version": "1.2.1",
|
|
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.
|
|
38
|
-
"@mirohq/design-system-base-
|
|
39
|
-
"@mirohq/design-system-
|
|
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-form": "^0.3.4",
|
|
39
|
+
"@mirohq/design-system-base-text-field": "^0.2.3",
|
|
42
40
|
"@mirohq/design-system-experiments": "^0.2.0",
|
|
43
|
-
"@mirohq/design-system-
|
|
44
|
-
"@mirohq/design-system-
|
|
41
|
+
"@mirohq/design-system-flex": "^2.1.66",
|
|
42
|
+
"@mirohq/design-system-button": "^4.2.7",
|
|
43
|
+
"@mirohq/design-system-icon-button": "^3.2.8",
|
|
44
|
+
"@mirohq/design-system-icons": "^0.65.0",
|
|
45
45
|
"@mirohq/design-system-primitive": "^1.1.2",
|
|
46
|
-
"@mirohq/design-system-stitches": "^2.6.
|
|
47
|
-
"@mirohq/design-system-
|
|
46
|
+
"@mirohq/design-system-stitches": "^2.6.30",
|
|
47
|
+
"@mirohq/design-system-styles": "^1.2.30",
|
|
48
|
+
"@mirohq/design-system-tooltip": "^3.5.10",
|
|
48
49
|
"@mirohq/design-system-types": "^0.10.0",
|
|
49
|
-
"@mirohq/design-system-typography": "^0.6.
|
|
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": {
|