diff --git a/.changeset/eighty-peas-retire.md b/.changeset/eighty-peas-retire.md new file mode 100644 index 000000000..90a9881a7 --- /dev/null +++ b/.changeset/eighty-peas-retire.md @@ -0,0 +1,7 @@ +--- +"@tabler/core": patch +"@tabler/preview": patch +"@tabler/docs": patch +--- + +Enhance pagination component with new styles diff --git a/core/scss/_variables.scss b/core/scss/_variables.scss index a9b0eeba0..426fdd280 100644 --- a/core/scss/_variables.scss +++ b/core/scss/_variables.scss @@ -839,13 +839,17 @@ $footer-border-color: var(--#{$prefix}border-color) !default; $footer-color: var(--#{$prefix}gray-500) !default; // Pagination -$pagination-border-width: 0 !default; -$pagination-padding-y: 0.25rem !default; +$pagination-border-width: 1px !default; +$pagination-border-color: transparent !default; +$pagination-padding-y: calc(0.25rem + 1px) !default; $pagination-padding-x: 0.25rem !default; -$pagination-color: var(--#{$prefix}gray-500) !default; +$pagination-color: var(--#{$prefix}body-color) !default; $pagination-bg: transparent !default; +$pagination-hover-bg: var(--#{$prefix}active-bg) !default; +$pagination-hover-border-color: var(--#{$prefix}pagination-border-color) !default; $pagination-disabled-bg: transparent !default; $pagination-disabled-color: var(--#{$prefix}disabled-color) !default; +$pagination-disabled-border-color: var(--#{$prefix}pagination-border-color) !default; $pagination-active-bg: var(--#{$prefix}primary) !default; $pagination-active-border-color: var(--#{$prefix}primary) !default; diff --git a/core/scss/ui/_pagination.scss b/core/scss/ui/_pagination.scss index 4a7b82dac..9c971835b 100644 --- a/core/scss/ui/_pagination.scss +++ b/core/scss/ui/_pagination.scss @@ -1,4 +1,5 @@ .pagination { + margin: 0; --#{$prefix}pagination-gap: .25rem; user-select: none; gap: var(--#{$prefix}pagination-gap); @@ -6,21 +7,22 @@ } .page-link { - min-width: 1.75rem; - border-radius: var(--#{$prefix}border-radius); + min-width: 2rem; + border-radius: var(--#{$prefix}pagination-border-radius); + + &:hover { + background: var(--#{$prefix}pagination-hover-bg); + } +} + +.page-text { + padding-left: .5rem; + padding-right: .5rem; } .page-item { text-align: center; - &:not(.active) { - .page-link { - &:hover { - background: transparent; - } - } - } - &.page-prev, &.page-next { flex: 0 0 50%; @@ -56,4 +58,14 @@ .page-item.disabled & { color: $pagination-disabled-color; } +} + +.pagination-outline { + --#{$prefix}pagination-border-color: var(--#{$prefix}border-color); + --#{$prefix}pagination-disabled-border-color: var(--#{$prefix}border-color); + --#{$prefix}pagination-border-width: 1px; +} + +.pagination-circle { + --#{$prefix}pagination-border-radius: var(--tblr-border-radius-pill); } \ No newline at end of file diff --git a/docs/content/ui/components/dropzone.md b/docs/content/ui/components/dropzone.md index b26686d26..8060cf012 100644 --- a/docs/content/ui/components/dropzone.md +++ b/docs/content/ui/components/dropzone.md @@ -2,6 +2,7 @@ title: Dropzone summary: Dropzone is a simple JavaScript library that helps you add file drag and drop functionality to your web forms. It is one of the most popular drag and drop libraries on the web and is used by millions of people. description: Drag-and-drop file upload tool. +docs-libs: dropzone --- ## Basic usage diff --git a/docs/content/ui/components/pagination.md b/docs/content/ui/components/pagination.md new file mode 100644 index 000000000..2c0bcccac --- /dev/null +++ b/docs/content/ui/components/pagination.md @@ -0,0 +1,60 @@ +--- +title: Pagination +summary: Pagination is a user interface element that allows users to navigate through a set of data or content that is divided into multiple pages. It is commonly used in web applications, blogs, and e-commerce sites to display large amounts of information in a manageable way. +--- + +## Basic Example + +Use slightly customized pagination with previouse and next icon links: + +{% capture html -%} +{% include "ui/pagination.html" %} +{%- endcapture %} +{% include "docs/example.html" html=html centered vertical %} + +## With First and Last links + +Use slightly customized pagination with previouse and next icon links: + +{% capture html -%} +{% include "ui/pagination.html" first-last %} +{%- endcapture %} +{% include "docs/example.html" html=html centered vertical %} + +## Offset + +If the count of pages is too large, you can use offset to show only a few pages at a time. + +{% capture html -%} +{% include "ui/pagination.html" offset=3 count=20 %} +{%- endcapture %} +{% include "docs/example.html" html=html centered vertical %} + +## Button With Text + +When you want to use pagination with text, you can use text buttons. This will give you a more traditional look and feel, which is great for applications where you want to keep the focus on the content rather than the navigation. + +{% capture html -%} +{% include "ui/pagination.html" text %} +{%- endcapture %} +{% include "docs/example.html" html=html centered vertical %} + +## Outline version + +If you want to use outline version of pagination, you can use `.pagination-outline` class. This will give you a more subtle look and feel, which is great for applications where you want to keep the focus on the content rather than the navigation. + +{% capture html -%} +{% include "ui/pagination.html" class="pagination-outline" %} +{%- endcapture %} +{% include "docs/example.html" html=html centered vertical %} + +## Circle version + +If you want to use circle version of pagination, you can use `.pagination-circle` class. This will give you a more subtle look and feel, which is great for applications where you want to keep the focus on the content rather than the navigation. + +{% capture html -%} +{% include "ui/pagination.html" class="pagination-circle pagination-outline" -%} + +{% include "ui/pagination.html" class="pagination-circle" %} +{%- endcapture %} +{% include "docs/example.html" html=html centered vertical separated %} \ No newline at end of file diff --git a/preview/pages/pagination.html b/preview/pages/pagination.html index 2bd97e581..b955c4df5 100644 --- a/preview/pages/pagination.html +++ b/preview/pages/pagination.html @@ -11,7 +11,7 @@ permalink: pagination.html