
Coral is a thoroughly developed design system widely adopted by developers and designers for creating beautiful and user-friendly Sea internal products.
Copyright © 2018-2025 Sea Labs
Prop name | Type | Default | Description |
---|---|---|---|
closePopupOnSelect | boolean | ||
currentInput | RangeInputs | ||
date | RangeDate | ||
dateFormat | string | YYYY/MM | |
disabled | boolean | ||
displayDate | (dateValue: Dayjs) => string | ||
highlight | RangeDate | ||
initialCurrentInput | RangeInputs | ||
initialDate | RangeDate | ||
initialHighlight | RangeDate | ||
initialIsOpen | boolean | ||
initialMode | RangeMode | [CalendarModes.Month, CalendarModes.Month] | |
initialValue | RangeDate | [null, null] | |
inputElement | ReactElement<any, string | JSXElementConstructor<any>> | ||
inputValue | RangeInputValue | ||
isDateDisabled | (date: Dayjs, input: RangeInputs) => boolean | ||
isOpen | boolean | ||
mode | RangeMode | ||
normalizeDate | (dt: RangeDate) => RangeDate | ||
onChange | (value: RangeDate) => void | ||
onCurrentInputChange | (currentInput: RangeInputs) => void | ||
onDateChange | (date: RangeDate) => void | ||
onHighlightChange | (highlight: RangeDate) => void | ||
onInputChange | (inputValue: RangeInputValue) => void | ||
onIsOpenChange | (isOpen: boolean) => void | ||
onModeChange | (mode: RangeMode) => void | ||
onSelect | (value: RangeDate) => void | ||
parseDate | (dateInputValue: string) => Dayjs | ||
popupElement | ReactElement<any, string | JSXElementConstructor<any>> | ( <RangePickerPopup> <RangePickerPopupChildren calendarLeft={<MonthRangePickerCalendarLeft />} calendarRight={<MonthRangePickerCalendarRight />} /> </RangePickerPopup> ) | |
today | Dayjs | dayjs() | |
value | RangeDate |
Prop name | Type | Default | Description |
---|---|---|---|
closePopupOnSelect | boolean | true | |
currentInput | RangeInputs | ||
date | RangeDate | ||
dateFormat | string | YYYY/MM/DD | |
disabled | boolean | ||
displayDate | (dateValue: Dayjs) => string | (value: Dayjs | null) => (value ? value.format(dateFormat) : '') | |
highlight | RangeDate | ||
initialCurrentInput | RangeInputs | start | |
initialDate | RangeDate | ||
initialHighlight | RangeDate | ||
initialIsOpen | boolean | ||
initialMode | RangeMode | [CalendarModes.Date, CalendarModes.Date] | |
initialValue | RangeDate | [null, null] | |
inputElement | ReactElement<any, string | JSXElementConstructor<any>> | <RangePickerInput /> | |
inputValue | RangeInputValue | ||
isDateDisabled | (date: Dayjs, input: RangeInputs) => boolean | () => false | |
isOpen | boolean | ||
mode | RangeMode | ||
normalizeDate | (dt: RangeDate) => RangeDate | ||
onChange | (value: RangeDate) => void | ||
onCurrentInputChange | (currentInput: RangeInputs) => void | ||
onDateChange | (date: RangeDate) => void | ||
onHighlightChange | (highlight: RangeDate) => void | ||
onInputChange | (inputValue: RangeInputValue) => void | ||
onIsOpenChange | (isOpen: boolean) => void | ||
onModeChange | (mode: RangeMode) => void | ||
onSelect | (value: RangeDate) => void | ||
parseDate | (dateInputValue: string) => Dayjs | (value: string) => dayjs(value, dateFormat) | |
popupElement | ReactElement<any, string | JSXElementConstructor<any>> | <RangePickerPopup /> | |
today | Dayjs | dayjs() | |
value | RangeDate |
Prop name | Type | Default | Description |
---|---|---|---|
calendarLeft | ReactNode | <RangePickerCalendarLeft /> | |
calendarRight | ReactNode | <RangePickerCalendarRight /> |
Prop name | Type | Default | Description |
---|---|---|---|
as | any | Tag or component, but a simple tag (i.e. built-in components, e.g. div, span) is recommended. | |
date | Dayjs | ||
dateFooter | ReactNode | ||
dateHeader | ReactNode | ||
dateViewProps | ViewProps | ||
immediate | boolean | ||
initialDate | Dayjs | ||
initialMode | CalendarModes | ||
mode | CalendarModes | ||
monthFooter | ReactNode | ||
monthHeader | ReactNode | ||
monthViewProps | ViewProps | ||
onDateChange | (date: Dayjs) => void | ||
onModeChange | (mode: CalendarModes) => void | ||
onPreviousModeChange | (mode: CalendarModes) => void | ||
previousMode | CalendarModes | ||
renderDate | (props: RenderCalendarDateOptions, defaultCell: ReactElement<CalendarDateCellProps, any>) => ReactNode | ||
renderDay | (props: RenderDayOptions, defaultCell: ReactElement<RenderDayOptions, any>) => ReactNode | ||
renderMonth | (props: RenderCalendarMonthOptions, defaultCell: ReactElement<CalendarMonthCellProps, any>) => ReactNode | (props: RenderCalendarMonthOptions) => <RangePickerMonthCell {...props} /> | |
renderYear | (props: RenderCalendarYearOptions, defaultCell: ReactElement<CalendarYearCellProps, any>) => ReactNode | ||
startOfWeek | Day | Accepts numbers from 0 (Sunday) to 6 (Saturday). | |
today | Dayjs | ||
yearFooter | ReactNode | ||
yearHeader | ReactNode | ||
yearViewProps | ViewProps |
Prop name | Type | Default | Description |
---|---|---|---|
as | any | Tag or component, but a simple tag (i.e. built-in components, e.g. div, span) is recommended. | |
date | Dayjs | ||
dateFooter | ReactNode | ||
dateHeader | ReactNode | ||
dateViewProps | ViewProps | ||
immediate | boolean | ||
initialDate | Dayjs | ||
initialMode | CalendarModes | ||
mode | CalendarModes | ||
monthFooter | ReactNode | ||
monthHeader | ReactNode | ||
monthViewProps | ViewProps | ||
onDateChange | (date: Dayjs) => void | ||
onModeChange | (mode: CalendarModes) => void | ||
onPreviousModeChange | (mode: CalendarModes) => void | ||
previousMode | CalendarModes | ||
renderDate | (props: RenderCalendarDateOptions, defaultCell: ReactElement<CalendarDateCellProps, any>) => ReactNode | ||
renderDay | (props: RenderDayOptions, defaultCell: ReactElement<RenderDayOptions, any>) => ReactNode | ||
renderMonth | (props: RenderCalendarMonthOptions, defaultCell: ReactElement<CalendarMonthCellProps, any>) => ReactNode | ||
renderYear | (props: RenderCalendarYearOptions, defaultCell: ReactElement<CalendarYearCellProps, any>) => ReactNode | (props: RenderMonthRangePickerYearOptions) => <RangePickerYearCellLeft {...props} /> | |
startOfWeek | Day | Accepts numbers from 0 (Sunday) to 6 (Saturday). | |
today | Dayjs | ||
yearFooter | ReactNode | ||
yearHeader | ReactNode | ||
yearViewProps | ViewProps |
Prop name | Type | Default | Description |
---|---|---|---|
as | any | Tag or component, but a simple tag (i.e. built-in components, e.g. div, span) is recommended. | |
date | Dayjs | ||
dateFooter | ReactNode | ||
dateHeader | ReactNode | ||
dateViewProps | ViewProps | ||
immediate | boolean | ||
initialDate | Dayjs | ||
initialMode | CalendarModes | ||
mode | CalendarModes | ||
monthFooter | ReactNode | ||
monthHeader | ReactNode | ||
monthViewProps | ViewProps | ||
onDateChange | (date: Dayjs) => void | ||
onModeChange | (mode: CalendarModes) => void | ||
onPreviousModeChange | (mode: CalendarModes) => void | ||
previousMode | CalendarModes | ||
renderDate | (props: RenderCalendarDateOptions, defaultCell: ReactElement<CalendarDateCellProps, any>) => ReactNode | ||
renderDay | (props: RenderDayOptions, defaultCell: ReactElement<RenderDayOptions, any>) => ReactNode | ||
renderMonth | (props: RenderCalendarMonthOptions, defaultCell: ReactElement<CalendarMonthCellProps, any>) => ReactNode | ||
renderYear | (props: RenderCalendarYearOptions, defaultCell: ReactElement<CalendarYearCellProps, any>) => ReactNode | (props: RenderMonthRangePickerYearOptions) => <RangePickerYearCellRight {...props} /> | |
startOfWeek | Day | Accepts numbers from 0 (Sunday) to 6 (Saturday). | |
today | Dayjs | ||
yearFooter | ReactNode | ||
yearHeader | ReactNode | ||
yearViewProps | ViewProps |
Prop name | Type | Default | Description |
---|---|---|---|
as | any | Tag or component, but a simple tag (i.e. built-in components, e.g. div, span) is recommended. | |
date | Dayjs | ||
dateFooter | ReactNode | ||
dateHeader | ReactNode | ||
dateViewProps | ViewProps | ||
immediate | boolean | ||
initialDate | Dayjs | ||
initialMode | CalendarModes | ||
mode | CalendarModes | ||
monthFooter | ReactNode | ||
monthHeader | ReactNode | ||
monthViewProps | ViewProps | ||
onDateChange | (date: Dayjs) => void | ||
onModeChange | (mode: CalendarModes) => void | ||
onPreviousModeChange | (mode: CalendarModes) => void | ||
previousMode | CalendarModes | ||
renderDate | (props: RenderCalendarDateOptions, defaultCell: ReactElement<CalendarDateCellProps, any>) => ReactNode | ||
renderDay | (props: RenderDayOptions, defaultCell: ReactElement<RenderDayOptions, any>) => ReactNode | ||
renderMonth | (props: RenderCalendarMonthOptions, defaultCell: ReactElement<CalendarMonthCellProps, any>) => ReactNode | (props: RenderRangePickerMonthOptions) => <RangePickerMonthCellLeft {...props} /> | |
renderYear | (props: RenderCalendarYearOptions, defaultCell: ReactElement<CalendarYearCellProps, any>) => ReactNode | (props: RenderRangePickerYearOptions) => <RangePickerYearCellLeft {...props} /> | |
startOfWeek | Day | Accepts numbers from 0 (Sunday) to 6 (Saturday). | |
today | Dayjs | ||
yearFooter | ReactNode | ||
yearHeader | ReactNode | ||
yearViewProps | ViewProps |
Prop name | Type | Default | Description |
---|---|---|---|
as | any | Tag or component, but a simple tag (i.e. built-in components, e.g. div, span) is recommended. | |
date | Dayjs | ||
dateFooter | ReactNode | ||
dateHeader | ReactNode | ||
dateViewProps | ViewProps | ||
immediate | boolean | ||
initialDate | Dayjs | ||
initialMode | CalendarModes | ||
mode | CalendarModes | ||
monthFooter | ReactNode | ||
monthHeader | ReactNode | ||
monthViewProps | ViewProps | ||
onDateChange | (date: Dayjs) => void | ||
onModeChange | (mode: CalendarModes) => void | ||
onPreviousModeChange | (mode: CalendarModes) => void | ||
previousMode | CalendarModes | ||
renderDate | (props: RenderCalendarDateOptions, defaultCell: ReactElement<CalendarDateCellProps, any>) => ReactNode | ||
renderDay | (props: RenderDayOptions, defaultCell: ReactElement<RenderDayOptions, any>) => ReactNode | ||
renderMonth | (props: RenderCalendarMonthOptions, defaultCell: ReactElement<CalendarMonthCellProps, any>) => ReactNode | (props: RenderRangePickerMonthOptions) => <RangePickerMonthCellRight {...props} /> | |
renderYear | (props: RenderCalendarYearOptions, defaultCell: ReactElement<CalendarYearCellProps, any>) => ReactNode | (props: RenderRangePickerYearOptions) => <RangePickerYearCellRight {...props} /> | |
startOfWeek | Day | Accepts numbers from 0 (Sunday) to 6 (Saturday). | |
today | Dayjs | ||
yearFooter | ReactNode | ||
yearHeader | ReactNode | ||
yearViewProps | ViewProps |
Prop name | Type | Default | Description |
---|---|---|---|
as | any | Tag or component, but a simple tag (i.e. built-in components, e.g. div, span) is recommended. | |
clearable | boolean | ||
colorType | ColorTypes | Set color based on theme. If color is specified, that prop is used instead of this. | |
disabled | boolean | Equivalent to button's disabled property. | |
keyboardClickKeys | string[] | ||
loading | boolean | ||
onBlur | FocusEventHandler<HTMLDivElement> | ||
onClick | MouseEventHandler<HTMLDivElement> | ||
onKeyDown | KeyboardEventHandler<HTMLDivElement> | ||
onKeyUp | KeyboardEventHandler<HTMLDivElement> | ||
onMouseDown | MouseEventHandler<HTMLDivElement> | ||
onMouseLeave | MouseEventHandler<HTMLDivElement> | ||
onMouseUp | MouseEventHandler<HTMLDivElement> | ||
onRelease | EventHandler<SyntheticEvent<HTMLDivElement, Event>> | Callback that's triggered after click i.e. mouseup and keyup of enter or space. | |
onTouchEnd | TouchEventHandler<HTMLDivElement> | ||
onTouchStart | TouchEventHandler<HTMLDivElement> | ||
radius | string | ||
size | IconButtonSizes | ||
tooltip | ReactNode | ||
tooltipProps | Omit<TooltipProps, "title" | "children"> | ||
variant | IconButtonVariants |
Prop name | Type | Default | Description |
---|---|---|---|
dash | ReactNode | <Dash /> | |
icon | ReactNode | <RangePickerIcon /> | |
inputEnd | ReactNode | <RangePickerInputEnd /> | |
inputStart | ReactNode | <RangePickerInputStart /> | |
underline | ReactNode | <RangePickerInputUnderline /> |
Prop name | Type | Default | Description |
---|---|---|---|
as | any | Tag or component, but a simple tag (i.e. built-in components, e.g. div, span) is recommended. | |
disabled | boolean | ||
onChange | (e: ChangeEvent<HTMLInputElement>) => void | ||
value | string |
Prop name | Type | Default | Description |
---|---|---|---|
as | any | Tag or component, but a simple tag (i.e. built-in components, e.g. div, span) is recommended. | |
disabled | boolean | ||
onChange | (e: ChangeEvent<HTMLInputElement>) => void | ||
value | string |
Prop name | Type | Default | Description |
---|---|---|---|
as | void | WebTarget | Tag or component, but a simple tag (i.e. built-in components, e.g. div, span) is recommended. | |
forwardedAs | void | WebTarget | ||
theme | DefaultTheme |
Prop name | Type | Default | Description |
---|---|---|---|
as | any | Tag or component, but a simple tag (i.e. built-in components, e.g. div, span) is recommended. | |
colorType | ColorTypes | Set color based on theme. If color is specified, that prop is used instead of this. | |
disabled | boolean | Equivalent to button's disabled property. | |
keyboardClickKeys | string[] | ||
leftIcon | ReactNode | Element before the label. Equivalent to element on the label with some margin. | |
loading | boolean | ||
onBlur | FocusEventHandler<HTMLDivElement> | ||
onClick | MouseEventHandler<HTMLDivElement> | ||
onKeyDown | KeyboardEventHandler<HTMLDivElement> | ||
onKeyUp | KeyboardEventHandler<HTMLDivElement> | ||
onMouseDown | MouseEventHandler<HTMLDivElement> | ||
onMouseLeave | MouseEventHandler<HTMLDivElement> | ||
onMouseUp | MouseEventHandler<HTMLDivElement> | ||
onRelease | EventHandler<SyntheticEvent<HTMLDivElement, Event>> | Callback that's triggered after click i.e. mouseup and keyup of enter or space. | |
onTouchEnd | TouchEventHandler<HTMLDivElement> | ||
onTouchStart | TouchEventHandler<HTMLDivElement> | ||
radius | number | ||
range | RangeDate | ||
rightIcon | ReactNode | Element after the label. Equivalent to element on the label with some margin. | |
setDateDelay | number | 800 | |
size | ButtonSizes | ||
variant | ButtonVariants | text | Prefers naming it as variant because type is a known button html property. |
Prop name | Type | Default | Description |
---|---|---|---|
as | any | Tag or component, but a simple tag (i.e. built-in components, e.g. div, span) is recommended. | |
corner | boolean | ||
gap | number | When gap is set to 0, separator will be rendered | |
ranges | ObjectOf<RangeDate> |
Copyright © 2018-2025 Sea Labs