New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

vue-sliding-pagination

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vue-sliding-pagination - npm Package Compare versions

Comparing version 1.0.1 to 1.0.2

docs/examples.md

2

dist/browser/vue-sliding-pagination.min.js

@@ -1,1 +0,1 @@

!function(i){var e={};function t(n){if(e[n])return e[n].exports;var a=e[n]={i:n,l:!1,exports:{}};return i[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}t.m=i,t.c=e,t.d=function(i,e,n){t.o(i,e)||Object.defineProperty(i,e,{enumerable:!0,get:n})},t.r=function(i){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},t.t=function(i,e){if(1&e&&(i=t(i)),8&e)return i;if(4&e&&"object"==typeof i&&i&&i.__esModule)return i;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:i}),2&e&&"string"!=typeof i)for(var a in i)t.d(n,a,function(e){return i[e]}.bind(null,a));return n},t.n=function(i){var e=i&&i.__esModule?function(){return i.default}:function(){return i};return t.d(e,"a",e),e},t.o=function(i,e){return Object.prototype.hasOwnProperty.call(i,e)},t.p="",t(t.s=2)}([function(i,e,t){},function(i,e,t){"use strict";var n=t(0);t.n(n).a},function(i,e,t){"use strict";t.r(e);var n=function(){var i=this,e=i.$createElement,t=i._self._c||e;return t("nav",{staticClass:"c-sliding-pagination",attrs:{"aria-label":i.ariaPaginationLabel}},[t("ul",{staticClass:"c-sliding-pagination__list"},[i.showPreviousPageAction?t("li",{staticClass:"c-sliding-pagination__list-element",class:1==i.current?"c-sliding-pagination__list-element--disabled":""},[t("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#","aria-label":i.ariaPreviousPageLabel,disabled:1==i.current},on:{click:function(e){e.preventDefault(),e.stopPropagation(),i.goToPage(i.current-1)}}},[i._t("previous-page",[i._v("«")])],2)]):i._e(),i._l(i.beginningPages,function(e){return t("li",{key:e,staticClass:"c-sliding-pagination__list-element",class:i.isCurrentPage(e)?"c-sliding-pagination__list-element--active":""},[t(i.pageComponent,{tag:"component",attrs:{"is-current":i.isCurrentPage(e),"aria-page-label":i.pageLabel(e),page:e},on:{"page-click":function(t){i.goToPage(e)}}})],1)}),i.hasBeginningGap?t("li",{staticClass:"c-sliding-pagination__list-element c-sliding-pagination__list-element--disabled",attrs:{"aria-hidden":"true"}},[t("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#",disabled:""}},[i._t("gap-left",[i._v("…")])],2)]):i._e(),i._l(i.slidingWindowPages,function(e){return t("li",{key:e,staticClass:"c-sliding-pagination__list-element",class:i.isCurrentPage(e)?"c-sliding-pagination__list-element--active":""},[t(i.pageComponent,{tag:"component",attrs:{"is-current":i.isCurrentPage(e),"aria-page-label":i.pageLabel(e),page:e},on:{"page-click":function(t){i.goToPage(e)}}})],1)}),i.hasEndingGap?t("li",{staticClass:"c-sliding-pagination__list-element c-sliding-pagination__list-element--disabled",attrs:{"aria-hidden":"true"}},[t("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#",disabled:""}},[i._t("gap-right",[i._v("…")])],2)]):i._e(),i._l(i.endingPages,function(e){return t("li",{key:e,staticClass:"c-sliding-pagination__list-element",class:i.isCurrentPage(e)?"c-sliding-pagination__list-element--active":""},[t(i.pageComponent,{tag:"component",attrs:{"is-current":i.isCurrentPage(e),"aria-page-label":i.pageLabel(e),page:e},on:{"page-click":function(t){i.goToPage(e)}}})],1)}),i.showNextPageAction?t("li",{staticClass:"c-sliding-pagination__list-element",class:i.current==i.total?"c-sliding-pagination__list-element--disabled":""},[t("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#","aria-label":i.ariaNextPageLabel,disabled:i.current==i.total},on:{click:function(e){e.preventDefault(),e.stopPropagation(),i.goToPage(i.current+1)}}},[i._t("next-page",[i._v("»")])],2)]):i._e()],2)])};n._withStripped=!0;var a=function(){var i=this,e=i.$createElement;return(i._self._c||e)("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#","aria-label":i.ariaPageLabel},on:{click:function(e){e.stopPropagation(),e.preventDefault(),i.goToPage(i.page)}}},[i._v("\n "+i._s(i.page)+"\n")])};function r(i,e,t,n,a,r,s,o){var l,g="function"==typeof i?i.options:i;if(e&&(g.render=e,g.staticRenderFns=t,g._compiled=!0),n&&(g.functional=!0),r&&(g._scopeId="data-v-"+r),s?(l=function(i){(i=i||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(i=__VUE_SSR_CONTEXT__),a&&a.call(this,i),i&&i._registeredComponents&&i._registeredComponents.add(s)},g._ssrRegister=l):a&&(l=o?function(){a.call(this,this.$root.$options.shadowRoot)}:a),l)if(g.functional){g._injectStyles=l;var u=g.render;g.render=function(i,e){return l.call(e),u(i,e)}}else{var c=g.beforeCreate;g.beforeCreate=c?[].concat(c,l):[l]}return{exports:i,options:g}}a._withStripped=!0;var s=r({name:"SlidingPaginationDefaultPage",props:{ariaPageLabel:{type:String,required:!0},isCurrent:{type:Boolean,required:!0},page:{type:Number,required:!0}},computed:{currentClass:function(){return this.isCurrent?"c-sliding-pagination__page--current":""}},methods:{goToPage:function(){this.$emit("page-click",this.page)}}},a,[],!1,null,null,null);s.options.__file="src/SlidingPaginationDefaultPage.vue";var o=s.exports;function l(i,e){var t=[];if("number"!=typeof i||"number"!=typeof e)return t;if(i>e){var n=i;i=e,e=n}for(var a=i;a<=e;a++)t.push(a);return t}var g={name:"SlidingPagination",props:{ariaPaginationLabel:{type:String,required:!1,default:"Pagination Navigation"},ariaGotoPageLabel:{type:String,required:!1,default:"Go to page %page% of %total%"},ariaPreviousPageLabel:{type:String,required:!1,default:"Go to previous page"},ariaNextPageLabel:{type:String,required:!1,default:"Go to next page"},ariaCurrentPageLabel:{type:String,required:!1,default:"Page %page% of %total%, current page"},current:{required:!0,type:Number},total:{required:!0,type:Number},slidingEndingSize:{required:!1,type:Number,default:2},slidingWindowSize:{required:!1,type:Number,default:3},nonSlidingSize:{required:!1,type:Number,default:9},pageComponent:{required:!1,type:String,default:"sliding-pagination-default-page"}},components:{SlidingPaginationDefaultPage:o},computed:{isSliding:function(){return this.total>this.nonSlidingSize},hasBeginningGap:function(){return!!this.isSliding&&this.lastBeginningPage+1!==this.firstWindowPage},hasEndingGap:function(){return!!this.isSliding&&this.lastWindowPage+1!==this.firstEndingPage},beginningPages:function(){return l(1,this.isSliding?this.slidingEndingSize:this.total)},lastBeginningPage:function(){return this.beginningPages[this.beginningPages.length-1]},endingPages:function(){return this.isSliding?l(this.total-this.slidingEndingSize+1,this.total):[]},firstEndingPage:function(){return this.endingPages[0]},slidingWindowHalf:function(){var i=this.slidingWindowSize/2;return this.slidingWindowSize%2==1&&(i-=.5),i},slidingWindowPages:function(){if(!this.isSliding)return[];var i=this.lastBeginningPage+this.slidingWindowHalf,e=this.firstEndingPage-this.slidingWindowHalf;if(this.current<=i)return l(this.lastBeginningPage+1,this.lastBeginningPage+this.slidingWindowSize);if(this.current>i&&this.current<e){var t=this.slidingWindowHalf;return this.slidingWindowSize%2==0&&(t/=2),l(-this.slidingWindowHalf+this.current,t+this.current)}return l(this.firstEndingPage-this.slidingWindowSize,this.firstEndingPage-1)},firstWindowPage:function(){return this.slidingWindowPages[0]},lastWindowPage:function(){return this.slidingWindowPages[this.slidingWindowPages.length-1]},showPreviousPageAction:function(){return this.total>this.nonSlidingSize},showNextPageAction:function(){return this.total>this.nonSlidingSize}},methods:{replaceLabelVars:function(i,e){return i.replace("%total%",this.total).replace("%page%",e)},isCurrentPage:function(i){return this.current===i},currentPageLabel:function(i){return this.replaceLabelVars(this.ariaCurrentPageLabel,i)},goToPage:function(i){this.$emit("page-change",i)},goToPageLabel:function(i){return this.replaceLabelVars(this.ariaGotoPageLabel,i)},pageLabel:function(i){return this.isCurrentPage(i)?this.currentPageLabel(i):this.goToPageLabel(i)}}},u=(t(1),r(g,n,[],!1,null,null,null));u.options.__file="src/SlidingPagination.vue";var c=u.exports;e.default={install:function(i,e){i.component("SlidingPagination",c)}}}]);
!function(i){var e={};function t(n){if(e[n])return e[n].exports;var a=e[n]={i:n,l:!1,exports:{}};return i[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}t.m=i,t.c=e,t.d=function(i,e,n){t.o(i,e)||Object.defineProperty(i,e,{enumerable:!0,get:n})},t.r=function(i){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},t.t=function(i,e){if(1&e&&(i=t(i)),8&e)return i;if(4&e&&"object"==typeof i&&i&&i.__esModule)return i;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:i}),2&e&&"string"!=typeof i)for(var a in i)t.d(n,a,function(e){return i[e]}.bind(null,a));return n},t.n=function(i){var e=i&&i.__esModule?function(){return i.default}:function(){return i};return t.d(e,"a",e),e},t.o=function(i,e){return Object.prototype.hasOwnProperty.call(i,e)},t.p="",t(t.s=2)}([function(i,e,t){},function(i,e,t){"use strict";var n=t(0);t.n(n).a},function(i,e,t){"use strict";t.r(e);var n=function(){var i=this,e=i.$createElement,t=i._self._c||e;return t("nav",{staticClass:"c-sliding-pagination",attrs:{"aria-label":i.ariaPaginationLabel}},[t("ul",{staticClass:"c-sliding-pagination__list"},[i.showPreviousPageAction?t("li",{staticClass:"c-sliding-pagination__list-element",class:1==i.current?"c-sliding-pagination__list-element--disabled":""},[t("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#","aria-label":i.ariaPreviousPageLabel,disabled:1==i.current},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),i.goToPage(i.current-1)}}},[i._t("previous-page",[i._v("«")])],2)]):i._e(),i._l(i.beginningPages,function(e){return t("li",{key:e,staticClass:"c-sliding-pagination__list-element",class:i.isCurrentPage(e)?"c-sliding-pagination__list-element--active":""},[t(i.pageComponent,{tag:"component",attrs:{"is-current":i.isCurrentPage(e),"aria-page-label":i.pageLabel(e),page:e},on:{"page-click":function(t){return i.goToPage(e)}}})],1)}),i.hasBeginningGap?t("li",{staticClass:"c-sliding-pagination__list-element c-sliding-pagination__list-element--disabled",attrs:{"aria-hidden":"true"}},[t("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#",disabled:""}},[i._t("gap-left",[i._v("…")])],2)]):i._e(),i._l(i.slidingWindowPages,function(e){return t("li",{key:e,staticClass:"c-sliding-pagination__list-element",class:i.isCurrentPage(e)?"c-sliding-pagination__list-element--active":""},[t(i.pageComponent,{tag:"component",attrs:{"is-current":i.isCurrentPage(e),"aria-page-label":i.pageLabel(e),page:e},on:{"page-click":function(t){return i.goToPage(e)}}})],1)}),i.hasEndingGap?t("li",{staticClass:"c-sliding-pagination__list-element c-sliding-pagination__list-element--disabled",attrs:{"aria-hidden":"true"}},[t("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#",disabled:""}},[i._t("gap-right",[i._v("…")])],2)]):i._e(),i._l(i.endingPages,function(e){return t("li",{key:e,staticClass:"c-sliding-pagination__list-element",class:i.isCurrentPage(e)?"c-sliding-pagination__list-element--active":""},[t(i.pageComponent,{tag:"component",attrs:{"is-current":i.isCurrentPage(e),"aria-page-label":i.pageLabel(e),page:e},on:{"page-click":function(t){return i.goToPage(e)}}})],1)}),i.showNextPageAction?t("li",{staticClass:"c-sliding-pagination__list-element",class:i.current==i.total?"c-sliding-pagination__list-element--disabled":""},[t("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#","aria-label":i.ariaNextPageLabel,disabled:i.current==i.total},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),i.goToPage(i.current+1)}}},[i._t("next-page",[i._v("»")])],2)]):i._e()],2)])};n._withStripped=!0;var a=function(){var i=this,e=i.$createElement;return(i._self._c||e)("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#","aria-label":i.ariaPageLabel},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),i.goToPage(i.page)}}},[i._v("\n "+i._s(i.page)+"\n")])};function r(i,e,t,n,a,r,s,o){var l,g="function"==typeof i?i.options:i;if(e&&(g.render=e,g.staticRenderFns=t,g._compiled=!0),n&&(g.functional=!0),r&&(g._scopeId="data-v-"+r),s?(l=function(i){(i=i||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(i=__VUE_SSR_CONTEXT__),a&&a.call(this,i),i&&i._registeredComponents&&i._registeredComponents.add(s)},g._ssrRegister=l):a&&(l=o?function(){a.call(this,this.$root.$options.shadowRoot)}:a),l)if(g.functional){g._injectStyles=l;var u=g.render;g.render=function(i,e){return l.call(e),u(i,e)}}else{var c=g.beforeCreate;g.beforeCreate=c?[].concat(c,l):[l]}return{exports:i,options:g}}a._withStripped=!0;var s=r({name:"SlidingPaginationDefaultPage",props:{ariaPageLabel:{type:String,required:!0},isCurrent:{type:Boolean,required:!0},page:{type:Number,required:!0}},computed:{currentClass:function(){return this.isCurrent?"c-sliding-pagination__page--current":""}},methods:{goToPage:function(){this.$emit("page-click",this.page)}}},a,[],!1,null,null,null);s.options.__file="src/SlidingPaginationDefaultPage.vue";var o=s.exports;function l(i,e){var t=[];if("number"!=typeof i||"number"!=typeof e)return t;if(i>e){var n=i;i=e,e=n}for(var a=i;a<=e;a++)t.push(a);return t}var g={name:"SlidingPagination",props:{ariaPaginationLabel:{type:String,required:!1,default:"Pagination Navigation"},ariaGotoPageLabel:{type:String,required:!1,default:"Go to page %page% of %total%"},ariaPreviousPageLabel:{type:String,required:!1,default:"Go to previous page"},ariaNextPageLabel:{type:String,required:!1,default:"Go to next page"},ariaCurrentPageLabel:{type:String,required:!1,default:"Page %page% of %total%, current page"},current:{required:!0,type:Number},total:{required:!0,type:Number},slidingEndingSize:{required:!1,type:Number,default:2},slidingWindowSize:{required:!1,type:Number,default:3},nonSlidingSize:{required:!1,type:Number,default:9},pageComponent:{required:!1,type:String,default:"sliding-pagination-default-page"}},components:{SlidingPaginationDefaultPage:o},computed:{isSliding:function(){return this.total>this.nonSlidingSize},hasBeginningGap:function(){return!!this.isSliding&&this.lastBeginningPage+1!==this.firstWindowPage},hasEndingGap:function(){return!!this.isSliding&&this.lastWindowPage+1!==this.firstEndingPage},beginningPages:function(){return l(1,this.isSliding?this.slidingEndingSize:this.total)},lastBeginningPage:function(){return this.beginningPages[this.beginningPages.length-1]},endingPages:function(){return this.isSliding?l(this.total-this.slidingEndingSize+1,this.total):[]},firstEndingPage:function(){return this.endingPages[0]},slidingWindowHalf:function(){var i=this.slidingWindowSize/2;return this.slidingWindowSize%2==1&&(i-=.5),i},slidingWindowPages:function(){if(!this.isSliding)return[];var i=this.lastBeginningPage+this.slidingWindowHalf,e=this.firstEndingPage-this.slidingWindowHalf;if(this.current<=i)return l(this.lastBeginningPage+1,this.lastBeginningPage+this.slidingWindowSize);if(this.current>i&&this.current<e){var t=this.slidingWindowHalf;return this.slidingWindowSize%2==0&&(t/=2),l(-this.slidingWindowHalf+this.current,t+this.current)}return l(this.firstEndingPage-this.slidingWindowSize,this.firstEndingPage-1)},firstWindowPage:function(){return this.slidingWindowPages[0]},lastWindowPage:function(){return this.slidingWindowPages[this.slidingWindowPages.length-1]},showPreviousPageAction:function(){return this.total>this.nonSlidingSize},showNextPageAction:function(){return this.total>this.nonSlidingSize}},methods:{replaceLabelVars:function(i,e){return i.replace("%total%",this.total).replace("%page%",e)},isCurrentPage:function(i){return this.current===i},currentPageLabel:function(i){return this.replaceLabelVars(this.ariaCurrentPageLabel,i)},goToPage:function(i){this.$emit("page-change",i)},goToPageLabel:function(i){return this.replaceLabelVars(this.ariaGotoPageLabel,i)},pageLabel:function(i){return this.isCurrentPage(i)?this.currentPageLabel(i):this.goToPageLabel(i)}}},u=(t(1),r(g,n,[],!1,null,null,null));u.options.__file="src/SlidingPagination.vue";var c=u.exports;e.default={install:function(i,e){i.component("SlidingPagination",c)}}}]);

