@mirohq/design-system-calendar 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +24 -23
- package/dist/main.js.map +1 -1
- package/dist/module.js +25 -24
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +8 -8
- package/package.json +5 -5
package/dist/main.js
CHANGED
|
@@ -50,7 +50,7 @@ const StyledDataSegment = designSystemStitches.styled(designSystemPrimitive.Prim
|
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
52
|
|
|
53
|
-
const FieldDateSegment =
|
|
53
|
+
const FieldDateSegment = ({ segment, state }) => {
|
|
54
54
|
const ref = React.useRef(null);
|
|
55
55
|
const { segmentProps } = reactAria.useDateSegment(segment, state, ref);
|
|
56
56
|
return /* @__PURE__ */ React__default["default"].createElement(StyledDataSegment, {
|
|
@@ -61,8 +61,8 @@ const FieldDateSegment = React__default["default"].forwardRef(({ segment, state
|
|
|
61
61
|
"aria-hidden": "true",
|
|
62
62
|
"data-placeholder": !segment.isPlaceholder ? "" : void 0
|
|
63
63
|
}, segment.placeholder), segment.isPlaceholder ? "" : segment.text);
|
|
64
|
-
}
|
|
65
|
-
const TextField = (props) => {
|
|
64
|
+
};
|
|
65
|
+
const TextField = React__default["default"].forwardRef((props, forwardRef) => {
|
|
66
66
|
const ref = React.useRef(null);
|
|
67
67
|
const { locale } = reactAria.useLocale();
|
|
68
68
|
const state = reactStately.useDateFieldState({
|
|
@@ -74,17 +74,17 @@ const TextField = (props) => {
|
|
|
74
74
|
const { fieldProps } = reactAria.useDateField(props, state, ref);
|
|
75
75
|
return /* @__PURE__ */ React__default["default"].createElement(designSystemFlex.Flex, {
|
|
76
76
|
...fieldProps,
|
|
77
|
-
ref
|
|
77
|
+
ref: forwardRef
|
|
78
78
|
}, state.segments.map((segment, i) => /* @__PURE__ */ React__default["default"].createElement(FieldDateSegment, {
|
|
79
79
|
key: i,
|
|
80
80
|
segment,
|
|
81
81
|
state
|
|
82
82
|
})));
|
|
83
|
-
};
|
|
83
|
+
});
|
|
84
84
|
|
|
85
85
|
const StyledButton = designSystemStitches.styled(designSystemPrimitive.Primitive.button, {
|
|
86
86
|
padding: "0",
|
|
87
|
-
|
|
87
|
+
backgroundColor: "$transparent",
|
|
88
88
|
border: "none",
|
|
89
89
|
cursor: "pointer",
|
|
90
90
|
color: "$text-neutrals",
|
|
@@ -94,7 +94,7 @@ const StyledButton = designSystemStitches.styled(designSystemPrimitive.Primitive
|
|
|
94
94
|
});
|
|
95
95
|
const StyledFieldButton = designSystemStitches.styled(designSystemPrimitive.Primitive.button, {
|
|
96
96
|
padding: "0",
|
|
97
|
-
|
|
97
|
+
backgroundColor: "$transparent",
|
|
98
98
|
border: "none",
|
|
99
99
|
cursor: "pointer",
|
|
100
100
|
square: "28px",
|
|
@@ -120,16 +120,15 @@ const Button = React__default["default"].forwardRef((props, forwardRef) => {
|
|
|
120
120
|
ref: forwardRef
|
|
121
121
|
}, children);
|
|
122
122
|
});
|
|
123
|
-
const FieldButton = (props) => {
|
|
124
|
-
const
|
|
125
|
-
const { buttonProps } = reactAria.useButton(props, ref);
|
|
123
|
+
const FieldButton = React__default["default"].forwardRef((props, forwardRef) => {
|
|
124
|
+
const { buttonProps } = reactAria.useButton(props, forwardRef);
|
|
126
125
|
const { customButton = false, children } = props;
|
|
127
126
|
return /* @__PURE__ */ React__default["default"].createElement(StyledFieldButton, {
|
|
128
127
|
"data-custom": customButton ? "" : void 0,
|
|
129
128
|
...buttonProps,
|
|
130
|
-
ref
|
|
129
|
+
ref: forwardRef
|
|
131
130
|
}, children);
|
|
132
|
-
};
|
|
131
|
+
});
|
|
133
132
|
|
|
134
133
|
const Popover = (props) => {
|
|
135
134
|
const ref = React__namespace.useRef(null);
|
|
@@ -189,7 +188,7 @@ const StyledPredefinedRanges = designSystemStitches.styled(designSystemPrimitive
|
|
|
189
188
|
borderRight: "1px solid $border-neutrals",
|
|
190
189
|
padding: "$300 $200 0 $200",
|
|
191
190
|
"& button": {
|
|
192
|
-
|
|
191
|
+
backgroundColor: "$transparent",
|
|
193
192
|
border: "none",
|
|
194
193
|
fontSize: "$200",
|
|
195
194
|
padding: "0 0 0 $100",
|
|
@@ -341,9 +340,9 @@ const StyledCell = designSystemStitches.styled(designSystemPrimitive.Primitive.d
|
|
|
341
340
|
"&[data-disabled]": {
|
|
342
341
|
cursor: "not-allowed",
|
|
343
342
|
"&:hover": {
|
|
344
|
-
|
|
343
|
+
backgroundColor: "$transparent",
|
|
345
344
|
[`& ${StyledCellContent}`]: {
|
|
346
|
-
|
|
345
|
+
backgroundColor: "$transparent",
|
|
347
346
|
color: "$text-neutrals-disabled"
|
|
348
347
|
}
|
|
349
348
|
}
|
|
@@ -432,7 +431,7 @@ const RangePicker = React__default["default"].forwardRef((props, forwardRef) =>
|
|
|
432
431
|
minDate,
|
|
433
432
|
maxDate,
|
|
434
433
|
visibleMonths,
|
|
435
|
-
|
|
434
|
+
clearButtonText,
|
|
436
435
|
children,
|
|
437
436
|
defaultOpen,
|
|
438
437
|
onClear
|
|
@@ -535,7 +534,7 @@ const RangePicker = React__default["default"].forwardRef((props, forwardRef) =>
|
|
|
535
534
|
type: "button",
|
|
536
535
|
onClick: clear,
|
|
537
536
|
disabled: rangeState.value === null
|
|
538
|
-
},
|
|
537
|
+
}, clearButtonText)))))));
|
|
539
538
|
});
|
|
540
539
|
|
|
541
540
|
const StyledRangePickerInput = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
|
|
@@ -571,7 +570,7 @@ const DatePickerBody = React__default["default"].forwardRef((props, forwardRef)
|
|
|
571
570
|
onClear,
|
|
572
571
|
minDate,
|
|
573
572
|
maxDate,
|
|
574
|
-
|
|
573
|
+
clearButtonText
|
|
575
574
|
} = props;
|
|
576
575
|
const { locale } = reactAria.useLocale();
|
|
577
576
|
const state = reactStately.useCalendarState({
|
|
@@ -616,7 +615,7 @@ const DatePickerBody = React__default["default"].forwardRef((props, forwardRef)
|
|
|
616
615
|
size: "medium",
|
|
617
616
|
onClick: onClear,
|
|
618
617
|
disabled: state.value === null
|
|
619
|
-
},
|
|
618
|
+
}, clearButtonText)))));
|
|
620
619
|
});
|
|
621
620
|
|
|
622
621
|
const DatePicker = React__default["default"].forwardRef((props, forwardRef) => {
|
|
@@ -628,7 +627,7 @@ const DatePicker = React__default["default"].forwardRef((props, forwardRef) => {
|
|
|
628
627
|
minDate,
|
|
629
628
|
maxDate,
|
|
630
629
|
children,
|
|
631
|
-
|
|
630
|
+
clearButtonText,
|
|
632
631
|
defaultOpen,
|
|
633
632
|
onClear
|
|
634
633
|
} = props;
|
|
@@ -671,19 +670,21 @@ const DatePicker = React__default["default"].forwardRef((props, forwardRef) => {
|
|
|
671
670
|
defaultValue,
|
|
672
671
|
predefinedRanges,
|
|
673
672
|
visibleMonths,
|
|
674
|
-
onClear: clearState,
|
|
673
|
+
onClear: onClear !== void 0 ? clearState : void 0,
|
|
675
674
|
minDate,
|
|
676
675
|
maxDate,
|
|
677
|
-
|
|
676
|
+
clearButtonText: onClear !== void 0 ? clearButtonText : void 0,
|
|
677
|
+
ref: forwardRef
|
|
678
678
|
}))) : /* @__PURE__ */ React__default["default"].createElement(DatePickerBody, {
|
|
679
679
|
...calendarProps,
|
|
680
|
+
ref: forwardRef,
|
|
680
681
|
defaultValue,
|
|
681
682
|
predefinedRanges,
|
|
682
683
|
visibleMonths,
|
|
683
684
|
onClear: onClear !== void 0 ? clearState : void 0,
|
|
684
685
|
minDate,
|
|
685
686
|
maxDate,
|
|
686
|
-
|
|
687
|
+
clearButtonText: onClear !== void 0 ? clearButtonText : void 0
|
|
687
688
|
}));
|
|
688
689
|
});
|
|
689
690
|
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sources":["../src/partials/text-field.styled.tsx","../src/partials/text-field.tsx","../src/partials/button.styled.tsx","../src/partials/button.tsx","../src/partials/popover.tsx","../src/partials/range-picker.styled.tsx","../src/partials/predefined-ranges.styled.tsx","../src/partials/predefined-ranges.tsx","../src/partials/body.styled.tsx","../src/partials/header.styled.tsx","../src/partials/header.tsx","../src/partials/cell.styled.tsx","../src/partials/cell.tsx","../src/partials/grid.styled.tsx","../src/partials/grid.tsx","../src/partials/range-picker.tsx","../src/partials/date-picker.styled.tsx","../src/partials/date-picker-body.tsx","../src/partials/date-picker.tsx","../src/calendar.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledDataSegment = styled(Primitive.div, {\n color: '$text-neutrals-subtle',\n\n '&[data-value]': {\n color: '$text-neutrals',\n },\n\n '& span': {\n pointerEvents: 'none',\n\n '&[data-placeholder]': {\n display: 'none',\n height: '0',\n color: '$text-neutrals-subtle',\n },\n },\n})\nexport type StyledDateSegmentProps = ComponentPropsWithRef<\n typeof StyledDataSegment\n>\n","import React, { useRef } from 'react'\nimport type { ElementRef } from 'react'\nimport type { DateFieldState, DateSegment } from 'react-stately'\nimport { useDateFieldState } from 'react-stately'\nimport type { AriaDatePickerProps, DateValue } from 'react-aria'\nimport { useDateField, useDateSegment, useLocale } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport type { StyledDateSegmentProps } from './text-field.styled'\nimport { StyledDataSegment } from './text-field.styled'\n\nexport interface DataSegmentProps extends StyledDateSegmentProps {\n segment: DateSegment\n state: DateFieldState\n}\n\nconst FieldDateSegment = React.forwardRef<\n ElementRef<typeof StyledDataSegment>,\n DataSegmentProps\n>(({ segment, state }) => {\n const ref = useRef(null)\n const { segmentProps } = useDateSegment(segment, state, ref)\n\n return (\n <StyledDataSegment\n {...segmentProps}\n ref={ref}\n data-value={state.value !== null ? '' : undefined}\n >\n {/* Always reserve space for the placeholder, to prevent layout shift when editing. */}\n <span\n aria-hidden='true'\n data-placeholder={!segment.isPlaceholder ? '' : undefined}\n >\n {segment.placeholder}\n </span>\n {segment.isPlaceholder ? '' : segment.text}\n </StyledDataSegment>\n )\n})\n\nexport const TextField: React.FC<AriaDatePickerProps<DateValue>> = props => {\n const ref = useRef(null)\n const { locale } = useLocale()\n const state = useDateFieldState({\n ...props,\n isReadOnly: true,\n locale,\n createCalendar,\n })\n\n const { fieldProps } = useDateField(props, state, ref)\n\n return (\n <Flex {...fieldProps} ref={ref}>\n {state.segments.map((segment, i) => (\n <FieldDateSegment key={i} segment={segment} state={state} />\n ))}\n </Flex>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledButton = styled(Primitive.button, {\n padding: '0',\n background: 'transparent',\n border: 'none',\n cursor: 'pointer',\n color: '$text-neutrals',\n\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n})\n\nexport type StyledButtonProps = ComponentPropsWithRef<typeof StyledButton>\n\nexport const StyledFieldButton = styled(Primitive.button, {\n padding: '0',\n background: 'transparent',\n border: 'none',\n cursor: 'pointer',\n square: '28px',\n\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n\n '& svg': {\n color: '$text-neutrals-subtle',\n square: '22px',\n },\n\n '&[data-custom]': {\n width: '100%',\n height: 'unset',\n },\n})\n","import type { ElementRef, RefObject } from 'react'\nimport React, { useRef } from 'react'\nimport type { AriaButtonProps } from 'react-aria'\nimport { useButton, useFocusRing, mergeProps } from 'react-aria'\n\nimport { StyledButton, StyledFieldButton } from './button.styled'\n\ninterface ButtonProps extends AriaButtonProps<'button'> {\n customButton?: boolean\n}\n\nexport const Button = React.forwardRef<\n ElementRef<typeof StyledButton>,\n AriaButtonProps<'button'>\n>((props, forwardRef) => {\n const { buttonProps } = useButton(props, forwardRef as RefObject<Element>)\n const { focusProps } = useFocusRing()\n const { children } = props\n return (\n <StyledButton {...mergeProps(buttonProps, focusProps)} ref={forwardRef}>\n {children}\n </StyledButton>\n )\n})\n\nexport const FieldButton: React.FC<ButtonProps> = props => {\n const ref = useRef(null)\n const { buttonProps } = useButton(props, ref)\n const { customButton = false, children } = props\n return (\n <StyledFieldButton\n data-custom={customButton ? '' : undefined}\n {...buttonProps}\n ref={ref}\n >\n {children}\n </StyledFieldButton>\n )\n}\n","/* eslint-disable react/jsx-handler-names */\nimport * as React from 'react'\nimport type { Placement, AriaDialogProps } from 'react-aria'\nimport { usePopover, DismissButton, Overlay, useDialog } from 'react-aria'\nimport type { DatePickerState, DateRangePickerState } from 'react-stately'\n\nexport const Popover: React.FC<{\n state: DateRangePickerState | DatePickerState\n triggerRef: React.RefObject<Element>\n placement: Placement\n children: JSX.Element\n}> = props => {\n const ref = React.useRef(null)\n const { state, children } = props\n const { dialogProps } = useDialog(props as AriaDialogProps, ref)\n\n const { popoverProps, underlayProps } = usePopover(\n {\n ...props,\n popoverRef: ref,\n },\n state\n )\n\n return (\n <Overlay>\n <div {...underlayProps} />\n <div {...popoverProps} ref={ref}>\n <DismissButton onDismiss={state.close} />\n <div {...dialogProps} ref={ref}>\n {children}\n </div>\n <DismissButton onDismiss={state.close} />\n </div>\n </Overlay>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledRangePicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport const StyledRangePickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n padding: '$100',\n paddingLeft: '$150',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledRangePickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n})\n\nexport type StyledRangePickerProps = ComponentPropsWithRef<\n typeof StyledRangePicker\n>\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledPredefinedRanges = styled(Primitive.div, {\n display: 'flex',\n flexDirection: 'column',\n borderRight: '1px solid $border-neutrals',\n padding: '$300 $200 0 $200',\n\n '& button': {\n background: 'transparent',\n border: 'none',\n fontSize: '$200',\n padding: '0 0 0 $100',\n textAlign: 'left',\n lineHeight: '24px',\n color: '$text-neutrals',\n marginBottom: '$150',\n borderRadius: '$50',\n minWidth: '125px',\n cursor: 'pointer',\n\n '&:hover': {\n backgroundColor: '$background-primary-prominent-hover',\n color: '$text-primary-inverted',\n fontWeight: '600',\n },\n },\n})\n\nexport type StyledPredefinedRangesProps = ComponentPropsWithRef<\n typeof StyledPredefinedRanges\n>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate } from '@internationalized/date'\nimport type { DateRange } from 'react-aria'\nimport { Button } from '@mirohq/design-system-button'\n\nimport { StyledPredefinedRanges } from './predefined-ranges.styled'\n\nexport interface PredefinedRange {\n id: string\n label: string\n date?: CalendarDate\n range?: DateRange\n}\n\nexport interface PredefinedRangesProps {\n range: PredefinedRange[]\n onClick: (range: PredefinedRange) => void\n}\n\nexport const PredefinedRanges = React.forwardRef<\n ElementRef<typeof StyledPredefinedRanges>,\n PredefinedRangesProps\n>(({ range, onClick }, forwardRef) => (\n <StyledPredefinedRanges ref={forwardRef}>\n {range?.map((date, i) => (\n <Button\n variant='ghost-prominent'\n size='medium'\n key={i}\n type='button'\n onClick={() => onClick(date)}\n >\n {date.label}\n </Button>\n ))}\n </StyledPredefinedRanges>\n))\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\n\nexport const StyledBody = styled(Primitive.div, {\n display: 'inline-block',\n background: '$background-neutrals',\n})\n\nexport const StyledBodyContent = styled(Flex, {\n margin: '0 auto',\n boxShadow: '$100',\n background: '$background-neutrals',\n borderRadius: '$100',\n})\n\nexport const StyledGridContent = styled(Flex, {\n paddingBottom: '$200',\n\n '& [data-left-calendar]': {\n paddingLeft: '$200',\n paddingRight: '$100',\n },\n\n '& [data-right-calendar]': {\n paddingLeft: '$100',\n paddingRight: '$200',\n },\n})\n\nexport const StyledBodyContentLeft = styled(Primitive.div, {\n paddingLeft: '$200',\n paddingRight: '$100',\n})\n\nexport const StyledBodyContentRight = styled(Primitive.div, {\n paddingLeft: '$100',\n paddingRight: '$200',\n})\n\nexport const StyledClearContent = styled(Primitive.div, {\n padding: '$200',\n borderTop: '1px solid $border-neutrals',\n})\n\nexport type StyledBodyProps = ComponentPropsWithRef<typeof StyledBody>\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\n\nexport const StyledHeaderTitle = styled(Flex, {\n justifyContent: 'center',\n flex: '3',\n color: '$text-neutrals',\n})\n\nexport const StyledHeader = styled(Flex, {\n padding: '0 $200',\n color: '$text-neutrals',\n})\n","import React from 'react'\nimport { useDateFormatter } from 'react-aria'\nimport type { AriaButtonProps } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\nimport { IconChevronLeft, IconChevronRight } from '@mirohq/design-system-icons'\nimport type { DateDuration } from '@internationalized/date'\n\nimport { Button } from './button'\nimport { StyledHeader, StyledHeaderTitle } from './header.styled'\n\ninterface IHeader {\n state: RangeCalendarState | CalendarState\n prevButtonProps: AriaButtonProps<'button'>\n nextButtonProps: AriaButtonProps<'button'>\n visibleMonths?: DateDuration\n}\n\nexport const Header: React.FC<IHeader> = ({\n state,\n prevButtonProps,\n nextButtonProps,\n visibleMonths,\n}) => {\n const monthDateFormatter = useDateFormatter({\n month: 'long',\n year: 'numeric',\n timeZone: state.timeZone,\n })\n\n return (\n <StyledHeader>\n <Button {...prevButtonProps}>\n <IconChevronLeft />\n </Button>\n <StyledHeaderTitle>\n <h2>\n {monthDateFormatter.format(\n state.visibleRange.start.toDate(state.timeZone)\n )}\n </h2>\n </StyledHeaderTitle>\n {visibleMonths !== undefined && (\n <StyledHeaderTitle>\n <h2>\n {monthDateFormatter.format(\n state.visibleRange.start.add({ months: 1 }).toDate(state.timeZone)\n )}\n </h2>\n </StyledHeaderTitle>\n )}\n <Button {...nextButtonProps}>\n <IconChevronRight />\n </Button>\n </StyledHeader>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledCellContent = styled(Primitive.div, {\n square: '28px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '$50',\n color: '$text-neutrals',\n\n '&[data-today]': {\n color: '$text-primary',\n },\n\n '&[data-weekend]': {\n color: '$text-neutrals-subtle',\n },\n\n '&[data-selected-middle]': {\n color: '$text-neutrals',\n },\n\n '&[data-selection]': {\n borderRadius: '$50',\n background: '$background-primary-prominent-selected',\n color: '$text-primary-inverted',\n fontWeight: '600',\n },\n\n '&[data-disabled]': {\n textDecoration: 'line-through',\n color: '$text-neutrals-disabled',\n },\n})\n\nexport const StyledCell = styled(Primitive.div, {\n square: '36px',\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n\n '&:hover': {\n background: '$background-primary-subtle-hover',\n\n [`& ${StyledCellContent}`]: {\n background: '$background-primary-prominent-hover',\n color: '$text-primary-inverted',\n },\n },\n\n '&[data-selected]': {\n background: '$background-primary-subtle-hover',\n },\n\n '&[data-selection-start]': {\n borderBottomLeftRadius: '$lg',\n borderTopLeftRadius: '$lg',\n },\n\n '&[data-selection-end]': {\n borderBottomRightRadius: '$lg',\n borderTopRightRadius: '$lg',\n },\n\n '&[data-hidden]': {\n display: 'none',\n },\n\n '&[data-disabled]': {\n cursor: 'not-allowed',\n\n '&:hover': {\n background: 'transparent',\n\n [`& ${StyledCellContent}`]: {\n background: 'transparent',\n color: '$text-neutrals-disabled',\n },\n },\n },\n})\n\nexport type StyledCellProps = ComponentPropsWithRef<typeof StyledCell>\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport {\n useCalendarCell,\n useLocale,\n useFocusRing,\n mergeProps,\n} from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport {\n isSameDay,\n getDayOfWeek,\n isSameMonth,\n isToday,\n getLocalTimeZone,\n isWeekend,\n} from '@internationalized/date'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport type { StyledCellProps } from './cell.styled'\nimport { StyledCell, StyledCellContent } from './cell.styled'\n\nexport interface CellProps extends StyledCellProps {\n state: RangeCalendarState | CalendarState\n date: CalendarDate\n currentMonth: CalendarDate\n}\n\nexport const Cell = React.forwardRef<ElementRef<typeof StyledCell>, CellProps>(\n (props, forwardRef) => {\n const { state, date, currentMonth } = props\n const ref = useRef(null)\n const { cellProps, buttonProps, isSelected, isDisabled, formattedDate } =\n useCalendarCell({ date }, state, ref)\n\n const isOutsideMonth = !isSameMonth(currentMonth, date)\n\n // The start and end date of the selected range will have\n // an emphasized appearance.\n const isSelectionStart =\n (state as RangeCalendarState).highlightedRange !== undefined &&\n (state as RangeCalendarState).highlightedRange !== null\n ? isSameDay(date, (state as RangeCalendarState).highlightedRange.start)\n : isSelected\n const isSelectionEnd =\n (state as RangeCalendarState).highlightedRange !== undefined &&\n (state as RangeCalendarState).highlightedRange !== null\n ? isSameDay(date, (state as RangeCalendarState).highlightedRange.end)\n : isSelected\n\n // We add rounded corners on the left for the first day of the month,\n // the first day of each week, and the start date of the selection.\n // We add rounded corners on the right for the last day of the month,\n // the last day of each week, and the end date of the selection.\n const { locale } = useLocale()\n const dayOfWeek = getDayOfWeek(date, locale)\n const isWeekendDay = isWeekend(date, locale)\n const isRoundedLeft =\n isSelected && (isSelectionStart || dayOfWeek === 0 || date.day === 1)\n const isRoundedRight =\n isSelected &&\n (isSelectionEnd ||\n dayOfWeek === 6 ||\n date.day === date.calendar.getDaysInMonth(date))\n\n const { focusProps } = useFocusRing()\n\n return (\n <td {...cellProps}>\n <StyledCell\n {...mergeProps(buttonProps, focusProps)}\n ref={forwardRef}\n data-selected={isSelected ? '' : undefined}\n data-selection-start={isRoundedLeft ? '' : undefined}\n data-selection-end={isRoundedRight ? '' : undefined}\n data-disabled={isDisabled ? '' : undefined}\n data-hidden={isOutsideMonth ? '' : undefined}\n >\n <StyledCellContent\n data-selected-middle={\n isSelected && !(isSelectionStart || isSelectionEnd)\n ? ''\n : undefined\n }\n data-selection={isSelectionStart || isSelectionEnd ? '' : undefined}\n data-disabled={isDisabled ? '' : undefined}\n data-today={isToday(date, getLocalTimeZone()) ? '' : undefined}\n data-weekend={isWeekendDay ? '' : undefined}\n >\n {formattedDate}\n </StyledCellContent>\n </StyledCell>\n </td>\n )\n }\n)\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledGrid = styled(Primitive.table, {\n borderCollapse: 'separate',\n borderSpacing: ' 0 $50',\n})\n\nexport const StyledDays = styled(Primitive.th, {\n square: '36px',\n color: '$text-neutrals',\n})\n\nexport type StyledGridProps = ComponentPropsWithRef<typeof StyledGrid>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { getWeeksInMonth } from '@internationalized/date'\nimport type { AriaCalendarGridProps, DateRange } from 'react-aria'\nimport { useLocale, useCalendarGrid } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport { Cell } from './cell'\nimport type { StyledGridProps } from './grid.styled'\nimport { StyledDays, StyledGrid } from './grid.styled'\n\nexport interface GridProps extends Omit<StyledGridProps, 'onChange'> {\n state: RangeCalendarState | CalendarState\n offset?: DateDuration\n onChange?: (value: DateRange) => void\n}\n\nexport const Grid = React.forwardRef<ElementRef<typeof StyledGrid>, GridProps>(\n (props, forwardRef) => {\n const { locale } = useLocale()\n const { state, offset = {} } = props\n const startDate: CalendarDate = state.visibleRange.start.add(offset)\n const { gridProps, headerProps, weekDays } = useCalendarGrid(\n props as AriaCalendarGridProps,\n state\n )\n\n // Get the number of weeks in the month so we can render the proper number of rows.\n const weeksInMonth = getWeeksInMonth(startDate, locale)\n\n return (\n <StyledGrid ref={forwardRef} {...gridProps} cellPadding='0'>\n <thead {...headerProps}>\n <tr>\n {weekDays.map((day, i) => (\n <StyledDays key={i}>\n <div>{day}</div>\n </StyledDays>\n ))}\n </tr>\n </thead>\n <tbody>\n {Array.from(Array(weeksInMonth).keys()).map(weekIndex => (\n <tr key={weekIndex}>\n {state\n .getDatesInWeek(weekIndex, startDate)\n .map((date: CalendarDate | null, i: number) =>\n date !== null ? (\n <Cell\n key={i}\n state={state}\n date={date}\n currentMonth={startDate}\n />\n ) : (\n <td key={i} />\n )\n )}\n </tr>\n ))}\n </tbody>\n </StyledGrid>\n )\n }\n)\n","import type { ElementRef } from 'react'\nimport React, { useCallback, useRef } from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport { useDateRangePicker, useLocale, useRangeCalendar } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport type { DateRangePickerStateOptions } from 'react-stately'\nimport { useDateRangePickerState, useRangeCalendarState } from 'react-stately'\nimport { Flex } from '@mirohq/design-system-flex'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { Button } from '@mirohq/design-system-button'\n\nimport { TextField } from '../partials/text-field'\nimport { FieldButton } from '../partials/button'\nimport { Popover } from '../partials/popover'\nimport {\n StyledRangePicker,\n StyledRangePickerInput,\n StyledRangePickerInputContent,\n} from './range-picker.styled'\nimport type { PredefinedRange } from '../partials/predefined-ranges'\nimport { PredefinedRanges } from '../partials/predefined-ranges'\nimport * as bodyStyled from '../partials/body.styled'\nimport { Header } from '../partials/header'\nimport { Grid } from '../partials/grid'\nimport type { CalendarProps } from '../calendar'\n\nexport interface RangePickerProps\n extends Omit<CalendarProps, 'picker' | 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: DateRange\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateRange) => void\n}\nexport const RangePicker = React.forwardRef<\n ElementRef<typeof StyledRangePicker>,\n RangePickerProps\n>((props, forwardRef) => {\n const {\n predefinedRanges,\n minDate,\n maxDate,\n visibleMonths,\n clearString,\n children,\n defaultOpen,\n onClear,\n } = props\n const state = useDateRangePickerState(\n props as DateRangePickerStateOptions<DateValue>\n )\n const ref = useRef(null)\n const { locale } = useLocale()\n\n const { groupProps, startFieldProps, endFieldProps, buttonProps } =\n useDateRangePicker(\n {\n ...(props as DateRangePickerStateOptions<DateValue>),\n isOpen: defaultOpen,\n },\n state,\n ref\n )\n\n const change = (value: DateRange): void => {\n state.setValue(value)\n state.close()\n }\n\n const rangeState = useRangeCalendarState({\n ...props,\n visibleDuration: visibleMonths,\n minValue: minDate,\n maxValue: maxDate,\n autoFocus: true,\n onFocusChange: focus,\n onChange: change,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useRangeCalendar(\n props,\n rangeState,\n ref\n )\n\n const rangeClick = useCallback(\n (selectedRange: PredefinedRange) => {\n if (selectedRange.range !== undefined) {\n state.setValue(selectedRange.range)\n rangeState.setValue(selectedRange.range)\n }\n },\n [rangeState, state]\n )\n\n const clear = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue({ start: null, end: null })\n if (onClear !== undefined) {\n onClear()\n state.close()\n }\n }\n\n return (\n <StyledRangePicker ref={forwardRef}>\n {children === undefined && (\n <StyledRangePickerInput {...groupProps} ref={ref}>\n <StyledRangePickerInputContent>\n <TextField {...startFieldProps} />\n <span aria-hidden='true'>–</span>\n <TextField {...endFieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledRangePickerInputContent>\n </StyledRangePickerInput>\n )}\n {children !== null && (\n <div {...groupProps} ref={ref}>\n <FieldButton {...buttonProps} customButton>\n {children}\n </FieldButton>\n </div>\n )}\n {state.isOpen && (\n <Popover triggerRef={ref} state={state} placement='bottom start'>\n <bodyStyled.StyledBody ref={forwardRef}>\n <bodyStyled.StyledBodyContent>\n {predefinedRanges !== undefined && (\n <PredefinedRanges\n range={predefinedRanges}\n onClick={rangeClick}\n />\n )}\n\n <Flex direction='column' {...calendarProps}>\n <Header\n state={rangeState}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n visibleMonths={visibleMonths}\n />\n <bodyStyled.StyledGridContent>\n <bodyStyled.StyledBodyContentLeft>\n <Grid state={rangeState} />\n </bodyStyled.StyledBodyContentLeft>\n {visibleMonths !== undefined && (\n <bodyStyled.StyledBodyContentRight>\n <Grid\n onChange={change}\n state={rangeState}\n offset={{ months: 1 }}\n />\n </bodyStyled.StyledBodyContentRight>\n )}\n </bodyStyled.StyledGridContent>\n\n {onClear !== undefined && (\n <bodyStyled.StyledClearContent>\n <Button\n size='medium'\n type='button'\n onClick={clear}\n disabled={rangeState.value === null}\n >\n {clearString}\n </Button>\n </bodyStyled.StyledClearContent>\n )}\n </Flex>\n </bodyStyled.StyledBodyContent>\n </bodyStyled.StyledBody>\n </Popover>\n )}\n </StyledRangePicker>\n )\n})\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledRangePickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n padding: '$100',\n paddingLeft: '$150',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledRangePickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n})\n\nexport const StyledDatePicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport type StyledDatePickerProps = ComponentPropsWithRef<\n typeof StyledDatePicker\n>\n","import type { ElementRef } from 'react'\nimport React, { useCallback } from 'react'\nimport { useCalendarState } from 'react-stately'\nimport type { AriaCalendarProps, CalendarProps, DateValue } from 'react-aria'\nimport { useCalendar, useLocale } from 'react-aria'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { createCalendar } from '@internationalized/date'\nimport { Button } from '@mirohq/design-system-button'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport { Grid } from '../partials/grid'\nimport { Header } from '../partials/header'\nimport type { StyledBodyProps } from '../partials/body.styled'\nimport {\n StyledBody,\n StyledBodyContent,\n StyledBodyContentLeft,\n StyledBodyContentRight,\n StyledClearContent,\n StyledGridContent,\n} from '../partials/body.styled'\nimport type { PredefinedRange } from '../partials/predefined-ranges'\nimport { PredefinedRanges } from '../partials/predefined-ranges'\n\nexport interface DatePickerBodyProps\n extends Omit<StyledBodyProps, 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: CalendarDate\n\n /**\n * Set of predefined ranges\n */\n predefinedRanges?: PredefinedRange[]\n\n /**\n * By default it shows only one calendar, show more calendars\n */\n visibleMonths?: DateDuration\n\n /**\n * Minimum allowed date to select from\n */\n minDate?: DateValue\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: DateValue\n\n /**\n * Clear button string\n */\n clearString?: string\n\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: CalendarDate) => void\n}\n\nexport const DatePickerBody = React.forwardRef<\n ElementRef<typeof StyledBody>,\n DatePickerBodyProps\n>((props, forwardRef) => {\n const {\n predefinedRanges,\n visibleMonths,\n onClear,\n minDate,\n maxDate,\n clearString,\n } = props\n const { locale } = useLocale()\n const state = useCalendarState({\n ...(props as CalendarProps<DateValue>),\n visibleDuration: visibleMonths,\n minValue: minDate,\n maxValue: maxDate,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useCalendar(\n props as AriaCalendarProps<DateValue>,\n state\n )\n\n const dateClick = useCallback(\n (selectedRange: PredefinedRange) => {\n if (selectedRange.date !== undefined) state.setValue(selectedRange.date)\n },\n [state]\n )\n\n return (\n <StyledBody ref={forwardRef}>\n <StyledBodyContent {...calendarProps}>\n {predefinedRanges !== undefined && (\n <PredefinedRanges range={predefinedRanges} onClick={dateClick} />\n )}\n <Flex direction='column'>\n <Header\n state={state}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n visibleMonths={visibleMonths}\n />\n <StyledGridContent>\n <StyledBodyContentLeft>\n <Grid state={state} />\n </StyledBodyContentLeft>\n {visibleMonths !== undefined && (\n <StyledBodyContentRight>\n <Grid state={state} offset={{ months: 1 }} />\n </StyledBodyContentRight>\n )}\n </StyledGridContent>\n {onClear !== undefined && (\n <StyledClearContent>\n <Button\n size='medium'\n onClick={onClear}\n disabled={state.value === null}\n >\n {clearString}\n </Button>\n </StyledClearContent>\n )}\n </Flex>\n </StyledBodyContent>\n </StyledBody>\n )\n})\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport { useDatePickerState } from 'react-stately'\nimport type { AriaDatePickerProps, DateValue } from 'react-aria'\nimport { useDatePicker } from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport { FieldButton } from '../partials/button'\nimport { TextField } from '../partials/text-field'\nimport { Popover } from '../partials/popover'\nimport {\n StyledDatePicker,\n StyledRangePickerInput,\n StyledRangePickerInputContent,\n} from './date-picker.styled'\nimport type { CalendarProps as ICalendarProps } from '../calendar'\nimport { DatePickerBody } from './date-picker-body'\n\nexport interface DatePickerProps\n extends Omit<ICalendarProps, 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: CalendarDate\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateValue) => void\n}\n\nexport const DatePicker = React.forwardRef<\n ElementRef<typeof StyledDatePicker>,\n DatePickerProps\n>((props, forwardRef) => {\n const {\n picker,\n predefinedRanges,\n visibleMonths,\n defaultValue,\n minDate,\n maxDate,\n children,\n clearString,\n defaultOpen,\n onClear,\n } = props\n\n const ref = useRef(null)\n\n const state = useDatePickerState(props as AriaDatePickerProps<CalendarDate>)\n const { groupProps, fieldProps, buttonProps, calendarProps } = useDatePicker(\n { ...(props as AriaDatePickerProps<CalendarDate>), isOpen: defaultOpen },\n state,\n ref\n )\n\n const clearState = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue(null)\n if (onClear !== undefined) {\n onClear()\n }\n }\n\n return (\n <>\n {picker === 'single' ? (\n <StyledDatePicker ref={forwardRef}>\n {children === undefined && (\n <StyledRangePickerInput {...groupProps} ref={ref}>\n <StyledRangePickerInputContent>\n <TextField {...fieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledRangePickerInputContent>\n </StyledRangePickerInput>\n )}\n {children !== undefined && (\n <div {...groupProps} ref={ref}>\n <FieldButton {...buttonProps} customButton>\n {children}\n </FieldButton>\n </div>\n )}\n {state.isOpen && (\n <Popover triggerRef={ref} state={state} placement='bottom start'>\n <DatePickerBody\n {...calendarProps}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={clearState}\n minDate={minDate}\n maxDate={maxDate}\n clearString={clearString}\n />\n </Popover>\n )}\n </StyledDatePicker>\n ) : (\n <DatePickerBody\n {...calendarProps}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={onClear !== undefined ? clearState : undefined}\n minDate={minDate}\n maxDate={maxDate}\n clearString={onClear !== undefined ? clearString : undefined}\n />\n )}\n </>\n )\n})\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef, ElementRef } from 'react'\nimport React from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\n\nimport { RangePicker } from './partials/range-picker'\nimport { DatePicker } from './partials/date-picker'\nimport type { PredefinedRange } from './partials/predefined-ranges'\n\nexport const StyledCalendar = styled(Primitive.div, {})\nexport type StyledCalendarProps = ComponentPropsWithRef<typeof StyledCalendar>\n\nexport interface CalendarProps\n extends Omit<StyledCalendarProps, 'defaultValue' | 'onChange'> {\n /**\n * Type of calendar\n */\n picker?: 'single' | 'range'\n\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: DateRange | CalendarDate\n\n /**\n * Set of predefined ranges\n */\n predefinedRanges?: PredefinedRange[]\n\n /**\n * By default it shows only one calendar, show more calendars\n */\n visibleMonths?: DateDuration\n\n /**\n * Minimum allowed date to select from\n */\n minDate?: CalendarDate\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: CalendarDate\n\n /**\n * Custom input element\n */\n children?: JSX.Element\n\n /**\n * Clear button string\n */\n clearString?: string\n\n /**\n * Calendar open by default\n */\n defaultOpen?: boolean\n\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateRange | DateValue) => void\n}\n\nexport const Calendar = React.forwardRef<\n ElementRef<typeof StyledCalendar>,\n CalendarProps\n>(({ picker, defaultValue, ...props }, forwardRef) => (\n <StyledCalendar ref={forwardRef}>\n {picker === 'range' ? (\n <RangePicker defaultValue={defaultValue as DateRange} {...props} />\n ) : (\n <DatePicker\n defaultValue={defaultValue as CalendarDate}\n {...props}\n picker={picker}\n />\n )}\n </StyledCalendar>\n))\n"],"names":["styled","Primitive","React","useRef","useDateSegment","useLocale","useDateFieldState","createCalendar","useDateField","Flex","useButton","useFocusRing","mergeProps","useDialog","usePopover","Overlay","DismissButton","StyledRangePickerInput","StyledRangePickerInputContent","Button","useDateFormatter","IconChevronLeft","IconChevronRight","date","useCalendarCell","isSameMonth","isSameDay","getDayOfWeek","isWeekend","isToday","getLocalTimeZone","useCalendarGrid","getWeeksInMonth","useDateRangePickerState","useDateRangePicker","useRangeCalendarState","useRangeCalendar","useCallback","IconCalendarBlank","bodyStyled.StyledBody","bodyStyled.StyledBodyContent","bodyStyled.StyledGridContent","bodyStyled.StyledBodyContentLeft","bodyStyled.StyledBodyContentRight","bodyStyled.StyledClearContent","useCalendarState","useCalendar","useDatePickerState","useDatePicker"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sources":["../src/partials/text-field.styled.tsx","../src/partials/text-field.tsx","../src/partials/button.styled.tsx","../src/partials/button.tsx","../src/partials/popover.tsx","../src/partials/range-picker.styled.tsx","../src/partials/predefined-ranges.styled.tsx","../src/partials/predefined-ranges.tsx","../src/partials/body.styled.tsx","../src/partials/header.styled.tsx","../src/partials/header.tsx","../src/partials/cell.styled.tsx","../src/partials/cell.tsx","../src/partials/grid.styled.tsx","../src/partials/grid.tsx","../src/partials/range-picker.tsx","../src/partials/date-picker.styled.tsx","../src/partials/date-picker-body.tsx","../src/partials/date-picker.tsx","../src/calendar.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledDataSegment = styled(Primitive.div, {\n color: '$text-neutrals-subtle',\n\n '&[data-value]': {\n color: '$text-neutrals',\n },\n\n '& span': {\n pointerEvents: 'none',\n\n '&[data-placeholder]': {\n display: 'none',\n height: '0',\n color: '$text-neutrals-subtle',\n },\n },\n})\nexport type StyledDateSegmentProps = ComponentPropsWithRef<\n typeof StyledDataSegment\n>\n","import React, { useRef } from 'react'\nimport type { ElementRef } from 'react'\nimport type { DateFieldState, DateSegment } from 'react-stately'\nimport { useDateFieldState } from 'react-stately'\nimport type { AriaDatePickerProps, DateValue } from 'react-aria'\nimport { useDateField, useDateSegment, useLocale } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport type { StyledDateSegmentProps } from './text-field.styled'\nimport { StyledDataSegment } from './text-field.styled'\n\nexport interface DataSegmentProps extends StyledDateSegmentProps {\n segment: DateSegment\n state: DateFieldState\n}\n\nconst FieldDateSegment: React.FC<DataSegmentProps> = ({ segment, state }) => {\n const ref = useRef(null)\n const { segmentProps } = useDateSegment(segment, state, ref)\n\n return (\n <StyledDataSegment\n {...segmentProps}\n ref={ref}\n data-value={state.value !== null ? '' : undefined}\n >\n {/* Always reserve space for the placeholder, to prevent layout shift when editing. */}\n <span\n aria-hidden='true'\n data-placeholder={!segment.isPlaceholder ? '' : undefined}\n >\n {segment.placeholder}\n </span>\n {segment.isPlaceholder ? '' : segment.text}\n </StyledDataSegment>\n )\n}\n\nexport const TextField = React.forwardRef<\n ElementRef<typeof Flex>,\n AriaDatePickerProps<DateValue>\n>((props, forwardRef) => {\n const ref = useRef(null)\n const { locale } = useLocale()\n const state = useDateFieldState({\n ...props,\n isReadOnly: true,\n locale,\n createCalendar,\n })\n\n const { fieldProps } = useDateField(props, state, ref)\n\n return (\n <Flex {...fieldProps} ref={forwardRef}>\n {state.segments.map((segment, i) => (\n <FieldDateSegment key={i} segment={segment} state={state} />\n ))}\n </Flex>\n )\n})\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledButton = styled(Primitive.button, {\n padding: '0',\n backgroundColor: '$transparent',\n border: 'none',\n cursor: 'pointer',\n color: '$text-neutrals',\n\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n})\n\nexport type StyledButtonProps = ComponentPropsWithRef<typeof StyledButton>\n\nexport const StyledFieldButton = styled(Primitive.button, {\n padding: '0',\n backgroundColor: '$transparent',\n border: 'none',\n cursor: 'pointer',\n square: '28px',\n\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n\n '& svg': {\n color: '$text-neutrals-subtle',\n square: '22px',\n },\n\n '&[data-custom]': {\n width: '100%',\n height: 'unset',\n },\n})\n","import type { ElementRef, RefObject } from 'react'\nimport React from 'react'\nimport type { AriaButtonProps } from 'react-aria'\nimport { useButton, useFocusRing, mergeProps } from 'react-aria'\n\nimport { StyledButton, StyledFieldButton } from './button.styled'\n\ninterface ButtonProps extends AriaButtonProps<'button'> {\n customButton?: boolean\n}\n\nexport const Button = React.forwardRef<\n ElementRef<typeof StyledButton>,\n AriaButtonProps<'button'>\n>((props, forwardRef) => {\n const { buttonProps } = useButton(props, forwardRef as RefObject<Element>)\n const { focusProps } = useFocusRing()\n const { children } = props\n return (\n <StyledButton {...mergeProps(buttonProps, focusProps)} ref={forwardRef}>\n {children}\n </StyledButton>\n )\n})\n\nexport const FieldButton = React.forwardRef<\n ElementRef<typeof StyledFieldButton>,\n ButtonProps\n>((props, forwardRef) => {\n const { buttonProps } = useButton(props, forwardRef as RefObject<Element>)\n const { customButton = false, children } = props\n return (\n <StyledFieldButton\n data-custom={customButton ? '' : undefined}\n {...buttonProps}\n ref={forwardRef}\n >\n {children}\n </StyledFieldButton>\n )\n})\n","/* eslint-disable react/jsx-handler-names */\nimport * as React from 'react'\nimport type { Placement, AriaDialogProps } from 'react-aria'\nimport { usePopover, DismissButton, Overlay, useDialog } from 'react-aria'\nimport type { DatePickerState, DateRangePickerState } from 'react-stately'\n\nexport const Popover: React.FC<{\n state: DateRangePickerState | DatePickerState\n triggerRef: React.RefObject<Element>\n placement: Placement\n children: JSX.Element\n}> = props => {\n const ref = React.useRef(null)\n const { state, children } = props\n const { dialogProps } = useDialog(props as AriaDialogProps, ref)\n\n const { popoverProps, underlayProps } = usePopover(\n {\n ...props,\n popoverRef: ref,\n },\n state\n )\n\n return (\n <Overlay>\n <div {...underlayProps} />\n <div {...popoverProps} ref={ref}>\n <DismissButton onDismiss={state.close} />\n <div {...dialogProps} ref={ref}>\n {children}\n </div>\n <DismissButton onDismiss={state.close} />\n </div>\n </Overlay>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledRangePicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport const StyledRangePickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n padding: '$100',\n paddingLeft: '$150',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledRangePickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n})\n\nexport type StyledRangePickerProps = ComponentPropsWithRef<\n typeof StyledRangePicker\n>\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledPredefinedRanges = styled(Primitive.div, {\n display: 'flex',\n flexDirection: 'column',\n borderRight: '1px solid $border-neutrals',\n padding: '$300 $200 0 $200',\n\n '& button': {\n backgroundColor: '$transparent',\n border: 'none',\n fontSize: '$200',\n padding: '0 0 0 $100',\n textAlign: 'left',\n lineHeight: '24px',\n color: '$text-neutrals',\n marginBottom: '$150',\n borderRadius: '$50',\n minWidth: '125px',\n cursor: 'pointer',\n\n '&:hover': {\n backgroundColor: '$background-primary-prominent-hover',\n color: '$text-primary-inverted',\n fontWeight: '600',\n },\n },\n})\n\nexport type StyledPredefinedRangesProps = ComponentPropsWithRef<\n typeof StyledPredefinedRanges\n>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate } from '@internationalized/date'\nimport type { DateRange } from 'react-aria'\nimport { Button } from '@mirohq/design-system-button'\n\nimport { StyledPredefinedRanges } from './predefined-ranges.styled'\n\nexport interface PredefinedRange {\n id: string\n label: string\n date?: CalendarDate\n range?: DateRange\n}\n\nexport interface PredefinedRangesProps {\n range: PredefinedRange[]\n onClick: (range: PredefinedRange) => void\n}\n\nexport const PredefinedRanges = React.forwardRef<\n ElementRef<typeof StyledPredefinedRanges>,\n PredefinedRangesProps\n>(({ range, onClick }, forwardRef) => (\n <StyledPredefinedRanges ref={forwardRef}>\n {range?.map((date, i) => (\n <Button\n variant='ghost-prominent'\n size='medium'\n key={i}\n type='button'\n onClick={() => onClick(date)}\n >\n {date.label}\n </Button>\n ))}\n </StyledPredefinedRanges>\n))\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\n\nexport const StyledBody = styled(Primitive.div, {\n display: 'inline-block',\n background: '$background-neutrals',\n})\n\nexport const StyledBodyContent = styled(Flex, {\n margin: '0 auto',\n boxShadow: '$100',\n background: '$background-neutrals',\n borderRadius: '$100',\n})\n\nexport const StyledGridContent = styled(Flex, {\n paddingBottom: '$200',\n\n '& [data-left-calendar]': {\n paddingLeft: '$200',\n paddingRight: '$100',\n },\n\n '& [data-right-calendar]': {\n paddingLeft: '$100',\n paddingRight: '$200',\n },\n})\n\nexport const StyledBodyContentLeft = styled(Primitive.div, {\n paddingLeft: '$200',\n paddingRight: '$100',\n})\n\nexport const StyledBodyContentRight = styled(Primitive.div, {\n paddingLeft: '$100',\n paddingRight: '$200',\n})\n\nexport const StyledClearContent = styled(Primitive.div, {\n padding: '$200',\n borderTop: '1px solid $border-neutrals',\n})\n\nexport type StyledBodyProps = ComponentPropsWithRef<typeof StyledBody>\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\n\nexport const StyledHeaderTitle = styled(Flex, {\n justifyContent: 'center',\n flex: '3',\n color: '$text-neutrals',\n})\n\nexport const StyledHeader = styled(Flex, {\n padding: '0 $200',\n color: '$text-neutrals',\n})\n","import React from 'react'\nimport { useDateFormatter } from 'react-aria'\nimport type { AriaButtonProps } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\nimport { IconChevronLeft, IconChevronRight } from '@mirohq/design-system-icons'\nimport type { DateDuration } from '@internationalized/date'\n\nimport { Button } from './button'\nimport { StyledHeader, StyledHeaderTitle } from './header.styled'\n\ninterface IHeader {\n state: RangeCalendarState | CalendarState\n prevButtonProps: AriaButtonProps<'button'>\n nextButtonProps: AriaButtonProps<'button'>\n visibleMonths?: DateDuration\n}\n\nexport const Header: React.FC<IHeader> = ({\n state,\n prevButtonProps,\n nextButtonProps,\n visibleMonths,\n}) => {\n const monthDateFormatter = useDateFormatter({\n month: 'long',\n year: 'numeric',\n timeZone: state.timeZone,\n })\n\n return (\n <StyledHeader>\n <Button {...prevButtonProps}>\n <IconChevronLeft />\n </Button>\n <StyledHeaderTitle>\n <h2>\n {monthDateFormatter.format(\n state.visibleRange.start.toDate(state.timeZone)\n )}\n </h2>\n </StyledHeaderTitle>\n {visibleMonths !== undefined && (\n <StyledHeaderTitle>\n <h2>\n {monthDateFormatter.format(\n state.visibleRange.start.add({ months: 1 }).toDate(state.timeZone)\n )}\n </h2>\n </StyledHeaderTitle>\n )}\n <Button {...nextButtonProps}>\n <IconChevronRight />\n </Button>\n </StyledHeader>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledCellContent = styled(Primitive.div, {\n square: '28px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '$50',\n color: '$text-neutrals',\n\n '&[data-today]': {\n color: '$text-primary',\n },\n\n '&[data-weekend]': {\n color: '$text-neutrals-subtle',\n },\n\n '&[data-selected-middle]': {\n color: '$text-neutrals',\n },\n\n '&[data-selection]': {\n borderRadius: '$50',\n background: '$background-primary-prominent-selected',\n color: '$text-primary-inverted',\n fontWeight: '600',\n },\n\n '&[data-disabled]': {\n textDecoration: 'line-through',\n color: '$text-neutrals-disabled',\n },\n})\n\nexport const StyledCell = styled(Primitive.div, {\n square: '36px',\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n\n '&:hover': {\n background: '$background-primary-subtle-hover',\n\n [`& ${StyledCellContent}`]: {\n background: '$background-primary-prominent-hover',\n color: '$text-primary-inverted',\n },\n },\n\n '&[data-selected]': {\n background: '$background-primary-subtle-hover',\n },\n\n '&[data-selection-start]': {\n borderBottomLeftRadius: '$lg',\n borderTopLeftRadius: '$lg',\n },\n\n '&[data-selection-end]': {\n borderBottomRightRadius: '$lg',\n borderTopRightRadius: '$lg',\n },\n\n '&[data-hidden]': {\n display: 'none',\n },\n\n '&[data-disabled]': {\n cursor: 'not-allowed',\n\n '&:hover': {\n backgroundColor: '$transparent',\n\n [`& ${StyledCellContent}`]: {\n backgroundColor: '$transparent',\n color: '$text-neutrals-disabled',\n },\n },\n },\n})\n\nexport type StyledCellProps = ComponentPropsWithRef<typeof StyledCell>\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport {\n useCalendarCell,\n useLocale,\n useFocusRing,\n mergeProps,\n} from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport {\n isSameDay,\n getDayOfWeek,\n isSameMonth,\n isToday,\n getLocalTimeZone,\n isWeekend,\n} from '@internationalized/date'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport type { StyledCellProps } from './cell.styled'\nimport { StyledCell, StyledCellContent } from './cell.styled'\n\nexport interface CellProps extends StyledCellProps {\n state: RangeCalendarState | CalendarState\n date: CalendarDate\n currentMonth: CalendarDate\n}\n\nexport const Cell = React.forwardRef<ElementRef<typeof StyledCell>, CellProps>(\n (props, forwardRef) => {\n const { state, date, currentMonth } = props\n const ref = useRef(null)\n const { cellProps, buttonProps, isSelected, isDisabled, formattedDate } =\n useCalendarCell({ date }, state, ref)\n\n const isOutsideMonth = !isSameMonth(currentMonth, date)\n\n // The start and end date of the selected range will have\n // an emphasized appearance.\n const isSelectionStart =\n (state as RangeCalendarState).highlightedRange !== undefined &&\n (state as RangeCalendarState).highlightedRange !== null\n ? isSameDay(date, (state as RangeCalendarState).highlightedRange.start)\n : isSelected\n const isSelectionEnd =\n (state as RangeCalendarState).highlightedRange !== undefined &&\n (state as RangeCalendarState).highlightedRange !== null\n ? isSameDay(date, (state as RangeCalendarState).highlightedRange.end)\n : isSelected\n\n // We add rounded corners on the left for the first day of the month,\n // the first day of each week, and the start date of the selection.\n // We add rounded corners on the right for the last day of the month,\n // the last day of each week, and the end date of the selection.\n const { locale } = useLocale()\n const dayOfWeek = getDayOfWeek(date, locale)\n const isWeekendDay = isWeekend(date, locale)\n const isRoundedLeft =\n isSelected && (isSelectionStart || dayOfWeek === 0 || date.day === 1)\n const isRoundedRight =\n isSelected &&\n (isSelectionEnd ||\n dayOfWeek === 6 ||\n date.day === date.calendar.getDaysInMonth(date))\n\n const { focusProps } = useFocusRing()\n\n return (\n <td {...cellProps}>\n <StyledCell\n {...mergeProps(buttonProps, focusProps)}\n ref={forwardRef}\n data-selected={isSelected ? '' : undefined}\n data-selection-start={isRoundedLeft ? '' : undefined}\n data-selection-end={isRoundedRight ? '' : undefined}\n data-disabled={isDisabled ? '' : undefined}\n data-hidden={isOutsideMonth ? '' : undefined}\n >\n <StyledCellContent\n data-selected-middle={\n isSelected && !(isSelectionStart || isSelectionEnd)\n ? ''\n : undefined\n }\n data-selection={isSelectionStart || isSelectionEnd ? '' : undefined}\n data-disabled={isDisabled ? '' : undefined}\n data-today={isToday(date, getLocalTimeZone()) ? '' : undefined}\n data-weekend={isWeekendDay ? '' : undefined}\n >\n {formattedDate}\n </StyledCellContent>\n </StyledCell>\n </td>\n )\n }\n)\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledGrid = styled(Primitive.table, {\n borderCollapse: 'separate',\n borderSpacing: ' 0 $50',\n})\n\nexport const StyledDays = styled(Primitive.th, {\n square: '36px',\n color: '$text-neutrals',\n})\n\nexport type StyledGridProps = ComponentPropsWithRef<typeof StyledGrid>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { getWeeksInMonth } from '@internationalized/date'\nimport type { AriaCalendarGridProps, DateRange } from 'react-aria'\nimport { useLocale, useCalendarGrid } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport { Cell } from './cell'\nimport type { StyledGridProps } from './grid.styled'\nimport { StyledDays, StyledGrid } from './grid.styled'\n\nexport interface GridProps extends Omit<StyledGridProps, 'onChange'> {\n state: RangeCalendarState | CalendarState\n offset?: DateDuration\n onChange?: (value: DateRange) => void\n}\n\nexport const Grid = React.forwardRef<ElementRef<typeof StyledGrid>, GridProps>(\n (props, forwardRef) => {\n const { locale } = useLocale()\n const { state, offset = {} } = props\n const startDate: CalendarDate = state.visibleRange.start.add(offset)\n const { gridProps, headerProps, weekDays } = useCalendarGrid(\n props as AriaCalendarGridProps,\n state\n )\n\n // Get the number of weeks in the month so we can render the proper number of rows.\n const weeksInMonth = getWeeksInMonth(startDate, locale)\n\n return (\n <StyledGrid ref={forwardRef} {...gridProps} cellPadding='0'>\n <thead {...headerProps}>\n <tr>\n {weekDays.map((day, i) => (\n <StyledDays key={i}>\n <div>{day}</div>\n </StyledDays>\n ))}\n </tr>\n </thead>\n <tbody>\n {Array.from(Array(weeksInMonth).keys()).map(weekIndex => (\n <tr key={weekIndex}>\n {state\n .getDatesInWeek(weekIndex, startDate)\n .map((date: CalendarDate | null, i: number) =>\n date !== null ? (\n <Cell\n key={i}\n state={state}\n date={date}\n currentMonth={startDate}\n />\n ) : (\n <td key={i} />\n )\n )}\n </tr>\n ))}\n </tbody>\n </StyledGrid>\n )\n }\n)\n","import type { ElementRef } from 'react'\nimport React, { useCallback, useRef } from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport { useDateRangePicker, useLocale, useRangeCalendar } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport type { DateRangePickerStateOptions } from 'react-stately'\nimport { useDateRangePickerState, useRangeCalendarState } from 'react-stately'\nimport { Flex } from '@mirohq/design-system-flex'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { Button } from '@mirohq/design-system-button'\n\nimport { TextField } from '../partials/text-field'\nimport { FieldButton } from '../partials/button'\nimport { Popover } from '../partials/popover'\nimport {\n StyledRangePicker,\n StyledRangePickerInput,\n StyledRangePickerInputContent,\n} from './range-picker.styled'\nimport type { PredefinedRange } from '../partials/predefined-ranges'\nimport { PredefinedRanges } from '../partials/predefined-ranges'\nimport * as bodyStyled from '../partials/body.styled'\nimport { Header } from '../partials/header'\nimport { Grid } from '../partials/grid'\nimport type { CalendarProps } from '../calendar'\n\nexport interface RangePickerProps\n extends Omit<CalendarProps, 'picker' | 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: DateRange\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateRange) => void\n}\nexport const RangePicker = React.forwardRef<\n ElementRef<typeof StyledRangePicker>,\n RangePickerProps\n>((props, forwardRef) => {\n const {\n predefinedRanges,\n minDate,\n maxDate,\n visibleMonths,\n clearButtonText,\n children,\n defaultOpen,\n onClear,\n } = props\n const state = useDateRangePickerState(\n props as DateRangePickerStateOptions<DateValue>\n )\n const ref = useRef(null)\n const { locale } = useLocale()\n\n const { groupProps, startFieldProps, endFieldProps, buttonProps } =\n useDateRangePicker(\n {\n ...(props as DateRangePickerStateOptions<DateValue>),\n isOpen: defaultOpen,\n },\n state,\n ref\n )\n\n const change = (value: DateRange): void => {\n state.setValue(value)\n state.close()\n }\n\n const rangeState = useRangeCalendarState({\n ...props,\n visibleDuration: visibleMonths,\n minValue: minDate,\n maxValue: maxDate,\n autoFocus: true,\n onFocusChange: focus,\n onChange: change,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useRangeCalendar(\n props,\n rangeState,\n ref\n )\n\n const rangeClick = useCallback(\n (selectedRange: PredefinedRange) => {\n if (selectedRange.range !== undefined) {\n state.setValue(selectedRange.range)\n rangeState.setValue(selectedRange.range)\n }\n },\n [rangeState, state]\n )\n\n const clear = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue({ start: null, end: null })\n if (onClear !== undefined) {\n onClear()\n state.close()\n }\n }\n\n return (\n <StyledRangePicker ref={forwardRef}>\n {children === undefined && (\n <StyledRangePickerInput {...groupProps} ref={ref}>\n <StyledRangePickerInputContent>\n <TextField {...startFieldProps} />\n <span aria-hidden='true'>–</span>\n <TextField {...endFieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledRangePickerInputContent>\n </StyledRangePickerInput>\n )}\n {children !== null && (\n <div {...groupProps} ref={ref}>\n <FieldButton {...buttonProps} customButton>\n {children}\n </FieldButton>\n </div>\n )}\n {state.isOpen && (\n <Popover triggerRef={ref} state={state} placement='bottom start'>\n <bodyStyled.StyledBody ref={forwardRef}>\n <bodyStyled.StyledBodyContent>\n {predefinedRanges !== undefined && (\n <PredefinedRanges\n range={predefinedRanges}\n onClick={rangeClick}\n />\n )}\n\n <Flex direction='column' {...calendarProps}>\n <Header\n state={rangeState}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n visibleMonths={visibleMonths}\n />\n <bodyStyled.StyledGridContent>\n <bodyStyled.StyledBodyContentLeft>\n <Grid state={rangeState} />\n </bodyStyled.StyledBodyContentLeft>\n {visibleMonths !== undefined && (\n <bodyStyled.StyledBodyContentRight>\n <Grid\n onChange={change}\n state={rangeState}\n offset={{ months: 1 }}\n />\n </bodyStyled.StyledBodyContentRight>\n )}\n </bodyStyled.StyledGridContent>\n\n {onClear !== undefined && (\n <bodyStyled.StyledClearContent>\n <Button\n size='medium'\n type='button'\n onClick={clear}\n disabled={rangeState.value === null}\n >\n {clearButtonText}\n </Button>\n </bodyStyled.StyledClearContent>\n )}\n </Flex>\n </bodyStyled.StyledBodyContent>\n </bodyStyled.StyledBody>\n </Popover>\n )}\n </StyledRangePicker>\n )\n})\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledRangePickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n padding: '$100',\n paddingLeft: '$150',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledRangePickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n})\n\nexport const StyledDatePicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport type StyledDatePickerProps = ComponentPropsWithRef<\n typeof StyledDatePicker\n>\n","import type { ElementRef } from 'react'\nimport React, { useCallback } from 'react'\nimport { useCalendarState } from 'react-stately'\nimport type { AriaCalendarProps, CalendarProps, DateValue } from 'react-aria'\nimport { useCalendar, useLocale } from 'react-aria'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { createCalendar } from '@internationalized/date'\nimport { Button } from '@mirohq/design-system-button'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport { Grid } from '../partials/grid'\nimport { Header } from '../partials/header'\nimport type { StyledBodyProps } from '../partials/body.styled'\nimport {\n StyledBody,\n StyledBodyContent,\n StyledBodyContentLeft,\n StyledBodyContentRight,\n StyledClearContent,\n StyledGridContent,\n} from '../partials/body.styled'\nimport type { PredefinedRange } from '../partials/predefined-ranges'\nimport { PredefinedRanges } from '../partials/predefined-ranges'\n\nexport interface DatePickerBodyProps\n extends Omit<StyledBodyProps, 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: CalendarDate\n\n /**\n * Set of predefined ranges\n */\n predefinedRanges?: PredefinedRange[]\n\n /**\n * By default it shows only one calendar, show more calendars\n */\n visibleMonths?: DateDuration\n\n /**\n * Minimum allowed date to select from\n */\n minDate?: DateValue\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: DateValue\n\n /**\n * Clear button string\n */\n clearButtonText?: string\n\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: CalendarDate) => void\n}\n\nexport const DatePickerBody = React.forwardRef<\n ElementRef<typeof StyledBody>,\n DatePickerBodyProps\n>((props, forwardRef) => {\n const {\n predefinedRanges,\n visibleMonths,\n onClear,\n minDate,\n maxDate,\n clearButtonText,\n } = props\n const { locale } = useLocale()\n const state = useCalendarState({\n ...(props as CalendarProps<DateValue>),\n visibleDuration: visibleMonths,\n minValue: minDate,\n maxValue: maxDate,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useCalendar(\n props as AriaCalendarProps<DateValue>,\n state\n )\n\n const dateClick = useCallback(\n (selectedRange: PredefinedRange) => {\n if (selectedRange.date !== undefined) state.setValue(selectedRange.date)\n },\n [state]\n )\n\n return (\n <StyledBody ref={forwardRef}>\n <StyledBodyContent {...calendarProps}>\n {predefinedRanges !== undefined && (\n <PredefinedRanges range={predefinedRanges} onClick={dateClick} />\n )}\n <Flex direction='column'>\n <Header\n state={state}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n visibleMonths={visibleMonths}\n />\n <StyledGridContent>\n <StyledBodyContentLeft>\n <Grid state={state} />\n </StyledBodyContentLeft>\n {visibleMonths !== undefined && (\n <StyledBodyContentRight>\n <Grid state={state} offset={{ months: 1 }} />\n </StyledBodyContentRight>\n )}\n </StyledGridContent>\n {onClear !== undefined && (\n <StyledClearContent>\n <Button\n size='medium'\n onClick={onClear}\n disabled={state.value === null}\n >\n {clearButtonText}\n </Button>\n </StyledClearContent>\n )}\n </Flex>\n </StyledBodyContent>\n </StyledBody>\n )\n})\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport { useDatePickerState } from 'react-stately'\nimport type { AriaDatePickerProps, DateValue } from 'react-aria'\nimport { useDatePicker } from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport { FieldButton } from '../partials/button'\nimport { TextField } from '../partials/text-field'\nimport { Popover } from '../partials/popover'\nimport {\n StyledDatePicker,\n StyledRangePickerInput,\n StyledRangePickerInputContent,\n} from './date-picker.styled'\nimport type { CalendarProps as ICalendarProps } from '../calendar'\nimport { DatePickerBody } from './date-picker-body'\n\nexport interface DatePickerProps\n extends Omit<ICalendarProps, 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: CalendarDate\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateValue) => void\n}\n\nexport const DatePicker = React.forwardRef<\n ElementRef<typeof StyledDatePicker>,\n DatePickerProps\n>((props, forwardRef) => {\n const {\n picker,\n predefinedRanges,\n visibleMonths,\n defaultValue,\n minDate,\n maxDate,\n children,\n clearButtonText,\n defaultOpen,\n onClear,\n } = props\n\n const ref = useRef(null)\n\n const state = useDatePickerState(props as AriaDatePickerProps<CalendarDate>)\n const { groupProps, fieldProps, buttonProps, calendarProps } = useDatePicker(\n { ...(props as AriaDatePickerProps<CalendarDate>), isOpen: defaultOpen },\n state,\n ref\n )\n\n const clearState = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue(null)\n if (onClear !== undefined) {\n onClear()\n }\n }\n\n return (\n <>\n {picker === 'single' ? (\n <StyledDatePicker ref={forwardRef}>\n {children === undefined && (\n <StyledRangePickerInput {...groupProps} ref={ref}>\n <StyledRangePickerInputContent>\n <TextField {...fieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledRangePickerInputContent>\n </StyledRangePickerInput>\n )}\n {children !== undefined && (\n <div {...groupProps} ref={ref}>\n <FieldButton {...buttonProps} customButton>\n {children}\n </FieldButton>\n </div>\n )}\n {state.isOpen && (\n <Popover triggerRef={ref} state={state} placement='bottom start'>\n <DatePickerBody\n {...calendarProps}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={onClear !== undefined ? clearState : undefined}\n minDate={minDate}\n maxDate={maxDate}\n clearButtonText={\n onClear !== undefined ? clearButtonText : undefined\n }\n ref={forwardRef}\n />\n </Popover>\n )}\n </StyledDatePicker>\n ) : (\n <DatePickerBody\n {...calendarProps}\n ref={forwardRef}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={onClear !== undefined ? clearState : undefined}\n minDate={minDate}\n maxDate={maxDate}\n clearButtonText={onClear !== undefined ? clearButtonText : undefined}\n />\n )}\n </>\n )\n})\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef, ElementRef } from 'react'\nimport React from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\n\nimport { RangePicker } from './partials/range-picker'\nimport { DatePicker } from './partials/date-picker'\nimport type { PredefinedRange } from './partials/predefined-ranges'\n\nexport const StyledCalendar = styled(Primitive.div, {})\nexport type StyledCalendarProps = ComponentPropsWithRef<typeof StyledCalendar>\n\nexport interface CalendarProps\n extends Omit<StyledCalendarProps, 'defaultValue' | 'onChange'> {\n /**\n * Type of calendar\n */\n picker?: 'single' | 'range'\n\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: DateRange | CalendarDate\n\n /**\n * Set of predefined ranges\n */\n predefinedRanges?: PredefinedRange[]\n\n /**\n * By default it shows only one calendar, show more calendars\n */\n visibleMonths?: DateDuration\n\n /**\n * Minimum allowed date to select from\n */\n minDate?: CalendarDate\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: CalendarDate\n\n /**\n * Custom input element\n */\n children?: JSX.Element\n\n /**\n * Clear button string\n */\n clearButtonText?: string\n\n /**\n * Calendar open by default\n */\n defaultOpen?: boolean\n\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateRange | DateValue) => void\n}\n\nexport const Calendar = React.forwardRef<\n ElementRef<typeof StyledCalendar>,\n CalendarProps\n>(({ picker, defaultValue, ...props }, forwardRef) => (\n <StyledCalendar ref={forwardRef}>\n {picker === 'range' ? (\n <RangePicker defaultValue={defaultValue as DateRange} {...props} />\n ) : (\n <DatePicker\n defaultValue={defaultValue as CalendarDate}\n {...props}\n picker={picker}\n />\n )}\n </StyledCalendar>\n))\n"],"names":["styled","Primitive","useRef","useDateSegment","React","useLocale","useDateFieldState","createCalendar","useDateField","Flex","useButton","useFocusRing","mergeProps","useDialog","usePopover","Overlay","DismissButton","StyledRangePickerInput","StyledRangePickerInputContent","Button","useDateFormatter","IconChevronLeft","IconChevronRight","date","useCalendarCell","isSameMonth","isSameDay","getDayOfWeek","isWeekend","isToday","getLocalTimeZone","useCalendarGrid","getWeeksInMonth","useDateRangePickerState","useDateRangePicker","useRangeCalendarState","useRangeCalendar","useCallback","IconCalendarBlank","bodyStyled.StyledBody","bodyStyled.StyledBodyContent","bodyStyled.StyledGridContent","bodyStyled.StyledBodyContentLeft","bodyStyled.StyledBodyContentRight","bodyStyled.StyledClearContent","useCalendarState","useCalendar","useDatePickerState","useDatePicker"],"mappings":"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"}
|
package/dist/module.js
CHANGED
|
@@ -2,7 +2,7 @@ import { Primitive } from '@mirohq/design-system-primitive';
|
|
|
2
2
|
import { styled } from '@mirohq/design-system-stitches';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import React__default, { useRef, useCallback } from 'react';
|
|
5
|
-
import {
|
|
5
|
+
import { useLocale, useDateField, useDateSegment, useButton, useFocusRing, mergeProps, useDialog, usePopover, Overlay, DismissButton, useDateFormatter, useCalendarCell, useCalendarGrid, useDateRangePicker, useRangeCalendar, useCalendar, useDatePicker } from 'react-aria';
|
|
6
6
|
import { createCalendar, isSameMonth, isSameDay, getDayOfWeek, isWeekend, isToday, getLocalTimeZone, getWeeksInMonth } from '@internationalized/date';
|
|
7
7
|
import { useDateFieldState, useDateRangePickerState, useRangeCalendarState, useCalendarState, useDatePickerState } from 'react-stately';
|
|
8
8
|
import { Flex } from '@mirohq/design-system-flex';
|
|
@@ -24,7 +24,7 @@ const StyledDataSegment = styled(Primitive.div, {
|
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
|
|
27
|
-
const FieldDateSegment =
|
|
27
|
+
const FieldDateSegment = ({ segment, state }) => {
|
|
28
28
|
const ref = useRef(null);
|
|
29
29
|
const { segmentProps } = useDateSegment(segment, state, ref);
|
|
30
30
|
return /* @__PURE__ */ React__default.createElement(StyledDataSegment, {
|
|
@@ -35,8 +35,8 @@ const FieldDateSegment = React__default.forwardRef(({ segment, state }) => {
|
|
|
35
35
|
"aria-hidden": "true",
|
|
36
36
|
"data-placeholder": !segment.isPlaceholder ? "" : void 0
|
|
37
37
|
}, segment.placeholder), segment.isPlaceholder ? "" : segment.text);
|
|
38
|
-
}
|
|
39
|
-
const TextField = (props) => {
|
|
38
|
+
};
|
|
39
|
+
const TextField = React__default.forwardRef((props, forwardRef) => {
|
|
40
40
|
const ref = useRef(null);
|
|
41
41
|
const { locale } = useLocale();
|
|
42
42
|
const state = useDateFieldState({
|
|
@@ -48,17 +48,17 @@ const TextField = (props) => {
|
|
|
48
48
|
const { fieldProps } = useDateField(props, state, ref);
|
|
49
49
|
return /* @__PURE__ */ React__default.createElement(Flex, {
|
|
50
50
|
...fieldProps,
|
|
51
|
-
ref
|
|
51
|
+
ref: forwardRef
|
|
52
52
|
}, state.segments.map((segment, i) => /* @__PURE__ */ React__default.createElement(FieldDateSegment, {
|
|
53
53
|
key: i,
|
|
54
54
|
segment,
|
|
55
55
|
state
|
|
56
56
|
})));
|
|
57
|
-
};
|
|
57
|
+
});
|
|
58
58
|
|
|
59
59
|
const StyledButton = styled(Primitive.button, {
|
|
60
60
|
padding: "0",
|
|
61
|
-
|
|
61
|
+
backgroundColor: "$transparent",
|
|
62
62
|
border: "none",
|
|
63
63
|
cursor: "pointer",
|
|
64
64
|
color: "$text-neutrals",
|
|
@@ -68,7 +68,7 @@ const StyledButton = styled(Primitive.button, {
|
|
|
68
68
|
});
|
|
69
69
|
const StyledFieldButton = styled(Primitive.button, {
|
|
70
70
|
padding: "0",
|
|
71
|
-
|
|
71
|
+
backgroundColor: "$transparent",
|
|
72
72
|
border: "none",
|
|
73
73
|
cursor: "pointer",
|
|
74
74
|
square: "28px",
|
|
@@ -94,16 +94,15 @@ const Button = React__default.forwardRef((props, forwardRef) => {
|
|
|
94
94
|
ref: forwardRef
|
|
95
95
|
}, children);
|
|
96
96
|
});
|
|
97
|
-
const FieldButton = (props) => {
|
|
98
|
-
const
|
|
99
|
-
const { buttonProps } = useButton(props, ref);
|
|
97
|
+
const FieldButton = React__default.forwardRef((props, forwardRef) => {
|
|
98
|
+
const { buttonProps } = useButton(props, forwardRef);
|
|
100
99
|
const { customButton = false, children } = props;
|
|
101
100
|
return /* @__PURE__ */ React__default.createElement(StyledFieldButton, {
|
|
102
101
|
"data-custom": customButton ? "" : void 0,
|
|
103
102
|
...buttonProps,
|
|
104
|
-
ref
|
|
103
|
+
ref: forwardRef
|
|
105
104
|
}, children);
|
|
106
|
-
};
|
|
105
|
+
});
|
|
107
106
|
|
|
108
107
|
const Popover = (props) => {
|
|
109
108
|
const ref = React.useRef(null);
|
|
@@ -163,7 +162,7 @@ const StyledPredefinedRanges = styled(Primitive.div, {
|
|
|
163
162
|
borderRight: "1px solid $border-neutrals",
|
|
164
163
|
padding: "$300 $200 0 $200",
|
|
165
164
|
"& button": {
|
|
166
|
-
|
|
165
|
+
backgroundColor: "$transparent",
|
|
167
166
|
border: "none",
|
|
168
167
|
fontSize: "$200",
|
|
169
168
|
padding: "0 0 0 $100",
|
|
@@ -315,9 +314,9 @@ const StyledCell = styled(Primitive.div, {
|
|
|
315
314
|
"&[data-disabled]": {
|
|
316
315
|
cursor: "not-allowed",
|
|
317
316
|
"&:hover": {
|
|
318
|
-
|
|
317
|
+
backgroundColor: "$transparent",
|
|
319
318
|
[`& ${StyledCellContent}`]: {
|
|
320
|
-
|
|
319
|
+
backgroundColor: "$transparent",
|
|
321
320
|
color: "$text-neutrals-disabled"
|
|
322
321
|
}
|
|
323
322
|
}
|
|
@@ -406,7 +405,7 @@ const RangePicker = React__default.forwardRef((props, forwardRef) => {
|
|
|
406
405
|
minDate,
|
|
407
406
|
maxDate,
|
|
408
407
|
visibleMonths,
|
|
409
|
-
|
|
408
|
+
clearButtonText,
|
|
410
409
|
children,
|
|
411
410
|
defaultOpen,
|
|
412
411
|
onClear
|
|
@@ -509,7 +508,7 @@ const RangePicker = React__default.forwardRef((props, forwardRef) => {
|
|
|
509
508
|
type: "button",
|
|
510
509
|
onClick: clear,
|
|
511
510
|
disabled: rangeState.value === null
|
|
512
|
-
},
|
|
511
|
+
}, clearButtonText)))))));
|
|
513
512
|
});
|
|
514
513
|
|
|
515
514
|
const StyledRangePickerInput = styled(Primitive.div, {
|
|
@@ -545,7 +544,7 @@ const DatePickerBody = React__default.forwardRef((props, forwardRef) => {
|
|
|
545
544
|
onClear,
|
|
546
545
|
minDate,
|
|
547
546
|
maxDate,
|
|
548
|
-
|
|
547
|
+
clearButtonText
|
|
549
548
|
} = props;
|
|
550
549
|
const { locale } = useLocale();
|
|
551
550
|
const state = useCalendarState({
|
|
@@ -590,7 +589,7 @@ const DatePickerBody = React__default.forwardRef((props, forwardRef) => {
|
|
|
590
589
|
size: "medium",
|
|
591
590
|
onClick: onClear,
|
|
592
591
|
disabled: state.value === null
|
|
593
|
-
},
|
|
592
|
+
}, clearButtonText)))));
|
|
594
593
|
});
|
|
595
594
|
|
|
596
595
|
const DatePicker = React__default.forwardRef((props, forwardRef) => {
|
|
@@ -602,7 +601,7 @@ const DatePicker = React__default.forwardRef((props, forwardRef) => {
|
|
|
602
601
|
minDate,
|
|
603
602
|
maxDate,
|
|
604
603
|
children,
|
|
605
|
-
|
|
604
|
+
clearButtonText,
|
|
606
605
|
defaultOpen,
|
|
607
606
|
onClear
|
|
608
607
|
} = props;
|
|
@@ -645,19 +644,21 @@ const DatePicker = React__default.forwardRef((props, forwardRef) => {
|
|
|
645
644
|
defaultValue,
|
|
646
645
|
predefinedRanges,
|
|
647
646
|
visibleMonths,
|
|
648
|
-
onClear: clearState,
|
|
647
|
+
onClear: onClear !== void 0 ? clearState : void 0,
|
|
649
648
|
minDate,
|
|
650
649
|
maxDate,
|
|
651
|
-
|
|
650
|
+
clearButtonText: onClear !== void 0 ? clearButtonText : void 0,
|
|
651
|
+
ref: forwardRef
|
|
652
652
|
}))) : /* @__PURE__ */ React__default.createElement(DatePickerBody, {
|
|
653
653
|
...calendarProps,
|
|
654
|
+
ref: forwardRef,
|
|
654
655
|
defaultValue,
|
|
655
656
|
predefinedRanges,
|
|
656
657
|
visibleMonths,
|
|
657
658
|
onClear: onClear !== void 0 ? clearState : void 0,
|
|
658
659
|
minDate,
|
|
659
660
|
maxDate,
|
|
660
|
-
|
|
661
|
+
clearButtonText: onClear !== void 0 ? clearButtonText : void 0
|
|
661
662
|
}));
|
|
662
663
|
});
|
|
663
664
|
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sources":["../src/partials/text-field.styled.tsx","../src/partials/text-field.tsx","../src/partials/button.styled.tsx","../src/partials/button.tsx","../src/partials/popover.tsx","../src/partials/range-picker.styled.tsx","../src/partials/predefined-ranges.styled.tsx","../src/partials/predefined-ranges.tsx","../src/partials/body.styled.tsx","../src/partials/header.styled.tsx","../src/partials/header.tsx","../src/partials/cell.styled.tsx","../src/partials/cell.tsx","../src/partials/grid.styled.tsx","../src/partials/grid.tsx","../src/partials/range-picker.tsx","../src/partials/date-picker.styled.tsx","../src/partials/date-picker-body.tsx","../src/partials/date-picker.tsx","../src/calendar.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledDataSegment = styled(Primitive.div, {\n color: '$text-neutrals-subtle',\n\n '&[data-value]': {\n color: '$text-neutrals',\n },\n\n '& span': {\n pointerEvents: 'none',\n\n '&[data-placeholder]': {\n display: 'none',\n height: '0',\n color: '$text-neutrals-subtle',\n },\n },\n})\nexport type StyledDateSegmentProps = ComponentPropsWithRef<\n typeof StyledDataSegment\n>\n","import React, { useRef } from 'react'\nimport type { ElementRef } from 'react'\nimport type { DateFieldState, DateSegment } from 'react-stately'\nimport { useDateFieldState } from 'react-stately'\nimport type { AriaDatePickerProps, DateValue } from 'react-aria'\nimport { useDateField, useDateSegment, useLocale } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport type { StyledDateSegmentProps } from './text-field.styled'\nimport { StyledDataSegment } from './text-field.styled'\n\nexport interface DataSegmentProps extends StyledDateSegmentProps {\n segment: DateSegment\n state: DateFieldState\n}\n\nconst FieldDateSegment = React.forwardRef<\n ElementRef<typeof StyledDataSegment>,\n DataSegmentProps\n>(({ segment, state }) => {\n const ref = useRef(null)\n const { segmentProps } = useDateSegment(segment, state, ref)\n\n return (\n <StyledDataSegment\n {...segmentProps}\n ref={ref}\n data-value={state.value !== null ? '' : undefined}\n >\n {/* Always reserve space for the placeholder, to prevent layout shift when editing. */}\n <span\n aria-hidden='true'\n data-placeholder={!segment.isPlaceholder ? '' : undefined}\n >\n {segment.placeholder}\n </span>\n {segment.isPlaceholder ? '' : segment.text}\n </StyledDataSegment>\n )\n})\n\nexport const TextField: React.FC<AriaDatePickerProps<DateValue>> = props => {\n const ref = useRef(null)\n const { locale } = useLocale()\n const state = useDateFieldState({\n ...props,\n isReadOnly: true,\n locale,\n createCalendar,\n })\n\n const { fieldProps } = useDateField(props, state, ref)\n\n return (\n <Flex {...fieldProps} ref={ref}>\n {state.segments.map((segment, i) => (\n <FieldDateSegment key={i} segment={segment} state={state} />\n ))}\n </Flex>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledButton = styled(Primitive.button, {\n padding: '0',\n background: 'transparent',\n border: 'none',\n cursor: 'pointer',\n color: '$text-neutrals',\n\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n})\n\nexport type StyledButtonProps = ComponentPropsWithRef<typeof StyledButton>\n\nexport const StyledFieldButton = styled(Primitive.button, {\n padding: '0',\n background: 'transparent',\n border: 'none',\n cursor: 'pointer',\n square: '28px',\n\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n\n '& svg': {\n color: '$text-neutrals-subtle',\n square: '22px',\n },\n\n '&[data-custom]': {\n width: '100%',\n height: 'unset',\n },\n})\n","import type { ElementRef, RefObject } from 'react'\nimport React, { useRef } from 'react'\nimport type { AriaButtonProps } from 'react-aria'\nimport { useButton, useFocusRing, mergeProps } from 'react-aria'\n\nimport { StyledButton, StyledFieldButton } from './button.styled'\n\ninterface ButtonProps extends AriaButtonProps<'button'> {\n customButton?: boolean\n}\n\nexport const Button = React.forwardRef<\n ElementRef<typeof StyledButton>,\n AriaButtonProps<'button'>\n>((props, forwardRef) => {\n const { buttonProps } = useButton(props, forwardRef as RefObject<Element>)\n const { focusProps } = useFocusRing()\n const { children } = props\n return (\n <StyledButton {...mergeProps(buttonProps, focusProps)} ref={forwardRef}>\n {children}\n </StyledButton>\n )\n})\n\nexport const FieldButton: React.FC<ButtonProps> = props => {\n const ref = useRef(null)\n const { buttonProps } = useButton(props, ref)\n const { customButton = false, children } = props\n return (\n <StyledFieldButton\n data-custom={customButton ? '' : undefined}\n {...buttonProps}\n ref={ref}\n >\n {children}\n </StyledFieldButton>\n )\n}\n","/* eslint-disable react/jsx-handler-names */\nimport * as React from 'react'\nimport type { Placement, AriaDialogProps } from 'react-aria'\nimport { usePopover, DismissButton, Overlay, useDialog } from 'react-aria'\nimport type { DatePickerState, DateRangePickerState } from 'react-stately'\n\nexport const Popover: React.FC<{\n state: DateRangePickerState | DatePickerState\n triggerRef: React.RefObject<Element>\n placement: Placement\n children: JSX.Element\n}> = props => {\n const ref = React.useRef(null)\n const { state, children } = props\n const { dialogProps } = useDialog(props as AriaDialogProps, ref)\n\n const { popoverProps, underlayProps } = usePopover(\n {\n ...props,\n popoverRef: ref,\n },\n state\n )\n\n return (\n <Overlay>\n <div {...underlayProps} />\n <div {...popoverProps} ref={ref}>\n <DismissButton onDismiss={state.close} />\n <div {...dialogProps} ref={ref}>\n {children}\n </div>\n <DismissButton onDismiss={state.close} />\n </div>\n </Overlay>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledRangePicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport const StyledRangePickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n padding: '$100',\n paddingLeft: '$150',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledRangePickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n})\n\nexport type StyledRangePickerProps = ComponentPropsWithRef<\n typeof StyledRangePicker\n>\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledPredefinedRanges = styled(Primitive.div, {\n display: 'flex',\n flexDirection: 'column',\n borderRight: '1px solid $border-neutrals',\n padding: '$300 $200 0 $200',\n\n '& button': {\n background: 'transparent',\n border: 'none',\n fontSize: '$200',\n padding: '0 0 0 $100',\n textAlign: 'left',\n lineHeight: '24px',\n color: '$text-neutrals',\n marginBottom: '$150',\n borderRadius: '$50',\n minWidth: '125px',\n cursor: 'pointer',\n\n '&:hover': {\n backgroundColor: '$background-primary-prominent-hover',\n color: '$text-primary-inverted',\n fontWeight: '600',\n },\n },\n})\n\nexport type StyledPredefinedRangesProps = ComponentPropsWithRef<\n typeof StyledPredefinedRanges\n>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate } from '@internationalized/date'\nimport type { DateRange } from 'react-aria'\nimport { Button } from '@mirohq/design-system-button'\n\nimport { StyledPredefinedRanges } from './predefined-ranges.styled'\n\nexport interface PredefinedRange {\n id: string\n label: string\n date?: CalendarDate\n range?: DateRange\n}\n\nexport interface PredefinedRangesProps {\n range: PredefinedRange[]\n onClick: (range: PredefinedRange) => void\n}\n\nexport const PredefinedRanges = React.forwardRef<\n ElementRef<typeof StyledPredefinedRanges>,\n PredefinedRangesProps\n>(({ range, onClick }, forwardRef) => (\n <StyledPredefinedRanges ref={forwardRef}>\n {range?.map((date, i) => (\n <Button\n variant='ghost-prominent'\n size='medium'\n key={i}\n type='button'\n onClick={() => onClick(date)}\n >\n {date.label}\n </Button>\n ))}\n </StyledPredefinedRanges>\n))\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\n\nexport const StyledBody = styled(Primitive.div, {\n display: 'inline-block',\n background: '$background-neutrals',\n})\n\nexport const StyledBodyContent = styled(Flex, {\n margin: '0 auto',\n boxShadow: '$100',\n background: '$background-neutrals',\n borderRadius: '$100',\n})\n\nexport const StyledGridContent = styled(Flex, {\n paddingBottom: '$200',\n\n '& [data-left-calendar]': {\n paddingLeft: '$200',\n paddingRight: '$100',\n },\n\n '& [data-right-calendar]': {\n paddingLeft: '$100',\n paddingRight: '$200',\n },\n})\n\nexport const StyledBodyContentLeft = styled(Primitive.div, {\n paddingLeft: '$200',\n paddingRight: '$100',\n})\n\nexport const StyledBodyContentRight = styled(Primitive.div, {\n paddingLeft: '$100',\n paddingRight: '$200',\n})\n\nexport const StyledClearContent = styled(Primitive.div, {\n padding: '$200',\n borderTop: '1px solid $border-neutrals',\n})\n\nexport type StyledBodyProps = ComponentPropsWithRef<typeof StyledBody>\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\n\nexport const StyledHeaderTitle = styled(Flex, {\n justifyContent: 'center',\n flex: '3',\n color: '$text-neutrals',\n})\n\nexport const StyledHeader = styled(Flex, {\n padding: '0 $200',\n color: '$text-neutrals',\n})\n","import React from 'react'\nimport { useDateFormatter } from 'react-aria'\nimport type { AriaButtonProps } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\nimport { IconChevronLeft, IconChevronRight } from '@mirohq/design-system-icons'\nimport type { DateDuration } from '@internationalized/date'\n\nimport { Button } from './button'\nimport { StyledHeader, StyledHeaderTitle } from './header.styled'\n\ninterface IHeader {\n state: RangeCalendarState | CalendarState\n prevButtonProps: AriaButtonProps<'button'>\n nextButtonProps: AriaButtonProps<'button'>\n visibleMonths?: DateDuration\n}\n\nexport const Header: React.FC<IHeader> = ({\n state,\n prevButtonProps,\n nextButtonProps,\n visibleMonths,\n}) => {\n const monthDateFormatter = useDateFormatter({\n month: 'long',\n year: 'numeric',\n timeZone: state.timeZone,\n })\n\n return (\n <StyledHeader>\n <Button {...prevButtonProps}>\n <IconChevronLeft />\n </Button>\n <StyledHeaderTitle>\n <h2>\n {monthDateFormatter.format(\n state.visibleRange.start.toDate(state.timeZone)\n )}\n </h2>\n </StyledHeaderTitle>\n {visibleMonths !== undefined && (\n <StyledHeaderTitle>\n <h2>\n {monthDateFormatter.format(\n state.visibleRange.start.add({ months: 1 }).toDate(state.timeZone)\n )}\n </h2>\n </StyledHeaderTitle>\n )}\n <Button {...nextButtonProps}>\n <IconChevronRight />\n </Button>\n </StyledHeader>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledCellContent = styled(Primitive.div, {\n square: '28px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '$50',\n color: '$text-neutrals',\n\n '&[data-today]': {\n color: '$text-primary',\n },\n\n '&[data-weekend]': {\n color: '$text-neutrals-subtle',\n },\n\n '&[data-selected-middle]': {\n color: '$text-neutrals',\n },\n\n '&[data-selection]': {\n borderRadius: '$50',\n background: '$background-primary-prominent-selected',\n color: '$text-primary-inverted',\n fontWeight: '600',\n },\n\n '&[data-disabled]': {\n textDecoration: 'line-through',\n color: '$text-neutrals-disabled',\n },\n})\n\nexport const StyledCell = styled(Primitive.div, {\n square: '36px',\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n\n '&:hover': {\n background: '$background-primary-subtle-hover',\n\n [`& ${StyledCellContent}`]: {\n background: '$background-primary-prominent-hover',\n color: '$text-primary-inverted',\n },\n },\n\n '&[data-selected]': {\n background: '$background-primary-subtle-hover',\n },\n\n '&[data-selection-start]': {\n borderBottomLeftRadius: '$lg',\n borderTopLeftRadius: '$lg',\n },\n\n '&[data-selection-end]': {\n borderBottomRightRadius: '$lg',\n borderTopRightRadius: '$lg',\n },\n\n '&[data-hidden]': {\n display: 'none',\n },\n\n '&[data-disabled]': {\n cursor: 'not-allowed',\n\n '&:hover': {\n background: 'transparent',\n\n [`& ${StyledCellContent}`]: {\n background: 'transparent',\n color: '$text-neutrals-disabled',\n },\n },\n },\n})\n\nexport type StyledCellProps = ComponentPropsWithRef<typeof StyledCell>\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport {\n useCalendarCell,\n useLocale,\n useFocusRing,\n mergeProps,\n} from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport {\n isSameDay,\n getDayOfWeek,\n isSameMonth,\n isToday,\n getLocalTimeZone,\n isWeekend,\n} from '@internationalized/date'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport type { StyledCellProps } from './cell.styled'\nimport { StyledCell, StyledCellContent } from './cell.styled'\n\nexport interface CellProps extends StyledCellProps {\n state: RangeCalendarState | CalendarState\n date: CalendarDate\n currentMonth: CalendarDate\n}\n\nexport const Cell = React.forwardRef<ElementRef<typeof StyledCell>, CellProps>(\n (props, forwardRef) => {\n const { state, date, currentMonth } = props\n const ref = useRef(null)\n const { cellProps, buttonProps, isSelected, isDisabled, formattedDate } =\n useCalendarCell({ date }, state, ref)\n\n const isOutsideMonth = !isSameMonth(currentMonth, date)\n\n // The start and end date of the selected range will have\n // an emphasized appearance.\n const isSelectionStart =\n (state as RangeCalendarState).highlightedRange !== undefined &&\n (state as RangeCalendarState).highlightedRange !== null\n ? isSameDay(date, (state as RangeCalendarState).highlightedRange.start)\n : isSelected\n const isSelectionEnd =\n (state as RangeCalendarState).highlightedRange !== undefined &&\n (state as RangeCalendarState).highlightedRange !== null\n ? isSameDay(date, (state as RangeCalendarState).highlightedRange.end)\n : isSelected\n\n // We add rounded corners on the left for the first day of the month,\n // the first day of each week, and the start date of the selection.\n // We add rounded corners on the right for the last day of the month,\n // the last day of each week, and the end date of the selection.\n const { locale } = useLocale()\n const dayOfWeek = getDayOfWeek(date, locale)\n const isWeekendDay = isWeekend(date, locale)\n const isRoundedLeft =\n isSelected && (isSelectionStart || dayOfWeek === 0 || date.day === 1)\n const isRoundedRight =\n isSelected &&\n (isSelectionEnd ||\n dayOfWeek === 6 ||\n date.day === date.calendar.getDaysInMonth(date))\n\n const { focusProps } = useFocusRing()\n\n return (\n <td {...cellProps}>\n <StyledCell\n {...mergeProps(buttonProps, focusProps)}\n ref={forwardRef}\n data-selected={isSelected ? '' : undefined}\n data-selection-start={isRoundedLeft ? '' : undefined}\n data-selection-end={isRoundedRight ? '' : undefined}\n data-disabled={isDisabled ? '' : undefined}\n data-hidden={isOutsideMonth ? '' : undefined}\n >\n <StyledCellContent\n data-selected-middle={\n isSelected && !(isSelectionStart || isSelectionEnd)\n ? ''\n : undefined\n }\n data-selection={isSelectionStart || isSelectionEnd ? '' : undefined}\n data-disabled={isDisabled ? '' : undefined}\n data-today={isToday(date, getLocalTimeZone()) ? '' : undefined}\n data-weekend={isWeekendDay ? '' : undefined}\n >\n {formattedDate}\n </StyledCellContent>\n </StyledCell>\n </td>\n )\n }\n)\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledGrid = styled(Primitive.table, {\n borderCollapse: 'separate',\n borderSpacing: ' 0 $50',\n})\n\nexport const StyledDays = styled(Primitive.th, {\n square: '36px',\n color: '$text-neutrals',\n})\n\nexport type StyledGridProps = ComponentPropsWithRef<typeof StyledGrid>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { getWeeksInMonth } from '@internationalized/date'\nimport type { AriaCalendarGridProps, DateRange } from 'react-aria'\nimport { useLocale, useCalendarGrid } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport { Cell } from './cell'\nimport type { StyledGridProps } from './grid.styled'\nimport { StyledDays, StyledGrid } from './grid.styled'\n\nexport interface GridProps extends Omit<StyledGridProps, 'onChange'> {\n state: RangeCalendarState | CalendarState\n offset?: DateDuration\n onChange?: (value: DateRange) => void\n}\n\nexport const Grid = React.forwardRef<ElementRef<typeof StyledGrid>, GridProps>(\n (props, forwardRef) => {\n const { locale } = useLocale()\n const { state, offset = {} } = props\n const startDate: CalendarDate = state.visibleRange.start.add(offset)\n const { gridProps, headerProps, weekDays } = useCalendarGrid(\n props as AriaCalendarGridProps,\n state\n )\n\n // Get the number of weeks in the month so we can render the proper number of rows.\n const weeksInMonth = getWeeksInMonth(startDate, locale)\n\n return (\n <StyledGrid ref={forwardRef} {...gridProps} cellPadding='0'>\n <thead {...headerProps}>\n <tr>\n {weekDays.map((day, i) => (\n <StyledDays key={i}>\n <div>{day}</div>\n </StyledDays>\n ))}\n </tr>\n </thead>\n <tbody>\n {Array.from(Array(weeksInMonth).keys()).map(weekIndex => (\n <tr key={weekIndex}>\n {state\n .getDatesInWeek(weekIndex, startDate)\n .map((date: CalendarDate | null, i: number) =>\n date !== null ? (\n <Cell\n key={i}\n state={state}\n date={date}\n currentMonth={startDate}\n />\n ) : (\n <td key={i} />\n )\n )}\n </tr>\n ))}\n </tbody>\n </StyledGrid>\n )\n }\n)\n","import type { ElementRef } from 'react'\nimport React, { useCallback, useRef } from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport { useDateRangePicker, useLocale, useRangeCalendar } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport type { DateRangePickerStateOptions } from 'react-stately'\nimport { useDateRangePickerState, useRangeCalendarState } from 'react-stately'\nimport { Flex } from '@mirohq/design-system-flex'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { Button } from '@mirohq/design-system-button'\n\nimport { TextField } from '../partials/text-field'\nimport { FieldButton } from '../partials/button'\nimport { Popover } from '../partials/popover'\nimport {\n StyledRangePicker,\n StyledRangePickerInput,\n StyledRangePickerInputContent,\n} from './range-picker.styled'\nimport type { PredefinedRange } from '../partials/predefined-ranges'\nimport { PredefinedRanges } from '../partials/predefined-ranges'\nimport * as bodyStyled from '../partials/body.styled'\nimport { Header } from '../partials/header'\nimport { Grid } from '../partials/grid'\nimport type { CalendarProps } from '../calendar'\n\nexport interface RangePickerProps\n extends Omit<CalendarProps, 'picker' | 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: DateRange\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateRange) => void\n}\nexport const RangePicker = React.forwardRef<\n ElementRef<typeof StyledRangePicker>,\n RangePickerProps\n>((props, forwardRef) => {\n const {\n predefinedRanges,\n minDate,\n maxDate,\n visibleMonths,\n clearString,\n children,\n defaultOpen,\n onClear,\n } = props\n const state = useDateRangePickerState(\n props as DateRangePickerStateOptions<DateValue>\n )\n const ref = useRef(null)\n const { locale } = useLocale()\n\n const { groupProps, startFieldProps, endFieldProps, buttonProps } =\n useDateRangePicker(\n {\n ...(props as DateRangePickerStateOptions<DateValue>),\n isOpen: defaultOpen,\n },\n state,\n ref\n )\n\n const change = (value: DateRange): void => {\n state.setValue(value)\n state.close()\n }\n\n const rangeState = useRangeCalendarState({\n ...props,\n visibleDuration: visibleMonths,\n minValue: minDate,\n maxValue: maxDate,\n autoFocus: true,\n onFocusChange: focus,\n onChange: change,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useRangeCalendar(\n props,\n rangeState,\n ref\n )\n\n const rangeClick = useCallback(\n (selectedRange: PredefinedRange) => {\n if (selectedRange.range !== undefined) {\n state.setValue(selectedRange.range)\n rangeState.setValue(selectedRange.range)\n }\n },\n [rangeState, state]\n )\n\n const clear = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue({ start: null, end: null })\n if (onClear !== undefined) {\n onClear()\n state.close()\n }\n }\n\n return (\n <StyledRangePicker ref={forwardRef}>\n {children === undefined && (\n <StyledRangePickerInput {...groupProps} ref={ref}>\n <StyledRangePickerInputContent>\n <TextField {...startFieldProps} />\n <span aria-hidden='true'>–</span>\n <TextField {...endFieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledRangePickerInputContent>\n </StyledRangePickerInput>\n )}\n {children !== null && (\n <div {...groupProps} ref={ref}>\n <FieldButton {...buttonProps} customButton>\n {children}\n </FieldButton>\n </div>\n )}\n {state.isOpen && (\n <Popover triggerRef={ref} state={state} placement='bottom start'>\n <bodyStyled.StyledBody ref={forwardRef}>\n <bodyStyled.StyledBodyContent>\n {predefinedRanges !== undefined && (\n <PredefinedRanges\n range={predefinedRanges}\n onClick={rangeClick}\n />\n )}\n\n <Flex direction='column' {...calendarProps}>\n <Header\n state={rangeState}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n visibleMonths={visibleMonths}\n />\n <bodyStyled.StyledGridContent>\n <bodyStyled.StyledBodyContentLeft>\n <Grid state={rangeState} />\n </bodyStyled.StyledBodyContentLeft>\n {visibleMonths !== undefined && (\n <bodyStyled.StyledBodyContentRight>\n <Grid\n onChange={change}\n state={rangeState}\n offset={{ months: 1 }}\n />\n </bodyStyled.StyledBodyContentRight>\n )}\n </bodyStyled.StyledGridContent>\n\n {onClear !== undefined && (\n <bodyStyled.StyledClearContent>\n <Button\n size='medium'\n type='button'\n onClick={clear}\n disabled={rangeState.value === null}\n >\n {clearString}\n </Button>\n </bodyStyled.StyledClearContent>\n )}\n </Flex>\n </bodyStyled.StyledBodyContent>\n </bodyStyled.StyledBody>\n </Popover>\n )}\n </StyledRangePicker>\n )\n})\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledRangePickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n padding: '$100',\n paddingLeft: '$150',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledRangePickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n})\n\nexport const StyledDatePicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport type StyledDatePickerProps = ComponentPropsWithRef<\n typeof StyledDatePicker\n>\n","import type { ElementRef } from 'react'\nimport React, { useCallback } from 'react'\nimport { useCalendarState } from 'react-stately'\nimport type { AriaCalendarProps, CalendarProps, DateValue } from 'react-aria'\nimport { useCalendar, useLocale } from 'react-aria'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { createCalendar } from '@internationalized/date'\nimport { Button } from '@mirohq/design-system-button'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport { Grid } from '../partials/grid'\nimport { Header } from '../partials/header'\nimport type { StyledBodyProps } from '../partials/body.styled'\nimport {\n StyledBody,\n StyledBodyContent,\n StyledBodyContentLeft,\n StyledBodyContentRight,\n StyledClearContent,\n StyledGridContent,\n} from '../partials/body.styled'\nimport type { PredefinedRange } from '../partials/predefined-ranges'\nimport { PredefinedRanges } from '../partials/predefined-ranges'\n\nexport interface DatePickerBodyProps\n extends Omit<StyledBodyProps, 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: CalendarDate\n\n /**\n * Set of predefined ranges\n */\n predefinedRanges?: PredefinedRange[]\n\n /**\n * By default it shows only one calendar, show more calendars\n */\n visibleMonths?: DateDuration\n\n /**\n * Minimum allowed date to select from\n */\n minDate?: DateValue\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: DateValue\n\n /**\n * Clear button string\n */\n clearString?: string\n\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: CalendarDate) => void\n}\n\nexport const DatePickerBody = React.forwardRef<\n ElementRef<typeof StyledBody>,\n DatePickerBodyProps\n>((props, forwardRef) => {\n const {\n predefinedRanges,\n visibleMonths,\n onClear,\n minDate,\n maxDate,\n clearString,\n } = props\n const { locale } = useLocale()\n const state = useCalendarState({\n ...(props as CalendarProps<DateValue>),\n visibleDuration: visibleMonths,\n minValue: minDate,\n maxValue: maxDate,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useCalendar(\n props as AriaCalendarProps<DateValue>,\n state\n )\n\n const dateClick = useCallback(\n (selectedRange: PredefinedRange) => {\n if (selectedRange.date !== undefined) state.setValue(selectedRange.date)\n },\n [state]\n )\n\n return (\n <StyledBody ref={forwardRef}>\n <StyledBodyContent {...calendarProps}>\n {predefinedRanges !== undefined && (\n <PredefinedRanges range={predefinedRanges} onClick={dateClick} />\n )}\n <Flex direction='column'>\n <Header\n state={state}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n visibleMonths={visibleMonths}\n />\n <StyledGridContent>\n <StyledBodyContentLeft>\n <Grid state={state} />\n </StyledBodyContentLeft>\n {visibleMonths !== undefined && (\n <StyledBodyContentRight>\n <Grid state={state} offset={{ months: 1 }} />\n </StyledBodyContentRight>\n )}\n </StyledGridContent>\n {onClear !== undefined && (\n <StyledClearContent>\n <Button\n size='medium'\n onClick={onClear}\n disabled={state.value === null}\n >\n {clearString}\n </Button>\n </StyledClearContent>\n )}\n </Flex>\n </StyledBodyContent>\n </StyledBody>\n )\n})\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport { useDatePickerState } from 'react-stately'\nimport type { AriaDatePickerProps, DateValue } from 'react-aria'\nimport { useDatePicker } from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport { FieldButton } from '../partials/button'\nimport { TextField } from '../partials/text-field'\nimport { Popover } from '../partials/popover'\nimport {\n StyledDatePicker,\n StyledRangePickerInput,\n StyledRangePickerInputContent,\n} from './date-picker.styled'\nimport type { CalendarProps as ICalendarProps } from '../calendar'\nimport { DatePickerBody } from './date-picker-body'\n\nexport interface DatePickerProps\n extends Omit<ICalendarProps, 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: CalendarDate\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateValue) => void\n}\n\nexport const DatePicker = React.forwardRef<\n ElementRef<typeof StyledDatePicker>,\n DatePickerProps\n>((props, forwardRef) => {\n const {\n picker,\n predefinedRanges,\n visibleMonths,\n defaultValue,\n minDate,\n maxDate,\n children,\n clearString,\n defaultOpen,\n onClear,\n } = props\n\n const ref = useRef(null)\n\n const state = useDatePickerState(props as AriaDatePickerProps<CalendarDate>)\n const { groupProps, fieldProps, buttonProps, calendarProps } = useDatePicker(\n { ...(props as AriaDatePickerProps<CalendarDate>), isOpen: defaultOpen },\n state,\n ref\n )\n\n const clearState = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue(null)\n if (onClear !== undefined) {\n onClear()\n }\n }\n\n return (\n <>\n {picker === 'single' ? (\n <StyledDatePicker ref={forwardRef}>\n {children === undefined && (\n <StyledRangePickerInput {...groupProps} ref={ref}>\n <StyledRangePickerInputContent>\n <TextField {...fieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledRangePickerInputContent>\n </StyledRangePickerInput>\n )}\n {children !== undefined && (\n <div {...groupProps} ref={ref}>\n <FieldButton {...buttonProps} customButton>\n {children}\n </FieldButton>\n </div>\n )}\n {state.isOpen && (\n <Popover triggerRef={ref} state={state} placement='bottom start'>\n <DatePickerBody\n {...calendarProps}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={clearState}\n minDate={minDate}\n maxDate={maxDate}\n clearString={clearString}\n />\n </Popover>\n )}\n </StyledDatePicker>\n ) : (\n <DatePickerBody\n {...calendarProps}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={onClear !== undefined ? clearState : undefined}\n minDate={minDate}\n maxDate={maxDate}\n clearString={onClear !== undefined ? clearString : undefined}\n />\n )}\n </>\n )\n})\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef, ElementRef } from 'react'\nimport React from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\n\nimport { RangePicker } from './partials/range-picker'\nimport { DatePicker } from './partials/date-picker'\nimport type { PredefinedRange } from './partials/predefined-ranges'\n\nexport const StyledCalendar = styled(Primitive.div, {})\nexport type StyledCalendarProps = ComponentPropsWithRef<typeof StyledCalendar>\n\nexport interface CalendarProps\n extends Omit<StyledCalendarProps, 'defaultValue' | 'onChange'> {\n /**\n * Type of calendar\n */\n picker?: 'single' | 'range'\n\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: DateRange | CalendarDate\n\n /**\n * Set of predefined ranges\n */\n predefinedRanges?: PredefinedRange[]\n\n /**\n * By default it shows only one calendar, show more calendars\n */\n visibleMonths?: DateDuration\n\n /**\n * Minimum allowed date to select from\n */\n minDate?: CalendarDate\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: CalendarDate\n\n /**\n * Custom input element\n */\n children?: JSX.Element\n\n /**\n * Clear button string\n */\n clearString?: string\n\n /**\n * Calendar open by default\n */\n defaultOpen?: boolean\n\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateRange | DateValue) => void\n}\n\nexport const Calendar = React.forwardRef<\n ElementRef<typeof StyledCalendar>,\n CalendarProps\n>(({ picker, defaultValue, ...props }, forwardRef) => (\n <StyledCalendar ref={forwardRef}>\n {picker === 'range' ? (\n <RangePicker defaultValue={defaultValue as DateRange} {...props} />\n ) : (\n <DatePicker\n defaultValue={defaultValue as CalendarDate}\n {...props}\n picker={picker}\n />\n )}\n </StyledCalendar>\n))\n"],"names":["React","StyledRangePickerInput","StyledRangePickerInputContent","Button","bodyStyled.StyledBody","bodyStyled.StyledBodyContent","bodyStyled.StyledGridContent","bodyStyled.StyledBodyContentLeft","bodyStyled.StyledBodyContentRight","bodyStyled.StyledClearContent"],"mappings":";;;;;;;;;;;AAIa,MAAA,iBAAA,GAAoB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACrD,KAAO,EAAA,uBAAA;AAAA,EAEP,eAAiB,EAAA;AAAA,IACf,KAAO,EAAA,gBAAA;AAAA,GACT;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,aAAe,EAAA,MAAA;AAAA,IAEf,qBAAuB,EAAA;AAAA,MACrB,OAAS,EAAA,MAAA;AAAA,MACT,MAAQ,EAAA,GAAA;AAAA,MACR,KAAO,EAAA,uBAAA;AAAA,KACT;AAAA,GACF;AACF,CAAC,CAAA;;ACHD,MAAM,mBAAmBA,cAAM,CAAA,UAAA,CAG7B,CAAC,EAAE,OAAA,EAAS,OAAY,KAAA;AACxB,EAAM,MAAA,GAAA,GAAM,OAAO,IAAI,CAAA,CAAA;AACvB,EAAA,MAAM,EAAE,YAAa,EAAA,GAAI,cAAe,CAAA,OAAA,EAAS,OAAO,GAAG,CAAA,CAAA;AAE3D,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,iBAAA,EAAA;AAAA,IACE,GAAG,YAAA;AAAA,IACJ,GAAA;AAAA,IACA,YAAY,EAAA,KAAA,CAAM,KAAU,KAAA,IAAA,GAAO,EAAK,GAAA,KAAA,CAAA;AAAA,GAAA,kBAGvCA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IACC,aAAY,EAAA,MAAA;AAAA,IACZ,kBAAkB,EAAA,CAAC,OAAQ,CAAA,aAAA,GAAgB,EAAK,GAAA,KAAA,CAAA;AAAA,GAAA,EAE/C,QAAQ,WACX,CAAA,EACC,QAAQ,aAAgB,GAAA,EAAA,GAAK,QAAQ,IACxC,CAAA,CAAA;AAEJ,CAAC,CAAA,CAAA;AAEM,MAAM,YAAsD,CAAS,KAAA,KAAA;AAC1E,EAAM,MAAA,GAAA,GAAM,OAAO,IAAI,CAAA,CAAA;AACvB,EAAM,MAAA,EAAE,MAAO,EAAA,GAAI,SAAU,EAAA,CAAA;AAC7B,EAAA,MAAM,QAAQ,iBAAkB,CAAA;AAAA,IAC9B,GAAG,KAAA;AAAA,IACH,UAAY,EAAA,IAAA;AAAA,IACZ,MAAA;AAAA,IACA,cAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,EAAE,UAAW,EAAA,GAAI,YAAa,CAAA,KAAA,EAAO,OAAO,GAAG,CAAA,CAAA;AAErD,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAM,GAAG,UAAA;AAAA,IAAY,GAAA;AAAA,GAAA,EACnB,MAAM,QAAS,CAAA,GAAA,CAAI,CAAC,OAAA,EAAS,sBAC3BA,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA;AAAA,IAAiB,GAAK,EAAA,CAAA;AAAA,IAAG,OAAA;AAAA,IAAkB,KAAA;AAAA,GAAc,CAC3D,CACH,CAAA,CAAA;AAEJ,CAAA;;ACzDa,MAAA,YAAA,GAAe,MAAO,CAAA,SAAA,CAAU,MAAQ,EAAA;AAAA,EACnD,OAAS,EAAA,GAAA;AAAA,EACT,UAAY,EAAA,aAAA;AAAA,EACZ,MAAQ,EAAA,MAAA;AAAA,EACR,MAAQ,EAAA,SAAA;AAAA,EACR,KAAO,EAAA,gBAAA;AAAA,EAEP,aAAe,EAAA;AAAA,IACb,MAAQ,EAAA,aAAA;AAAA,GACV;AACF,CAAC,CAAA,CAAA;AAIY,MAAA,iBAAA,GAAoB,MAAO,CAAA,SAAA,CAAU,MAAQ,EAAA;AAAA,EACxD,OAAS,EAAA,GAAA;AAAA,EACT,UAAY,EAAA,aAAA;AAAA,EACZ,MAAQ,EAAA,MAAA;AAAA,EACR,MAAQ,EAAA,SAAA;AAAA,EACR,MAAQ,EAAA,MAAA;AAAA,EAER,aAAe,EAAA;AAAA,IACb,MAAQ,EAAA,aAAA;AAAA,GACV;AAAA,EAEA,OAAS,EAAA;AAAA,IACP,KAAO,EAAA,uBAAA;AAAA,IACP,MAAQ,EAAA,MAAA;AAAA,GACV;AAAA,EAEA,gBAAkB,EAAA;AAAA,IAChB,KAAO,EAAA,MAAA;AAAA,IACP,MAAQ,EAAA,OAAA;AAAA,GACV;AACF,CAAC,CAAA;;AC3BM,MAAM,MAAS,GAAAA,cAAA,CAAM,UAG1B,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAA,MAAM,EAAE,WAAA,EAAgB,GAAA,SAAA,CAAU,OAAO,UAAgC,CAAA,CAAA;AACzE,EAAM,MAAA,EAAE,UAAW,EAAA,GAAI,YAAa,EAAA,CAAA;AACpC,EAAM,MAAA,EAAE,UAAa,GAAA,KAAA,CAAA;AACrB,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,YAAA,EAAA;AAAA,IAAc,GAAG,UAAW,CAAA,WAAA,EAAa,UAAU,CAAA;AAAA,IAAG,GAAK,EAAA,UAAA;AAAA,GAAA,EACzD,QACH,CAAA,CAAA;AAEJ,CAAC,CAAA,CAAA;AAEM,MAAM,cAAqC,CAAS,KAAA,KAAA;AACzD,EAAM,MAAA,GAAA,GAAM,OAAO,IAAI,CAAA,CAAA;AACvB,EAAA,MAAM,EAAE,WAAA,EAAgB,GAAA,SAAA,CAAU,OAAO,GAAG,CAAA,CAAA;AAC5C,EAAA,MAAM,EAAE,YAAA,GAAe,KAAO,EAAA,QAAA,EAAa,GAAA,KAAA,CAAA;AAC3C,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,iBAAA,EAAA;AAAA,IACC,aAAA,EAAa,eAAe,EAAK,GAAA,KAAA,CAAA;AAAA,IAChC,GAAG,WAAA;AAAA,IACJ,GAAA;AAAA,GAAA,EAEC,QACH,CAAA,CAAA;AAEJ,CAAA;;AChCO,MAAM,UAKR,CAAS,KAAA,KAAA;AACZ,EAAM,MAAA,GAAA,GAAM,KAAM,CAAA,MAAA,CAAO,IAAI,CAAA,CAAA;AAC7B,EAAM,MAAA,EAAE,KAAO,EAAA,QAAA,EAAa,GAAA,KAAA,CAAA;AAC5B,EAAA,MAAM,EAAE,WAAA,EAAgB,GAAA,SAAA,CAAU,OAA0B,GAAG,CAAA,CAAA;AAE/D,EAAM,MAAA,EAAE,YAAc,EAAA,aAAA,EAAkB,GAAA,UAAA;AAAA,IACtC;AAAA,MACE,GAAG,KAAA;AAAA,MACH,UAAY,EAAA,GAAA;AAAA,KACd;AAAA,IACA,KAAA;AAAA,GACF,CAAA;AAEA,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,+BACE,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAK,GAAG,aAAA;AAAA,GAAe,mBACvB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAK,GAAG,YAAA;AAAA,IAAc,GAAA;AAAA,GAAA,kBACpB,KAAA,CAAA,aAAA,CAAA,aAAA,EAAA;AAAA,IAAc,WAAW,KAAM,CAAA,KAAA;AAAA,GAAO,mBACtC,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAK,GAAG,WAAA;AAAA,IAAa,GAAA;AAAA,GACnB,EAAA,QACH,mBACC,KAAA,CAAA,aAAA,CAAA,aAAA,EAAA;AAAA,IAAc,WAAW,KAAM,CAAA,KAAA;AAAA,GAAO,CACzC,CACF,CAAA,CAAA;AAEJ,CAAA;;AChCa,MAAA,iBAAA,GAAoB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACrD,OAAS,EAAA,cAAA;AACX,CAAC,CAAA,CAAA;AAEY,MAAAC,wBAAA,GAAyB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EAC1D,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,OAAS,EAAA,MAAA;AAAA,EACT,WAAa,EAAA,MAAA;AAAA,EACb,MAAQ,EAAA,4BAAA;AAAA,EACR,YAAc,EAAA,KAAA;AAAA,EACd,UAAY,EAAA,sBAAA;AAAA,EACZ,KAAO,EAAA,gBAAA;AAAA,EACP,QAAU,EAAA,OAAA;AAAA,EAEV,SAAW,EAAA;AAAA,IACT,MAAQ,EAAA,iCAAA;AAAA,IACR,MAAQ,EAAA,SAAA;AAAA,GACV;AACF,CAAC,CAAA,CAAA;AAEY,MAAAC,+BAAA,GAAgC,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACjE,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,QAAU,EAAA,MAAA;AAAA,EACV,UAAY,EAAA,MAAA;AAAA,EACZ,KAAO,EAAA,MAAA;AACT,CAAC,CAAA;;AC3BY,MAAA,sBAAA,GAAyB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EAC1D,OAAS,EAAA,MAAA;AAAA,EACT,aAAe,EAAA,QAAA;AAAA,EACf,WAAa,EAAA,4BAAA;AAAA,EACb,OAAS,EAAA,kBAAA;AAAA,EAET,UAAY,EAAA;AAAA,IACV,UAAY,EAAA,aAAA;AAAA,IACZ,MAAQ,EAAA,MAAA;AAAA,IACR,QAAU,EAAA,MAAA;AAAA,IACV,OAAS,EAAA,YAAA;AAAA,IACT,SAAW,EAAA,MAAA;AAAA,IACX,UAAY,EAAA,MAAA;AAAA,IACZ,KAAO,EAAA,gBAAA;AAAA,IACP,YAAc,EAAA,MAAA;AAAA,IACd,YAAc,EAAA,KAAA;AAAA,IACd,QAAU,EAAA,OAAA;AAAA,IACV,MAAQ,EAAA,SAAA;AAAA,IAER,SAAW,EAAA;AAAA,MACT,eAAiB,EAAA,qCAAA;AAAA,MACjB,KAAO,EAAA,wBAAA;AAAA,MACP,UAAY,EAAA,KAAA;AAAA,KACd;AAAA,GACF;AACF,CAAC,CAAA;;ACTY,MAAA,gBAAA,GAAmBF,eAAM,UAGpC,CAAA,CAAC,EAAE,KAAO,EAAA,OAAA,EAAW,EAAA,UAAA,qBACpBA,cAAA,CAAA,aAAA,CAAA,sBAAA,EAAA;AAAA,EAAuB,GAAK,EAAA,UAAA;AAAA,CAAA,EAC1B,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAI,CAAC,IAAA,EAAM,sBAChBA,cAAA,CAAA,aAAA,CAAAG,QAAA,EAAA;AAAA,EACC,OAAQ,EAAA,iBAAA;AAAA,EACR,IAAK,EAAA,QAAA;AAAA,EACL,GAAK,EAAA,CAAA;AAAA,EACL,IAAK,EAAA,QAAA;AAAA,EACL,OAAA,EAAS,MAAM,OAAA,CAAQ,IAAI,CAAA;AAAA,CAE1B,EAAA,IAAA,CAAK,KACR,CAAA,CAEJ,CACD,CAAA;;AChCY,MAAA,UAAA,GAAa,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EAC9C,OAAS,EAAA,cAAA;AAAA,EACT,UAAY,EAAA,sBAAA;AACd,CAAC,CAAA,CAAA;AAEY,MAAA,iBAAA,GAAoB,OAAO,IAAM,EAAA;AAAA,EAC5C,MAAQ,EAAA,QAAA;AAAA,EACR,SAAW,EAAA,MAAA;AAAA,EACX,UAAY,EAAA,sBAAA;AAAA,EACZ,YAAc,EAAA,MAAA;AAChB,CAAC,CAAA,CAAA;AAEY,MAAA,iBAAA,GAAoB,OAAO,IAAM,EAAA;AAAA,EAC5C,aAAe,EAAA,MAAA;AAAA,EAEf,wBAA0B,EAAA;AAAA,IACxB,WAAa,EAAA,MAAA;AAAA,IACb,YAAc,EAAA,MAAA;AAAA,GAChB;AAAA,EAEA,yBAA2B,EAAA;AAAA,IACzB,WAAa,EAAA,MAAA;AAAA,IACb,YAAc,EAAA,MAAA;AAAA,GAChB;AACF,CAAC,CAAA,CAAA;AAEY,MAAA,qBAAA,GAAwB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACzD,WAAa,EAAA,MAAA;AAAA,EACb,YAAc,EAAA,MAAA;AAChB,CAAC,CAAA,CAAA;AAEY,MAAA,sBAAA,GAAyB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EAC1D,WAAa,EAAA,MAAA;AAAA,EACb,YAAc,EAAA,MAAA;AAChB,CAAC,CAAA,CAAA;AAEY,MAAA,kBAAA,GAAqB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACtD,OAAS,EAAA,MAAA;AAAA,EACT,SAAW,EAAA,4BAAA;AACb,CAAC,CAAA;;ACzCY,MAAA,iBAAA,GAAoB,OAAO,IAAM,EAAA;AAAA,EAC5C,cAAgB,EAAA,QAAA;AAAA,EAChB,IAAM,EAAA,GAAA;AAAA,EACN,KAAO,EAAA,gBAAA;AACT,CAAC,CAAA,CAAA;AAEY,MAAA,YAAA,GAAe,OAAO,IAAM,EAAA;AAAA,EACvC,OAAS,EAAA,QAAA;AAAA,EACT,KAAO,EAAA,gBAAA;AACT,CAAC,CAAA;;ACKM,MAAM,SAA4B,CAAC;AAAA,EACxC,KAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA,aAAA;AACF,CAAM,KAAA;AACJ,EAAA,MAAM,qBAAqB,gBAAiB,CAAA;AAAA,IAC1C,KAAO,EAAA,MAAA;AAAA,IACP,IAAM,EAAA,SAAA;AAAA,IACN,UAAU,KAAM,CAAA,QAAA;AAAA,GACjB,CAAA,CAAA;AAED,EACE,uBAAAH,cAAA,CAAA,aAAA,CAAC,oCACEA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IAAQ,GAAG,eAAA;AAAA,GACV,kBAAAA,cAAA,CAAA,aAAA,CAAC,qBAAgB,CACnB,CAAA,+CACC,iBACC,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,YACE,kBAAmB,CAAA,MAAA;AAAA,IAClB,KAAM,CAAA,YAAA,CAAa,KAAM,CAAA,MAAA,CAAO,MAAM,QAAQ,CAAA;AAAA,GAElD,CACF,CACC,EAAA,aAAA,KAAkB,0BAChBA,cAAA,CAAA,aAAA,CAAA,iBAAA,EAAA,IAAA,kBACEA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,IAAA,EACE,kBAAmB,CAAA,MAAA;AAAA,IAClB,KAAA,CAAM,YAAa,CAAA,KAAA,CAAM,GAAI,CAAA,EAAE,MAAQ,EAAA,CAAA,EAAG,CAAA,CAAE,MAAO,CAAA,KAAA,CAAM,QAAQ,CAAA;AAAA,GAErE,CACF,CAAA,kBAEDA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IAAQ,GAAG,eAAA;AAAA,GACV,kBAAAA,cAAA,CAAA,aAAA,CAAC,gBAAiB,EAAA,IAAA,CACpB,CACF,CAAA,CAAA;AAEJ,CAAA;;ACnDa,MAAA,iBAAA,GAAoB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACrD,MAAQ,EAAA,MAAA;AAAA,EACR,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,cAAgB,EAAA,QAAA;AAAA,EAChB,YAAc,EAAA,KAAA;AAAA,EACd,KAAO,EAAA,gBAAA;AAAA,EAEP,eAAiB,EAAA;AAAA,IACf,KAAO,EAAA,eAAA;AAAA,GACT;AAAA,EAEA,iBAAmB,EAAA;AAAA,IACjB,KAAO,EAAA,uBAAA;AAAA,GACT;AAAA,EAEA,yBAA2B,EAAA;AAAA,IACzB,KAAO,EAAA,gBAAA;AAAA,GACT;AAAA,EAEA,mBAAqB,EAAA;AAAA,IACnB,YAAc,EAAA,KAAA;AAAA,IACd,UAAY,EAAA,wCAAA;AAAA,IACZ,KAAO,EAAA,wBAAA;AAAA,IACP,UAAY,EAAA,KAAA;AAAA,GACd;AAAA,EAEA,kBAAoB,EAAA;AAAA,IAClB,cAAgB,EAAA,cAAA;AAAA,IAChB,KAAO,EAAA,yBAAA;AAAA,GACT;AACF,CAAC,CAAA,CAAA;AAEY,MAAA,UAAA,GAAa,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EAC9C,MAAQ,EAAA,MAAA;AAAA,EACR,MAAQ,EAAA,SAAA;AAAA,EACR,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,cAAgB,EAAA,QAAA;AAAA,EAEhB,SAAW,EAAA;AAAA,IACT,UAAY,EAAA,kCAAA;AAAA,IAEZ,CAAC,KAAK,iBAAsB,CAAA,CAAA,GAAA;AAAA,MAC1B,UAAY,EAAA,qCAAA;AAAA,MACZ,KAAO,EAAA,wBAAA;AAAA,KACT;AAAA,GACF;AAAA,EAEA,kBAAoB,EAAA;AAAA,IAClB,UAAY,EAAA,kCAAA;AAAA,GACd;AAAA,EAEA,yBAA2B,EAAA;AAAA,IACzB,sBAAwB,EAAA,KAAA;AAAA,IACxB,mBAAqB,EAAA,KAAA;AAAA,GACvB;AAAA,EAEA,uBAAyB,EAAA;AAAA,IACvB,uBAAyB,EAAA,KAAA;AAAA,IACzB,oBAAsB,EAAA,KAAA;AAAA,GACxB;AAAA,EAEA,gBAAkB,EAAA;AAAA,IAChB,OAAS,EAAA,MAAA;AAAA,GACX;AAAA,EAEA,kBAAoB,EAAA;AAAA,IAClB,MAAQ,EAAA,aAAA;AAAA,IAER,SAAW,EAAA;AAAA,MACT,UAAY,EAAA,aAAA;AAAA,MAEZ,CAAC,KAAK,iBAAsB,CAAA,CAAA,GAAA;AAAA,QAC1B,UAAY,EAAA,aAAA;AAAA,QACZ,KAAO,EAAA,yBAAA;AAAA,OACT;AAAA,KACF;AAAA,GACF;AACF,CAAC,CAAA;;ACvDM,MAAM,OAAOA,cAAM,CAAA,UAAA;AAAA,EACxB,CAAC,OAAO,UAAe,KAAA;AACrB,IAAA,MAAM,EAAE,KAAA,EAAO,IAAM,EAAA,YAAA,EAAiB,GAAA,KAAA,CAAA;AACtC,IAAM,MAAA,GAAA,GAAM,OAAO,IAAI,CAAA,CAAA;AACvB,IAAA,MAAM,EAAE,SAAA,EAAW,WAAa,EAAA,UAAA,EAAY,UAAY,EAAA,aAAA,EACtD,GAAA,eAAA,CAAgB,EAAE,IAAA,EAAQ,EAAA,KAAA,EAAO,GAAG,CAAA,CAAA;AAEtC,IAAA,MAAM,cAAiB,GAAA,CAAC,WAAY,CAAA,YAAA,EAAc,IAAI,CAAA,CAAA;AAItD,IAAA,MAAM,gBACH,GAAA,KAAA,CAA6B,gBAAqB,KAAA,KAAA,CAAA,IAClD,KAA6B,CAAA,gBAAA,KAAqB,IAC/C,GAAA,SAAA,CAAU,IAAO,EAAA,KAAA,CAA6B,gBAAiB,CAAA,KAAK,CACpE,GAAA,UAAA,CAAA;AACN,IAAA,MAAM,cACH,GAAA,KAAA,CAA6B,gBAAqB,KAAA,KAAA,CAAA,IAClD,KAA6B,CAAA,gBAAA,KAAqB,IAC/C,GAAA,SAAA,CAAU,IAAO,EAAA,KAAA,CAA6B,gBAAiB,CAAA,GAAG,CAClE,GAAA,UAAA,CAAA;AAMN,IAAM,MAAA,EAAE,MAAO,EAAA,GAAI,SAAU,EAAA,CAAA;AAC7B,IAAM,MAAA,SAAA,GAAY,YAAa,CAAA,IAAA,EAAM,MAAM,CAAA,CAAA;AAC3C,IAAM,MAAA,YAAA,GAAe,SAAU,CAAA,IAAA,EAAM,MAAM,CAAA,CAAA;AAC3C,IAAA,MAAM,gBACJ,UAAe,KAAA,gBAAA,IAAoB,SAAc,KAAA,CAAA,IAAK,KAAK,GAAQ,KAAA,CAAA,CAAA,CAAA;AACrE,IAAM,MAAA,cAAA,GACJ,UACC,KAAA,cAAA,IACC,SAAc,KAAA,CAAA,IACd,KAAK,GAAQ,KAAA,IAAA,CAAK,QAAS,CAAA,cAAA,CAAe,IAAI,CAAA,CAAA,CAAA;AAElD,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,YAAa,EAAA,CAAA;AAEpC,IAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,MAAI,GAAG,SAAA;AAAA,KAAA,kBACLA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA;AAAA,MACE,GAAG,UAAW,CAAA,WAAA,EAAa,UAAU,CAAA;AAAA,MACtC,GAAK,EAAA,UAAA;AAAA,MACL,eAAA,EAAe,aAAa,EAAK,GAAA,KAAA,CAAA;AAAA,MACjC,sBAAA,EAAsB,gBAAgB,EAAK,GAAA,KAAA,CAAA;AAAA,MAC3C,oBAAA,EAAoB,iBAAiB,EAAK,GAAA,KAAA,CAAA;AAAA,MAC1C,eAAA,EAAe,aAAa,EAAK,GAAA,KAAA,CAAA;AAAA,MACjC,aAAA,EAAa,iBAAiB,EAAK,GAAA,KAAA,CAAA;AAAA,KAAA,kBAElCA,cAAA,CAAA,aAAA,CAAA,iBAAA,EAAA;AAAA,MACC,sBACE,EAAA,UAAA,IAAc,EAAE,gBAAA,IAAoB,kBAChC,EACA,GAAA,KAAA,CAAA;AAAA,MAEN,gBAAA,EAAgB,gBAAoB,IAAA,cAAA,GAAiB,EAAK,GAAA,KAAA,CAAA;AAAA,MAC1D,eAAA,EAAe,aAAa,EAAK,GAAA,KAAA,CAAA;AAAA,MACjC,cAAY,OAAQ,CAAA,IAAA,EAAM,gBAAiB,EAAC,IAAI,EAAK,GAAA,KAAA,CAAA;AAAA,MACrD,cAAA,EAAc,eAAe,EAAK,GAAA,KAAA,CAAA;AAAA,KAEjC,EAAA,aACH,CACF,CACF,CAAA,CAAA;AAAA,GAEJ;AACF,CAAA;;AC3Fa,MAAA,UAAA,GAAa,MAAO,CAAA,SAAA,CAAU,KAAO,EAAA;AAAA,EAChD,cAAgB,EAAA,UAAA;AAAA,EAChB,aAAe,EAAA,QAAA;AACjB,CAAC,CAAA,CAAA;AAEY,MAAA,UAAA,GAAa,MAAO,CAAA,SAAA,CAAU,EAAI,EAAA;AAAA,EAC7C,MAAQ,EAAA,MAAA;AAAA,EACR,KAAO,EAAA,gBAAA;AACT,CAAC,CAAA;;ACMM,MAAM,OAAOA,cAAM,CAAA,UAAA;AAAA,EACxB,CAAC,OAAO,UAAe,KAAA;AACrB,IAAM,MAAA,EAAE,MAAO,EAAA,GAAI,SAAU,EAAA,CAAA;AAC7B,IAAA,MAAM,EAAE,KAAA,EAAO,MAAS,GAAA,IAAO,GAAA,KAAA,CAAA;AAC/B,IAAA,MAAM,SAA0B,GAAA,KAAA,CAAM,YAAa,CAAA,KAAA,CAAM,IAAI,MAAM,CAAA,CAAA;AACnE,IAAA,MAAM,EAAE,SAAA,EAAW,WAAa,EAAA,QAAA,EAAa,GAAA,eAAA;AAAA,MAC3C,KAAA;AAAA,MACA,KAAA;AAAA,KACF,CAAA;AAGA,IAAM,MAAA,YAAA,GAAe,eAAgB,CAAA,SAAA,EAAW,MAAM,CAAA,CAAA;AAEtD,IAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA;AAAA,MAAW,GAAK,EAAA,UAAA;AAAA,MAAa,GAAG,SAAA;AAAA,MAAW,WAAY,EAAA,GAAA;AAAA,KAAA,kBACrDA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA;AAAA,MAAO,GAAG,WAAA;AAAA,KAAA,+CACR,IACE,EAAA,IAAA,EAAA,QAAA,CAAS,IAAI,CAAC,GAAA,EAAK,sBACjBA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA;AAAA,MAAW,GAAK,EAAA,CAAA;AAAA,KACf,kBAAAA,cAAA,CAAA,aAAA,CAAC,aAAK,GAAI,CACZ,CACD,CACH,CACF,mBACCA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,IAAA,EACE,MAAM,IAAK,CAAA,KAAA,CAAM,YAAY,CAAE,CAAA,IAAA,EAAM,CAAE,CAAA,GAAA,CAAI,+BACzCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,MAAG,GAAK,EAAA,SAAA;AAAA,KAAA,EACN,KACE,CAAA,cAAA,CAAe,SAAW,EAAA,SAAS,CACnC,CAAA,GAAA;AAAA,MAAI,CAAC,IAAA,EAA2B,CAC/B,KAAA,IAAA,KAAS,uBACNA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,QACC,GAAK,EAAA,CAAA;AAAA,QACL,KAAA;AAAA,QACA,IAAA;AAAA,QACA,YAAc,EAAA,SAAA;AAAA,OAChB,oBAECA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,QAAG,GAAK,EAAA,CAAA;AAAA,OAAG,CAAA;AAAA,KAGpB,CACD,CACH,CACF,CAAA,CAAA;AAAA,GAEJ;AACF,CAAA;;AC3BO,MAAM,WAAc,GAAAA,cAAA,CAAM,UAG/B,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAM,MAAA;AAAA,IACJ,gBAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,aAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,GACE,GAAA,KAAA,CAAA;AACJ,EAAA,MAAM,KAAQ,GAAA,uBAAA;AAAA,IACZ,KAAA;AAAA,GACF,CAAA;AACA,EAAM,MAAA,GAAA,GAAM,OAAO,IAAI,CAAA,CAAA;AACvB,EAAM,MAAA,EAAE,MAAO,EAAA,GAAI,SAAU,EAAA,CAAA;AAE7B,EAAA,MAAM,EAAE,UAAA,EAAY,eAAiB,EAAA,aAAA,EAAe,aAClD,GAAA,kBAAA;AAAA,IACE;AAAA,MACE,GAAI,KAAA;AAAA,MACJ,MAAQ,EAAA,WAAA;AAAA,KACV;AAAA,IACA,KAAA;AAAA,IACA,GAAA;AAAA,GACF,CAAA;AAEF,EAAM,MAAA,MAAA,GAAS,CAAC,KAA2B,KAAA;AACzC,IAAA,KAAA,CAAM,SAAS,KAAK,CAAA,CAAA;AACpB,IAAA,KAAA,CAAM,KAAM,EAAA,CAAA;AAAA,GACd,CAAA;AAEA,EAAA,MAAM,aAAa,qBAAsB,CAAA;AAAA,IACvC,GAAG,KAAA;AAAA,IACH,eAAiB,EAAA,aAAA;AAAA,IACjB,QAAU,EAAA,OAAA;AAAA,IACV,QAAU,EAAA,OAAA;AAAA,IACV,SAAW,EAAA,IAAA;AAAA,IACX,aAAe,EAAA,KAAA;AAAA,IACf,QAAU,EAAA,MAAA;AAAA,IACV,MAAA;AAAA,IACA,cAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,EAAE,aAAA,EAAe,eAAiB,EAAA,eAAA,EAAoB,GAAA,gBAAA;AAAA,IAC1D,KAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAA;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,UAAa,GAAA,WAAA;AAAA,IACjB,CAAC,aAAmC,KAAA;AAClC,MAAI,IAAA,aAAA,CAAc,UAAU,KAAW,CAAA,EAAA;AACrC,QAAM,KAAA,CAAA,QAAA,CAAS,cAAc,KAAK,CAAA,CAAA;AAClC,QAAW,UAAA,CAAA,QAAA,CAAS,cAAc,KAAK,CAAA,CAAA;AAAA,OACzC;AAAA,KACF;AAAA,IACA,CAAC,YAAY,KAAK,CAAA;AAAA,GACpB,CAAA;AAEA,EAAA,MAAM,QAAQ,MAAY;AAGxB,IAAA,KAAA,CAAM,SAAS,EAAE,KAAA,EAAO,IAAM,EAAA,GAAA,EAAK,MAAM,CAAA,CAAA;AACzC,IAAA,IAAI,YAAY,KAAW,CAAA,EAAA;AACzB,MAAQ,OAAA,EAAA,CAAA;AACR,MAAA,KAAA,CAAM,KAAM,EAAA,CAAA;AAAA,KACd;AAAA,GACF,CAAA;AAEA,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,iBAAA,EAAA;AAAA,IAAkB,GAAK,EAAA,UAAA;AAAA,GACrB,EAAA,QAAA,KAAa,0BACXA,cAAA,CAAA,aAAA,CAAAC,wBAAA,EAAA;AAAA,IAAwB,GAAG,UAAA;AAAA,IAAY,GAAA;AAAA,GACtC,kBAAAD,cAAA,CAAA,aAAA,CAACE,uDACEF,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAA,IAAW,GAAG,eAAA;AAAA,GAAiB,mBAC/BA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IAAK,aAAY,EAAA,MAAA;AAAA,GAAO,EAAA,QAAC,mBACzBA,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAA,IAAW,GAAG,aAAA;AAAA,GAAe,mBAC7BA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,GAAA,EAAK,EAAE,UAAA,EAAY,MAAO,EAAA;AAAA,GAAA,kBAC7BA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA;AAAA,IAAa,GAAG,WAAA;AAAA,GACf,kBAAAA,cAAA,CAAA,aAAA,CAAC,uBAAkB,CACrB,CACF,CACF,CACF,CAAA,EAED,QAAa,KAAA,IAAA,oBACXA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAK,GAAG,UAAA;AAAA,IAAY,GAAA;AAAA,GAAA,kBAClBA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA;AAAA,IAAa,GAAG,WAAA;AAAA,IAAa,YAAY,EAAA,IAAA;AAAA,GAAA,EACvC,QACH,CACF,CAED,EAAA,KAAA,CAAM,0BACJA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA;AAAA,IAAQ,UAAY,EAAA,GAAA;AAAA,IAAK,KAAA;AAAA,IAAc,SAAU,EAAA,cAAA;AAAA,GAChD,kBAAAA,cAAA,CAAA,aAAA,CAACI,UAAA,EAAA;AAAA,IAAsB,GAAK,EAAA,UAAA;AAAA,GAAA,+CACzBC,iBAAW,EAAX,IACE,EAAA,gBAAA,KAAqB,0BACnBL,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA;AAAA,IACC,KAAO,EAAA,gBAAA;AAAA,IACP,OAAS,EAAA,UAAA;AAAA,GACX,mBAGDA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,SAAU,EAAA,QAAA;AAAA,IAAU,GAAG,aAAA;AAAA,GAAA,kBAC1BA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IACC,KAAO,EAAA,UAAA;AAAA,IACP,eAAA;AAAA,IACA,eAAA;AAAA,IACA,aAAA;AAAA,GACF,CAAA,+CACCM,iBAAW,EAAX,sBACEN,cAAA,CAAA,aAAA,CAAAO,qBAAA,EAAA,IAAA,kBACEP,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,KAAO,EAAA,UAAA;AAAA,GAAY,CAC3B,GACC,aAAkB,KAAA,KAAA,CAAA,iDAChBQ,sBAAW,EAAX,sBACER,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IACC,QAAU,EAAA,MAAA;AAAA,IACV,KAAO,EAAA,UAAA;AAAA,IACP,MAAA,EAAQ,EAAE,MAAA,EAAQ,CAAE,EAAA;AAAA,GACtB,CACF,CAEJ,CAEC,EAAA,OAAA,KAAY,0BACVA,cAAA,CAAA,aAAA,CAAAS,kBAAA,EAAA,IAAA,kBACET,cAAA,CAAA,aAAA,CAAAG,QAAA,EAAA;AAAA,IACC,IAAK,EAAA,QAAA;AAAA,IACL,IAAK,EAAA,QAAA;AAAA,IACL,OAAS,EAAA,KAAA;AAAA,IACT,QAAA,EAAU,WAAW,KAAU,KAAA,IAAA;AAAA,GAAA,EAE9B,WACH,CACF,CAEJ,CACF,CACF,CACF,CAEJ,CAAA,CAAA;AAEJ,CAAC,CAAA;;ACtLY,MAAA,sBAAA,GAAyB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EAC1D,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,OAAS,EAAA,MAAA;AAAA,EACT,WAAa,EAAA,MAAA;AAAA,EACb,MAAQ,EAAA,4BAAA;AAAA,EACR,YAAc,EAAA,KAAA;AAAA,EACd,UAAY,EAAA,sBAAA;AAAA,EACZ,KAAO,EAAA,gBAAA;AAAA,EACP,QAAU,EAAA,OAAA;AAAA,EAEV,SAAW,EAAA;AAAA,IACT,MAAQ,EAAA,iCAAA;AAAA,IACR,MAAQ,EAAA,SAAA;AAAA,GACV;AACF,CAAC,CAAA,CAAA;AAEY,MAAA,6BAAA,GAAgC,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACjE,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,QAAU,EAAA,MAAA;AAAA,EACV,UAAY,EAAA,MAAA;AAAA,EACZ,KAAO,EAAA,MAAA;AACT,CAAC,CAAA,CAAA;AAEY,MAAA,gBAAA,GAAmB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACpD,OAAS,EAAA,cAAA;AACX,CAAC,CAAA;;ACoCM,MAAM,cAAiB,GAAAH,cAAA,CAAM,UAGlC,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAM,MAAA;AAAA,IACJ,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,GACE,GAAA,KAAA,CAAA;AACJ,EAAM,MAAA,EAAE,MAAO,EAAA,GAAI,SAAU,EAAA,CAAA;AAC7B,EAAA,MAAM,QAAQ,gBAAiB,CAAA;AAAA,IAC7B,GAAI,KAAA;AAAA,IACJ,eAAiB,EAAA,aAAA;AAAA,IACjB,QAAU,EAAA,OAAA;AAAA,IACV,QAAU,EAAA,OAAA;AAAA,IACV,MAAA;AAAA,IACA,cAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,EAAE,aAAA,EAAe,eAAiB,EAAA,eAAA,EAAoB,GAAA,WAAA;AAAA,IAC1D,KAAA;AAAA,IACA,KAAA;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,SAAY,GAAA,WAAA;AAAA,IAChB,CAAC,aAAmC,KAAA;AAClC,MAAA,IAAI,cAAc,IAAS,KAAA,KAAA,CAAA;AAAW,QAAM,KAAA,CAAA,QAAA,CAAS,cAAc,IAAI,CAAA,CAAA;AAAA,KACzE;AAAA,IACA,CAAC,KAAK,CAAA;AAAA,GACR,CAAA;AAEA,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA;AAAA,IAAW,GAAK,EAAA,UAAA;AAAA,GAAA,kBACdA,cAAA,CAAA,aAAA,CAAA,iBAAA,EAAA;AAAA,IAAmB,GAAG,aAAA;AAAA,GACpB,EAAA,gBAAA,KAAqB,0BACnBA,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA;AAAA,IAAiB,KAAO,EAAA,gBAAA;AAAA,IAAkB,OAAS,EAAA,SAAA;AAAA,GAAW,mBAEhEA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,SAAU,EAAA,QAAA;AAAA,GAAA,kBACbA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IACC,KAAA;AAAA,IACA,eAAA;AAAA,IACA,eAAA;AAAA,IACA,aAAA;AAAA,GACF,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,iBACC,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,6CACEA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,KAAA;AAAA,GAAc,CACtB,CACC,EAAA,aAAA,KAAkB,KACjB,CAAA,oBAAAA,cAAA,CAAA,aAAA,CAAC,8CACEA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,KAAA;AAAA,IAAc,MAAA,EAAQ,EAAE,MAAA,EAAQ,CAAE,EAAA;AAAA,GAAG,CAC7C,CAEJ,CAAA,EACC,YAAY,KACX,CAAA,oBAAAA,cAAA,CAAA,aAAA,CAAC,0CACEA,cAAA,CAAA,aAAA,CAAAG,QAAA,EAAA;AAAA,IACC,IAAK,EAAA,QAAA;AAAA,IACL,OAAS,EAAA,OAAA;AAAA,IACT,QAAA,EAAU,MAAM,KAAU,KAAA,IAAA;AAAA,GAAA,EAEzB,WACH,CACF,CAEJ,CACF,CACF,CAAA,CAAA;AAEJ,CAAC,CAAA;;AC1GM,MAAM,UAAa,GAAAH,cAAA,CAAM,UAG9B,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAM,MAAA;AAAA,IACJ,MAAA;AAAA,IACA,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,YAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,GACE,GAAA,KAAA,CAAA;AAEJ,EAAM,MAAA,GAAA,GAAM,OAAO,IAAI,CAAA,CAAA;AAEvB,EAAM,MAAA,KAAA,GAAQ,mBAAmB,KAA0C,CAAA,CAAA;AAC3E,EAAA,MAAM,EAAE,UAAA,EAAY,UAAY,EAAA,WAAA,EAAa,eAAkB,GAAA,aAAA;AAAA,IAC7D,EAAE,GAAI,KAA6C,EAAA,MAAA,EAAQ,WAAY,EAAA;AAAA,IACvE,KAAA;AAAA,IACA,GAAA;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,aAAa,MAAY;AAG7B,IAAA,KAAA,CAAM,SAAS,IAAI,CAAA,CAAA;AACnB,IAAA,IAAI,YAAY,KAAW,CAAA,EAAA;AACzB,MAAQ,OAAA,EAAA,CAAA;AAAA,KACV;AAAA,GACF,CAAA;AAEA,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EACG,MAAW,KAAA,QAAA,mBACTA,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA;AAAA,IAAiB,GAAK,EAAA,UAAA;AAAA,GACpB,EAAA,QAAA,KAAa,0BACXA,cAAA,CAAA,aAAA,CAAA,sBAAA,EAAA;AAAA,IAAwB,GAAG,UAAA;AAAA,IAAY,GAAA;AAAA,GACtC,kBAAAA,cAAA,CAAA,aAAA,CAAC,qDACEA,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAA,IAAW,GAAG,UAAA;AAAA,GAAY,mBAC1BA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,GAAA,EAAK,EAAE,UAAA,EAAY,MAAO,EAAA;AAAA,GAAA,kBAC7BA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA;AAAA,IAAa,GAAG,WAAA;AAAA,GACf,kBAAAA,cAAA,CAAA,aAAA,CAAC,uBAAkB,CACrB,CACF,CACF,CACF,CAAA,EAED,QAAa,KAAA,KAAA,CAAA,oBACXA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAK,GAAG,UAAA;AAAA,IAAY,GAAA;AAAA,GAAA,kBAClBA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA;AAAA,IAAa,GAAG,WAAA;AAAA,IAAa,YAAY,EAAA,IAAA;AAAA,GAAA,EACvC,QACH,CACF,CAED,EAAA,KAAA,CAAM,0BACJA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA;AAAA,IAAQ,UAAY,EAAA,GAAA;AAAA,IAAK,KAAA;AAAA,IAAc,SAAU,EAAA,cAAA;AAAA,GAAA,kBAC/CA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA;AAAA,IACE,GAAG,aAAA;AAAA,IACJ,YAAA;AAAA,IACA,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,OAAS,EAAA,UAAA;AAAA,IACT,OAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,GACF,CACF,CAEJ,CAAA,mBAECA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA;AAAA,IACE,GAAG,aAAA;AAAA,IACJ,YAAA;AAAA,IACA,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,OAAA,EAAS,OAAY,KAAA,KAAA,CAAA,GAAY,UAAa,GAAA,KAAA,CAAA;AAAA,IAC9C,OAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA,EAAa,OAAY,KAAA,KAAA,CAAA,GAAY,WAAc,GAAA,KAAA,CAAA;AAAA,GACrD,CAEJ,CAAA,CAAA;AAEJ,CAAC,CAAA;;AC7GM,MAAM,cAAiB,GAAA,MAAA,CAAO,SAAU,CAAA,GAAA,EAAK,EAAE,CAAA,CAAA;AA6DzC,MAAA,QAAA,GAAWA,cAAM,CAAA,UAAA,CAG5B,CAAC,EAAE,QAAQ,YAAiB,EAAA,GAAA,KAAA,EAAS,EAAA,UAAA,qBACpCA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA;AAAA,EAAe,GAAK,EAAA,UAAA;AAAA,CAClB,EAAA,MAAA,KAAW,0BACTA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA;AAAA,EAAY,YAAA;AAAA,EAA0C,GAAG,KAAA;AAAA,CAAO,oBAEhEA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA;AAAA,EACC,YAAA;AAAA,EACC,GAAG,KAAA;AAAA,EACJ,MAAA;AAAA,CACF,CAEJ,CACD;;;;"}
|
|
1
|
+
{"version":3,"file":"module.js","sources":["../src/partials/text-field.styled.tsx","../src/partials/text-field.tsx","../src/partials/button.styled.tsx","../src/partials/button.tsx","../src/partials/popover.tsx","../src/partials/range-picker.styled.tsx","../src/partials/predefined-ranges.styled.tsx","../src/partials/predefined-ranges.tsx","../src/partials/body.styled.tsx","../src/partials/header.styled.tsx","../src/partials/header.tsx","../src/partials/cell.styled.tsx","../src/partials/cell.tsx","../src/partials/grid.styled.tsx","../src/partials/grid.tsx","../src/partials/range-picker.tsx","../src/partials/date-picker.styled.tsx","../src/partials/date-picker-body.tsx","../src/partials/date-picker.tsx","../src/calendar.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledDataSegment = styled(Primitive.div, {\n color: '$text-neutrals-subtle',\n\n '&[data-value]': {\n color: '$text-neutrals',\n },\n\n '& span': {\n pointerEvents: 'none',\n\n '&[data-placeholder]': {\n display: 'none',\n height: '0',\n color: '$text-neutrals-subtle',\n },\n },\n})\nexport type StyledDateSegmentProps = ComponentPropsWithRef<\n typeof StyledDataSegment\n>\n","import React, { useRef } from 'react'\nimport type { ElementRef } from 'react'\nimport type { DateFieldState, DateSegment } from 'react-stately'\nimport { useDateFieldState } from 'react-stately'\nimport type { AriaDatePickerProps, DateValue } from 'react-aria'\nimport { useDateField, useDateSegment, useLocale } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport type { StyledDateSegmentProps } from './text-field.styled'\nimport { StyledDataSegment } from './text-field.styled'\n\nexport interface DataSegmentProps extends StyledDateSegmentProps {\n segment: DateSegment\n state: DateFieldState\n}\n\nconst FieldDateSegment: React.FC<DataSegmentProps> = ({ segment, state }) => {\n const ref = useRef(null)\n const { segmentProps } = useDateSegment(segment, state, ref)\n\n return (\n <StyledDataSegment\n {...segmentProps}\n ref={ref}\n data-value={state.value !== null ? '' : undefined}\n >\n {/* Always reserve space for the placeholder, to prevent layout shift when editing. */}\n <span\n aria-hidden='true'\n data-placeholder={!segment.isPlaceholder ? '' : undefined}\n >\n {segment.placeholder}\n </span>\n {segment.isPlaceholder ? '' : segment.text}\n </StyledDataSegment>\n )\n}\n\nexport const TextField = React.forwardRef<\n ElementRef<typeof Flex>,\n AriaDatePickerProps<DateValue>\n>((props, forwardRef) => {\n const ref = useRef(null)\n const { locale } = useLocale()\n const state = useDateFieldState({\n ...props,\n isReadOnly: true,\n locale,\n createCalendar,\n })\n\n const { fieldProps } = useDateField(props, state, ref)\n\n return (\n <Flex {...fieldProps} ref={forwardRef}>\n {state.segments.map((segment, i) => (\n <FieldDateSegment key={i} segment={segment} state={state} />\n ))}\n </Flex>\n )\n})\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledButton = styled(Primitive.button, {\n padding: '0',\n backgroundColor: '$transparent',\n border: 'none',\n cursor: 'pointer',\n color: '$text-neutrals',\n\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n})\n\nexport type StyledButtonProps = ComponentPropsWithRef<typeof StyledButton>\n\nexport const StyledFieldButton = styled(Primitive.button, {\n padding: '0',\n backgroundColor: '$transparent',\n border: 'none',\n cursor: 'pointer',\n square: '28px',\n\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n\n '& svg': {\n color: '$text-neutrals-subtle',\n square: '22px',\n },\n\n '&[data-custom]': {\n width: '100%',\n height: 'unset',\n },\n})\n","import type { ElementRef, RefObject } from 'react'\nimport React from 'react'\nimport type { AriaButtonProps } from 'react-aria'\nimport { useButton, useFocusRing, mergeProps } from 'react-aria'\n\nimport { StyledButton, StyledFieldButton } from './button.styled'\n\ninterface ButtonProps extends AriaButtonProps<'button'> {\n customButton?: boolean\n}\n\nexport const Button = React.forwardRef<\n ElementRef<typeof StyledButton>,\n AriaButtonProps<'button'>\n>((props, forwardRef) => {\n const { buttonProps } = useButton(props, forwardRef as RefObject<Element>)\n const { focusProps } = useFocusRing()\n const { children } = props\n return (\n <StyledButton {...mergeProps(buttonProps, focusProps)} ref={forwardRef}>\n {children}\n </StyledButton>\n )\n})\n\nexport const FieldButton = React.forwardRef<\n ElementRef<typeof StyledFieldButton>,\n ButtonProps\n>((props, forwardRef) => {\n const { buttonProps } = useButton(props, forwardRef as RefObject<Element>)\n const { customButton = false, children } = props\n return (\n <StyledFieldButton\n data-custom={customButton ? '' : undefined}\n {...buttonProps}\n ref={forwardRef}\n >\n {children}\n </StyledFieldButton>\n )\n})\n","/* eslint-disable react/jsx-handler-names */\nimport * as React from 'react'\nimport type { Placement, AriaDialogProps } from 'react-aria'\nimport { usePopover, DismissButton, Overlay, useDialog } from 'react-aria'\nimport type { DatePickerState, DateRangePickerState } from 'react-stately'\n\nexport const Popover: React.FC<{\n state: DateRangePickerState | DatePickerState\n triggerRef: React.RefObject<Element>\n placement: Placement\n children: JSX.Element\n}> = props => {\n const ref = React.useRef(null)\n const { state, children } = props\n const { dialogProps } = useDialog(props as AriaDialogProps, ref)\n\n const { popoverProps, underlayProps } = usePopover(\n {\n ...props,\n popoverRef: ref,\n },\n state\n )\n\n return (\n <Overlay>\n <div {...underlayProps} />\n <div {...popoverProps} ref={ref}>\n <DismissButton onDismiss={state.close} />\n <div {...dialogProps} ref={ref}>\n {children}\n </div>\n <DismissButton onDismiss={state.close} />\n </div>\n </Overlay>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledRangePicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport const StyledRangePickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n padding: '$100',\n paddingLeft: '$150',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledRangePickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n})\n\nexport type StyledRangePickerProps = ComponentPropsWithRef<\n typeof StyledRangePicker\n>\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledPredefinedRanges = styled(Primitive.div, {\n display: 'flex',\n flexDirection: 'column',\n borderRight: '1px solid $border-neutrals',\n padding: '$300 $200 0 $200',\n\n '& button': {\n backgroundColor: '$transparent',\n border: 'none',\n fontSize: '$200',\n padding: '0 0 0 $100',\n textAlign: 'left',\n lineHeight: '24px',\n color: '$text-neutrals',\n marginBottom: '$150',\n borderRadius: '$50',\n minWidth: '125px',\n cursor: 'pointer',\n\n '&:hover': {\n backgroundColor: '$background-primary-prominent-hover',\n color: '$text-primary-inverted',\n fontWeight: '600',\n },\n },\n})\n\nexport type StyledPredefinedRangesProps = ComponentPropsWithRef<\n typeof StyledPredefinedRanges\n>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate } from '@internationalized/date'\nimport type { DateRange } from 'react-aria'\nimport { Button } from '@mirohq/design-system-button'\n\nimport { StyledPredefinedRanges } from './predefined-ranges.styled'\n\nexport interface PredefinedRange {\n id: string\n label: string\n date?: CalendarDate\n range?: DateRange\n}\n\nexport interface PredefinedRangesProps {\n range: PredefinedRange[]\n onClick: (range: PredefinedRange) => void\n}\n\nexport const PredefinedRanges = React.forwardRef<\n ElementRef<typeof StyledPredefinedRanges>,\n PredefinedRangesProps\n>(({ range, onClick }, forwardRef) => (\n <StyledPredefinedRanges ref={forwardRef}>\n {range?.map((date, i) => (\n <Button\n variant='ghost-prominent'\n size='medium'\n key={i}\n type='button'\n onClick={() => onClick(date)}\n >\n {date.label}\n </Button>\n ))}\n </StyledPredefinedRanges>\n))\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\n\nexport const StyledBody = styled(Primitive.div, {\n display: 'inline-block',\n background: '$background-neutrals',\n})\n\nexport const StyledBodyContent = styled(Flex, {\n margin: '0 auto',\n boxShadow: '$100',\n background: '$background-neutrals',\n borderRadius: '$100',\n})\n\nexport const StyledGridContent = styled(Flex, {\n paddingBottom: '$200',\n\n '& [data-left-calendar]': {\n paddingLeft: '$200',\n paddingRight: '$100',\n },\n\n '& [data-right-calendar]': {\n paddingLeft: '$100',\n paddingRight: '$200',\n },\n})\n\nexport const StyledBodyContentLeft = styled(Primitive.div, {\n paddingLeft: '$200',\n paddingRight: '$100',\n})\n\nexport const StyledBodyContentRight = styled(Primitive.div, {\n paddingLeft: '$100',\n paddingRight: '$200',\n})\n\nexport const StyledClearContent = styled(Primitive.div, {\n padding: '$200',\n borderTop: '1px solid $border-neutrals',\n})\n\nexport type StyledBodyProps = ComponentPropsWithRef<typeof StyledBody>\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Flex } from '@mirohq/design-system-flex'\n\nexport const StyledHeaderTitle = styled(Flex, {\n justifyContent: 'center',\n flex: '3',\n color: '$text-neutrals',\n})\n\nexport const StyledHeader = styled(Flex, {\n padding: '0 $200',\n color: '$text-neutrals',\n})\n","import React from 'react'\nimport { useDateFormatter } from 'react-aria'\nimport type { AriaButtonProps } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\nimport { IconChevronLeft, IconChevronRight } from '@mirohq/design-system-icons'\nimport type { DateDuration } from '@internationalized/date'\n\nimport { Button } from './button'\nimport { StyledHeader, StyledHeaderTitle } from './header.styled'\n\ninterface IHeader {\n state: RangeCalendarState | CalendarState\n prevButtonProps: AriaButtonProps<'button'>\n nextButtonProps: AriaButtonProps<'button'>\n visibleMonths?: DateDuration\n}\n\nexport const Header: React.FC<IHeader> = ({\n state,\n prevButtonProps,\n nextButtonProps,\n visibleMonths,\n}) => {\n const monthDateFormatter = useDateFormatter({\n month: 'long',\n year: 'numeric',\n timeZone: state.timeZone,\n })\n\n return (\n <StyledHeader>\n <Button {...prevButtonProps}>\n <IconChevronLeft />\n </Button>\n <StyledHeaderTitle>\n <h2>\n {monthDateFormatter.format(\n state.visibleRange.start.toDate(state.timeZone)\n )}\n </h2>\n </StyledHeaderTitle>\n {visibleMonths !== undefined && (\n <StyledHeaderTitle>\n <h2>\n {monthDateFormatter.format(\n state.visibleRange.start.add({ months: 1 }).toDate(state.timeZone)\n )}\n </h2>\n </StyledHeaderTitle>\n )}\n <Button {...nextButtonProps}>\n <IconChevronRight />\n </Button>\n </StyledHeader>\n )\n}\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledCellContent = styled(Primitive.div, {\n square: '28px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '$50',\n color: '$text-neutrals',\n\n '&[data-today]': {\n color: '$text-primary',\n },\n\n '&[data-weekend]': {\n color: '$text-neutrals-subtle',\n },\n\n '&[data-selected-middle]': {\n color: '$text-neutrals',\n },\n\n '&[data-selection]': {\n borderRadius: '$50',\n background: '$background-primary-prominent-selected',\n color: '$text-primary-inverted',\n fontWeight: '600',\n },\n\n '&[data-disabled]': {\n textDecoration: 'line-through',\n color: '$text-neutrals-disabled',\n },\n})\n\nexport const StyledCell = styled(Primitive.div, {\n square: '36px',\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n\n '&:hover': {\n background: '$background-primary-subtle-hover',\n\n [`& ${StyledCellContent}`]: {\n background: '$background-primary-prominent-hover',\n color: '$text-primary-inverted',\n },\n },\n\n '&[data-selected]': {\n background: '$background-primary-subtle-hover',\n },\n\n '&[data-selection-start]': {\n borderBottomLeftRadius: '$lg',\n borderTopLeftRadius: '$lg',\n },\n\n '&[data-selection-end]': {\n borderBottomRightRadius: '$lg',\n borderTopRightRadius: '$lg',\n },\n\n '&[data-hidden]': {\n display: 'none',\n },\n\n '&[data-disabled]': {\n cursor: 'not-allowed',\n\n '&:hover': {\n backgroundColor: '$transparent',\n\n [`& ${StyledCellContent}`]: {\n backgroundColor: '$transparent',\n color: '$text-neutrals-disabled',\n },\n },\n },\n})\n\nexport type StyledCellProps = ComponentPropsWithRef<typeof StyledCell>\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport {\n useCalendarCell,\n useLocale,\n useFocusRing,\n mergeProps,\n} from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport {\n isSameDay,\n getDayOfWeek,\n isSameMonth,\n isToday,\n getLocalTimeZone,\n isWeekend,\n} from '@internationalized/date'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport type { StyledCellProps } from './cell.styled'\nimport { StyledCell, StyledCellContent } from './cell.styled'\n\nexport interface CellProps extends StyledCellProps {\n state: RangeCalendarState | CalendarState\n date: CalendarDate\n currentMonth: CalendarDate\n}\n\nexport const Cell = React.forwardRef<ElementRef<typeof StyledCell>, CellProps>(\n (props, forwardRef) => {\n const { state, date, currentMonth } = props\n const ref = useRef(null)\n const { cellProps, buttonProps, isSelected, isDisabled, formattedDate } =\n useCalendarCell({ date }, state, ref)\n\n const isOutsideMonth = !isSameMonth(currentMonth, date)\n\n // The start and end date of the selected range will have\n // an emphasized appearance.\n const isSelectionStart =\n (state as RangeCalendarState).highlightedRange !== undefined &&\n (state as RangeCalendarState).highlightedRange !== null\n ? isSameDay(date, (state as RangeCalendarState).highlightedRange.start)\n : isSelected\n const isSelectionEnd =\n (state as RangeCalendarState).highlightedRange !== undefined &&\n (state as RangeCalendarState).highlightedRange !== null\n ? isSameDay(date, (state as RangeCalendarState).highlightedRange.end)\n : isSelected\n\n // We add rounded corners on the left for the first day of the month,\n // the first day of each week, and the start date of the selection.\n // We add rounded corners on the right for the last day of the month,\n // the last day of each week, and the end date of the selection.\n const { locale } = useLocale()\n const dayOfWeek = getDayOfWeek(date, locale)\n const isWeekendDay = isWeekend(date, locale)\n const isRoundedLeft =\n isSelected && (isSelectionStart || dayOfWeek === 0 || date.day === 1)\n const isRoundedRight =\n isSelected &&\n (isSelectionEnd ||\n dayOfWeek === 6 ||\n date.day === date.calendar.getDaysInMonth(date))\n\n const { focusProps } = useFocusRing()\n\n return (\n <td {...cellProps}>\n <StyledCell\n {...mergeProps(buttonProps, focusProps)}\n ref={forwardRef}\n data-selected={isSelected ? '' : undefined}\n data-selection-start={isRoundedLeft ? '' : undefined}\n data-selection-end={isRoundedRight ? '' : undefined}\n data-disabled={isDisabled ? '' : undefined}\n data-hidden={isOutsideMonth ? '' : undefined}\n >\n <StyledCellContent\n data-selected-middle={\n isSelected && !(isSelectionStart || isSelectionEnd)\n ? ''\n : undefined\n }\n data-selection={isSelectionStart || isSelectionEnd ? '' : undefined}\n data-disabled={isDisabled ? '' : undefined}\n data-today={isToday(date, getLocalTimeZone()) ? '' : undefined}\n data-weekend={isWeekendDay ? '' : undefined}\n >\n {formattedDate}\n </StyledCellContent>\n </StyledCell>\n </td>\n )\n }\n)\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledGrid = styled(Primitive.table, {\n borderCollapse: 'separate',\n borderSpacing: ' 0 $50',\n})\n\nexport const StyledDays = styled(Primitive.th, {\n square: '36px',\n color: '$text-neutrals',\n})\n\nexport type StyledGridProps = ComponentPropsWithRef<typeof StyledGrid>\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { getWeeksInMonth } from '@internationalized/date'\nimport type { AriaCalendarGridProps, DateRange } from 'react-aria'\nimport { useLocale, useCalendarGrid } from 'react-aria'\nimport type { CalendarState, RangeCalendarState } from 'react-stately'\n\nimport { Cell } from './cell'\nimport type { StyledGridProps } from './grid.styled'\nimport { StyledDays, StyledGrid } from './grid.styled'\n\nexport interface GridProps extends Omit<StyledGridProps, 'onChange'> {\n state: RangeCalendarState | CalendarState\n offset?: DateDuration\n onChange?: (value: DateRange) => void\n}\n\nexport const Grid = React.forwardRef<ElementRef<typeof StyledGrid>, GridProps>(\n (props, forwardRef) => {\n const { locale } = useLocale()\n const { state, offset = {} } = props\n const startDate: CalendarDate = state.visibleRange.start.add(offset)\n const { gridProps, headerProps, weekDays } = useCalendarGrid(\n props as AriaCalendarGridProps,\n state\n )\n\n // Get the number of weeks in the month so we can render the proper number of rows.\n const weeksInMonth = getWeeksInMonth(startDate, locale)\n\n return (\n <StyledGrid ref={forwardRef} {...gridProps} cellPadding='0'>\n <thead {...headerProps}>\n <tr>\n {weekDays.map((day, i) => (\n <StyledDays key={i}>\n <div>{day}</div>\n </StyledDays>\n ))}\n </tr>\n </thead>\n <tbody>\n {Array.from(Array(weeksInMonth).keys()).map(weekIndex => (\n <tr key={weekIndex}>\n {state\n .getDatesInWeek(weekIndex, startDate)\n .map((date: CalendarDate | null, i: number) =>\n date !== null ? (\n <Cell\n key={i}\n state={state}\n date={date}\n currentMonth={startDate}\n />\n ) : (\n <td key={i} />\n )\n )}\n </tr>\n ))}\n </tbody>\n </StyledGrid>\n )\n }\n)\n","import type { ElementRef } from 'react'\nimport React, { useCallback, useRef } from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport { useDateRangePicker, useLocale, useRangeCalendar } from 'react-aria'\nimport { createCalendar } from '@internationalized/date'\nimport type { DateRangePickerStateOptions } from 'react-stately'\nimport { useDateRangePickerState, useRangeCalendarState } from 'react-stately'\nimport { Flex } from '@mirohq/design-system-flex'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { Button } from '@mirohq/design-system-button'\n\nimport { TextField } from '../partials/text-field'\nimport { FieldButton } from '../partials/button'\nimport { Popover } from '../partials/popover'\nimport {\n StyledRangePicker,\n StyledRangePickerInput,\n StyledRangePickerInputContent,\n} from './range-picker.styled'\nimport type { PredefinedRange } from '../partials/predefined-ranges'\nimport { PredefinedRanges } from '../partials/predefined-ranges'\nimport * as bodyStyled from '../partials/body.styled'\nimport { Header } from '../partials/header'\nimport { Grid } from '../partials/grid'\nimport type { CalendarProps } from '../calendar'\n\nexport interface RangePickerProps\n extends Omit<CalendarProps, 'picker' | 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: DateRange\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateRange) => void\n}\nexport const RangePicker = React.forwardRef<\n ElementRef<typeof StyledRangePicker>,\n RangePickerProps\n>((props, forwardRef) => {\n const {\n predefinedRanges,\n minDate,\n maxDate,\n visibleMonths,\n clearButtonText,\n children,\n defaultOpen,\n onClear,\n } = props\n const state = useDateRangePickerState(\n props as DateRangePickerStateOptions<DateValue>\n )\n const ref = useRef(null)\n const { locale } = useLocale()\n\n const { groupProps, startFieldProps, endFieldProps, buttonProps } =\n useDateRangePicker(\n {\n ...(props as DateRangePickerStateOptions<DateValue>),\n isOpen: defaultOpen,\n },\n state,\n ref\n )\n\n const change = (value: DateRange): void => {\n state.setValue(value)\n state.close()\n }\n\n const rangeState = useRangeCalendarState({\n ...props,\n visibleDuration: visibleMonths,\n minValue: minDate,\n maxValue: maxDate,\n autoFocus: true,\n onFocusChange: focus,\n onChange: change,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useRangeCalendar(\n props,\n rangeState,\n ref\n )\n\n const rangeClick = useCallback(\n (selectedRange: PredefinedRange) => {\n if (selectedRange.range !== undefined) {\n state.setValue(selectedRange.range)\n rangeState.setValue(selectedRange.range)\n }\n },\n [rangeState, state]\n )\n\n const clear = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue({ start: null, end: null })\n if (onClear !== undefined) {\n onClear()\n state.close()\n }\n }\n\n return (\n <StyledRangePicker ref={forwardRef}>\n {children === undefined && (\n <StyledRangePickerInput {...groupProps} ref={ref}>\n <StyledRangePickerInputContent>\n <TextField {...startFieldProps} />\n <span aria-hidden='true'>–</span>\n <TextField {...endFieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledRangePickerInputContent>\n </StyledRangePickerInput>\n )}\n {children !== null && (\n <div {...groupProps} ref={ref}>\n <FieldButton {...buttonProps} customButton>\n {children}\n </FieldButton>\n </div>\n )}\n {state.isOpen && (\n <Popover triggerRef={ref} state={state} placement='bottom start'>\n <bodyStyled.StyledBody ref={forwardRef}>\n <bodyStyled.StyledBodyContent>\n {predefinedRanges !== undefined && (\n <PredefinedRanges\n range={predefinedRanges}\n onClick={rangeClick}\n />\n )}\n\n <Flex direction='column' {...calendarProps}>\n <Header\n state={rangeState}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n visibleMonths={visibleMonths}\n />\n <bodyStyled.StyledGridContent>\n <bodyStyled.StyledBodyContentLeft>\n <Grid state={rangeState} />\n </bodyStyled.StyledBodyContentLeft>\n {visibleMonths !== undefined && (\n <bodyStyled.StyledBodyContentRight>\n <Grid\n onChange={change}\n state={rangeState}\n offset={{ months: 1 }}\n />\n </bodyStyled.StyledBodyContentRight>\n )}\n </bodyStyled.StyledGridContent>\n\n {onClear !== undefined && (\n <bodyStyled.StyledClearContent>\n <Button\n size='medium'\n type='button'\n onClick={clear}\n disabled={rangeState.value === null}\n >\n {clearButtonText}\n </Button>\n </bodyStyled.StyledClearContent>\n )}\n </Flex>\n </bodyStyled.StyledBodyContent>\n </bodyStyled.StyledBody>\n </Popover>\n )}\n </StyledRangePicker>\n )\n})\n","import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledRangePickerInput = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n padding: '$100',\n paddingLeft: '$150',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n background: '$background-neutrals',\n color: '$text-neutrals',\n minWidth: '230px',\n\n '&:hover': {\n border: '1px solid $border-primary-hover',\n cursor: 'pointer',\n },\n})\n\nexport const StyledRangePickerInputContent = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n fontSize: '$200',\n lineHeight: '24px',\n width: '100%',\n})\n\nexport const StyledDatePicker = styled(Primitive.div, {\n display: 'inline-block',\n})\n\nexport type StyledDatePickerProps = ComponentPropsWithRef<\n typeof StyledDatePicker\n>\n","import type { ElementRef } from 'react'\nimport React, { useCallback } from 'react'\nimport { useCalendarState } from 'react-stately'\nimport type { AriaCalendarProps, CalendarProps, DateValue } from 'react-aria'\nimport { useCalendar, useLocale } from 'react-aria'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\nimport { createCalendar } from '@internationalized/date'\nimport { Button } from '@mirohq/design-system-button'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport { Grid } from '../partials/grid'\nimport { Header } from '../partials/header'\nimport type { StyledBodyProps } from '../partials/body.styled'\nimport {\n StyledBody,\n StyledBodyContent,\n StyledBodyContentLeft,\n StyledBodyContentRight,\n StyledClearContent,\n StyledGridContent,\n} from '../partials/body.styled'\nimport type { PredefinedRange } from '../partials/predefined-ranges'\nimport { PredefinedRanges } from '../partials/predefined-ranges'\n\nexport interface DatePickerBodyProps\n extends Omit<StyledBodyProps, 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: CalendarDate\n\n /**\n * Set of predefined ranges\n */\n predefinedRanges?: PredefinedRange[]\n\n /**\n * By default it shows only one calendar, show more calendars\n */\n visibleMonths?: DateDuration\n\n /**\n * Minimum allowed date to select from\n */\n minDate?: DateValue\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: DateValue\n\n /**\n * Clear button string\n */\n clearButtonText?: string\n\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: CalendarDate) => void\n}\n\nexport const DatePickerBody = React.forwardRef<\n ElementRef<typeof StyledBody>,\n DatePickerBodyProps\n>((props, forwardRef) => {\n const {\n predefinedRanges,\n visibleMonths,\n onClear,\n minDate,\n maxDate,\n clearButtonText,\n } = props\n const { locale } = useLocale()\n const state = useCalendarState({\n ...(props as CalendarProps<DateValue>),\n visibleDuration: visibleMonths,\n minValue: minDate,\n maxValue: maxDate,\n locale,\n createCalendar,\n })\n\n const { calendarProps, prevButtonProps, nextButtonProps } = useCalendar(\n props as AriaCalendarProps<DateValue>,\n state\n )\n\n const dateClick = useCallback(\n (selectedRange: PredefinedRange) => {\n if (selectedRange.date !== undefined) state.setValue(selectedRange.date)\n },\n [state]\n )\n\n return (\n <StyledBody ref={forwardRef}>\n <StyledBodyContent {...calendarProps}>\n {predefinedRanges !== undefined && (\n <PredefinedRanges range={predefinedRanges} onClick={dateClick} />\n )}\n <Flex direction='column'>\n <Header\n state={state}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n visibleMonths={visibleMonths}\n />\n <StyledGridContent>\n <StyledBodyContentLeft>\n <Grid state={state} />\n </StyledBodyContentLeft>\n {visibleMonths !== undefined && (\n <StyledBodyContentRight>\n <Grid state={state} offset={{ months: 1 }} />\n </StyledBodyContentRight>\n )}\n </StyledGridContent>\n {onClear !== undefined && (\n <StyledClearContent>\n <Button\n size='medium'\n onClick={onClear}\n disabled={state.value === null}\n >\n {clearButtonText}\n </Button>\n </StyledClearContent>\n )}\n </Flex>\n </StyledBodyContent>\n </StyledBody>\n )\n})\n","import type { ElementRef } from 'react'\nimport React, { useRef } from 'react'\nimport { useDatePickerState } from 'react-stately'\nimport type { AriaDatePickerProps, DateValue } from 'react-aria'\nimport { useDatePicker } from 'react-aria'\nimport type { CalendarDate } from '@internationalized/date'\nimport { IconCalendarBlank } from '@mirohq/design-system-icons'\nimport { Flex } from '@mirohq/design-system-flex'\n\nimport { FieldButton } from '../partials/button'\nimport { TextField } from '../partials/text-field'\nimport { Popover } from '../partials/popover'\nimport {\n StyledDatePicker,\n StyledRangePickerInput,\n StyledRangePickerInputContent,\n} from './date-picker.styled'\nimport type { CalendarProps as ICalendarProps } from '../calendar'\nimport { DatePickerBody } from './date-picker-body'\n\nexport interface DatePickerProps\n extends Omit<ICalendarProps, 'defaultValue' | 'onChange'> {\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: CalendarDate\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateValue) => void\n}\n\nexport const DatePicker = React.forwardRef<\n ElementRef<typeof StyledDatePicker>,\n DatePickerProps\n>((props, forwardRef) => {\n const {\n picker,\n predefinedRanges,\n visibleMonths,\n defaultValue,\n minDate,\n maxDate,\n children,\n clearButtonText,\n defaultOpen,\n onClear,\n } = props\n\n const ref = useRef(null)\n\n const state = useDatePickerState(props as AriaDatePickerProps<CalendarDate>)\n const { groupProps, fieldProps, buttonProps, calendarProps } = useDatePicker(\n { ...(props as AriaDatePickerProps<CalendarDate>), isOpen: defaultOpen },\n state,\n ref\n )\n\n const clearState = (): void => {\n // It is safe to ignore in this case because the initial value is null\n // @ts-expect-error\n state.setValue(null)\n if (onClear !== undefined) {\n onClear()\n }\n }\n\n return (\n <>\n {picker === 'single' ? (\n <StyledDatePicker ref={forwardRef}>\n {children === undefined && (\n <StyledRangePickerInput {...groupProps} ref={ref}>\n <StyledRangePickerInputContent>\n <TextField {...fieldProps} />\n <Flex css={{ marginLeft: 'auto' }}>\n <FieldButton {...buttonProps}>\n <IconCalendarBlank />\n </FieldButton>\n </Flex>\n </StyledRangePickerInputContent>\n </StyledRangePickerInput>\n )}\n {children !== undefined && (\n <div {...groupProps} ref={ref}>\n <FieldButton {...buttonProps} customButton>\n {children}\n </FieldButton>\n </div>\n )}\n {state.isOpen && (\n <Popover triggerRef={ref} state={state} placement='bottom start'>\n <DatePickerBody\n {...calendarProps}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={onClear !== undefined ? clearState : undefined}\n minDate={minDate}\n maxDate={maxDate}\n clearButtonText={\n onClear !== undefined ? clearButtonText : undefined\n }\n ref={forwardRef}\n />\n </Popover>\n )}\n </StyledDatePicker>\n ) : (\n <DatePickerBody\n {...calendarProps}\n ref={forwardRef}\n defaultValue={defaultValue}\n predefinedRanges={predefinedRanges}\n visibleMonths={visibleMonths}\n onClear={onClear !== undefined ? clearState : undefined}\n minDate={minDate}\n maxDate={maxDate}\n clearButtonText={onClear !== undefined ? clearButtonText : undefined}\n />\n )}\n </>\n )\n})\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef, ElementRef } from 'react'\nimport React from 'react'\nimport type { DateRange, DateValue } from 'react-aria'\nimport type { CalendarDate, DateDuration } from '@internationalized/date'\n\nimport { RangePicker } from './partials/range-picker'\nimport { DatePicker } from './partials/date-picker'\nimport type { PredefinedRange } from './partials/predefined-ranges'\n\nexport const StyledCalendar = styled(Primitive.div, {})\nexport type StyledCalendarProps = ComponentPropsWithRef<typeof StyledCalendar>\n\nexport interface CalendarProps\n extends Omit<StyledCalendarProps, 'defaultValue' | 'onChange'> {\n /**\n * Type of calendar\n */\n picker?: 'single' | 'range'\n\n /**\n * Value given for already pre-selected date\n */\n defaultValue?: DateRange | CalendarDate\n\n /**\n * Set of predefined ranges\n */\n predefinedRanges?: PredefinedRange[]\n\n /**\n * By default it shows only one calendar, show more calendars\n */\n visibleMonths?: DateDuration\n\n /**\n * Minimum allowed date to select from\n */\n minDate?: CalendarDate\n\n /**\n * Maximum allowed date to select from\n */\n maxDate?: CalendarDate\n\n /**\n * Custom input element\n */\n children?: JSX.Element\n\n /**\n * Clear button string\n */\n clearButtonText?: string\n\n /**\n * Calendar open by default\n */\n defaultOpen?: boolean\n\n /**\n * Event handler called when the calendar is cleared\n */\n onClear?: () => void\n\n /**\n * Event handler called when the date value changes\n */\n onChange?: (value: DateRange | DateValue) => void\n}\n\nexport const Calendar = React.forwardRef<\n ElementRef<typeof StyledCalendar>,\n CalendarProps\n>(({ picker, defaultValue, ...props }, forwardRef) => (\n <StyledCalendar ref={forwardRef}>\n {picker === 'range' ? (\n <RangePicker defaultValue={defaultValue as DateRange} {...props} />\n ) : (\n <DatePicker\n defaultValue={defaultValue as CalendarDate}\n {...props}\n picker={picker}\n />\n )}\n </StyledCalendar>\n))\n"],"names":["React","StyledRangePickerInput","StyledRangePickerInputContent","Button","bodyStyled.StyledBody","bodyStyled.StyledBodyContent","bodyStyled.StyledGridContent","bodyStyled.StyledBodyContentLeft","bodyStyled.StyledBodyContentRight","bodyStyled.StyledClearContent"],"mappings":";;;;;;;;;;;AAIa,MAAA,iBAAA,GAAoB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACrD,KAAO,EAAA,uBAAA;AAAA,EAEP,eAAiB,EAAA;AAAA,IACf,KAAO,EAAA,gBAAA;AAAA,GACT;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,aAAe,EAAA,MAAA;AAAA,IAEf,qBAAuB,EAAA;AAAA,MACrB,OAAS,EAAA,MAAA;AAAA,MACT,MAAQ,EAAA,GAAA;AAAA,MACR,KAAO,EAAA,uBAAA;AAAA,KACT;AAAA,GACF;AACF,CAAC,CAAA;;ACHD,MAAM,gBAA+C,GAAA,CAAC,EAAE,OAAA,EAAS,OAAY,KAAA;AAC3E,EAAM,MAAA,GAAA,GAAM,OAAO,IAAI,CAAA,CAAA;AACvB,EAAA,MAAM,EAAE,YAAa,EAAA,GAAI,cAAe,CAAA,OAAA,EAAS,OAAO,GAAG,CAAA,CAAA;AAE3D,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,iBAAA,EAAA;AAAA,IACE,GAAG,YAAA;AAAA,IACJ,GAAA;AAAA,IACA,YAAY,EAAA,KAAA,CAAM,KAAU,KAAA,IAAA,GAAO,EAAK,GAAA,KAAA,CAAA;AAAA,GAAA,kBAGvCA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IACC,aAAY,EAAA,MAAA;AAAA,IACZ,kBAAkB,EAAA,CAAC,OAAQ,CAAA,aAAA,GAAgB,EAAK,GAAA,KAAA,CAAA;AAAA,GAAA,EAE/C,QAAQ,WACX,CAAA,EACC,QAAQ,aAAgB,GAAA,EAAA,GAAK,QAAQ,IACxC,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEO,MAAM,SAAY,GAAAA,cAAA,CAAM,UAG7B,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAM,MAAA,GAAA,GAAM,OAAO,IAAI,CAAA,CAAA;AACvB,EAAM,MAAA,EAAE,MAAO,EAAA,GAAI,SAAU,EAAA,CAAA;AAC7B,EAAA,MAAM,QAAQ,iBAAkB,CAAA;AAAA,IAC9B,GAAG,KAAA;AAAA,IACH,UAAY,EAAA,IAAA;AAAA,IACZ,MAAA;AAAA,IACA,cAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,EAAE,UAAW,EAAA,GAAI,YAAa,CAAA,KAAA,EAAO,OAAO,GAAG,CAAA,CAAA;AAErD,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAM,GAAG,UAAA;AAAA,IAAY,GAAK,EAAA,UAAA;AAAA,GAAA,EACxB,MAAM,QAAS,CAAA,GAAA,CAAI,CAAC,OAAA,EAAS,sBAC3BA,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA;AAAA,IAAiB,GAAK,EAAA,CAAA;AAAA,IAAG,OAAA;AAAA,IAAkB,KAAA;AAAA,GAAc,CAC3D,CACH,CAAA,CAAA;AAEJ,CAAC,CAAA;;ACzDY,MAAA,YAAA,GAAe,MAAO,CAAA,SAAA,CAAU,MAAQ,EAAA;AAAA,EACnD,OAAS,EAAA,GAAA;AAAA,EACT,eAAiB,EAAA,cAAA;AAAA,EACjB,MAAQ,EAAA,MAAA;AAAA,EACR,MAAQ,EAAA,SAAA;AAAA,EACR,KAAO,EAAA,gBAAA;AAAA,EAEP,aAAe,EAAA;AAAA,IACb,MAAQ,EAAA,aAAA;AAAA,GACV;AACF,CAAC,CAAA,CAAA;AAIY,MAAA,iBAAA,GAAoB,MAAO,CAAA,SAAA,CAAU,MAAQ,EAAA;AAAA,EACxD,OAAS,EAAA,GAAA;AAAA,EACT,eAAiB,EAAA,cAAA;AAAA,EACjB,MAAQ,EAAA,MAAA;AAAA,EACR,MAAQ,EAAA,SAAA;AAAA,EACR,MAAQ,EAAA,MAAA;AAAA,EAER,aAAe,EAAA;AAAA,IACb,MAAQ,EAAA,aAAA;AAAA,GACV;AAAA,EAEA,OAAS,EAAA;AAAA,IACP,KAAO,EAAA,uBAAA;AAAA,IACP,MAAQ,EAAA,MAAA;AAAA,GACV;AAAA,EAEA,gBAAkB,EAAA;AAAA,IAChB,KAAO,EAAA,MAAA;AAAA,IACP,MAAQ,EAAA,OAAA;AAAA,GACV;AACF,CAAC,CAAA;;AC3BM,MAAM,MAAS,GAAAA,cAAA,CAAM,UAG1B,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAA,MAAM,EAAE,WAAA,EAAgB,GAAA,SAAA,CAAU,OAAO,UAAgC,CAAA,CAAA;AACzE,EAAM,MAAA,EAAE,UAAW,EAAA,GAAI,YAAa,EAAA,CAAA;AACpC,EAAM,MAAA,EAAE,UAAa,GAAA,KAAA,CAAA;AACrB,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,YAAA,EAAA;AAAA,IAAc,GAAG,UAAW,CAAA,WAAA,EAAa,UAAU,CAAA;AAAA,IAAG,GAAK,EAAA,UAAA;AAAA,GAAA,EACzD,QACH,CAAA,CAAA;AAEJ,CAAC,CAAA,CAAA;AAEM,MAAM,WAAc,GAAAA,cAAA,CAAM,UAG/B,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAA,MAAM,EAAE,WAAA,EAAgB,GAAA,SAAA,CAAU,OAAO,UAAgC,CAAA,CAAA;AACzE,EAAA,MAAM,EAAE,YAAA,GAAe,KAAO,EAAA,QAAA,EAAa,GAAA,KAAA,CAAA;AAC3C,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,iBAAA,EAAA;AAAA,IACC,aAAA,EAAa,eAAe,EAAK,GAAA,KAAA,CAAA;AAAA,IAChC,GAAG,WAAA;AAAA,IACJ,GAAK,EAAA,UAAA;AAAA,GAAA,EAEJ,QACH,CAAA,CAAA;AAEJ,CAAC,CAAA;;AClCM,MAAM,UAKR,CAAS,KAAA,KAAA;AACZ,EAAM,MAAA,GAAA,GAAM,KAAM,CAAA,MAAA,CAAO,IAAI,CAAA,CAAA;AAC7B,EAAM,MAAA,EAAE,KAAO,EAAA,QAAA,EAAa,GAAA,KAAA,CAAA;AAC5B,EAAA,MAAM,EAAE,WAAA,EAAgB,GAAA,SAAA,CAAU,OAA0B,GAAG,CAAA,CAAA;AAE/D,EAAM,MAAA,EAAE,YAAc,EAAA,aAAA,EAAkB,GAAA,UAAA;AAAA,IACtC;AAAA,MACE,GAAG,KAAA;AAAA,MACH,UAAY,EAAA,GAAA;AAAA,KACd;AAAA,IACA,KAAA;AAAA,GACF,CAAA;AAEA,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,+BACE,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAK,GAAG,aAAA;AAAA,GAAe,mBACvB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAK,GAAG,YAAA;AAAA,IAAc,GAAA;AAAA,GAAA,kBACpB,KAAA,CAAA,aAAA,CAAA,aAAA,EAAA;AAAA,IAAc,WAAW,KAAM,CAAA,KAAA;AAAA,GAAO,mBACtC,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAK,GAAG,WAAA;AAAA,IAAa,GAAA;AAAA,GACnB,EAAA,QACH,mBACC,KAAA,CAAA,aAAA,CAAA,aAAA,EAAA;AAAA,IAAc,WAAW,KAAM,CAAA,KAAA;AAAA,GAAO,CACzC,CACF,CAAA,CAAA;AAEJ,CAAA;;AChCa,MAAA,iBAAA,GAAoB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACrD,OAAS,EAAA,cAAA;AACX,CAAC,CAAA,CAAA;AAEY,MAAAC,wBAAA,GAAyB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EAC1D,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,OAAS,EAAA,MAAA;AAAA,EACT,WAAa,EAAA,MAAA;AAAA,EACb,MAAQ,EAAA,4BAAA;AAAA,EACR,YAAc,EAAA,KAAA;AAAA,EACd,UAAY,EAAA,sBAAA;AAAA,EACZ,KAAO,EAAA,gBAAA;AAAA,EACP,QAAU,EAAA,OAAA;AAAA,EAEV,SAAW,EAAA;AAAA,IACT,MAAQ,EAAA,iCAAA;AAAA,IACR,MAAQ,EAAA,SAAA;AAAA,GACV;AACF,CAAC,CAAA,CAAA;AAEY,MAAAC,+BAAA,GAAgC,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACjE,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,QAAU,EAAA,MAAA;AAAA,EACV,UAAY,EAAA,MAAA;AAAA,EACZ,KAAO,EAAA,MAAA;AACT,CAAC,CAAA;;AC3BY,MAAA,sBAAA,GAAyB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EAC1D,OAAS,EAAA,MAAA;AAAA,EACT,aAAe,EAAA,QAAA;AAAA,EACf,WAAa,EAAA,4BAAA;AAAA,EACb,OAAS,EAAA,kBAAA;AAAA,EAET,UAAY,EAAA;AAAA,IACV,eAAiB,EAAA,cAAA;AAAA,IACjB,MAAQ,EAAA,MAAA;AAAA,IACR,QAAU,EAAA,MAAA;AAAA,IACV,OAAS,EAAA,YAAA;AAAA,IACT,SAAW,EAAA,MAAA;AAAA,IACX,UAAY,EAAA,MAAA;AAAA,IACZ,KAAO,EAAA,gBAAA;AAAA,IACP,YAAc,EAAA,MAAA;AAAA,IACd,YAAc,EAAA,KAAA;AAAA,IACd,QAAU,EAAA,OAAA;AAAA,IACV,MAAQ,EAAA,SAAA;AAAA,IAER,SAAW,EAAA;AAAA,MACT,eAAiB,EAAA,qCAAA;AAAA,MACjB,KAAO,EAAA,wBAAA;AAAA,MACP,UAAY,EAAA,KAAA;AAAA,KACd;AAAA,GACF;AACF,CAAC,CAAA;;ACTY,MAAA,gBAAA,GAAmBF,eAAM,UAGpC,CAAA,CAAC,EAAE,KAAO,EAAA,OAAA,EAAW,EAAA,UAAA,qBACpBA,cAAA,CAAA,aAAA,CAAA,sBAAA,EAAA;AAAA,EAAuB,GAAK,EAAA,UAAA;AAAA,CAAA,EAC1B,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAI,CAAC,IAAA,EAAM,sBAChBA,cAAA,CAAA,aAAA,CAAAG,QAAA,EAAA;AAAA,EACC,OAAQ,EAAA,iBAAA;AAAA,EACR,IAAK,EAAA,QAAA;AAAA,EACL,GAAK,EAAA,CAAA;AAAA,EACL,IAAK,EAAA,QAAA;AAAA,EACL,OAAA,EAAS,MAAM,OAAA,CAAQ,IAAI,CAAA;AAAA,CAE1B,EAAA,IAAA,CAAK,KACR,CAAA,CAEJ,CACD,CAAA;;AChCY,MAAA,UAAA,GAAa,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EAC9C,OAAS,EAAA,cAAA;AAAA,EACT,UAAY,EAAA,sBAAA;AACd,CAAC,CAAA,CAAA;AAEY,MAAA,iBAAA,GAAoB,OAAO,IAAM,EAAA;AAAA,EAC5C,MAAQ,EAAA,QAAA;AAAA,EACR,SAAW,EAAA,MAAA;AAAA,EACX,UAAY,EAAA,sBAAA;AAAA,EACZ,YAAc,EAAA,MAAA;AAChB,CAAC,CAAA,CAAA;AAEY,MAAA,iBAAA,GAAoB,OAAO,IAAM,EAAA;AAAA,EAC5C,aAAe,EAAA,MAAA;AAAA,EAEf,wBAA0B,EAAA;AAAA,IACxB,WAAa,EAAA,MAAA;AAAA,IACb,YAAc,EAAA,MAAA;AAAA,GAChB;AAAA,EAEA,yBAA2B,EAAA;AAAA,IACzB,WAAa,EAAA,MAAA;AAAA,IACb,YAAc,EAAA,MAAA;AAAA,GAChB;AACF,CAAC,CAAA,CAAA;AAEY,MAAA,qBAAA,GAAwB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACzD,WAAa,EAAA,MAAA;AAAA,EACb,YAAc,EAAA,MAAA;AAChB,CAAC,CAAA,CAAA;AAEY,MAAA,sBAAA,GAAyB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EAC1D,WAAa,EAAA,MAAA;AAAA,EACb,YAAc,EAAA,MAAA;AAChB,CAAC,CAAA,CAAA;AAEY,MAAA,kBAAA,GAAqB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACtD,OAAS,EAAA,MAAA;AAAA,EACT,SAAW,EAAA,4BAAA;AACb,CAAC,CAAA;;ACzCY,MAAA,iBAAA,GAAoB,OAAO,IAAM,EAAA;AAAA,EAC5C,cAAgB,EAAA,QAAA;AAAA,EAChB,IAAM,EAAA,GAAA;AAAA,EACN,KAAO,EAAA,gBAAA;AACT,CAAC,CAAA,CAAA;AAEY,MAAA,YAAA,GAAe,OAAO,IAAM,EAAA;AAAA,EACvC,OAAS,EAAA,QAAA;AAAA,EACT,KAAO,EAAA,gBAAA;AACT,CAAC,CAAA;;ACKM,MAAM,SAA4B,CAAC;AAAA,EACxC,KAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA,aAAA;AACF,CAAM,KAAA;AACJ,EAAA,MAAM,qBAAqB,gBAAiB,CAAA;AAAA,IAC1C,KAAO,EAAA,MAAA;AAAA,IACP,IAAM,EAAA,SAAA;AAAA,IACN,UAAU,KAAM,CAAA,QAAA;AAAA,GACjB,CAAA,CAAA;AAED,EACE,uBAAAH,cAAA,CAAA,aAAA,CAAC,oCACEA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IAAQ,GAAG,eAAA;AAAA,GACV,kBAAAA,cAAA,CAAA,aAAA,CAAC,qBAAgB,CACnB,CAAA,+CACC,iBACC,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,YACE,kBAAmB,CAAA,MAAA;AAAA,IAClB,KAAM,CAAA,YAAA,CAAa,KAAM,CAAA,MAAA,CAAO,MAAM,QAAQ,CAAA;AAAA,GAElD,CACF,CACC,EAAA,aAAA,KAAkB,0BAChBA,cAAA,CAAA,aAAA,CAAA,iBAAA,EAAA,IAAA,kBACEA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,IAAA,EACE,kBAAmB,CAAA,MAAA;AAAA,IAClB,KAAA,CAAM,YAAa,CAAA,KAAA,CAAM,GAAI,CAAA,EAAE,MAAQ,EAAA,CAAA,EAAG,CAAA,CAAE,MAAO,CAAA,KAAA,CAAM,QAAQ,CAAA;AAAA,GAErE,CACF,CAAA,kBAEDA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IAAQ,GAAG,eAAA;AAAA,GACV,kBAAAA,cAAA,CAAA,aAAA,CAAC,gBAAiB,EAAA,IAAA,CACpB,CACF,CAAA,CAAA;AAEJ,CAAA;;ACnDa,MAAA,iBAAA,GAAoB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACrD,MAAQ,EAAA,MAAA;AAAA,EACR,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,cAAgB,EAAA,QAAA;AAAA,EAChB,YAAc,EAAA,KAAA;AAAA,EACd,KAAO,EAAA,gBAAA;AAAA,EAEP,eAAiB,EAAA;AAAA,IACf,KAAO,EAAA,eAAA;AAAA,GACT;AAAA,EAEA,iBAAmB,EAAA;AAAA,IACjB,KAAO,EAAA,uBAAA;AAAA,GACT;AAAA,EAEA,yBAA2B,EAAA;AAAA,IACzB,KAAO,EAAA,gBAAA;AAAA,GACT;AAAA,EAEA,mBAAqB,EAAA;AAAA,IACnB,YAAc,EAAA,KAAA;AAAA,IACd,UAAY,EAAA,wCAAA;AAAA,IACZ,KAAO,EAAA,wBAAA;AAAA,IACP,UAAY,EAAA,KAAA;AAAA,GACd;AAAA,EAEA,kBAAoB,EAAA;AAAA,IAClB,cAAgB,EAAA,cAAA;AAAA,IAChB,KAAO,EAAA,yBAAA;AAAA,GACT;AACF,CAAC,CAAA,CAAA;AAEY,MAAA,UAAA,GAAa,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EAC9C,MAAQ,EAAA,MAAA;AAAA,EACR,MAAQ,EAAA,SAAA;AAAA,EACR,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,cAAgB,EAAA,QAAA;AAAA,EAEhB,SAAW,EAAA;AAAA,IACT,UAAY,EAAA,kCAAA;AAAA,IAEZ,CAAC,KAAK,iBAAsB,CAAA,CAAA,GAAA;AAAA,MAC1B,UAAY,EAAA,qCAAA;AAAA,MACZ,KAAO,EAAA,wBAAA;AAAA,KACT;AAAA,GACF;AAAA,EAEA,kBAAoB,EAAA;AAAA,IAClB,UAAY,EAAA,kCAAA;AAAA,GACd;AAAA,EAEA,yBAA2B,EAAA;AAAA,IACzB,sBAAwB,EAAA,KAAA;AAAA,IACxB,mBAAqB,EAAA,KAAA;AAAA,GACvB;AAAA,EAEA,uBAAyB,EAAA;AAAA,IACvB,uBAAyB,EAAA,KAAA;AAAA,IACzB,oBAAsB,EAAA,KAAA;AAAA,GACxB;AAAA,EAEA,gBAAkB,EAAA;AAAA,IAChB,OAAS,EAAA,MAAA;AAAA,GACX;AAAA,EAEA,kBAAoB,EAAA;AAAA,IAClB,MAAQ,EAAA,aAAA;AAAA,IAER,SAAW,EAAA;AAAA,MACT,eAAiB,EAAA,cAAA;AAAA,MAEjB,CAAC,KAAK,iBAAsB,CAAA,CAAA,GAAA;AAAA,QAC1B,eAAiB,EAAA,cAAA;AAAA,QACjB,KAAO,EAAA,yBAAA;AAAA,OACT;AAAA,KACF;AAAA,GACF;AACF,CAAC,CAAA;;ACvDM,MAAM,OAAOA,cAAM,CAAA,UAAA;AAAA,EACxB,CAAC,OAAO,UAAe,KAAA;AACrB,IAAA,MAAM,EAAE,KAAA,EAAO,IAAM,EAAA,YAAA,EAAiB,GAAA,KAAA,CAAA;AACtC,IAAM,MAAA,GAAA,GAAM,OAAO,IAAI,CAAA,CAAA;AACvB,IAAA,MAAM,EAAE,SAAA,EAAW,WAAa,EAAA,UAAA,EAAY,UAAY,EAAA,aAAA,EACtD,GAAA,eAAA,CAAgB,EAAE,IAAA,EAAQ,EAAA,KAAA,EAAO,GAAG,CAAA,CAAA;AAEtC,IAAA,MAAM,cAAiB,GAAA,CAAC,WAAY,CAAA,YAAA,EAAc,IAAI,CAAA,CAAA;AAItD,IAAA,MAAM,gBACH,GAAA,KAAA,CAA6B,gBAAqB,KAAA,KAAA,CAAA,IAClD,KAA6B,CAAA,gBAAA,KAAqB,IAC/C,GAAA,SAAA,CAAU,IAAO,EAAA,KAAA,CAA6B,gBAAiB,CAAA,KAAK,CACpE,GAAA,UAAA,CAAA;AACN,IAAA,MAAM,cACH,GAAA,KAAA,CAA6B,gBAAqB,KAAA,KAAA,CAAA,IAClD,KAA6B,CAAA,gBAAA,KAAqB,IAC/C,GAAA,SAAA,CAAU,IAAO,EAAA,KAAA,CAA6B,gBAAiB,CAAA,GAAG,CAClE,GAAA,UAAA,CAAA;AAMN,IAAM,MAAA,EAAE,MAAO,EAAA,GAAI,SAAU,EAAA,CAAA;AAC7B,IAAM,MAAA,SAAA,GAAY,YAAa,CAAA,IAAA,EAAM,MAAM,CAAA,CAAA;AAC3C,IAAM,MAAA,YAAA,GAAe,SAAU,CAAA,IAAA,EAAM,MAAM,CAAA,CAAA;AAC3C,IAAA,MAAM,gBACJ,UAAe,KAAA,gBAAA,IAAoB,SAAc,KAAA,CAAA,IAAK,KAAK,GAAQ,KAAA,CAAA,CAAA,CAAA;AACrE,IAAM,MAAA,cAAA,GACJ,UACC,KAAA,cAAA,IACC,SAAc,KAAA,CAAA,IACd,KAAK,GAAQ,KAAA,IAAA,CAAK,QAAS,CAAA,cAAA,CAAe,IAAI,CAAA,CAAA,CAAA;AAElD,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,YAAa,EAAA,CAAA;AAEpC,IAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,MAAI,GAAG,SAAA;AAAA,KAAA,kBACLA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA;AAAA,MACE,GAAG,UAAW,CAAA,WAAA,EAAa,UAAU,CAAA;AAAA,MACtC,GAAK,EAAA,UAAA;AAAA,MACL,eAAA,EAAe,aAAa,EAAK,GAAA,KAAA,CAAA;AAAA,MACjC,sBAAA,EAAsB,gBAAgB,EAAK,GAAA,KAAA,CAAA;AAAA,MAC3C,oBAAA,EAAoB,iBAAiB,EAAK,GAAA,KAAA,CAAA;AAAA,MAC1C,eAAA,EAAe,aAAa,EAAK,GAAA,KAAA,CAAA;AAAA,MACjC,aAAA,EAAa,iBAAiB,EAAK,GAAA,KAAA,CAAA;AAAA,KAAA,kBAElCA,cAAA,CAAA,aAAA,CAAA,iBAAA,EAAA;AAAA,MACC,sBACE,EAAA,UAAA,IAAc,EAAE,gBAAA,IAAoB,kBAChC,EACA,GAAA,KAAA,CAAA;AAAA,MAEN,gBAAA,EAAgB,gBAAoB,IAAA,cAAA,GAAiB,EAAK,GAAA,KAAA,CAAA;AAAA,MAC1D,eAAA,EAAe,aAAa,EAAK,GAAA,KAAA,CAAA;AAAA,MACjC,cAAY,OAAQ,CAAA,IAAA,EAAM,gBAAiB,EAAC,IAAI,EAAK,GAAA,KAAA,CAAA;AAAA,MACrD,cAAA,EAAc,eAAe,EAAK,GAAA,KAAA,CAAA;AAAA,KAEjC,EAAA,aACH,CACF,CACF,CAAA,CAAA;AAAA,GAEJ;AACF,CAAA;;AC3Fa,MAAA,UAAA,GAAa,MAAO,CAAA,SAAA,CAAU,KAAO,EAAA;AAAA,EAChD,cAAgB,EAAA,UAAA;AAAA,EAChB,aAAe,EAAA,QAAA;AACjB,CAAC,CAAA,CAAA;AAEY,MAAA,UAAA,GAAa,MAAO,CAAA,SAAA,CAAU,EAAI,EAAA;AAAA,EAC7C,MAAQ,EAAA,MAAA;AAAA,EACR,KAAO,EAAA,gBAAA;AACT,CAAC,CAAA;;ACMM,MAAM,OAAOA,cAAM,CAAA,UAAA;AAAA,EACxB,CAAC,OAAO,UAAe,KAAA;AACrB,IAAM,MAAA,EAAE,MAAO,EAAA,GAAI,SAAU,EAAA,CAAA;AAC7B,IAAA,MAAM,EAAE,KAAA,EAAO,MAAS,GAAA,IAAO,GAAA,KAAA,CAAA;AAC/B,IAAA,MAAM,SAA0B,GAAA,KAAA,CAAM,YAAa,CAAA,KAAA,CAAM,IAAI,MAAM,CAAA,CAAA;AACnE,IAAA,MAAM,EAAE,SAAA,EAAW,WAAa,EAAA,QAAA,EAAa,GAAA,eAAA;AAAA,MAC3C,KAAA;AAAA,MACA,KAAA;AAAA,KACF,CAAA;AAGA,IAAM,MAAA,YAAA,GAAe,eAAgB,CAAA,SAAA,EAAW,MAAM,CAAA,CAAA;AAEtD,IAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA;AAAA,MAAW,GAAK,EAAA,UAAA;AAAA,MAAa,GAAG,SAAA;AAAA,MAAW,WAAY,EAAA,GAAA;AAAA,KAAA,kBACrDA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA;AAAA,MAAO,GAAG,WAAA;AAAA,KAAA,+CACR,IACE,EAAA,IAAA,EAAA,QAAA,CAAS,IAAI,CAAC,GAAA,EAAK,sBACjBA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA;AAAA,MAAW,GAAK,EAAA,CAAA;AAAA,KACf,kBAAAA,cAAA,CAAA,aAAA,CAAC,aAAK,GAAI,CACZ,CACD,CACH,CACF,mBACCA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,IAAA,EACE,MAAM,IAAK,CAAA,KAAA,CAAM,YAAY,CAAE,CAAA,IAAA,EAAM,CAAE,CAAA,GAAA,CAAI,+BACzCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,MAAG,GAAK,EAAA,SAAA;AAAA,KAAA,EACN,KACE,CAAA,cAAA,CAAe,SAAW,EAAA,SAAS,CACnC,CAAA,GAAA;AAAA,MAAI,CAAC,IAAA,EAA2B,CAC/B,KAAA,IAAA,KAAS,uBACNA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,QACC,GAAK,EAAA,CAAA;AAAA,QACL,KAAA;AAAA,QACA,IAAA;AAAA,QACA,YAAc,EAAA,SAAA;AAAA,OAChB,oBAECA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,QAAG,GAAK,EAAA,CAAA;AAAA,OAAG,CAAA;AAAA,KAGpB,CACD,CACH,CACF,CAAA,CAAA;AAAA,GAEJ;AACF,CAAA;;AC3BO,MAAM,WAAc,GAAAA,cAAA,CAAM,UAG/B,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAM,MAAA;AAAA,IACJ,gBAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,aAAA;AAAA,IACA,eAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,GACE,GAAA,KAAA,CAAA;AACJ,EAAA,MAAM,KAAQ,GAAA,uBAAA;AAAA,IACZ,KAAA;AAAA,GACF,CAAA;AACA,EAAM,MAAA,GAAA,GAAM,OAAO,IAAI,CAAA,CAAA;AACvB,EAAM,MAAA,EAAE,MAAO,EAAA,GAAI,SAAU,EAAA,CAAA;AAE7B,EAAA,MAAM,EAAE,UAAA,EAAY,eAAiB,EAAA,aAAA,EAAe,aAClD,GAAA,kBAAA;AAAA,IACE;AAAA,MACE,GAAI,KAAA;AAAA,MACJ,MAAQ,EAAA,WAAA;AAAA,KACV;AAAA,IACA,KAAA;AAAA,IACA,GAAA;AAAA,GACF,CAAA;AAEF,EAAM,MAAA,MAAA,GAAS,CAAC,KAA2B,KAAA;AACzC,IAAA,KAAA,CAAM,SAAS,KAAK,CAAA,CAAA;AACpB,IAAA,KAAA,CAAM,KAAM,EAAA,CAAA;AAAA,GACd,CAAA;AAEA,EAAA,MAAM,aAAa,qBAAsB,CAAA;AAAA,IACvC,GAAG,KAAA;AAAA,IACH,eAAiB,EAAA,aAAA;AAAA,IACjB,QAAU,EAAA,OAAA;AAAA,IACV,QAAU,EAAA,OAAA;AAAA,IACV,SAAW,EAAA,IAAA;AAAA,IACX,aAAe,EAAA,KAAA;AAAA,IACf,QAAU,EAAA,MAAA;AAAA,IACV,MAAA;AAAA,IACA,cAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,EAAE,aAAA,EAAe,eAAiB,EAAA,eAAA,EAAoB,GAAA,gBAAA;AAAA,IAC1D,KAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAA;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,UAAa,GAAA,WAAA;AAAA,IACjB,CAAC,aAAmC,KAAA;AAClC,MAAI,IAAA,aAAA,CAAc,UAAU,KAAW,CAAA,EAAA;AACrC,QAAM,KAAA,CAAA,QAAA,CAAS,cAAc,KAAK,CAAA,CAAA;AAClC,QAAW,UAAA,CAAA,QAAA,CAAS,cAAc,KAAK,CAAA,CAAA;AAAA,OACzC;AAAA,KACF;AAAA,IACA,CAAC,YAAY,KAAK,CAAA;AAAA,GACpB,CAAA;AAEA,EAAA,MAAM,QAAQ,MAAY;AAGxB,IAAA,KAAA,CAAM,SAAS,EAAE,KAAA,EAAO,IAAM,EAAA,GAAA,EAAK,MAAM,CAAA,CAAA;AACzC,IAAA,IAAI,YAAY,KAAW,CAAA,EAAA;AACzB,MAAQ,OAAA,EAAA,CAAA;AACR,MAAA,KAAA,CAAM,KAAM,EAAA,CAAA;AAAA,KACd;AAAA,GACF,CAAA;AAEA,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,iBAAA,EAAA;AAAA,IAAkB,GAAK,EAAA,UAAA;AAAA,GACrB,EAAA,QAAA,KAAa,0BACXA,cAAA,CAAA,aAAA,CAAAC,wBAAA,EAAA;AAAA,IAAwB,GAAG,UAAA;AAAA,IAAY,GAAA;AAAA,GACtC,kBAAAD,cAAA,CAAA,aAAA,CAACE,uDACEF,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAA,IAAW,GAAG,eAAA;AAAA,GAAiB,mBAC/BA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IAAK,aAAY,EAAA,MAAA;AAAA,GAAO,EAAA,QAAC,mBACzBA,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAA,IAAW,GAAG,aAAA;AAAA,GAAe,mBAC7BA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,GAAA,EAAK,EAAE,UAAA,EAAY,MAAO,EAAA;AAAA,GAAA,kBAC7BA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA;AAAA,IAAa,GAAG,WAAA;AAAA,GACf,kBAAAA,cAAA,CAAA,aAAA,CAAC,uBAAkB,CACrB,CACF,CACF,CACF,CAAA,EAED,QAAa,KAAA,IAAA,oBACXA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAK,GAAG,UAAA;AAAA,IAAY,GAAA;AAAA,GAAA,kBAClBA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA;AAAA,IAAa,GAAG,WAAA;AAAA,IAAa,YAAY,EAAA,IAAA;AAAA,GAAA,EACvC,QACH,CACF,CAED,EAAA,KAAA,CAAM,0BACJA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA;AAAA,IAAQ,UAAY,EAAA,GAAA;AAAA,IAAK,KAAA;AAAA,IAAc,SAAU,EAAA,cAAA;AAAA,GAChD,kBAAAA,cAAA,CAAA,aAAA,CAACI,UAAA,EAAA;AAAA,IAAsB,GAAK,EAAA,UAAA;AAAA,GAAA,+CACzBC,iBAAW,EAAX,IACE,EAAA,gBAAA,KAAqB,0BACnBL,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA;AAAA,IACC,KAAO,EAAA,gBAAA;AAAA,IACP,OAAS,EAAA,UAAA;AAAA,GACX,mBAGDA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,SAAU,EAAA,QAAA;AAAA,IAAU,GAAG,aAAA;AAAA,GAAA,kBAC1BA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IACC,KAAO,EAAA,UAAA;AAAA,IACP,eAAA;AAAA,IACA,eAAA;AAAA,IACA,aAAA;AAAA,GACF,CAAA,+CACCM,iBAAW,EAAX,sBACEN,cAAA,CAAA,aAAA,CAAAO,qBAAA,EAAA,IAAA,kBACEP,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,KAAO,EAAA,UAAA;AAAA,GAAY,CAC3B,GACC,aAAkB,KAAA,KAAA,CAAA,iDAChBQ,sBAAW,EAAX,sBACER,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IACC,QAAU,EAAA,MAAA;AAAA,IACV,KAAO,EAAA,UAAA;AAAA,IACP,MAAA,EAAQ,EAAE,MAAA,EAAQ,CAAE,EAAA;AAAA,GACtB,CACF,CAEJ,CAEC,EAAA,OAAA,KAAY,0BACVA,cAAA,CAAA,aAAA,CAAAS,kBAAA,EAAA,IAAA,kBACET,cAAA,CAAA,aAAA,CAAAG,QAAA,EAAA;AAAA,IACC,IAAK,EAAA,QAAA;AAAA,IACL,IAAK,EAAA,QAAA;AAAA,IACL,OAAS,EAAA,KAAA;AAAA,IACT,QAAA,EAAU,WAAW,KAAU,KAAA,IAAA;AAAA,GAAA,EAE9B,eACH,CACF,CAEJ,CACF,CACF,CACF,CAEJ,CAAA,CAAA;AAEJ,CAAC,CAAA;;ACtLY,MAAA,sBAAA,GAAyB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EAC1D,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,OAAS,EAAA,MAAA;AAAA,EACT,WAAa,EAAA,MAAA;AAAA,EACb,MAAQ,EAAA,4BAAA;AAAA,EACR,YAAc,EAAA,KAAA;AAAA,EACd,UAAY,EAAA,sBAAA;AAAA,EACZ,KAAO,EAAA,gBAAA;AAAA,EACP,QAAU,EAAA,OAAA;AAAA,EAEV,SAAW,EAAA;AAAA,IACT,MAAQ,EAAA,iCAAA;AAAA,IACR,MAAQ,EAAA,SAAA;AAAA,GACV;AACF,CAAC,CAAA,CAAA;AAEY,MAAA,6BAAA,GAAgC,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACjE,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,QAAU,EAAA,MAAA;AAAA,EACV,UAAY,EAAA,MAAA;AAAA,EACZ,KAAO,EAAA,MAAA;AACT,CAAC,CAAA,CAAA;AAEY,MAAA,gBAAA,GAAmB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACpD,OAAS,EAAA,cAAA;AACX,CAAC,CAAA;;ACoCM,MAAM,cAAiB,GAAAH,cAAA,CAAM,UAGlC,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAM,MAAA;AAAA,IACJ,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,eAAA;AAAA,GACE,GAAA,KAAA,CAAA;AACJ,EAAM,MAAA,EAAE,MAAO,EAAA,GAAI,SAAU,EAAA,CAAA;AAC7B,EAAA,MAAM,QAAQ,gBAAiB,CAAA;AAAA,IAC7B,GAAI,KAAA;AAAA,IACJ,eAAiB,EAAA,aAAA;AAAA,IACjB,QAAU,EAAA,OAAA;AAAA,IACV,QAAU,EAAA,OAAA;AAAA,IACV,MAAA;AAAA,IACA,cAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,EAAE,aAAA,EAAe,eAAiB,EAAA,eAAA,EAAoB,GAAA,WAAA;AAAA,IAC1D,KAAA;AAAA,IACA,KAAA;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,SAAY,GAAA,WAAA;AAAA,IAChB,CAAC,aAAmC,KAAA;AAClC,MAAA,IAAI,cAAc,IAAS,KAAA,KAAA,CAAA;AAAW,QAAM,KAAA,CAAA,QAAA,CAAS,cAAc,IAAI,CAAA,CAAA;AAAA,KACzE;AAAA,IACA,CAAC,KAAK,CAAA;AAAA,GACR,CAAA;AAEA,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA;AAAA,IAAW,GAAK,EAAA,UAAA;AAAA,GAAA,kBACdA,cAAA,CAAA,aAAA,CAAA,iBAAA,EAAA;AAAA,IAAmB,GAAG,aAAA;AAAA,GACpB,EAAA,gBAAA,KAAqB,0BACnBA,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA;AAAA,IAAiB,KAAO,EAAA,gBAAA;AAAA,IAAkB,OAAS,EAAA,SAAA;AAAA,GAAW,mBAEhEA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,SAAU,EAAA,QAAA;AAAA,GAAA,kBACbA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IACC,KAAA;AAAA,IACA,eAAA;AAAA,IACA,eAAA;AAAA,IACA,aAAA;AAAA,GACF,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,iBACC,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,6CACEA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,KAAA;AAAA,GAAc,CACtB,CACC,EAAA,aAAA,KAAkB,KACjB,CAAA,oBAAAA,cAAA,CAAA,aAAA,CAAC,8CACEA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,KAAA;AAAA,IAAc,MAAA,EAAQ,EAAE,MAAA,EAAQ,CAAE,EAAA;AAAA,GAAG,CAC7C,CAEJ,CAAA,EACC,YAAY,KACX,CAAA,oBAAAA,cAAA,CAAA,aAAA,CAAC,0CACEA,cAAA,CAAA,aAAA,CAAAG,QAAA,EAAA;AAAA,IACC,IAAK,EAAA,QAAA;AAAA,IACL,OAAS,EAAA,OAAA;AAAA,IACT,QAAA,EAAU,MAAM,KAAU,KAAA,IAAA;AAAA,GAAA,EAEzB,eACH,CACF,CAEJ,CACF,CACF,CAAA,CAAA;AAEJ,CAAC,CAAA;;AC1GM,MAAM,UAAa,GAAAH,cAAA,CAAM,UAG9B,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAM,MAAA;AAAA,IACJ,MAAA;AAAA,IACA,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,YAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,eAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,GACE,GAAA,KAAA,CAAA;AAEJ,EAAM,MAAA,GAAA,GAAM,OAAO,IAAI,CAAA,CAAA;AAEvB,EAAM,MAAA,KAAA,GAAQ,mBAAmB,KAA0C,CAAA,CAAA;AAC3E,EAAA,MAAM,EAAE,UAAA,EAAY,UAAY,EAAA,WAAA,EAAa,eAAkB,GAAA,aAAA;AAAA,IAC7D,EAAE,GAAI,KAA6C,EAAA,MAAA,EAAQ,WAAY,EAAA;AAAA,IACvE,KAAA;AAAA,IACA,GAAA;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,aAAa,MAAY;AAG7B,IAAA,KAAA,CAAM,SAAS,IAAI,CAAA,CAAA;AACnB,IAAA,IAAI,YAAY,KAAW,CAAA,EAAA;AACzB,MAAQ,OAAA,EAAA,CAAA;AAAA,KACV;AAAA,GACF,CAAA;AAEA,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EACG,MAAW,KAAA,QAAA,mBACTA,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA;AAAA,IAAiB,GAAK,EAAA,UAAA;AAAA,GACpB,EAAA,QAAA,KAAa,0BACXA,cAAA,CAAA,aAAA,CAAA,sBAAA,EAAA;AAAA,IAAwB,GAAG,UAAA;AAAA,IAAY,GAAA;AAAA,GACtC,kBAAAA,cAAA,CAAA,aAAA,CAAC,qDACEA,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAA,IAAW,GAAG,UAAA;AAAA,GAAY,mBAC1BA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,GAAA,EAAK,EAAE,UAAA,EAAY,MAAO,EAAA;AAAA,GAAA,kBAC7BA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA;AAAA,IAAa,GAAG,WAAA;AAAA,GACf,kBAAAA,cAAA,CAAA,aAAA,CAAC,uBAAkB,CACrB,CACF,CACF,CACF,CAAA,EAED,QAAa,KAAA,KAAA,CAAA,oBACXA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAK,GAAG,UAAA;AAAA,IAAY,GAAA;AAAA,GAAA,kBAClBA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA;AAAA,IAAa,GAAG,WAAA;AAAA,IAAa,YAAY,EAAA,IAAA;AAAA,GAAA,EACvC,QACH,CACF,CAED,EAAA,KAAA,CAAM,0BACJA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA;AAAA,IAAQ,UAAY,EAAA,GAAA;AAAA,IAAK,KAAA;AAAA,IAAc,SAAU,EAAA,cAAA;AAAA,GAAA,kBAC/CA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA;AAAA,IACE,GAAG,aAAA;AAAA,IACJ,YAAA;AAAA,IACA,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,OAAA,EAAS,OAAY,KAAA,KAAA,CAAA,GAAY,UAAa,GAAA,KAAA,CAAA;AAAA,IAC9C,OAAA;AAAA,IACA,OAAA;AAAA,IACA,eAAA,EACE,OAAY,KAAA,KAAA,CAAA,GAAY,eAAkB,GAAA,KAAA,CAAA;AAAA,IAE5C,GAAK,EAAA,UAAA;AAAA,GACP,CACF,CAEJ,CAAA,mBAECA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA;AAAA,IACE,GAAG,aAAA;AAAA,IACJ,GAAK,EAAA,UAAA;AAAA,IACL,YAAA;AAAA,IACA,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,OAAA,EAAS,OAAY,KAAA,KAAA,CAAA,GAAY,UAAa,GAAA,KAAA,CAAA;AAAA,IAC9C,OAAA;AAAA,IACA,OAAA;AAAA,IACA,eAAA,EAAiB,OAAY,KAAA,KAAA,CAAA,GAAY,eAAkB,GAAA,KAAA,CAAA;AAAA,GAC7D,CAEJ,CAAA,CAAA;AAEJ,CAAC,CAAA;;ACjHM,MAAM,cAAiB,GAAA,MAAA,CAAO,SAAU,CAAA,GAAA,EAAK,EAAE,CAAA,CAAA;AA6DzC,MAAA,QAAA,GAAWA,cAAM,CAAA,UAAA,CAG5B,CAAC,EAAE,QAAQ,YAAiB,EAAA,GAAA,KAAA,EAAS,EAAA,UAAA,qBACpCA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA;AAAA,EAAe,GAAK,EAAA,UAAA;AAAA,CAClB,EAAA,MAAA,KAAW,0BACTA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA;AAAA,EAAY,YAAA;AAAA,EAA0C,GAAG,KAAA;AAAA,CAAO,oBAEhEA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA;AAAA,EACC,YAAA;AAAA,EACC,GAAG,KAAA;AAAA,EACJ,MAAA;AAAA,CACF,CAEJ,CACD;;;;"}
|
package/dist/types.d.ts
CHANGED
|
@@ -217,28 +217,28 @@ declare const StyledCalendar: React.ForwardRefExoticComponent<Pick<Omit<{}, neve
|
|
|
217
217
|
readonly 'icon-400': "32px";
|
|
218
218
|
};
|
|
219
219
|
space: {
|
|
220
|
-
readonly
|
|
220
|
+
readonly 0: 0;
|
|
221
221
|
readonly 50: "4px";
|
|
222
222
|
readonly 100: "8px";
|
|
223
223
|
readonly 150: "12px";
|
|
224
224
|
readonly 200: "16px";
|
|
225
225
|
readonly 300: "24px";
|
|
226
226
|
readonly 400: "32px";
|
|
227
|
-
readonly 500: "
|
|
227
|
+
readonly 500: "40px";
|
|
228
228
|
readonly 600: "48px";
|
|
229
229
|
readonly 800: "64px";
|
|
230
230
|
readonly 1200: "96px";
|
|
231
231
|
readonly 1600: "128px";
|
|
232
232
|
};
|
|
233
233
|
'space-gap': {
|
|
234
|
-
readonly
|
|
234
|
+
readonly 0: any;
|
|
235
235
|
readonly 50: any;
|
|
236
236
|
readonly 100: any;
|
|
237
237
|
readonly 200: any;
|
|
238
238
|
readonly 300: any;
|
|
239
239
|
};
|
|
240
240
|
'space-inset': {
|
|
241
|
-
readonly
|
|
241
|
+
readonly 0: any;
|
|
242
242
|
readonly 50: any;
|
|
243
243
|
readonly 100: any;
|
|
244
244
|
readonly 150: any;
|
|
@@ -251,7 +251,7 @@ declare const StyledCalendar: React.ForwardRefExoticComponent<Pick<Omit<{}, neve
|
|
|
251
251
|
readonly 1600: any;
|
|
252
252
|
};
|
|
253
253
|
'space-offset': {
|
|
254
|
-
readonly
|
|
254
|
+
readonly 0: any;
|
|
255
255
|
readonly 50: any;
|
|
256
256
|
readonly 100: any;
|
|
257
257
|
readonly 150: any;
|
|
@@ -262,7 +262,7 @@ declare const StyledCalendar: React.ForwardRefExoticComponent<Pick<Omit<{}, neve
|
|
|
262
262
|
readonly 800: any;
|
|
263
263
|
readonly 1200: any;
|
|
264
264
|
readonly 1600: any;
|
|
265
|
-
readonly 'stacking-
|
|
265
|
+
readonly 'stacking-0': any;
|
|
266
266
|
readonly 'stacking-100': any;
|
|
267
267
|
readonly 'stacking-200': any;
|
|
268
268
|
readonly 'stacking-300': any;
|
|
@@ -498,7 +498,7 @@ interface CalendarProps extends Omit<StyledCalendarProps, 'defaultValue' | 'onCh
|
|
|
498
498
|
/**
|
|
499
499
|
* Clear button string
|
|
500
500
|
*/
|
|
501
|
-
|
|
501
|
+
clearButtonText?: string;
|
|
502
502
|
/**
|
|
503
503
|
* Calendar open by default
|
|
504
504
|
*/
|
|
@@ -512,6 +512,6 @@ interface CalendarProps extends Omit<StyledCalendarProps, 'defaultValue' | 'onCh
|
|
|
512
512
|
*/
|
|
513
513
|
onChange?: (value: DateRange | DateValue) => void;
|
|
514
514
|
}
|
|
515
|
-
declare const Calendar: React.ForwardRefExoticComponent<Pick<CalendarProps, "slot" | "title" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "asChild" | "css" | "UNSAFE_style" | "defaultOpen" | "visibleMonths" | "picker" | "predefinedRanges" | "minDate" | "maxDate" | "
|
|
515
|
+
declare const Calendar: React.ForwardRefExoticComponent<Pick<CalendarProps, "slot" | "title" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "asChild" | "css" | "UNSAFE_style" | "defaultOpen" | "visibleMonths" | "picker" | "predefinedRanges" | "minDate" | "maxDate" | "clearButtonText" | "onClear"> & React.RefAttributes<HTMLDivElement>>;
|
|
516
516
|
|
|
517
517
|
export { Calendar, PredefinedRange as CalendarPredefinedRange, CalendarProps };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mirohq/design-system-calendar",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Miro",
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"@internationalized/date": "^3.2.0",
|
|
30
30
|
"react-aria": "^3.25.0",
|
|
31
31
|
"react-stately": "^3.23.0",
|
|
32
|
-
"@mirohq/design-system-
|
|
32
|
+
"@mirohq/design-system-button": "^3.1.1",
|
|
33
|
+
"@mirohq/design-system-icons": "^0.23.1",
|
|
34
|
+
"@mirohq/design-system-flex": "^2.1.12",
|
|
33
35
|
"@mirohq/design-system-stitches": "^2.3.2",
|
|
34
|
-
"@mirohq/design-system-
|
|
35
|
-
"@mirohq/design-system-flex": "^2.1.13",
|
|
36
|
-
"@mirohq/design-system-button": "^3.1.3"
|
|
36
|
+
"@mirohq/design-system-primitive": "^1.1.0"
|
|
37
37
|
},
|
|
38
38
|
"scripts": {
|
|
39
39
|
"build": "rollup -c ../../../rollup.config.js",
|