diff --git a/components/pagination/Pagination.vue b/components/pagination/Pagination.vue
index 15e95a2f6..b2db32425 100644
--- a/components/pagination/Pagination.vue
+++ b/components/pagination/Pagination.vue
@@ -1,66 +1,39 @@
diff --git a/components/vc-pagination/assets/index.less b/components/vc-pagination/assets/index.less
new file mode 100644
index 000000000..bb43a7324
--- /dev/null
+++ b/components/vc-pagination/assets/index.less
@@ -0,0 +1,288 @@
+@prefixClass: rc-pagination;
+
+.@{prefixClass} {
+ font-size: 12px;
+ font-family: 'Arial';
+ user-select: none;
+ padding: 0;
+
+ > li {
+ list-style: none;
+ }
+
+ &-total-text {
+ float: left;
+ height: 30px;
+ line-height: 30px;
+ list-style: none;
+ padding: 0;
+ margin: 0 8px 0 0;
+ }
+
+ &:after {
+ content: " ";
+ display: block;
+ height: 0;
+ clear: both;
+ overflow: hidden;
+ visibility: hidden;
+ }
+
+ &-item {
+ cursor: pointer;
+ border-radius: 6px;
+ min-width: 28px;
+ height: 28px;
+ line-height: 28px;
+ text-align: center;
+ list-style: none;
+ float: left;
+ border: 1px solid #d9d9d9;
+ background-color: #fff;
+ margin-right: 8px;
+
+ a {
+ text-decoration: none;
+ color: #666;
+ }
+
+ &:hover {
+ border-color: #2db7f5;
+ a {
+ color: #2db7f5;
+ }
+ }
+
+ &-active {
+ background-color: #2db7f5;
+ border-color: #2db7f5;
+
+ a {
+ color: #fff;
+ }
+
+ &:hover {
+ a {
+ color: #fff;
+ }
+ }
+ }
+ }
+
+ &-jump-prev, &-jump-next {
+ &:after {
+ content: "•••";
+ display: block;
+ letter-spacing: 2px;
+ color: #ccc;
+ font-size: 12px;
+ margin-top: 1px;
+ }
+
+ &:hover {
+ &:after {
+ color: #2db7f5;
+ }
+ }
+ }
+
+ &-jump-prev {
+ &:hover {
+ &:after {
+ content: "«";
+ }
+ }
+ }
+
+ &-jump-next {
+ &:hover {
+ &:after {
+ content: "»";
+ }
+ }
+ }
+
+ &-prev, &-jump-prev, &-jump-next {
+ margin-right: 8px;
+ }
+ &-prev, &-next, &-jump-prev, &-jump-next {
+ cursor: pointer;
+ color: #666;
+ font-size: 10px;
+ border-radius: 6px;
+ list-style: none;
+ min-width: 28px;
+ height: 28px;
+ line-height: 28px;
+ float: left;
+ text-align: center;
+ }
+
+ &-prev {
+ a {
+ &:after {
+ content: "‹";
+ display: block;
+ }
+ }
+ }
+
+ &-next {
+ a {
+ &:after {
+ content: "›";
+ display: block;
+ }
+ }
+ }
+
+ &-prev, &-next {
+ border: 1px solid #d9d9d9;
+ font-size: 18px;
+ a {
+ color: #666;
+ &:after {
+ margin-top: -1px;
+ }
+ }
+ }
+
+ &-disabled {
+ cursor: not-allowed;
+ a {
+ color: #ccc;
+ }
+ }
+
+ &-options {
+ float: left;
+ margin-left: 15px;
+ &-size-changer {
+ float: left;
+ width: 80px;
+ }
+
+ &-quick-jumper {
+ float: left;
+ margin-left: 16px;
+ height: 28px;
+ line-height: 28px;
+
+ input {
+ margin: 0 8px;
+ box-sizing: border-box;
+ background-color: #fff;
+ border-radius: 6px;
+ border: 1px solid #d9d9d9;
+ outline: none;
+ padding: 3px 12px;
+ width: 50px;
+ height: 28px;
+
+ &:hover {
+ border-color: #2db7f5;
+ }
+ }
+
+ button {
+ display: inline-block;
+ margin: 0 8px;
+ font-weight: 500;
+ text-align: center;
+ touch-action: manipulation;
+ cursor: pointer;
+ background-image: none;
+ border: 1px solid transparent;
+ white-space: nowrap;
+ padding: 0 15px;
+ font-size: 12px;
+ border-radius: 6px;
+ height: 28px;
+ user-select: none;
+ transition: all .3s cubic-bezier(.645, .045, .355, 1);
+ position: relative;
+ color: rgba(0, 0, 0, .65);
+ background-color: #fff;
+ border-color: #d9d9d9;
+
+ &:hover, &:active, &:focus {
+ color: #2db7f5;
+ background-color: #fff;
+ border-color: #2db7f5;
+ }
+ }
+ }
+ }
+
+ &-simple {
+ .@{prefixClass}-prev, .@{prefixClass}-next {
+ border: none;
+ height: 24px;
+ line-height: 24px;
+ margin: 0;
+ font-size: 18px;
+ }
+
+ .@{prefixClass}-simple-pager {
+ float: left;
+ margin-right: 8px;
+ list-style: none;
+
+ .@{prefixClass}-slash {
+ margin: 0 10px;
+ }
+
+ input {
+ margin: 0 8px;
+ box-sizing: border-box;
+ background-color: #fff;
+ border-radius: 6px;
+ border: 1px solid #d9d9d9;
+ outline: none;
+ padding: 5px 8px;
+ min-height: 20px;
+
+ &:hover {
+ border-color: #2db7f5;
+ }
+ }
+
+ button {
+ display: inline-block;
+ margin: 0 8px;
+ font-weight: 500;
+ text-align: center;
+ touch-action: manipulation;
+ cursor: pointer;
+ background-image: none;
+ border: 1px solid transparent;
+ white-space: nowrap;
+ padding: 0 8px;
+ font-size: 12px;
+ border-radius: 6px;
+ height: 26px;
+ user-select: none;
+ transition: all .3s cubic-bezier(.645, .045, .355, 1);
+ position: relative;
+ color: rgba(0, 0, 0, .65);
+ background-color: #fff;
+ border-color: #d9d9d9;
+
+ &:hover, &:active, &:focus {
+ color: #2db7f5;
+ background-color: #fff;
+ border-color: #2db7f5;
+ }
+ }
+ }
+ }
+}
+
+@media only screen and (max-width: 1024px) {
+ .@{prefixClass}-item {
+ &-after-jump-prev,
+ &-before-jump-next {
+ display: none;
+ }
+ }
+}
diff --git a/components/vc-pagination/demo/default.vue b/components/vc-pagination/demo/default.vue
new file mode 100644
index 000000000..ec9be7a63
--- /dev/null
+++ b/components/vc-pagination/demo/default.vue
@@ -0,0 +1,27 @@
+
diff --git a/components/vc-pagination/demo/itemRender.vue b/components/vc-pagination/demo/itemRender.vue
new file mode 100644
index 000000000..1b0c42bf2
--- /dev/null
+++ b/components/vc-pagination/demo/itemRender.vue
@@ -0,0 +1,41 @@
+
diff --git a/components/vc-pagination/demo/jumper.vue b/components/vc-pagination/demo/jumper.vue
new file mode 100644
index 000000000..d2c048dec
--- /dev/null
+++ b/components/vc-pagination/demo/jumper.vue
@@ -0,0 +1,36 @@
+
diff --git a/components/vc-pagination/demo/jumperWithGoButton.vue b/components/vc-pagination/demo/jumperWithGoButton.vue
new file mode 100644
index 000000000..a47bfa632
--- /dev/null
+++ b/components/vc-pagination/demo/jumperWithGoButton.vue
@@ -0,0 +1,41 @@
+
diff --git a/components/vc-pagination/demo/lessPages.vue b/components/vc-pagination/demo/lessPages.vue
new file mode 100644
index 000000000..85c40f40c
--- /dev/null
+++ b/components/vc-pagination/demo/lessPages.vue
@@ -0,0 +1,31 @@
+
diff --git a/components/vc-pagination/demo/more.vue b/components/vc-pagination/demo/more.vue
new file mode 100644
index 000000000..1b3ef0ff2
--- /dev/null
+++ b/components/vc-pagination/demo/more.vue
@@ -0,0 +1,17 @@
+
diff --git a/components/vc-pagination/demo/showTitle.vue b/components/vc-pagination/demo/showTitle.vue
new file mode 100644
index 000000000..226548123
--- /dev/null
+++ b/components/vc-pagination/demo/showTitle.vue
@@ -0,0 +1,32 @@
+
diff --git a/components/vc-pagination/demo/showTotal.vue b/components/vc-pagination/demo/showTotal.vue
new file mode 100644
index 000000000..091f3f066
--- /dev/null
+++ b/components/vc-pagination/demo/showTotal.vue
@@ -0,0 +1,24 @@
+
diff --git a/components/vc-pagination/demo/simple.vue b/components/vc-pagination/demo/simple.vue
new file mode 100644
index 000000000..7585e74ed
--- /dev/null
+++ b/components/vc-pagination/demo/simple.vue
@@ -0,0 +1,20 @@
+
diff --git a/components/vc-pagination/demo/sizer.vue b/components/vc-pagination/demo/sizer.vue
new file mode 100644
index 000000000..0b9276fe2
--- /dev/null
+++ b/components/vc-pagination/demo/sizer.vue
@@ -0,0 +1,42 @@
+
diff --git a/components/vc-pagination/demo/stupid.vue b/components/vc-pagination/demo/stupid.vue
new file mode 100644
index 000000000..309d687f8
--- /dev/null
+++ b/components/vc-pagination/demo/stupid.vue
@@ -0,0 +1,21 @@
+
diff --git a/components/vc-pagination/demo/styles.vue b/components/vc-pagination/demo/styles.vue
new file mode 100644
index 000000000..ea276d3de
--- /dev/null
+++ b/components/vc-pagination/demo/styles.vue
@@ -0,0 +1,21 @@
+
diff --git a/components/vc-pagination/index.js b/components/vc-pagination/index.js
new file mode 100644
index 000000000..40ac52f2e
--- /dev/null
+++ b/components/vc-pagination/index.js
@@ -0,0 +1 @@
+export { default } from './Pagination'
diff --git a/components/pagination/locale/ar_EG.js b/components/vc-pagination/locale/ar_EG.js
similarity index 100%
rename from components/pagination/locale/ar_EG.js
rename to components/vc-pagination/locale/ar_EG.js
diff --git a/components/pagination/locale/bg_BG.js b/components/vc-pagination/locale/bg_BG.js
similarity index 100%
rename from components/pagination/locale/bg_BG.js
rename to components/vc-pagination/locale/bg_BG.js
diff --git a/components/pagination/locale/ca_ES.js b/components/vc-pagination/locale/ca_ES.js
similarity index 100%
rename from components/pagination/locale/ca_ES.js
rename to components/vc-pagination/locale/ca_ES.js
diff --git a/components/pagination/locale/cs_CZ.js b/components/vc-pagination/locale/cs_CZ.js
similarity index 100%
rename from components/pagination/locale/cs_CZ.js
rename to components/vc-pagination/locale/cs_CZ.js
diff --git a/components/pagination/locale/da_DK.js b/components/vc-pagination/locale/da_DK.js
similarity index 100%
rename from components/pagination/locale/da_DK.js
rename to components/vc-pagination/locale/da_DK.js
diff --git a/components/pagination/locale/de_DE.js b/components/vc-pagination/locale/de_DE.js
similarity index 100%
rename from components/pagination/locale/de_DE.js
rename to components/vc-pagination/locale/de_DE.js
diff --git a/components/pagination/locale/el_GR.js b/components/vc-pagination/locale/el_GR.js
similarity index 100%
rename from components/pagination/locale/el_GR.js
rename to components/vc-pagination/locale/el_GR.js
diff --git a/components/pagination/locale/en_GB.js b/components/vc-pagination/locale/en_GB.js
similarity index 100%
rename from components/pagination/locale/en_GB.js
rename to components/vc-pagination/locale/en_GB.js
diff --git a/components/pagination/locale/en_US.js b/components/vc-pagination/locale/en_US.js
similarity index 100%
rename from components/pagination/locale/en_US.js
rename to components/vc-pagination/locale/en_US.js
diff --git a/components/pagination/locale/es_ES.js b/components/vc-pagination/locale/es_ES.js
similarity index 100%
rename from components/pagination/locale/es_ES.js
rename to components/vc-pagination/locale/es_ES.js
diff --git a/components/pagination/locale/et_EE.js b/components/vc-pagination/locale/et_EE.js
similarity index 100%
rename from components/pagination/locale/et_EE.js
rename to components/vc-pagination/locale/et_EE.js
diff --git a/components/pagination/locale/fa_IR.js b/components/vc-pagination/locale/fa_IR.js
similarity index 100%
rename from components/pagination/locale/fa_IR.js
rename to components/vc-pagination/locale/fa_IR.js
diff --git a/components/pagination/locale/fi_FI.js b/components/vc-pagination/locale/fi_FI.js
similarity index 100%
rename from components/pagination/locale/fi_FI.js
rename to components/vc-pagination/locale/fi_FI.js
diff --git a/components/pagination/locale/fr_BE.js b/components/vc-pagination/locale/fr_BE.js
similarity index 100%
rename from components/pagination/locale/fr_BE.js
rename to components/vc-pagination/locale/fr_BE.js
diff --git a/components/pagination/locale/fr_FR.js b/components/vc-pagination/locale/fr_FR.js
similarity index 100%
rename from components/pagination/locale/fr_FR.js
rename to components/vc-pagination/locale/fr_FR.js
diff --git a/components/vc-pagination/locale/hu_HU.js b/components/vc-pagination/locale/hu_HU.js
new file mode 100644
index 000000000..f8a3477e4
--- /dev/null
+++ b/components/vc-pagination/locale/hu_HU.js
@@ -0,0 +1,15 @@
+export default {
+ // Options.jsx
+ items_per_page: '/ oldal', // '/ page',
+ jump_to: 'Ugrás', // 'Goto',
+ jump_to_confirm: 'megerősít', // 'confirm',
+ page: '',
+
+ // Pagination.jsx
+ prev_page: 'Előző oldal', // 'Previous Page',
+ next_page: 'Következő oldal', // 'Next Page',
+ prev_5: 'Előző 5 oldal', // 'Previous 5 Pages',
+ next_5: 'Következő 5 oldal', // 'Next 5 Pages',
+ prev_3: 'Előző 3 oldal', // 'Previous 3 Pages',
+ next_3: 'Következő 3 oldal', // 'Next 3 Pages',
+};
diff --git a/components/pagination/locale/is_IS.js b/components/vc-pagination/locale/is_IS.js
similarity index 100%
rename from components/pagination/locale/is_IS.js
rename to components/vc-pagination/locale/is_IS.js
diff --git a/components/pagination/locale/it_IT.js b/components/vc-pagination/locale/it_IT.js
similarity index 100%
rename from components/pagination/locale/it_IT.js
rename to components/vc-pagination/locale/it_IT.js
diff --git a/components/pagination/locale/ja_JP.js b/components/vc-pagination/locale/ja_JP.js
similarity index 100%
rename from components/pagination/locale/ja_JP.js
rename to components/vc-pagination/locale/ja_JP.js
diff --git a/components/pagination/locale/ko_KR.js b/components/vc-pagination/locale/ko_KR.js
similarity index 100%
rename from components/pagination/locale/ko_KR.js
rename to components/vc-pagination/locale/ko_KR.js
diff --git a/components/vc-pagination/locale/ku_IQ.js b/components/vc-pagination/locale/ku_IQ.js
new file mode 100644
index 000000000..7ce767c15
--- /dev/null
+++ b/components/vc-pagination/locale/ku_IQ.js
@@ -0,0 +1,15 @@
+export default {
+ // Options.jsx
+ items_per_page: '/ rûpel',
+ jump_to: 'Biçe',
+ jump_to_confirm: 'piştrast bike',
+ page: '',
+
+ // Pagination.jsx
+ prev_page: 'Rûpelê Pêş',
+ next_page: 'Rûpelê Paş',
+ prev_5: '5 Rûpelên Pêş',
+ next_5: '5 Rûpelên Paş',
+ prev_3: '3 Rûpelên Pêş',
+ next_3: '3 Rûpelên Paş',
+};
diff --git a/components/pagination/locale/nb_NO.js b/components/vc-pagination/locale/nb_NO.js
similarity index 100%
rename from components/pagination/locale/nb_NO.js
rename to components/vc-pagination/locale/nb_NO.js
diff --git a/components/pagination/locale/nl_BE.js b/components/vc-pagination/locale/nl_BE.js
similarity index 100%
rename from components/pagination/locale/nl_BE.js
rename to components/vc-pagination/locale/nl_BE.js
diff --git a/components/pagination/locale/nl_NL.js b/components/vc-pagination/locale/nl_NL.js
similarity index 100%
rename from components/pagination/locale/nl_NL.js
rename to components/vc-pagination/locale/nl_NL.js
diff --git a/components/pagination/locale/pl_PL.js b/components/vc-pagination/locale/pl_PL.js
similarity index 100%
rename from components/pagination/locale/pl_PL.js
rename to components/vc-pagination/locale/pl_PL.js
diff --git a/components/pagination/locale/pt_BR.js b/components/vc-pagination/locale/pt_BR.js
similarity index 100%
rename from components/pagination/locale/pt_BR.js
rename to components/vc-pagination/locale/pt_BR.js
diff --git a/components/pagination/locale/pt_PT.js b/components/vc-pagination/locale/pt_PT.js
similarity index 100%
rename from components/pagination/locale/pt_PT.js
rename to components/vc-pagination/locale/pt_PT.js
diff --git a/components/pagination/locale/ru_RU.js b/components/vc-pagination/locale/ru_RU.js
similarity index 100%
rename from components/pagination/locale/ru_RU.js
rename to components/vc-pagination/locale/ru_RU.js
diff --git a/components/pagination/locale/sk_SK.js b/components/vc-pagination/locale/sk_SK.js
similarity index 100%
rename from components/pagination/locale/sk_SK.js
rename to components/vc-pagination/locale/sk_SK.js
diff --git a/components/pagination/locale/sr_RS.js b/components/vc-pagination/locale/sr_RS.js
similarity index 100%
rename from components/pagination/locale/sr_RS.js
rename to components/vc-pagination/locale/sr_RS.js
diff --git a/components/pagination/locale/sv_SE.js b/components/vc-pagination/locale/sv_SE.js
similarity index 100%
rename from components/pagination/locale/sv_SE.js
rename to components/vc-pagination/locale/sv_SE.js
diff --git a/components/pagination/locale/th_TH.js b/components/vc-pagination/locale/th_TH.js
similarity index 100%
rename from components/pagination/locale/th_TH.js
rename to components/vc-pagination/locale/th_TH.js
diff --git a/components/vc-pagination/locale/ug_CN.js b/components/vc-pagination/locale/ug_CN.js
new file mode 100644
index 000000000..298a089fd
--- /dev/null
+++ b/components/vc-pagination/locale/ug_CN.js
@@ -0,0 +1,14 @@
+export default {
+ // Options.jsx
+ items_per_page: 'تال/ھەر بەت',
+ jump_to: 'بەتكە سەكرەش',
+ jump_to_confirm: 'مۇقىملاشتۇرۇش',
+ page: 'بەت',
+ // Pagination.jsx
+ prev_page: 'ئالدىنقى',
+ next_page: 'كېيىنكى',
+ prev_5: 'ئالدىغا 5 بەت',
+ next_5: 'كەينىگە 5 بەت',
+ prev_3: 'ئالدىغا 3 بەت',
+ next_3: 'كەينىگە 3 بەت',
+};
diff --git a/components/pagination/locale/uk_UA.js b/components/vc-pagination/locale/uk_UA.js
similarity index 100%
rename from components/pagination/locale/uk_UA.js
rename to components/vc-pagination/locale/uk_UA.js
diff --git a/components/pagination/locale/vi_VN.js b/components/vc-pagination/locale/vi_VN.js
similarity index 100%
rename from components/pagination/locale/vi_VN.js
rename to components/vc-pagination/locale/vi_VN.js
diff --git a/components/pagination/locale/zh_CN.js b/components/vc-pagination/locale/zh_CN.js
similarity index 100%
rename from components/pagination/locale/zh_CN.js
rename to components/vc-pagination/locale/zh_CN.js
diff --git a/components/pagination/locale/zh_TW.js b/components/vc-pagination/locale/zh_TW.js
similarity index 100%
rename from components/pagination/locale/zh_TW.js
rename to components/vc-pagination/locale/zh_TW.js
diff --git a/examples/routes.js b/examples/routes.js
index 401b22cbd..a559992ab 100644
--- a/examples/routes.js
+++ b/examples/routes.js
@@ -3,7 +3,7 @@ const AsyncComp = () => {
const hashs = window.location.hash.split('/')
const d = hashs[hashs.length - 1]
return {
- component: import(`../components/cascader/demo/${d}`),
+ component: import(`../components/pagination/demo/${d}.vue`),
}
}
export default [