DocsAPI referenceHeadlesspagination

pagination headless API

The core connector and vanilla mount are always visible. Use the framework choice to inspect native composition, props, outputs, context and hooks for the selected adapter.

@grassroot/ui-headless-core/pagination

Core connector and vanilla API

23 exports
View source packages/ui-headless/core/src/pagination/index.ts
DeclarationView source
connectPaginationts
declare function connectPagination(service: PaginationService, scope: PartScope, options?: PaginationConnectOptions): PaginationApi;
Name
Kind
Type
Requirement
service
parameter
PaginationService
required
scope
parameter
PartScope
required
options
parameter
PaginationConnectOptions
optional
return
return value
PaginationApi
n/a
Name
service
Kind
parameter
Type
PaginationService
Requirement
required
Name
scope
Kind
parameter
Type
PartScope
Requirement
required
Name
options
Kind
parameter
Type
PaginationConnectOptions
Requirement
optional
Name
return
Kind
return value
Type
PaginationApi
Requirement
n/a

mountPagination

function
DeclarationView source
mountPaginationts
declare function mountPagination(container: HTMLElement, options: MountPaginationOptions): PaginationMount;
Name
Kind
Type
Requirement
container
parameter
HTMLElement
required
options
parameter
MountPaginationOptions
required
return
return value
PaginationMount
n/a
Name
container
Kind
parameter
Type
HTMLElement
Requirement
required
Name
options
Kind
parameter
Type
MountPaginationOptions
Requirement
required
Name
return
Kind
return value
Type
PaginationMount
Requirement
n/a
DeclarationView source
MountPaginationOptionsts
interface MountPaginationOptions extends PaginationInput {
readonly onPageChange?: (detail: PaginationPageChangeDetail) => void;
readonly messages?: PaginationConnectOptions["messages"];
readonly renderPage?: (element: HTMLElement, page: number) => void;
}
Name
Kind
Type
Requirement
messages
property
PaginationConnectOptions["messages"]
optional
onPageChange
property
(detail: PaginationPageChangeDetail) => void
optional
renderPage
property
(element: HTMLElement, page: number) => void
optional
Name
messages
Kind
property
Type
PaginationConnectOptions["messages"]
Requirement
optional
Name
onPageChange
Kind
property
Type
(detail: PaginationPageChangeDetail) => void
Requirement
optional
Name
renderPage
Kind
property
Type
(element: HTMLElement, page: number) => void
Requirement
optional
DeclarationView source
paginationAnatomyts
export declare const paginationAnatomy: {
readonly scope: "pagination";
readonly parts: readonly ["root", "list", "cell", "gap"];
};
Name
Kind
Type
Requirement
parts
property
readonly ["root", "list", "cell", "gap"]
required
scope
property
"pagination"
required
Name
parts
Kind
property
Type
readonly ["root", "list", "cell", "gap"]
Requirement
required
Name
scope
Kind
property
Type
"pagination"
Requirement
required

PaginationApi

interface
DeclarationView source
PaginationApits
interface PaginationApi {
rootProps(): PartProps;
listProps(): PartProps;
previousProps(): PartProps;
pageProps(page: number): PartProps;
gapProps(index?: number): PartProps;
nextProps(): PartProps;
readonly page: number;
readonly pageCount: number;
readonly range: readonly (number | "…")[];
}
Name
Kind
Type
Requirement
gapProps
method
(index?: number) => PartProps
required
listProps
method
() => PartProps
required
nextProps
method
() => PartProps
required
page
property
number
required
pageCount
property
number
required
pageProps
method
(page: number) => PartProps
required
previousProps
method
() => PartProps
required
range
property
readonly (number | "…")[]
required
rootProps
method
() => PartProps
required
Name
gapProps
Kind
method
Type
(index?: number) => PartProps
Requirement
required
Name
listProps
Kind
method
Type
() => PartProps
Requirement
required
Name
nextProps
Kind
method
Type
() => PartProps
Requirement
required
Name
page
Kind
property
Type
number
Requirement
required
Name
pageCount
Kind
property
Type
number
Requirement
required
Name
pageProps
Kind
method
Type
(page: number) => PartProps
Requirement
required
Name
previousProps
Kind
method
Type
() => PartProps
Requirement
required
Name
range
Kind
property
Type
readonly (number | "…")[]
Requirement
required
Name
rootProps
Kind
method
Type
() => PartProps
Requirement
required
DeclarationView source
PaginationChangeReasonts
type PaginationChangeReason = "pointer" | "keyboard" | "programmatic";
DeclarationView source
PaginationCommandts
type PaginationCommand = CommandObject & {
readonly type: "PAGE_CHANGE_REQUEST";
readonly page: number;
readonly reason: PaginationChangeReason;
};
Name
Kind
Type
Requirement
page
property
number
required
reason
property
PaginationChangeReason
required
type
property
string
required
Name
page
Kind
property
Type
number
Requirement
required
Name
reason
Kind
property
Type
PaginationChangeReason
Requirement
required
Name
type
Kind
property
Type
string
Requirement
required
DeclarationView source
PaginationConnectOptionsts
interface PaginationConnectOptions {
readonly onPageChange?: (detail: PaginationPageChangeDetail) => void;
readonly messages?: Partial<PaginationMessages>;
}
Name
Kind
Type
Requirement
messages
property
Partial<PaginationMessages>
optional
onPageChange
property
(detail: PaginationPageChangeDetail) => void
optional
Name
messages
Kind
property
Type
Partial<PaginationMessages>
Requirement
optional
Name
onPageChange
Kind
property
Type
(detail: PaginationPageChangeDetail) => void
Requirement
optional
DeclarationView source
PaginationContextts
type PaginationContext = {
readonly mode: "controlled" | "uncontrolled";
readonly page: number;
readonly total: number;
readonly pageSize: number;
readonly siblingCount: number;
readonly pageCount: number;
readonly range: readonly (number | "…")[];
};
Name
Kind
Type
Requirement
mode
property
"controlled" | "uncontrolled"
required
page
property
number
required
pageCount
property
number
required
pageSize
property
number
required
range
property
readonly (number | "…")[]
required
siblingCount
property
number
required
total
property
number
required
Name
mode
Kind
property
Type
"controlled" | "uncontrolled"
Requirement
required
Name
page
Kind
property
Type
number
Requirement
required
Name
pageCount
Kind
property
Type
number
Requirement
required
Name
pageSize
Kind
property
Type
number
Requirement
required
Name
range
Kind
property
Type
readonly (number | "…")[]
Requirement
required
Name
siblingCount
Kind
property
Type
number
Requirement
required
Name
total
Kind
property
Type
number
Requirement
required
DeclarationView source
PaginationEventts
type PaginationEvent = {
readonly type: "SET_PAGE";
readonly page: number;
readonly reason: PaginationChangeReason;
} | {
readonly type: "PREVIOUS";
readonly reason: Exclude<PaginationChangeReason, "programmatic">;
} | {
readonly type: "NEXT";
readonly reason: Exclude<PaginationChangeReason, "programmatic">;
} | {
readonly type: "FIRST";
readonly reason: PaginationChangeReason;
} | {
readonly type: "LAST";
readonly reason: PaginationChangeReason;
};
DeclarationView source
PaginationInputts
type PaginationInput = {
/** Total records/items. */
readonly total: number;
/** Records/items per page. Values below one normalize to one. */
readonly pageSize: number;
/** Controlled 1-based page. Defining it fixes controlled mode. */
readonly page?: number;
/** Uncontrolled initial 1-based page. Defaults to one. */
readonly defaultPage?: number;
/** Pages to show either side of the current page. Defaults to one. */
readonly siblingCount?: number;
};
Name
Kind
Type
Requirement
Description
defaultPage
property
number
optional
Uncontrolled initial 1-based page. Defaults to one.
page
property
number
optional
Controlled 1-based page. Defining it fixes controlled mode.
pageSize
property
number
required
Records/items per page. Values below one normalize to one.
siblingCount
property
number
optional
Pages to show either side of the current page. Defaults to one.
total
property
number
required
Total records/items.
Name
defaultPage
Kind
property
Type
number
Requirement
optional
Description
Uncontrolled initial 1-based page. Defaults to one.
Name
page
Kind
property
Type
number
Requirement
optional
Description
Controlled 1-based page. Defining it fixes controlled mode.
Name
pageSize
Kind
property
Type
number
Requirement
required
Description
Records/items per page. Values below one normalize to one.
Name
siblingCount
Kind
property
Type
number
Requirement
optional
Description
Pages to show either side of the current page. Defaults to one.
Name
total
Kind
property
Type
number
Requirement
required
Description
Total records/items.
DeclarationView source
paginationMachinets
export declare const paginationMachine: PaginationMachine;
DeclarationView source
paginationMessagests
export declare const paginationMessages: PaginationMessages;
DeclarationView source
PaginationMessagests
type PaginationMessages = Pick<MessageTable, "root" | "previous" | "next">;