@@ -1,1 +0,1 @@

!function(i,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("vue-sliding-pagination",[],e):"object"==typeof exports?exports["vue-sliding-pagination"]=e():i["vue-sliding-pagination"]=e()}(window,function(){return function(i){var e={};function t(n){if(e[n])return e[n].exports;var a=e[n]={i:n,l:!1,exports:{}};return i[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}return t.m=i,t.c=e,t.d=function(i,e,n){t.o(i,e)||Object.defineProperty(i,e,{enumerable:!0,get:n})},t.r=function(i){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},t.t=function(i,e){if(1&e&&(i=t(i)),8&e)return i;if(4&e&&"object"==typeof i&&i&&i.__esModule)return i;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:i}),2&e&&"string"!=typeof i)for(var a in i)t.d(n,a,function(e){return i[e]}.bind(null,a));return n},t.n=function(i){var e=i&&i.__esModule?function(){return i.default}:function(){return i};return t.d(e,"a",e),e},t.o=function(i,e){return Object.prototype.hasOwnProperty.call(i,e)},t.p="",t(t.s=2)}([function(i,e,t){},function(i,e,t){"use strict";var n=t(0);t.n(n).a},function(i,e,t){"use strict";t.r(e);var n=function(){var i=this,e=i.$createElement,t=i._self._c||e;return t("nav",{staticClass:"c-sliding-pagination",attrs:{"aria-label":i.ariaPaginationLabel}},[t("ul",{staticClass:"c-sliding-pagination__list"},[i.showPreviousPageAction?t("li",{staticClass:"c-sliding-pagination__list-element",class:1==i.current?"c-sliding-pagination__list-element--disabled":""},[t("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#","aria-label":i.ariaPreviousPageLabel,disabled:1==i.current},on:{click:function(e){e.preventDefault(),e.stopPropagation(),i.goToPage(i.current-1)}}},[i._t("previous-page",[i._v("«")])],2)]):i._e(),i._l(i.beginningPages,function(e){return t("li",{key:e,staticClass:"c-sliding-pagination__list-element",class:i.isCurrentPage(e)?"c-sliding-pagination__list-element--active":""},[t(i.pageComponent,{tag:"component",attrs:{"is-current":i.isCurrentPage(e),"aria-page-label":i.pageLabel(e),page:e},on:{"page-click":function(t){i.goToPage(e)}}})],1)}),i.hasBeginningGap?t("li",{staticClass:"c-sliding-pagination__list-element c-sliding-pagination__list-element--disabled",attrs:{"aria-hidden":"true"}},[t("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#",disabled:""}},[i._t("gap-left",[i._v("…")])],2)]):i._e(),i._l(i.slidingWindowPages,function(e){return t("li",{key:e,staticClass:"c-sliding-pagination__list-element",class:i.isCurrentPage(e)?"c-sliding-pagination__list-element--active":""},[t(i.pageComponent,{tag:"component",attrs:{"is-current":i.isCurrentPage(e),"aria-page-label":i.pageLabel(e),page:e},on:{"page-click":function(t){i.goToPage(e)}}})],1)}),i.hasEndingGap?t("li",{staticClass:"c-sliding-pagination__list-element c-sliding-pagination__list-element--disabled",attrs:{"aria-hidden":"true"}},[t("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#",disabled:""}},[i._t("gap-right",[i._v("…")])],2)]):i._e(),i._l(i.endingPages,function(e){return t("li",{key:e,staticClass:"c-sliding-pagination__list-element",class:i.isCurrentPage(e)?"c-sliding-pagination__list-element--active":""},[t(i.pageComponent,{tag:"component",attrs:{"is-current":i.isCurrentPage(e),"aria-page-label":i.pageLabel(e),page:e},on:{"page-click":function(t){i.goToPage(e)}}})],1)}),i.showNextPageAction?t("li",{staticClass:"c-sliding-pagination__list-element",class:i.current==i.total?"c-sliding-pagination__list-element--disabled":""},[t("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#","aria-label":i.ariaNextPageLabel,disabled:i.current==i.total},on:{click:function(e){e.preventDefault(),e.stopPropagation(),i.goToPage(i.current+1)}}},[i._t("next-page",[i._v("»")])],2)]):i._e()],2)])};n._withStripped=!0;var a=function(){var i=this,e=i.$createElement;return(i._self._c||e)("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#","aria-label":i.ariaPageLabel},on:{click:function(e){e.stopPropagation(),e.preventDefault(),i.goToPage(i.page)}}},[i._v("\n "+i._s(i.page)+"\n")])};function r(i,e,t,n,a,r,s,o){var l,g="function"==typeof i?i.options:i;if(e&&(g.render=e,g.staticRenderFns=t,g._compiled=!0),n&&(g.functional=!0),r&&(g._scopeId="data-v-"+r),s?(l=function(i){(i=i||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(i=__VUE_SSR_CONTEXT__),a&&a.call(this,i),i&&i._registeredComponents&&i._registeredComponents.add(s)},g._ssrRegister=l):a&&(l=o?function(){a.call(this,this.$root.$options.shadowRoot)}:a),l)if(g.functional){g._injectStyles=l;var u=g.render;g.render=function(i,e){return l.call(e),u(i,e)}}else{var d=g.beforeCreate;g.beforeCreate=d?[].concat(d,l):[l]}return{exports:i,options:g}}a._withStripped=!0;var s=r({name:"SlidingPaginationDefaultPage",props:{ariaPageLabel:{type:String,required:!0},isCurrent:{type:Boolean,required:!0},page:{type:Number,required:!0}},computed:{currentClass:function(){return this.isCurrent?"c-sliding-pagination__page--current":""}},methods:{goToPage:function(){this.$emit("page-click",this.page)}}},a,[],!1,null,null,null);s.options.__file="src/SlidingPaginationDefaultPage.vue";var o=s.exports;function l(i,e){var t=[];if("number"!=typeof i||"number"!=typeof e)return t;if(i>e){var n=i;i=e,e=n}for(var a=i;a<=e;a++)t.push(a);return t}var g={name:"SlidingPagination",props:{ariaPaginationLabel:{type:String,required:!1,default:"Pagination Navigation"},ariaGotoPageLabel:{type:String,required:!1,default:"Go to page %page% of %total%"},ariaPreviousPageLabel:{type:String,required:!1,default:"Go to previous page"},ariaNextPageLabel:{type:String,required:!1,default:"Go to next page"},ariaCurrentPageLabel:{type:String,required:!1,default:"Page %page% of %total%, current page"},current:{required:!0,type:Number},total:{required:!0,type:Number},slidingEndingSize:{required:!1,type:Number,default:2},slidingWindowSize:{required:!1,type:Number,default:3},nonSlidingSize:{required:!1,type:Number,default:9},pageComponent:{required:!1,type:String,default:"sliding-pagination-default-page"}},components:{SlidingPaginationDefaultPage:o},computed:{isSliding:function(){return this.total>this.nonSlidingSize},hasBeginningGap:function(){return!!this.isSliding&&this.lastBeginningPage+1!==this.firstWindowPage},hasEndingGap:function(){return!!this.isSliding&&this.lastWindowPage+1!==this.firstEndingPage},beginningPages:function(){return l(1,this.isSliding?this.slidingEndingSize:this.total)},lastBeginningPage:function(){return this.beginningPages[this.beginningPages.length-1]},endingPages:function(){return this.isSliding?l(this.total-this.slidingEndingSize+1,this.total):[]},firstEndingPage:function(){return this.endingPages[0]},slidingWindowHalf:function(){var i=this.slidingWindowSize/2;return this.slidingWindowSize%2==1&&(i-=.5),i},slidingWindowPages:function(){if(!this.isSliding)return[];var i=this.lastBeginningPage+this.slidingWindowHalf,e=this.firstEndingPage-this.slidingWindowHalf;if(this.current<=i)return l(this.lastBeginningPage+1,this.lastBeginningPage+this.slidingWindowSize);if(this.current>i&&this.current<e){var t=this.slidingWindowHalf;return this.slidingWindowSize%2==0&&(t/=2),l(-this.slidingWindowHalf+this.current,t+this.current)}return l(this.firstEndingPage-this.slidingWindowSize,this.firstEndingPage-1)},firstWindowPage:function(){return this.slidingWindowPages[0]},lastWindowPage:function(){return this.slidingWindowPages[this.slidingWindowPages.length-1]},showPreviousPageAction:function(){return this.total>this.nonSlidingSize},showNextPageAction:function(){return this.total>this.nonSlidingSize}},methods:{replaceLabelVars:function(i,e){return i.replace("%total%",this.total).replace("%page%",e)},isCurrentPage:function(i){return this.current===i},currentPageLabel:function(i){return this.replaceLabelVars(this.ariaCurrentPageLabel,i)},goToPage:function(i){this.$emit("page-change",i)},goToPageLabel:function(i){return this.replaceLabelVars(this.ariaGotoPageLabel,i)},pageLabel:function(i){return this.isCurrentPage(i)?this.currentPageLabel(i):this.goToPageLabel(i)}}};t(1);t.d(e,"range",function(){return l});var u=r(g,n,[],!1,null,null,null);u.options.__file="src/SlidingPagination.vue";e.default=u.exports}])});
!function(e,i){"object"==typeof exports&&"object"==typeof module?module.exports=i():"function"==typeof define&&define.amd?define("vue-sliding-pagination",[],i):"object"==typeof exports?exports["vue-sliding-pagination"]=i():e["vue-sliding-pagination"]=i()}(window,function(){return function(e){var i={};function t(n){if(i[n])return i[n].exports;var a=i[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}return t.m=e,t.c=i,t.d=function(e,i,n){t.o(e,i)||Object.defineProperty(e,i,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,i){if(1&i&&(e=t(e)),8&i)return e;if(4&i&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&i&&"string"!=typeof e)for(var a in e)t.d(n,a,function(i){return e[i]}.bind(null,a));return n},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,"a",i),i},t.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},t.p="",t(t.s=2)}([function(e,i,t){},function(e,i,t){"use strict";var n=t(0);t.n(n).a},function(e,i,t){"use strict";t.r(i);var n=function(){var e=this,i=e.$createElement,t=e._self._c||i;return t("nav",{staticClass:"c-sliding-pagination",attrs:{"aria-label":e.ariaPaginationLabel}},[t("ul",{staticClass:"c-sliding-pagination__list"},[e.showPreviousPageAction?t("li",{staticClass:"c-sliding-pagination__list-element",class:1==e.current?"c-sliding-pagination__list-element--disabled":""},[t("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#","aria-label":e.ariaPreviousPageLabel,disabled:1==e.current},on:{click:function(i){return i.preventDefault(),i.stopPropagation(),e.goToPage(e.current-1)}}},[e._t("previous-page",[e._v("«")])],2)]):e._e(),e._l(e.beginningPages,function(i){return t("li",{key:i,staticClass:"c-sliding-pagination__list-element",class:e.isCurrentPage(i)?"c-sliding-pagination__list-element--active":""},[t(e.pageComponent,{tag:"component",attrs:{"is-current":e.isCurrentPage(i),"aria-page-label":e.pageLabel(i),page:i},on:{"page-click":function(t){return e.goToPage(i)}}})],1)}),e.hasBeginningGap?t("li",{staticClass:"c-sliding-pagination__list-element c-sliding-pagination__list-element--disabled",attrs:{"aria-hidden":"true"}},[t("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#",disabled:""}},[e._t("gap-left",[e._v("…")])],2)]):e._e(),e._l(e.slidingWindowPages,function(i){return t("li",{key:i,staticClass:"c-sliding-pagination__list-element",class:e.isCurrentPage(i)?"c-sliding-pagination__list-element--active":""},[t(e.pageComponent,{tag:"component",attrs:{"is-current":e.isCurrentPage(i),"aria-page-label":e.pageLabel(i),page:i},on:{"page-click":function(t){return e.goToPage(i)}}})],1)}),e.hasEndingGap?t("li",{staticClass:"c-sliding-pagination__list-element c-sliding-pagination__list-element--disabled",attrs:{"aria-hidden":"true"}},[t("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#",disabled:""}},[e._t("gap-right",[e._v("…")])],2)]):e._e(),e._l(e.endingPages,function(i){return t("li",{key:i,staticClass:"c-sliding-pagination__list-element",class:e.isCurrentPage(i)?"c-sliding-pagination__list-element--active":""},[t(e.pageComponent,{tag:"component",attrs:{"is-current":e.isCurrentPage(i),"aria-page-label":e.pageLabel(i),page:i},on:{"page-click":function(t){return e.goToPage(i)}}})],1)}),e.showNextPageAction?t("li",{staticClass:"c-sliding-pagination__list-element",class:e.current==e.total?"c-sliding-pagination__list-element--disabled":""},[t("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#","aria-label":e.ariaNextPageLabel,disabled:e.current==e.total},on:{click:function(i){return i.preventDefault(),i.stopPropagation(),e.goToPage(e.current+1)}}},[e._t("next-page",[e._v("»")])],2)]):e._e()],2)])};n._withStripped=!0;var a=function(){var e=this,i=e.$createElement;return(e._self._c||i)("a",{staticClass:"c-sliding-pagination__page",attrs:{href:"#","aria-label":e.ariaPageLabel},on:{click:function(i){return i.stopPropagation(),i.preventDefault(),e.goToPage(e.page)}}},[e._v("\n "+e._s(e.page)+"\n")])};function r(e,i,t,n,a,r,s,o){var l,g="function"==typeof e?e.options:e;if(i&&(g.render=i,g.staticRenderFns=t,g._compiled=!0),n&&(g.functional=!0),r&&(g._scopeId="data-v-"+r),s?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},g._ssrRegister=l):a&&(l=o?function(){a.call(this,this.$root.$options.shadowRoot)}:a),l)if(g.functional){g._injectStyles=l;var u=g.render;g.render=function(e,i){return l.call(i),u(e,i)}}else{var d=g.beforeCreate;g.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:g}}a._withStripped=!0;var s=r({name:"SlidingPaginationDefaultPage",props:{ariaPageLabel:{type:String,required:!0},isCurrent:{type:Boolean,required:!0},page:{type:Number,required:!0}},computed:{currentClass:function(){return this.isCurrent?"c-sliding-pagination__page--current":""}},methods:{goToPage:function(){this.$emit("page-click",this.page)}}},a,[],!1,null,null,null);s.options.__file="src/SlidingPaginationDefaultPage.vue";var o=s.exports;function l(e,i){var t=[];if("number"!=typeof e||"number"!=typeof i)return t;if(e>i){var n=e;e=i,i=n}for(var a=e;a<=i;a++)t.push(a);return t}var g={name:"SlidingPagination",props:{ariaPaginationLabel:{type:String,required:!1,default:"Pagination Navigation"},ariaGotoPageLabel:{type:String,required:!1,default:"Go to page %page% of %total%"},ariaPreviousPageLabel:{type:String,required:!1,default:"Go to previous page"},ariaNextPageLabel:{type:String,required:!1,default:"Go to next page"},ariaCurrentPageLabel:{type:String,required:!1,default:"Page %page% of %total%, current page"},current:{required:!0,type:Number},total:{required:!0,type:Number},slidingEndingSize:{required:!1,type:Number,default:2},slidingWindowSize:{required:!1,type:Number,default:3},nonSlidingSize:{required:!1,type:Number,default:9},pageComponent:{required:!1,type:String,default:"sliding-pagination-default-page"}},components:{SlidingPaginationDefaultPage:o},computed:{isSliding:function(){return this.total>this.nonSlidingSize},hasBeginningGap:function(){return!!this.isSliding&&this.lastBeginningPage+1!==this.firstWindowPage},hasEndingGap:function(){return!!this.isSliding&&this.lastWindowPage+1!==this.firstEndingPage},beginningPages:function(){return l(1,this.isSliding?this.slidingEndingSize:this.total)},lastBeginningPage:function(){return this.beginningPages[this.beginningPages.length-1]},endingPages:function(){return this.isSliding?l(this.total-this.slidingEndingSize+1,this.total):[]},firstEndingPage:function(){return this.endingPages[0]},slidingWindowHalf:function(){var e=this.slidingWindowSize/2;return this.slidingWindowSize%2==1&&(e-=.5),e},slidingWindowPages:function(){if(!this.isSliding)return[];var e=this.lastBeginningPage+this.slidingWindowHalf,i=this.firstEndingPage-this.slidingWindowHalf;if(this.current<=e)return l(this.lastBeginningPage+1,this.lastBeginningPage+this.slidingWindowSize);if(this.current>e&&this.current<i){var t=this.slidingWindowHalf;return this.slidingWindowSize%2==0&&(t/=2),l(-this.slidingWindowHalf+this.current,t+this.current)}return l(this.firstEndingPage-this.slidingWindowSize,this.firstEndingPage-1)},firstWindowPage:function(){return this.slidingWindowPages[0]},lastWindowPage:function(){return this.slidingWindowPages[this.slidingWindowPages.length-1]},showPreviousPageAction:function(){return this.total>this.nonSlidingSize},showNextPageAction:function(){return this.total>this.nonSlidingSize}},methods:{replaceLabelVars:function(e,i){return e.replace("%total%",this.total).replace("%page%",i)},isCurrentPage:function(e){return this.current===e},currentPageLabel:function(e){return this.replaceLabelVars(this.ariaCurrentPageLabel,e)},goToPage:function(e){this.$emit("page-change",e)},goToPageLabel:function(e){return this.replaceLabelVars(this.ariaGotoPageLabel,e)},pageLabel:function(e){return this.isCurrentPage(e)?this.currentPageLabel(e):this.goToPageLabel(e)}}};t(1);t.d(i,"range",function(){return l});var u=r(g,n,[],!1,null,null,null);u.options.__file="src/SlidingPagination.vue";i.default=u.exports}])});
{
"name": "vue-sliding-pagination",
"version": "1.0.1",
"version": "1.0.2",
"repository": {

@@ -8,2 +8,3 @@ "type": "git",

},
"homepage": "https://vue-sliding-pagination.efrane.com",
"description": "Sliding pagination component",

@@ -27,3 +28,5 @@ "author": "eFrane <efrane@meanderingsoul.com>",

"test": "yarn run unit --coverage",
"lint": "eslint --ext .js,.vue src test/unit"
"lint": "eslint --ext .js,.vue src test/unit",
"vuepress:dev": "vuepress dev docs",
"vuepress:build": "vuepress build docs"
},

