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
Blogs
All blogs| 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