PaginationMount

interface
DeclarationView source
PaginationMountts
interface PaginationMount {
readonly service: PaginationService;
readonly connector: PaginationApi;
readonly root: HTMLElement;
destroy(): void;
}
Name
Kind
Type
Requirement
connector
property
PaginationApi
required
destroy
method
() => void
required
root
property
HTMLElement
required
service
property
PaginationService
required
Name
connector
Kind
property
Type
PaginationApi
Requirement
required
Name
destroy
Kind
method
Type
() => void
Requirement
required
Name
root
Kind
property
Type
HTMLElement
Requirement
required
Name
service
Kind
property
Type
PaginationService
Requirement
required
DeclarationView source
PaginationPageChangeDetailts
interface PaginationPageChangeDetail {
readonly page: number;
readonly reason: PaginationChangeReason;
}
Name
Kind
Type
Requirement
page
property
number
required
reason
property
PaginationChangeReason
required
Name
page
Kind
property
Type
number
Requirement
required
Name
reason
Kind
property
Type
PaginationChangeReason
Requirement
required
DeclarationView source
PaginationPartts
type PaginationPart = (typeof paginationAnatomy.parts)[number];

paginationRange

function

Exact port of the frozen ui-core oracle.

DeclarationView source
paginationRangets
declare function paginationRange(page: number, count: number, siblings?: number): (number | "…")[];
Name
Kind
Type
Requirement
page
parameter
number
required
count
parameter
number
required
siblings
parameter
number
optional
return
return value
(number | "…")[]
n/a
Name
page
Kind
parameter
Type
number
Requirement
required
Name
count
Kind
parameter
Type
number
Requirement
required
Name
siblings
Kind
parameter
Type
number
Requirement
optional
Name
return
Kind
return value
Type
(number | "…")[]
Requirement
n/a
DeclarationView source
paginationSelectorsts
export declare const paginationSelectors: {
page: (snapshot: PaginationSnapshot) => number;
pageCount: (snapshot: PaginationSnapshot) => number;
range: (snapshot: PaginationSnapshot) => readonly (number | "…")[];
canPrevious: (snapshot: PaginationSnapshot) => boolean;
canNext: (snapshot: PaginationSnapshot) => boolean;
};
Name
Kind
Type
Requirement
canNext
property
(snapshot: PaginationSnapshot) => boolean
required
canPrevious
property
(snapshot: PaginationSnapshot) => boolean
required
page
property
(snapshot: PaginationSnapshot) => number
required
pageCount
property
(snapshot: PaginationSnapshot) => number
required
range
property
(snapshot: PaginationSnapshot) => readonly (number | "…")[]
required
Name
canNext
Kind
property
Type
(snapshot: PaginationSnapshot) => boolean
Requirement
required
Name
canPrevious
Kind
property
Type
(snapshot: PaginationSnapshot) => boolean
Requirement
required
Name
page
Kind
property
Type
(snapshot: PaginationSnapshot) => number
Requirement
required
Name
pageCount
Kind
property
Type
(snapshot: PaginationSnapshot) => number
Requirement
required
Name
range
Kind
property
Type
(snapshot: PaginationSnapshot) => readonly (number | "…")[]
Requirement
required
DeclarationView source
PaginationServicets
type PaginationService = Service<PaginationInput, PaginationStateValue, PaginationContext, PaginationEvent, PaginationCommand>;
DeclarationView source
PaginationSnapshotts
type PaginationSnapshot = Snapshot<PaginationStateValue, PaginationContext>;
DeclarationView source
PaginationStateValuets
type PaginationStateValue = "ready";
DeclarationView source
runPaginationCommandts
declare function runPaginationCommand(command: PaginationCommand, _scope: PartScope, options?: PaginationConnectOptions): void;
Name
Kind
Type
Requirement
command
parameter
PaginationCommand
required
_scope
parameter
PartScope
required
options
parameter
PaginationConnectOptions
optional
return
return value
void
n/a
Name
command
Kind
parameter
Type
PaginationCommand
Requirement
required
Name
_scope
Kind
parameter
Type
PartScope
Requirement
required
Name
options
Kind
parameter
Type
PaginationConnectOptions
Requirement
optional
Name
return
Kind
return value
Type
void
Requirement
n/a

Framework adapters

Each panel keeps its adapter's public vocabulary. React compound exports, Vue composables, standalone Angular declarations, Svelte components, and Solid hooks stay native to their framework.

React example follows below.

React imports

@grassroot/ui-headless-react/paginationts
import { Gap, List, Next, Page, Pages, Pagination, Previous, Root } from "@grassroot/ui-headless-react/pagination"; // +1 more exports

Vue imports

@grassroot/ui-headless-vue/paginationts
<script setup lang="ts">
import { PaginationGap, PaginationList, PaginationNext, PaginationPage, PaginationPages, PaginationPrevious, PaginationRoot } from "@grassroot/ui-headless-vue/pagination";
</script>

Angular imports

@grassroot/ui-headless-angular/paginationts
import { Component } from "@angular/core";
import { GR_PAGINATION_DECLARATIONS } from "@grassroot/ui-headless-angular/pagination";
@Component({ standalone: true, imports: [GR_PAGINATION_DECLARATIONS], template: `<!-- compose the pagination parts here -->` })
export class Example {}

Svelte imports

@grassroot/ui-headless-svelte/paginationts
<script lang="ts">
import { PaginationGap, PaginationList, PaginationNext, PaginationPage, PaginationPages, PaginationPrevious, PaginationRoot } from "@grassroot/ui-headless-svelte/pagination";
</script>

Solid imports

@grassroot/ui-headless-solid/paginationts
import { PaginationGap, PaginationList, PaginationNext, PaginationPage, PaginationPages, PaginationPrevious, PaginationRoot } from "@grassroot/ui-headless-solid/pagination";

