UIPackage
Menu

Framework

Change language

Boilerplate repo

Pagination

paginationui

Page-number bar with previous/next, ellipsis collapse, and a configurable visible-window size. Pair with a data-table or any paged list.

Also available for React ->

Installation

$npx shadcn-vue@latest add https://uipkge.dev/r/vue/pagination.json
Named registry:npx shadcn-vue@latest add @uipkge/paginationInstalls to:app/components/ui/pagination/

Examples

Loading interactive previews…

Props

NameType / ValuesDefaultRequired
classHTMLAttributes['class']; ariaLabel?: stringoptional

Files installed (9)

  • app/components/ui/pagination/Pagination.vue0.9 kB
    <script setup lang="ts">
    import type { PaginationRootEmits, PaginationRootProps } from 'reka-ui'
    import type { HTMLAttributes } from 'vue'
    import { reactiveOmit } from '@vueuse/core'
    import { PaginationRoot, useForwardPropsEmits } from 'reka-ui'
    import { cn } from '@/lib/utils'
    
    const props = defineProps<PaginationRootProps & { class?: HTMLAttributes['class']; ariaLabel?: string }>()
    const emits = defineEmits<PaginationRootEmits>()
    
    const delegated = reactiveOmit(props, 'class', 'as', 'ariaLabel')
    const forwarded = useForwardPropsEmits(delegated, emits)
    </script>
    
    <template>
      <PaginationRoot
        v-slot="slotProps"
        :as="props.as ?? 'nav'"
        :aria-label="props.ariaLabel ?? 'Pagination'"
        data-uipkge
        data-slot="pagination"
        v-bind="forwarded"
        :class="cn('flex items-center gap-1', props.class)"
      >
        <slot v-bind="slotProps" />
      </PaginationRoot>
    </template>
    
  • app/components/ui/pagination/PaginationEllipsis.vue0.3 kB
  • app/components/ui/pagination/PaginationFirst.vue0.3 kB
  • app/components/ui/pagination/PaginationLast.vue0.3 kB
  • app/components/ui/pagination/PaginationList.vue0.5 kB
  • app/components/ui/pagination/PaginationListItem.vue0.6 kB
  • app/components/ui/pagination/PaginationNext.vue0.3 kB
  • app/components/ui/pagination/PaginationPrev.vue0.3 kB
  • app/components/ui/pagination/index.ts0.5 kB

Raw manifest:https://uipkge.dev/r/vue/pagination.json