@@ -81,2 +84,3 @@ "dependencies": {

"vue-template-compiler": "^2.5.2",
"vuepress": "^0.14.11",
"webpack": "^4.0.0",

@@ -83,0 +87,0 @@ "webpack-cli": "^3.1.2",

@@ -9,3 +9,3 @@ [TODO:] [Insert] [a crapton] [of badges] [here] [because] [javascript]

![Example pagination](https://github.com/eFrane/vue-sliding-pagination/raw/master/pagination-example.png)
![Example pagination](https://github.com/eFrane/vue-sliding-pagination/raw/master/docs/.vuepress/public/pagination-example.png)

@@ -72,156 +72,6 @@ ## Installation

```
## Documentation
Additionally, the CSS for the component should be made available. Please refer to
the [Styles customization section](#styling) below
In-depth documentation may be found at [https://vue-sliding-pagination.efrane.com](https://vue-sliding-pagination.efrane.com)
## Options
| name | type | default | description |
|-----------------------|:------:|-------------------------------------------|---------------------------------------------------------------|
| ariaPaginationLabel | String | `'Pagination navigation'` | ARIA label for the whole <nav> area |
| ariaGotoPageLabel | String | `'Go to page %page% of %total%'` | ARIA label for a page link that is not the current page |
| ariaPreviousPageLabel | String | `'Go to previous page'` | ARIA label for the previous page action |
| ariaNextPageLabel | String | `'Go to next page'` | ARIA label for the next page action |
| ariaCurrentPageLabel | String | `'Page %current of %total, current page'` | ARIA label for the current page |
| current | Number | - | Integer representing the current page |
| total | Number | - | Integer representing the total number of pages |
| slidingEndingSize | Number | `2` | Number of always listed pages on the beginning and end |
| slidingWindowSize | Number | `3` | Number of pages in the sliding window |
| nonSlidingSize | Number | `9` | Number of pages before the paginator switches to sliding mode |
| pageComponent | String | `'sliding-pagination-default-page'` | Component name (must be registered) for the page elements |
## Customization
The component offers severals customization options.
### ARIA labels
All ARIA labels can be altered and localized.
The labels `ariaGoToPageLabel` and `ariaCurrentPageLabel` support
the following template variables:
| Variable | Type | Description |
|-----------|:------:|---------------------------|
| `%total%` | Number | The total number of pages |
| `%page%` | Number | The page under the cursor |
### Intervals
The number of pages shown on the beginning and ending of the pager
as well as the number of pages in the pagination window can be changed
dynamically. The break-point from normal to sliding-window pagination
can also be adjusted. **Please bear in mind that none of these intervals
and none of the calculations they are used in make any assertions on
obviously impossible configurations!**
_What are obviously impossible configurations?_
Glad you're asking! For one, the rule of thumb should be
`2 * slidingEndingSize + slidingWindowSize <= total`.
However, as there is a fallback coated as `nonSlidingSize` you can work around
this "limitation" with some ingenouity on your part. Basically, don't do stupid things
that disregards principles of natural numbers.
### Page navigation
The content of the previous and next page elements are customizable via the
slots `previous-page` and `next-page`. By default, these only contain
the "pretend arrows" aka &laquo; and &raquo;. The contents of these slots
are **only intended for visual use**. Screenreader users are presented
the `ariaPreviousPageLabel` and `ariaNextPageLabel` instead.
### Gaps
Depending on the current page, there may be a gap between the sliding window and the
beginning and ending pages. The gap content defaults to &hellip; but can be
customized **for visual use** under the same conditions as the page navigation with
the slots `gap-left` and `gap-right`.
### Page component
Since actual pages are the most active element of the whole pagination deal,
they have been implemented with the `<component :is="paginationComponent">` pattern.
The `SlidingPaginationDefaultPage` component offers guidance into how a basic
component representing page elements should look like. It's unit test can
be used as a basis for unit testing custom page components.
The page component receives the following props:
| name | type | description |
|---------------|:-------:|------------------------------|
| ariaPageLabel | String | The computed ARIA page label |
| isCurrent | Boolean | Is the page the current page |
| page | Number | The page number to display |
It is by no means required to implement all properties of the default page.
A custom pagination component can usually just be implemented as render
function, e.g.
```js
Vue.component('ExamplePageComponent', {
props: {
page: {
type: Number,
required: true
}
},
render (h) {
return h('a', { class: 'page-component' }, this.page)
}
})
```
```html
<sliding-pagination
...
pagination-component="example-page-component"
></sliding-pagination>
```
_Please keep in mind that the above example is absurdly simple for demonstration purposes
and breaks the ARIA compatibility of the whole pagination component._
### Styling
The CSS classes used in the component are following the [BEM](http://getbem.com/introduction/)-Methodology,
regarding **only** the component itself as a block and going downward from there, thus the
corresponding classes to interface elements are:
| Class | Interface element |
|-----------------------------------------------|------------------------------------------------------------------|
| .c-sliding-pagination | The whole component i.e. the `<nav>` container |
| .c-sliding-pagination__list | The `<ul>` containing all navigational and page elements |
| .c-sliding-pagination__list-element | Each `<li>` representing either a navigational or a page element |
| .c-sliding-pagination__list-element--active | The `<li>` representing the current page |
| .c-sliding-pagination__list-element--disabled | Disabled navigational elements |
| .c-sliding-pagination__page | The page element inside an `<li>` (typically an `<a>`) |
To get the default styling, you may either add `dist/style/vue-sliding-pagination.css` as a
CSS asset to your page:
```css
@import "~vue-sliding-pagination/dist/style/vue-sliding-pagination.css";
```
For ease of customization, the original SCSS styling files are available in the distribution package
in the `dist/style` subdir, allowing quick and deep customization by utilizing the exposed variables
and re-declaring classes:
```scss
$sliding-pagination-background-primary: $background-primary;
$sliding-pagination-background-secondary: $background-secondary;
$sliding-pagination-foreground-primary: $color-foreground-primary;
$sliding-pagination-foreground-secondary: $color-foreground-secondary;
@import "~vue-sliding-pagination/dist/style/sliding-pagination";
.c-sliding-pagination {
text-align: center;
margin: 1.5em 0;
}
```
## Contributing

@@ -228,0 +78,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc