{"version":3,"sources":["../../src/PaginationController/index.tsx"],"names":[],"mappings":";;;AAoCA,IAAM,oBAAA,GAAwB,CAAC,KAA0C,KAAA;AACvE,EAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,OAAQ,CAAA,QAAA,CAAS,MAAM,QAAQ,CAAA;AAEnD,EAAA,OAAO,MAAM,MAAO,CAAA,KAAA,CAAM,CAAC,CAAG,EAAA,KAAA,CAAM,CAAC,CAAC,CAAA;AACxC,CAAA;AAOA,IAAO,4BAAQ,GAAA","file":"chunk-ZJC3WRKS.cjs","sourcesContent":["import type { FC } from 'react';\nimport type {\n  LoadableState,\n  LoadableStateScope,\n  PaginatedStorage,\n} from '../types';\n\ntype PaginationStateProps<T, E = any> = {\n  storage: PaginatedStorage<LoadableState<T, E>>;\n  /** A function to render the paginated {@link items} and their associated {@link errors}. */\n  render(\n    items: ReadonlyArray<T | undefined>,\n    errors: ReadonlyArray<E | undefined>\n  ): ReturnType<FC>;\n};\n\ntype PaginationScopeProps<\n  S extends LoadableStateScope,\n  T extends LoadableState,\n> = {\n  storage: PaginatedStorage<S>;\n  getState(scope: S): T;\n  /** A function to render the paginated {@link items} and their associated {@link errors}. */\n  render(\n    items: ReadonlyArray<\n      T extends LoadableState<infer V> ? V | undefined : never\n    >,\n    errors: ReadonlyArray<\n      T extends LoadableState<any, infer E> ? E | undefined : never\n    >\n  ): ReturnType<FC>;\n};\n\n/**\n * A controller component for rendering paginated data using the provided {@link PaginationStateProps.storage storage} and {@link PaginationStateProps.count pages count}.\n */\nconst PaginationController = ((props: PaginationScopeProps<any, any>) => {\n  const tuple = props.storage.usePages(props.getState);\n\n  return props.render(tuple[0], tuple[1]);\n}) as {\n  <T, E = any>(props: PaginationStateProps<T, E>): ReturnType<FC>;\n  <S extends LoadableStateScope, T extends LoadableState>(\n    props: PaginationScopeProps<S, T>\n  ): ReturnType<FC>;\n};\n\nexport default PaginationController;\n"]}