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 |
|---|---|---|---|
| alignment | PaginationAlignments | center | Controls how the pagination items (like pages or page text) are aligned in the main container.
|
| as | any | Tag or component, but a simple tag (i.e. built-in components, e.g. div, span) is recommended. | |
| children | ReactNode | React children that can be used to override or extend the default pagination items. For example, you can pass <PaginationList /> or <PaginationPageText /> here. | |
| current | number | The controlled current page number (1-based). If used, initialCurrent is ignored and the component becomes controlled. | |
| initialCurrent | number | 1 | The initial (uncontrolled) current page number. Defaults to 1. |
| initialNavSpan | number | 7 | |
| initialPageSize | number | 20 | |
| leftContainerProps | DivProps | ||
| leftElement | ReactNode | Defaults to showing total pages and selected items for non-minimal variants. | |
| navSpan | number | The controlled number of pagination elements to show (e.g., 7 shows a maximum of 7 page buttons). Must be an odd number greater than 3 for best display. | |
| numSelected | number | (Optional) Number of selected items (out of totalRow). Used by default to display information like "x selected". | |
| onChange | (page: number) => void | A callback that fires when the current page changes (e.g., user navigates to a new page). Receives the new page number as its argument. | |
| onNavSpanChange | (navSpan: number) => void | ||
| onPageSizeChange | (pageSize: number) => void | ||
| pageSize | number | The controlled page size (number of items per page). If used, initialPageSize is ignored and the component becomes controlled. | |
| rightContainerProps | DivProps | ||
| rightElement | ReactNode | Defaults to showing page navigation for non-minimal variants. | |
| sizes | number[] | [10, 20, 30, 40] | Selectable page sizes. |
| totalRow | number | The total number of rows (items) across all pages. This is used to calculate the number of pages. | |
| variant | PaginationVariants | outlined | The variant of pagination style to use.
|
| 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 | Equivalent to button's disabled property. | |
| keyboardClickKeys | string[] | ||
| 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> | ||
| type | ArrowTypes |
| 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 | Equivalent to button's disabled property. | |
| keyboardClickKeys | string[] | ||
| 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> | ||
| page | number |
| 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 | Equivalent to button's disabled property. | |
| keyboardClickKeys | string[] | ||
| 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> | ||
| type | JumperTypes |
| 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. | |
| itemSize | number | ||
| renderArrow | (type: ArrowTypes) => ReactElement<any, string | JSXElementConstructor<any>> | (type: ArrowTypes) => <PaginationArrow type={type} /> | |
| renderItem | (page: number) => ReactElement<any, string | JSXElementConstructor<any>> | (item: number) => <PaginationItem page={item} /> | |
| renderJumper | (type: JumperTypes) => ReactElement<any, string | JSXElementConstructor<any>> | (type: JumperTypes) => <PaginationJumper type={type} /> | |
| variant | "text" | "outlined" |
| Prop name | Type | Default | Description |
|---|---|---|---|
| id | string | ||
| initialIsOpen | boolean | ||
| initialKeyboardHighlightedIndex | number | ||
| initialMouseHighlightedIndex | number | ||
| initialSearchValue | string | ||
| initialSelectedIndex | number | ||
| initialValue | SelectValue | ||
| inputProps | SelectSearchProps | ||
| isOpen | boolean | ||
| keyboardHighlightedIndex | number | ||
| listOptionProps | SelectOptionProps | ||
| listProps | SelectListProps | ||
| mouseHighlightedIndex | number | ||
| onChange | ChangeCallback | Called when selected value is changed. Different from onSelect, onChange is not called when the value is already selected. | |
| onIsOpenChange | (isOpen: boolean) => void | ||
| onKeyboardHighlightedIndexChange | (index: number) => void | ||
| onMouseHighlightedIndexChange | (index: number) => void | ||
| onSearch | SearchCallback | ||
| onSelect | ChangeCallback | Different from onChange: onSelect is triggered even if the option's value is the selected one. | |
| onSelectedIndexChange | (index: number) => void | ||
| prefix | ReactNode | Go to | |
| searchValue | string | This is not the selected value. Rather, it's a search value on input if you use SelectSearch. | |
| selectedIndex | number | ||
| stateReducer | AcdcStateReducer | ||
| value | SelectValue |
| 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. | |
| itemSize | number | ||
| renderArrow | (type: ArrowTypes) => ReactElement<any, string | JSXElementConstructor<any>> | (type: ArrowTypes) => <PaginationArrow type={type} /> | |
| renderPageText | (type: string) => ReactElement<any, string | JSXElementConstructor<any>> | (current: string) => <PageText>{current}</PageText> | |
| variant | "minimal" |
| Prop name | Type | Default | Description |
|---|---|---|---|
| id | string | ||
| initialIsOpen | boolean | ||
| initialKeyboardHighlightedIndex | number | ||
| initialMouseHighlightedIndex | number | ||
| initialSearchValue | string | ||
| initialSelectedIndex | number | ||
| initialValue | SelectValue | ||
| inputProps | SelectSearchProps | ||
| isOpen | boolean | ||
| keyboardHighlightedIndex | number | ||
| listOptionProps | SelectOptionProps | ||
| listProps | SelectVirtualizedListProps | ||
| mouseHighlightedIndex | number | ||
| onChange | ChangeCallback | Called when selected value is changed. Different from onSelect, onChange is not called when the value is already selected. | |
| onIsOpenChange | (isOpen: boolean) => void | ||
| onKeyboardHighlightedIndexChange | (index: number) => void | ||
| onMouseHighlightedIndexChange | (index: number) => void | ||
| onSearch | SearchCallback | ||
| onSelect | ChangeCallback | Different from onChange: onSelect is triggered even if the option's value is the selected one. | |
| onSelectedIndexChange | (index: number) => void | ||
| prefix | ReactNode | Go to | |
| searchValue | string | This is not the selected value. Rather, it's a search value on input if you use SelectSearch. | |
| selectedIndex | number | ||
| stateReducer | AcdcStateReducer | ||
| value | SelectValue |
| 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. | |
| numSelected | number | ||
| prefix | ReactNode | Selected: |
| Prop name | Type | Default | Description |
|---|---|---|---|
| buttonProps | SelectButtonProps | ||
| id | string | ||
| initialIsOpen | boolean | ||
| initialKeyboardHighlightedIndex | number | ||
| initialMouseHighlightedIndex | number | ||
| initialSearchValue | string | ||
| initialSelectedIndex | number | ||
| initialValue | SelectValue | ||
| isOpen | boolean | ||
| keyboardHighlightedIndex | number | ||
| listProps | SelectListProps | ||
| mouseHighlightedIndex | number | ||
| onChange | ChangeCallback | Called when selected value is changed. Different from onSelect, onChange is not called when the value is already selected. | |
| onIsOpenChange | (isOpen: boolean) => void | ||
| onKeyboardHighlightedIndexChange | (index: number) => void | ||
| onMouseHighlightedIndexChange | (index: number) => void | ||
| onSearch | SearchCallback | ||
| onSelect | ChangeCallback | Different from onChange: onSelect is triggered even if the option's value is the selected one. | |
| onSelectedIndexChange | (index: number) => void | ||
| searchValue | string | This is not the selected value. Rather, it's a search value on input if you use SelectSearch. | |
| selectedIndex | number | ||
| sizes | number[] | ||
| stateReducer | AcdcStateReducer | ||
| suffix | ReactNode | / page | |
| value | SelectValue | ||
| wrapperProps | HTMLAttributes<HTMLDivElement> & { as?: any; ref?: HTMLDivElement; } |
| 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. | |
| prefix | ReactNode | Total: |
| 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 |
Copyright © 2018-2025 Sea Labs