nuxt / nuxt/ui

Upagination arrows in RTL are not in correct order

Open
#6,438 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

triage
Dominant language
TypeScript
Stars
6.9k
Forks
1.1k
Avg merge
1d 7h
Merged PRs (30d)
57

Description

Environment
Operating system Windows 10.0.19045
CPU AMD Ryzen 3 PRO 4350G with Radeon Graphics (8 cores)
Node.js version v24.14.0
nuxt/cli version 3.34.0
Package manager npm@11.9.0
Nuxt version 4.4.2
Nitro version 2.13.3
Builder vite@7.3.2
Config app, compatibilityDate, css, devtools, modules, ssr
Modules @nuxt/ui@4.7.1
Is this bug related to Nuxt or Vue?

Nuxt

Package

v4.x

Version

4.7.1

Reproduction
depecdencies : 
    "@nuxt/ui": "^4.7.1",
    "nuxt": "^4.4.2",
    "tailwindcss": "^4.2.4"
//app.vue
<template>
  <div dir="rtl">
    <NuxtLayout>
      <UApp>
        <NuxtPage/>
      </UApp>
    </NuxtLayout>
  </div>
</template>

main.css
@import "tailwindcss";
@import "@nuxt/ui";
*{
    direction: rtl !important;
}
nuxt.config.ts
export default defineNuxtConfig({
  compatibilityDate: '2025-07-15',
  devtools: { enabled: true },
  ssr:false,
  modules:['@nuxt/ui'],
  css:['~/assets/css/main.css'],
  app: {
    head: {
      htmlAttrs: {
        dir: 'rtl',
        lang: 'fa'
      }
    }
  }
})
index.vue
  <div class="flex justify-center border-t border-default pt-4 px-4">
    <UPagination
        v-model:page="currentPage"
        :total="data?.meta?.totalItems"
        :to="to"
    />
  </div>
Description

hi there
so Upagination right and left arrows are misplaced the functionality is ok ... this is what its like now :

rtl upagination
how should be :
RTL UPagination expected behavior

Additional context

No response

Logs

Update

Temperory Solution
    <UPagination
        v-model:page="currentPage"
        :total="data?.meta?.totalItems"
        :to="to"
        next-icon="lucide:chevron-left"
        prev-icon="lucide:chevron-right"
        first-icon="lucide:chevrons-right"
        last-icon="lucide:chevrons-left"
    />

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with the RTL setup in app.vue, main.css, nuxt.config.ts, and index.vue, using the UPagination example and its temporary icon overrides as a reference. Inspect the UPagination implementation and related tests if present; done means the first, previous, next, and last arrows appear in the expected RTL order while pagination still works.

Written by the indexing model from the issue text.

Assessment

Tech stack
nuxt, tailwindcss, typescript
Domain
frontend, internationalization
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.