pagination

Pagination with page select dropdown and first/last navigation

Pagination with page select dropdown and first/last navigation

Загрузка превью…

src/pagination/c-pagination-13.vue

<!--
  Расхождение с апстримом: `IconPlaceholder` заменена инлайновым `<svg>`
  (lucide-react v0.545.0 "chevron-first"/"chevron-left"/"chevron-right"/
  "chevron-last") — см. docs/PORTING.md §5.
-->
<script setup lang="ts">
import { NativeSelect, NativeSelectOption } from "@/components/ui/native-select"
import { Pagination, PaginationContent, PaginationItem, PaginationLink } from "@/components/ui/pagination"
</script>

<template>
  <Pagination>
    <PaginationContent>
      <PaginationItem>
        <PaginationLink href="#" size="icon" aria-label="Go to first page">
          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide lucide-chevron-first size-4">
            <path d="m17 18-6-6 6-6" />
            <path d="M7 6v12" />
          </svg>
        </PaginationLink>
      </PaginationItem>
      <PaginationItem>
        <PaginationLink href="#" size="icon" aria-label="Go to previous page">
          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide lucide-chevron-left size-4">
            <path d="m15 18-6-6 6-6" />
          </svg>
        </PaginationLink>
      </PaginationItem>
      <PaginationItem>
        <NativeSelect class="w-26" default-value="1">
          <NativeSelectOption value="1">Page 1</NativeSelectOption>
          <NativeSelectOption value="2">Page 2</NativeSelectOption>
          <NativeSelectOption value="3">Page 3</NativeSelectOption>
          <NativeSelectOption value="4">Page 4</NativeSelectOption>
          <NativeSelectOption value="5">Page 5</NativeSelectOption>
          <NativeSelectOption value="6">Page 6</NativeSelectOption>
          <NativeSelectOption value="7">Page 7</NativeSelectOption>
          <NativeSelectOption value="8">Page 8</NativeSelectOption>
          <NativeSelectOption value="9">Page 9</NativeSelectOption>
          <NativeSelectOption value="10">Page 10</NativeSelectOption>
        </NativeSelect>
      </PaginationItem>
      <PaginationItem>
        <PaginationLink href="#" size="icon" aria-label="Go to next page">
          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide lucide-chevron-right size-4">
            <path d="m9 18 6-6-6-6" />
          </svg>
        </PaginationLink>
      </PaginationItem>
      <PaginationItem>
        <PaginationLink href="#" size="icon" aria-label="Go to last page">
          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide lucide-chevron-last size-4">
            <path d="m7 18 6-6-6-6" />
            <path d="M17 6v12" />
          </svg>
        </PaginationLink>
      </PaginationItem>
    </PaginationContent>
  </Pagination>
</template>

Установка

npx shadcn-vue@latest add https://revueui.rootapi.dev/r/c-pagination-13.json

Зависимости реестра

Источник: порт из ReUI (Keenthemes, MIT)