@grassroot/ui-headless-react/pagination

React adapter

19 exports
View source packages/ui-headless/react/src/pagination/index.ts

Gap

value
DeclarationView source
Gapts
export declare const Gap: import("react").ForwardRefExoticComponent<GapProps & import("react").RefAttributes<HTMLSpanElement>>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a

GapProps

interface
DeclarationView source
GapPropsts
interface GapProps extends ComponentPropsWithoutRef<"span">, Shared {
readonly index?: number;
}
Name
Kind
Type
Requirement
index
property
number
optional
Name
index
Kind
property
Type
number
Requirement
optional

List

value
DeclarationView source
Listts
export declare const List: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & Shared & import("react").RefAttributes<HTMLUListElement>>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a

Next

value
DeclarationView source
Nextts
export declare const Next: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & Shared & import("react").RefAttributes<HTMLButtonElement>>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a

Page

value
DeclarationView source
Pagets
export declare const Page: import("react").ForwardRefExoticComponent<PageProps & import("react").RefAttributes<HTMLButtonElement>>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a

PageProps

interface
DeclarationView source
PagePropsts
interface PageProps extends ComponentPropsWithoutRef<"button">, Shared {
readonly page: number;
}
Name
Kind
Type
Requirement
page
property
number
required
Name
page
Kind
property
Type
number
Requirement
required

Pages

function
DeclarationView source
Pagests
declare function Pages(): import("react").JSX.Element;
Name
Kind
Type
Requirement
return
return value
import("react").JSX.Element
n/a
Name
return
Kind
return value
Type
import("react").JSX.Element
Requirement
n/a

Pagination

value
DeclarationView source
Paginationts
export declare const Pagination: {
Root: import("react").ForwardRefExoticComponent<PaginationRootProps & import("react").RefAttributes<HTMLElement>>;
RootProvider: import("react").ForwardRefExoticComponent<PaginationRootProviderProps & import("react").RefAttributes<HTMLElement>>;
List: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & {
readonly asChild?: boolean;
} & import("react").RefAttributes<HTMLUListElement>>;
Previous: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
readonly asChild?: boolean;
} & import("react").RefAttributes<HTMLButtonElement>>;
Page: import("react").ForwardRefExoticComponent<PageProps & import("react").RefAttributes<HTMLButtonElement>>;
Gap: import("react").ForwardRefExoticComponent<GapProps & import("react").RefAttributes<HTMLSpanElement>>;
Next: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
readonly asChild?: boolean;
} & import("react").RefAttributes<HTMLButtonElement>>;
Pages: typeof Pages;
};
Name
Kind
Type
Requirement
Gap
property
import("react").ForwardRefExoticComponent<GapProps & import("react").RefAttributes<HTMLSpanElement>>
required
List
property
import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & { readonly asChild?: boolean; } & import("react").RefAttributes<HTMLUListElement>>
required
Next
property
import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & { readonly asChild?: boolean; } & import("react").RefAttributes<HTMLButtonElement>>
required
Page
property
import("react").ForwardRefExoticComponent<PageProps & import("react").RefAttributes<HTMLButtonElement>>
required
Pages
property
typeof Pages
required
Previous
property
import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & { readonly asChild?: boolean; } & import("react").RefAttributes<HTMLButtonElement>>
required
Root
property
import("react").ForwardRefExoticComponent<PaginationRootProps & import("react").RefAttributes<HTMLElement>>
required
RootProvider
property
import("react").ForwardRefExoticComponent<PaginationRootProviderProps & import("react").RefAttributes<HTMLElement>>
required
Name
Gap
Kind
property
Type
import("react").ForwardRefExoticComponent<GapProps & import("react").RefAttributes<HTMLSpanElement>>
Requirement
required
Name
List
Kind
property
Type
import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & { readonly asChild?: boolean; } & import("react").RefAttributes<HTMLUListElement>>
Requirement
required
Name
Next
Kind
property
Type
import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & { readonly asChild?: boolean; } & import("react").RefAttributes<HTMLButtonElement>>
Requirement
required
Name
Page
Kind
property
Type
import("react").ForwardRefExoticComponent<PageProps & import("react").RefAttributes<HTMLButtonElement>>
Requirement
required
Name
Pages
Kind
property
Type
typeof Pages
Requirement
required
Name
Previous
Kind
property
Type
import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & { readonly asChild?: boolean; } & import("react").RefAttributes<HTMLButtonElement>>
Requirement
required
Name
Root
Kind
property
Type
import("react").ForwardRefExoticComponent<PaginationRootProps & import("react").RefAttributes<HTMLElement>>
Requirement
required
Name
RootProvider
Kind
property
Type
import("react").ForwardRefExoticComponent<PaginationRootProviderProps & import("react").RefAttributes<HTMLElement>>
Requirement
required
DeclarationView source
PaginationContextts
export declare const PaginationContext: import("react").Context<PaginationContextValue | null>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a
DeclarationView source
PaginationContextValuets
interface PaginationContextValue {
readonly service: PaginationService;
readonly connector: PaginationApi;
readonly scope: PartScope;
readonly snapshot: PaginationSnapshot;
}
Name
Kind
Type
Requirement
connector
property
PaginationApi
required
scope
property
PartScope
required
service
property
PaginationService
required
snapshot
property
PaginationSnapshot
required
Name
connector
Kind
property
Type
PaginationApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
PaginationService
Requirement
required
Name
snapshot
Kind
property
Type
PaginationSnapshot
Requirement
required
DeclarationView source
PaginationRootPropsts
interface PaginationRootProps extends Omit<ComponentPropsWithoutRef<"nav">, "onChange"> {
readonly asChild?: boolean;
readonly total: number;
readonly pageSize: number;
readonly page?: number;
readonly defaultPage?: number;
readonly siblingCount?: number;
readonly onPageChange?: UsePaginationOptions["onPageChange"];
readonly children?: ReactNode;
}
Name
Kind
Type
Requirement
asChild
property
boolean
optional
children
property
ReactNode
optional
defaultPage
property
number
optional
onPageChange
property
UsePaginationOptions["onPageChange"]
optional
page
property
number
optional
pageSize
property
number
required
siblingCount
property
number
optional
total
property
number
required
Name
asChild
Kind
property
Type
boolean
Requirement
optional
Name
children
Kind
property
Type
ReactNode
Requirement
optional
Name
defaultPage
Kind
property
Type
number
Requirement
optional
Name
onPageChange
Kind
property
Type
UsePaginationOptions["onPageChange"]
Requirement
optional
Name
page
Kind
property
Type
number
Requirement
optional
Name
pageSize
Kind
property
Type
number
Requirement
required
Name
siblingCount
Kind
property
Type
number
Requirement
optional
Name
total
Kind
property
Type
number
Requirement
required
DeclarationView source
PaginationRootProviderPropsts
interface PaginationRootProviderProps extends ComponentPropsWithoutRef<"nav"> {
readonly value: UsePaginationResult;
readonly asChild?: boolean;
}
Name
Kind
Type
Requirement
asChild
property
boolean
optional
value
property
UsePaginationResult
required
Name
asChild
Kind
property
Type
boolean
Requirement
optional
Name
value
Kind
property
Type
UsePaginationResult
Requirement
required

Previous

value
DeclarationView source
Previousts
export declare const Previous: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & Shared & import("react").RefAttributes<HTMLButtonElement>>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a

Root

value
DeclarationView source
Rootts
export declare const Root: import("react").ForwardRefExoticComponent<PaginationRootProps & import("react").RefAttributes<HTMLElement>>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a

RootProvider

value
DeclarationView source
RootProviderts
export declare const RootProvider: import("react").ForwardRefExoticComponent<PaginationRootProviderProps & import("react").RefAttributes<HTMLElement>>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a

usePagination

function
DeclarationView source
usePaginationts
declare function usePagination(input: PaginationInput, options?: UsePaginationOptions): UsePaginationResult;
Name
Kind
Type
Requirement
input
parameter
PaginationInput
required
options
parameter
UsePaginationOptions
optional
return
return value
UsePaginationResult
n/a
Name
input
Kind
parameter
Type
PaginationInput
Requirement
required
Name
options
Kind
parameter
Type
UsePaginationOptions
Requirement
optional
Name
return
Kind
return value
Type
UsePaginationResult
Requirement
n/a
DeclarationView source
usePaginationContextts
declare function usePaginationContext(partName: string): PaginationContextValue;
Name
Kind
Type
Requirement
partName
parameter
string
required
return
return value
PaginationContextValue
n/a
Name
partName
Kind
parameter
Type
string
Requirement
required
Name
return
Kind
return value
Type
PaginationContextValue
Requirement
n/a
DeclarationView source
UsePaginationOptionsts
interface UsePaginationOptions {
readonly onPageChange?: (detail: PaginationPageChangeDetail) => void;
}
Name
Kind
Type
Requirement
onPageChange
property
(detail: PaginationPageChangeDetail) => void
optional
Name
onPageChange
Kind
property
Type
(detail: PaginationPageChangeDetail) => void
Requirement
optional
DeclarationView source
UsePaginationResultts
interface UsePaginationResult {
readonly service: PaginationService;
readonly connector: PaginationApi;
readonly scope: PartScope;
readonly snapshot: PaginationSnapshot;
}
Name
Kind
Type
Requirement
connector
property
PaginationApi
required
scope
property
PartScope
required
service
property
PaginationService
required
snapshot
property
PaginationSnapshot
required
Name
connector
Kind
property
Type
PaginationApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
PaginationService
Requirement
required
Name
snapshot
Kind
property
Type
PaginationSnapshot
Requirement
required

@grassroot/ui-headless-vue/pagination

Vue adapter

13 exports
View source packages/ui-headless/vue/src/pagination/index.ts
DeclarationView source
PaginationContextKeyts
export declare const PaginationContextKey: InjectionKey<PaginationContextValue>;
DeclarationView source
PaginationContextValuets
interface PaginationContextValue {
readonly service: PaginationService;
readonly connector: PaginationApi;
readonly scope: PartScope;
readonly snapshot: ShallowRef<PaginationSnapshot>;
}
Name
Kind
Type
Requirement
connector
property
PaginationApi
required
scope
property
PartScope
required
service
property
PaginationService
required
snapshot
property
ShallowRef<PaginationSnapshot>
required
Name
connector
Kind
property
Type
PaginationApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
PaginationService
Requirement
required
Name
snapshot
Kind
property
Type
ShallowRef<PaginationSnapshot>
Requirement
required
DeclarationView source
PaginationGapts
export declare const PaginationGap: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
asChild: BooleanConstructor;
index: NumberConstructor;
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
asChild: BooleanConstructor;
index: NumberConstructor;
}>> & Readonly<{}>, {
asChild: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
DeclarationView source
PaginationListts
export declare const PaginationList: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
asChild: BooleanConstructor;
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
asChild: BooleanConstructor;
}>> & Readonly<{}>, {
asChild: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
DeclarationView source
PaginationNextts
export declare const PaginationNext: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
asChild: BooleanConstructor;
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
asChild: BooleanConstructor;
}>> & Readonly<{}>, {
asChild: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
DeclarationView source
PaginationPagets
export declare const PaginationPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
asChild: BooleanConstructor;
page: {
type: NumberConstructor;
required: true;
};
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
asChild: BooleanConstructor;
page: {
type: NumberConstructor;
required: true;
};
}>> & Readonly<{}>, {
asChild: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
DeclarationView source
PaginationPagests
export declare const PaginationPages: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
DeclarationView source
PaginationPreviousts
export declare const PaginationPrevious: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
asChild: BooleanConstructor;
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
asChild: BooleanConstructor;
}>> & Readonly<{}>, {
asChild: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
DeclarationView source
PaginationRootts
export declare const PaginationRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
asChild: BooleanConstructor;
total: {
type: NumberConstructor;
required: true;
};
pageSize: {
type: NumberConstructor;
required: true;
};
page: PropType<PaginationInput["page"]>;
defaultPage: PropType<PaginationInput["defaultPage"]>;
siblingCount: PropType<PaginationInput["siblingCount"]>;
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
pageChange: (_detail: unknown) => true;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
asChild: BooleanConstructor;
total: {
type: NumberConstructor;
required: true;
};
pageSize: {
type: NumberConstructor;
required: true;
};
page: PropType<PaginationInput["page"]>;
defaultPage: PropType<PaginationInput["defaultPage"]>;
siblingCount: PropType<PaginationInput["siblingCount"]>;
}>> & Readonly<{
onPageChange?: ((_detail: unknown) => any) | undefined;
}>, {
asChild: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;

usePagination

function
DeclarationView source
usePaginationts
declare function usePagination(input: PaginationInput | (() => PaginationInput), options?: UsePaginationOptions): UsePaginationResult;
Name
Kind
Type
Requirement
input
parameter
PaginationInput | (() => PaginationInput)
required
options
parameter
UsePaginationOptions
optional
return
return value
UsePaginationResult
n/a
Name
input
Kind
parameter
Type
PaginationInput | (() => PaginationInput)
Requirement
required
Name
options
Kind
parameter
Type
UsePaginationOptions
Requirement
optional
Name
return
Kind
return value
Type
UsePaginationResult
Requirement
n/a
DeclarationView source
usePaginationContextts
declare function usePaginationContext(partName: string): PaginationContextValue;
Name
Kind
Type
Requirement
partName
parameter
string
required
return
return value
PaginationContextValue
n/a
Name
partName
Kind
parameter
Type
string
Requirement
required
Name
return
Kind
return value
Type
PaginationContextValue
Requirement
n/a
DeclarationView source
UsePaginationOptionsts
interface UsePaginationOptions {
readonly onPageChange?: (detail: PaginationPageChangeDetail) => void;
}
Name
Kind
Type
Requirement
onPageChange
property
(detail: PaginationPageChangeDetail) => void
optional
Name
onPageChange
Kind
property
Type
(detail: PaginationPageChangeDetail) => void
Requirement
optional
DeclarationView source
UsePaginationResultts
interface UsePaginationResult {
readonly service: PaginationService;
readonly connector: PaginationApi;
readonly scope: PartScope;
readonly snapshot: ShallowRef<PaginationSnapshot>;
}
Name
Kind
Type
Requirement
connector
property
PaginationApi
required
scope
property
PartScope
required
service
property
PaginationService
required
snapshot
property
ShallowRef<PaginationSnapshot>
required
Name
connector
Kind
property
Type
PaginationApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
PaginationService
Requirement
required
Name
snapshot
Kind
property
Type
ShallowRef<PaginationSnapshot>
Requirement
required

@grassroot/ui-headless-angular/pagination

Angular adapter

12 exports
View source packages/ui-headless/angular/src/pagination/index.ts
DeclarationView source
createPaginationStorets
export declare function createPaginationStore(input: PaginationInput, options?: CreatePaginationStoreOptions): PaginationStore;
Name
Kind
Type
Requirement
input
parameter
PaginationInput
required
options
parameter
CreatePaginationStoreOptions
optional
return
return value
PaginationStore
n/a
Name
input
Kind
parameter
Type
PaginationInput
Requirement
required
Name
options
Kind
parameter
Type
CreatePaginationStoreOptions
Requirement
optional
Name
return
Kind
return value
Type
PaginationStore
Requirement
n/a
DeclarationView source
CreatePaginationStoreOptionsts
export interface CreatePaginationStoreOptions {
readonly onPageChange?: (detail: PaginationPageChangeDetail) => void;
readonly onCommit?: () => void;
}
Name
Kind
Type
Requirement
onCommit
property
() => void
optional
onPageChange
property
(detail: PaginationPageChangeDetail) => void
optional
Name
onCommit
Kind
property
Type
() => void
Requirement
optional
Name
onPageChange
Kind
property
Type
(detail: PaginationPageChangeDetail) => void
Requirement
optional
DeclarationView source
GR_PAGINATION_DECLARATIONSts
export declare const GR_PAGINATION_DECLARATIONS: readonly [typeof GrPaginationRoot, typeof GrPaginationList, typeof GrPaginationPrevious, typeof GrPaginationPage, typeof GrPaginationGap, typeof GrPaginationNext, typeof GrPaginationPages];
DeclarationView source
GrPaginationGapts
export declare class GrPaginationGap implements OnDestroy {
readonly index: import("@angular/core").InputSignal<number>;
private readonly store;
private readonly element;
private readonly listeners;
private readonly consumer;
constructor();
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<GrPaginationGap, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<GrPaginationGap, "[grPaginationGap]", never, { "index": { "alias": "index"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
Name
Kind
Type
Requirement
consumer
property
any
required
element
property
any
required
index
property
import("@angular/core").InputSignal<number>
required
listeners
property
any
required
ngOnDestroy
method
() => void
required
ɵdir
property
i0.ɵɵDirectiveDeclaration<GrPaginationGap, "[grPaginationGap]", never, { "index": { "alias": "index"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>
required
ɵfac
property
i0.ɵɵFactoryDeclaration<GrPaginationGap, never>
required
store
property
any
required
Name
consumer
Kind
property
Type
any
Requirement
required
Name
element
Kind
property
Type
any
Requirement
required
Name
index
Kind
property
Type
import("@angular/core").InputSignal<number>
Requirement
required
Name
listeners
Kind
property
Type
any
Requirement
required
Name
ngOnDestroy
Kind
method
Type
() => void
Requirement
required
Name
ɵdir
Kind
property
Type
i0.ɵɵDirectiveDeclaration<GrPaginationGap, "[grPaginationGap]", never, { "index": { "alias": "index"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>
Requirement
required
Name
ɵfac
Kind
property
Type
i0.ɵɵFactoryDeclaration<GrPaginationGap, never>
Requirement
required
Name
store
Kind
property
Type
any
Requirement
required
DeclarationView source
GrPaginationListts
export declare class GrPaginationList implements OnDestroy {
private readonly store;
private readonly element;
private readonly listeners;
private readonly consumer;
constructor();
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<GrPaginationList, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<GrPaginationList, "[grPaginationList]", never, {}, {}, never, never, true, never>;
}
Name
Kind
Type
Requirement
consumer
property
any
required
element
property
any
required
listeners
property
any
required
ngOnDestroy
method
() => void
required
ɵdir
property
i0.ɵɵDirectiveDeclaration<GrPaginationList, "[grPaginationList]", never, {}, {}, never, never, true, never>
required
ɵfac
property
i0.ɵɵFactoryDeclaration<GrPaginationList, never>
required
store
property
any
required
Name
consumer
Kind
property
Type
any
Requirement
required
Name
element
Kind
property
Type
any
Requirement
required
Name
listeners
Kind
property
Type
any
Requirement
required
Name
ngOnDestroy
Kind
method
Type
() => void
Requirement
required
Name
ɵdir
Kind
property
Type
i0.ɵɵDirectiveDeclaration<GrPaginationList, "[grPaginationList]", never, {}, {}, never, never, true, never>
Requirement
required
Name
ɵfac
Kind
property
Type
i0.ɵɵFactoryDeclaration<GrPaginationList, never>
Requirement
required
Name
store
Kind
property
Type
any
Requirement
required
DeclarationView source
GrPaginationNextts
export declare class GrPaginationNext implements OnDestroy {
private readonly store;
private readonly element;
private readonly listeners;
private readonly consumer;
constructor();
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<GrPaginationNext, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<GrPaginationNext, "[grPaginationNext]", never, {}, {}, never, never, true, never>;
}
Name
Kind
Type
Requirement
consumer
property
any
required
element
property
any
required
listeners
property
any
required
ngOnDestroy
method
() => void
required
ɵdir
property
i0.ɵɵDirectiveDeclaration<GrPaginationNext, "[grPaginationNext]", never, {}, {}, never, never, true, never>
required
ɵfac
property
i0.ɵɵFactoryDeclaration<GrPaginationNext, never>
required
store
property
any
required
Name
consumer
Kind
property
Type
any
Requirement
required
Name
element
Kind
property
Type
any
Requirement
required
Name
listeners
Kind
property
Type
any
Requirement
required
Name
ngOnDestroy
Kind
method
Type
() => void
Requirement
required
Name
ɵdir
Kind
property
Type
i0.ɵɵDirectiveDeclaration<GrPaginationNext, "[grPaginationNext]", never, {}, {}, never, never, true, never>
Requirement
required
Name
ɵfac
Kind
property
Type
i0.ɵɵFactoryDeclaration<GrPaginationNext, never>
Requirement
required
Name
store
Kind
property
Type
any
Requirement
required
DeclarationView source
GrPaginationPagets
export declare class GrPaginationPage implements OnDestroy {
readonly page: import("@angular/core").InputSignal<number>;
private readonly store;
private readonly element;
private readonly listeners;
private readonly consumer;
constructor();
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<GrPaginationPage, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<GrPaginationPage, "[grPaginationPage]", never, { "page": { "alias": "page"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
}
Name
Kind
Type
Requirement
consumer
property
any
required
element
property
any
required
listeners
property
any
required
ngOnDestroy
method
() => void
required
ɵdir
property
i0.ɵɵDirectiveDeclaration<GrPaginationPage, "[grPaginationPage]", never, { "page": { "alias": "page"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>
required
ɵfac
property
i0.ɵɵFactoryDeclaration<GrPaginationPage, never>
required
page
property
import("@angular/core").InputSignal<number>
required
store
property
any
required
Name
consumer
Kind
property
Type
any
Requirement
required
Name
element
Kind
property
Type
any
Requirement
required
Name
listeners
Kind
property
Type
any
Requirement
required
Name
ngOnDestroy
Kind
method
Type
() => void
Requirement
required
Name
ɵdir
Kind
property
Type
i0.ɵɵDirectiveDeclaration<GrPaginationPage, "[grPaginationPage]", never, { "page": { "alias": "page"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>
Requirement
required
Name
ɵfac
Kind
property
Type
i0.ɵɵFactoryDeclaration<GrPaginationPage, never>
Requirement
required
Name
page
Kind
property
Type
import("@angular/core").InputSignal<number>
Requirement
required
Name
store
Kind
property
Type
any
Requirement
required
DeclarationView source
GrPaginationPagests
export declare class GrPaginationPages {
private readonly store;
private readonly template;
private readonly view;
constructor();
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<GrPaginationPages, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<GrPaginationPages, "[grPaginationPages]", never, {}, {}, never, never, true, never>;
}
Name
Kind
Type
Requirement
ngOnDestroy
method
() => void
required
ɵdir
property
i0.ɵɵDirectiveDeclaration<GrPaginationPages, "[grPaginationPages]", never, {}, {}, never, never, true, never>
required
ɵfac
property
i0.ɵɵFactoryDeclaration<GrPaginationPages, never>
required
store
property
any
required
template
property
any
required
view
property
any
required
Name
ngOnDestroy
Kind
method
Type
() => void
Requirement
required
Name
ɵdir
Kind
property
Type
i0.ɵɵDirectiveDeclaration<GrPaginationPages, "[grPaginationPages]", never, {}, {}, never, never, true, never>
Requirement
required
Name
ɵfac
Kind
property
Type
i0.ɵɵFactoryDeclaration<GrPaginationPages, never>
Requirement
required
Name
store
Kind
property
Type
any
Requirement
required
Name
template
Kind
property
Type
any
Requirement
required
Name
view
Kind
property
Type
any
Requirement
required
DeclarationView source
GrPaginationPreviousts
export declare class GrPaginationPrevious implements OnDestroy {
private readonly store;
private readonly element;
private readonly listeners;
private readonly consumer;
constructor();
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<GrPaginationPrevious, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<GrPaginationPrevious, "[grPaginationPrevious]", never, {}, {}, never, never, true, never>;
}
Name
Kind
Type
Requirement
consumer
property
any
required
element
property
any
required
listeners
property
any
required
ngOnDestroy
method
() => void
required
ɵdir
property
i0.ɵɵDirectiveDeclaration<GrPaginationPrevious, "[grPaginationPrevious]", never, {}, {}, never, never, true, never>
required
ɵfac
property
i0.ɵɵFactoryDeclaration<GrPaginationPrevious, never>
required
store
property
any
required
Name
consumer
Kind
property
Type
any
Requirement
required
Name
element
Kind
property
Type
any
Requirement
required
Name
listeners
Kind
property
Type
any
Requirement
required
Name
ngOnDestroy
Kind
method
Type
() => void
Requirement
required
Name
ɵdir
Kind
property
Type
i0.ɵɵDirectiveDeclaration<GrPaginationPrevious, "[grPaginationPrevious]", never, {}, {}, never, never, true, never>
Requirement
required
Name
ɵfac
Kind
property
Type
i0.ɵɵFactoryDeclaration<GrPaginationPrevious, never>
Requirement
required
Name
store
Kind
property
Type
any
Requirement
required
DeclarationView source
GrPaginationRootts
export declare class GrPaginationRoot {
readonly total: import("@angular/core").InputSignal<number>;
readonly pageSize: import("@angular/core").InputSignal<number>;
readonly page: import("@angular/core").InputSignal<number | undefined>;
readonly defaultPage: import("@angular/core").InputSignal<number | undefined>;
readonly siblingCount: import("@angular/core").InputSignal<number | undefined>;
readonly pageChange: import("@angular/core").OutputEmitterRef<{
page: number;
reason: string;
}>;
readonly store: import("./context.js").PaginationStore;
private readonly element;
private readonly injector;
private readonly listeners;
private previous;
constructor();
static ɵfac: i0.ɵɵFactoryDeclaration<GrPaginationRoot, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<GrPaginationRoot, "[grPaginationRoot]", never, { "total": { "alias": "total"; "required": true; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": true; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; "defaultPage": { "alias": "defaultPage"; "required": false; "isSignal": true; }; "siblingCount": { "alias": "siblingCount"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
}
Name
Kind
Type
Requirement
defaultPage
property
import("@angular/core").InputSignal<number | undefined>
required
element
property
any
required
injector
property
any
required
listeners
property
any
required
ɵdir
property
i0.ɵɵDirectiveDeclaration<GrPaginationRoot, "[grPaginationRoot]", never, { "total": { "alias": "total"; "required": true; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": true; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; "defaultPage": { "alias": "defaultPage"; "required": false; "isSignal": true; }; "siblingCount": { "alias": "siblingCount"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; }, never, never, true, never>
required
ɵfac
property
i0.ɵɵFactoryDeclaration<GrPaginationRoot, never>
required
page
property
import("@angular/core").InputSignal<number | undefined>
required
pageChange
property
import("@angular/core").OutputEmitterRef<{ page: number; reason: string; }>
required
pageSize
property
import("@angular/core").InputSignal<number>
required
previous
property
any
required
siblingCount
property
import("@angular/core").InputSignal<number | undefined>
required
store
property
import("./context.js").PaginationStore
required
total
property
import("@angular/core").InputSignal<number>
required
Name
defaultPage
Kind
property
Type
import("@angular/core").InputSignal<number | undefined>
Requirement
required
Name
element
Kind
property
Type
any
Requirement
required
Name
injector
Kind
property
Type
any
Requirement
required
Name
listeners
Kind
property
Type
any
Requirement
required
Name
ɵdir
Kind
property
Type
i0.ɵɵDirectiveDeclaration<GrPaginationRoot, "[grPaginationRoot]", never, { "total": { "alias": "total"; "required": true; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": true; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; "defaultPage": { "alias": "defaultPage"; "required": false; "isSignal": true; }; "siblingCount": { "alias": "siblingCount"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; }, never, never, true, never>
Requirement
required
Name
ɵfac
Kind
property
Type
i0.ɵɵFactoryDeclaration<GrPaginationRoot, never>
Requirement
required
Name
page
Kind
property
Type
import("@angular/core").InputSignal<number | undefined>
Requirement
required
Name
pageChange
Kind
property
Type
import("@angular/core").OutputEmitterRef<{ page: number; reason: string; }>
Requirement
required
Name
pageSize
Kind
property
Type
import("@angular/core").InputSignal<number>
Requirement
required
Name
previous
Kind
property
Type
any
Requirement
required
Name
siblingCount
Kind
property
Type
import("@angular/core").InputSignal<number | undefined>
Requirement
required
Name
store
Kind
property
Type
import("./context.js").PaginationStore
Requirement
required
Name
total
Kind
property
Type
import("@angular/core").InputSignal<number>
Requirement
required
DeclarationView source
PAGINATION_STOREts
export declare const PAGINATION_STORE: InjectionToken<PaginationStore>;

PaginationStore

interface
DeclarationView source
PaginationStorets
export interface PaginationStore {
readonly service: PaginationService;
readonly connector: PaginationApi;
readonly scope: PartScope;
readonly version: WritableSignal<number>;
start(): void;
stop(): void;
sync(input: {
total: number;
pageSize: number;
page?: number;
defaultPage?: number;
siblingCount?: number;
}): void;
}
Name
Kind
Type
Requirement
connector
property
PaginationApi
required
scope
property
PartScope
required
service
property
PaginationService
required
start
method
() => void
required
stop
method
() => void
required
sync
method
(input: { total: number; pageSize: number; page?: number; defaultPage?: number; siblingCount?: number; }) => void
required
version
property
WritableSignal<number>
required
Name
connector
Kind
property
Type
PaginationApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
PaginationService
Requirement
required
Name
start
Kind
method
Type
() => void
Requirement
required
Name
stop
Kind
method
Type
() => void
Requirement
required
Name
sync
Kind
method
Type
(input: { total: number; pageSize: number; page?: number; defaultPage?: number; siblingCount?: number; }) => void
Requirement
required
Name
version
Kind
property
Type
WritableSignal<number>
Requirement
required

@grassroot/ui-headless-svelte/pagination

Svelte adapter

12 exports
View source packages/ui-headless/svelte/src/pagination/index.ts

createPagination

function
DeclarationView source
createPaginationts
export declare function createPagination(inputGetter: () => PaginationInput, options?: UsePaginationOptions): UsePaginationResult;
Name
Kind
Type
Requirement
inputGetter
parameter
() => PaginationInput
required
options
parameter
UsePaginationOptions
optional
return
return value
UsePaginationResult
n/a
Name
inputGetter
Kind
parameter
Type
() => PaginationInput
Requirement
required
Name
options
Kind
parameter
Type
UsePaginationOptions
Requirement
optional
Name
return
Kind
return value
Type
UsePaginationResult
Requirement
n/a
DeclarationView source
PaginationContextValuets
export interface PaginationContextValue {
readonly service: PaginationService;
readonly connector: PaginationApi;
readonly scope: PartScope;
readonly version: () => number;
}
Name
Kind
Type
Requirement
connector
property
PaginationApi
required
scope
property
PartScope
required
service
property
PaginationService
required
version
property
() => number
required
Name
connector
Kind
property
Type
PaginationApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
PaginationService
Requirement
required
Name
version
Kind
property
Type
() => number
Requirement
required
DeclarationView source
PaginationGapts
export declare const PaginationGap: LegacyComponentType;
Name
Kind
Type
Requirement
args
parameter
Parameters<Component<Record<string, any>>>
optional
return
return value
ReturnType<Component<Record<string, any>, Record<string, any>>>
n/a
Name
args
Kind
parameter
Type
Parameters<Component<Record<string, any>>>
Requirement
optional
Name
return
Kind
return value
Type
ReturnType<Component<Record<string, any>, Record<string, any>>>
Requirement
n/a
DeclarationView source
PaginationListts
export declare const PaginationList: LegacyComponentType;
Name
Kind
Type
Requirement
args
parameter
Parameters<Component<Record<string, any>>>
optional
return
return value
ReturnType<Component<Record<string, any>, Record<string, any>>>
n/a
Name
args
Kind
parameter
Type
Parameters<Component<Record<string, any>>>
Requirement
optional
Name
return
Kind
return value
Type
ReturnType<Component<Record<string, any>, Record<string, any>>>
Requirement
n/a
DeclarationView source
PaginationNextts
export declare const PaginationNext: LegacyComponentType;
Name
Kind
Type
Requirement
args
parameter
Parameters<Component<Record<string, any>>>
optional
return
return value
ReturnType<Component<Record<string, any>, Record<string, any>>>
n/a
Name
args
Kind
parameter
Type
Parameters<Component<Record<string, any>>>
Requirement
optional
Name
return
Kind
return value
Type
ReturnType<Component<Record<string, any>, Record<string, any>>>
Requirement
n/a
DeclarationView source
PaginationPagets
export declare const PaginationPage: LegacyComponentType;
Name
Kind
Type
Requirement
args
parameter
Parameters<Component<Record<string, any>>>
optional
return
return value
ReturnType<Component<Record<string, any>, Record<string, any>>>
n/a
Name
args
Kind
parameter
Type
Parameters<Component<Record<string, any>>>
Requirement
optional
Name
return
Kind
return value
Type
ReturnType<Component<Record<string, any>, Record<string, any>>>
Requirement
n/a
DeclarationView source
PaginationPagests
export declare const PaginationPages: LegacyComponentType;
Name
Kind
Type
Requirement
args
parameter
Parameters<Component<Record<string, any>>>
optional
return
return value
ReturnType<Component<Record<string, any>, Record<string, any>>>
n/a
Name
args
Kind
parameter
Type
Parameters<Component<Record<string, any>>>
Requirement
optional
Name
return
Kind
return value
Type
ReturnType<Component<Record<string, any>, Record<string, any>>>
Requirement
n/a
DeclarationView source
PaginationPreviousts
export declare const PaginationPrevious: LegacyComponentType;
Name
Kind
Type
Requirement
args
parameter
Parameters<Component<Record<string, any>>>
optional
return
return value
ReturnType<Component<Record<string, any>, Record<string, any>>>
n/a
Name
args
Kind
parameter
Type
Parameters<Component<Record<string, any>>>
Requirement
optional
Name
return
Kind
return value
Type
ReturnType<Component<Record<string, any>, Record<string, any>>>
Requirement
n/a
DeclarationView source
PaginationRootts
export declare const PaginationRoot: LegacyComponentType;
Name
Kind
Type
Requirement
args
parameter
Parameters<Component<Record<string, any>>>
optional
return
return value
ReturnType<Component<Record<string, any>, Record<string, any>>>
n/a
Name
args
Kind
parameter
Type
Parameters<Component<Record<string, any>>>
Requirement
optional
Name
return
Kind
return value
Type
ReturnType<Component<Record<string, any>, Record<string, any>>>
Requirement
n/a
DeclarationView source
usePaginationContextts
export declare function usePaginationContext(partName: string): PaginationContextValue;
Name
Kind
Type
Requirement
partName
parameter
string
required
return
return value
PaginationContextValue
n/a
Name
partName
Kind
parameter
Type
string
Requirement
required
Name
return
Kind
return value
Type
PaginationContextValue
Requirement
n/a
DeclarationView source
UsePaginationOptionsts
export interface UsePaginationOptions {
readonly onPageChange?: (detail: PaginationPageChangeDetail) => void;
}
Name
Kind
Type
Requirement
onPageChange
property
(detail: PaginationPageChangeDetail) => void
optional
Name
onPageChange
Kind
property
Type
(detail: PaginationPageChangeDetail) => void
Requirement
optional
DeclarationView source
UsePaginationResultts
export interface UsePaginationResult {
readonly service: PaginationService;
readonly connector: PaginationApi;
readonly scope: PartScope;
readonly version: () => number;
}
Name
Kind
Type
Requirement
connector
property
PaginationApi
required
scope
property
PartScope
required
service
property
PaginationService
required
version
property
() => number
required
Name
connector
Kind
property
Type
PaginationApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
PaginationService
Requirement
required
Name
version
Kind
property
Type
() => number
Requirement
required

@grassroot/ui-headless-solid/pagination

Solid adapter

16 exports
View source packages/ui-headless/solid/src/pagination/index.ts
DeclarationView source
PaginationContextts
export declare const PaginationContext: import("solid-js").Context<PaginationContextValue | undefined>;
DeclarationView source
PaginationContextValuets
export interface PaginationContextValue {
readonly service: PaginationService;
readonly connector: PaginationApi;
readonly scope: PartScope;
readonly snapshot: Accessor<PaginationSnapshot>;
}
Name
Kind
Type
Requirement
connector
property
PaginationApi
required
scope
property
PartScope
required
service
property
PaginationService
required
snapshot
property
Accessor<PaginationSnapshot>
required
Name
connector
Kind
property
Type
PaginationApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
PaginationService
Requirement
required
Name
snapshot
Kind
property
Type
Accessor<PaginationSnapshot>
Requirement
required

PaginationGap

function
DeclarationView source
PaginationGapts
export declare function PaginationGap(props: PaginationGapProps): JSX.Element;
Name
Kind
Type
Requirement
props
parameter
PaginationGapProps
required
return
return value
JSX.Element
n/a
Name
props
Kind
parameter
Type
PaginationGapProps
Requirement
required
Name
return
Kind
return value
Type
JSX.Element
Requirement
n/a

PaginationGapProps

interface
DeclarationView source
PaginationGapPropsts
export interface PaginationGapProps extends JSX.HTMLAttributes<HTMLSpanElement> {
readonly index?: number;
}
Name
Kind
Type
Requirement
index
property
number
optional
Name
index
Kind
property
Type
number
Requirement
optional

PaginationList

function
DeclarationView source
PaginationListts
export declare function PaginationList(props: JSX.HTMLAttributes<HTMLUListElement>): JSX.Element;
Name
Kind
Type
Requirement
props
parameter
JSX.HTMLAttributes<HTMLUListElement>
required
return
return value
JSX.Element
n/a
Name
props
Kind
parameter
Type
JSX.HTMLAttributes<HTMLUListElement>
Requirement
required
Name
return
Kind
return value
Type
JSX.Element
Requirement
n/a

PaginationNext

function
DeclarationView source
PaginationNextts
export declare function PaginationNext(props: JSX.ButtonHTMLAttributes<HTMLButtonElement>): JSX.Element;
Name
Kind
Type
Requirement
props
parameter
JSX.ButtonHTMLAttributes<HTMLButtonElement>
required
return
return value
JSX.Element
n/a
Name
props
Kind
parameter
Type
JSX.ButtonHTMLAttributes<HTMLButtonElement>
Requirement
required
Name
return
Kind
return value
Type
JSX.Element
Requirement
n/a

PaginationPage

function
DeclarationView source
PaginationPagets
export declare function PaginationPage(props: PaginationPageProps): JSX.Element;
Name
Kind
Type
Requirement
props
parameter
PaginationPageProps
required
return
return value
JSX.Element
n/a
Name
props
Kind
parameter
Type
PaginationPageProps
Requirement
required
Name
return
Kind
return value
Type
JSX.Element
Requirement
n/a
DeclarationView source
PaginationPagePropsts
export interface PaginationPageProps extends JSX.ButtonHTMLAttributes<HTMLButtonElement> {
readonly page: number;
}
Name
Kind
Type
Requirement
page
property
number
required
Name
page
Kind
property
Type
number
Requirement
required

PaginationPages

function
DeclarationView source
PaginationPagests
export declare function PaginationPages(): JSX.Element;
Name
Kind
Type
Requirement
return
return value
JSX.Element
n/a
Name
return
Kind
return value
Type
JSX.Element
Requirement
n/a
DeclarationView source
PaginationPreviousts
export declare function PaginationPrevious(props: JSX.ButtonHTMLAttributes<HTMLButtonElement>): JSX.Element;
Name
Kind
Type
Requirement
props
parameter
JSX.ButtonHTMLAttributes<HTMLButtonElement>
required
return
return value
JSX.Element
n/a
Name
props
Kind
parameter
Type
JSX.ButtonHTMLAttributes<HTMLButtonElement>
Requirement
required
Name
return
Kind
return value
Type
JSX.Element
Requirement
n/a

PaginationRoot

function
DeclarationView source
PaginationRootts
export declare function PaginationRoot(props: PaginationRootProps): JSX.Element;
Name
Kind
Type
Requirement
props
parameter
PaginationRootProps
required
return
return value
JSX.Element
n/a
Name
props
Kind
parameter
Type
PaginationRootProps
Requirement
required
Name
return
Kind
return value
Type
JSX.Element
Requirement
n/a
DeclarationView source
PaginationRootPropsts
export interface PaginationRootProps extends JSX.HTMLAttributes<HTMLElement> {
readonly total: number;
readonly pageSize: number;
readonly page?: PaginationInput["page"];
readonly defaultPage?: PaginationInput["defaultPage"];
readonly siblingCount?: PaginationInput["siblingCount"];
readonly onPageChange?: UsePaginationOptions["onPageChange"];
}
Name
Kind
Type
Requirement
defaultPage
property
PaginationInput["defaultPage"]
optional
onPageChange
property
UsePaginationOptions["onPageChange"]
optional
page
property
PaginationInput["page"]
optional
pageSize
property
number
required
siblingCount
property
PaginationInput["siblingCount"]
optional
total
property
number
required
Name
defaultPage
Kind
property
Type
PaginationInput["defaultPage"]
Requirement
optional
Name
onPageChange
Kind
property
Type
UsePaginationOptions["onPageChange"]
Requirement
optional
Name
page
Kind
property
Type
PaginationInput["page"]
Requirement
optional
Name
pageSize
Kind
property
Type
number
Requirement
required
Name
siblingCount
Kind
property
Type
PaginationInput["siblingCount"]
Requirement
optional
Name
total
Kind
property
Type
number
Requirement
required

usePagination

function
DeclarationView source
usePaginationts
export declare function usePagination(input: Accessor<PaginationInput>, options?: UsePaginationOptions): UsePaginationResult;
Name
Kind
Type
Requirement
input
parameter
Accessor<PaginationInput>
required
options
parameter
UsePaginationOptions
optional
return
return value
UsePaginationResult
n/a
Name
input
Kind
parameter
Type
Accessor<PaginationInput>
Requirement
required
Name
options
Kind
parameter
Type
UsePaginationOptions
Requirement
optional
Name
return
Kind
return value
Type
UsePaginationResult
Requirement
n/a
DeclarationView source
usePaginationContextts
export declare function usePaginationContext(partName: string): PaginationContextValue;
Name
Kind
Type
Requirement
partName
parameter
string
required
return
return value
PaginationContextValue
n/a
Name
partName
Kind
parameter
Type
string
Requirement
required
Name
return
Kind
return value
Type
PaginationContextValue
Requirement
n/a
DeclarationView source
UsePaginationOptionsts
export interface UsePaginationOptions {
readonly onPageChange?: (detail: PaginationPageChangeDetail) => void;
}
Name
Kind
Type
Requirement
onPageChange
property
(detail: PaginationPageChangeDetail) => void
optional
Name
onPageChange
Kind
property
Type
(detail: PaginationPageChangeDetail) => void
Requirement
optional
DeclarationView source
UsePaginationResultts
export interface UsePaginationResult {
readonly service: PaginationService;
readonly connector: PaginationApi;
readonly scope: PartScope;
readonly snapshot: Accessor<PaginationSnapshot>;
}
Name
Kind
Type
Requirement
connector
property
PaginationApi
required
scope
property
PartScope
required
service
property
PaginationService
required
snapshot
property
Accessor<PaginationSnapshot>
required
Name
connector
Kind
property
Type
PaginationApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
PaginationService
Requirement
required
Name
snapshot
Kind
property
Type
Accessor<PaginationSnapshot>
Requirement
required