@aquera/nile-elements 0.1.39 → 0.1.40-beta-1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/nile-pagination/index.cjs.js +2 -0
- package/dist/nile-pagination/index.cjs.js.map +1 -0
- package/dist/nile-pagination/index.esm.js +1 -0
- package/dist/nile-pagination/nile-pagination-utils.cjs.js +2 -0
- package/dist/nile-pagination/nile-pagination-utils.cjs.js.map +1 -0
- package/dist/nile-pagination/nile-pagination-utils.esm.js +1 -0
- package/dist/nile-pagination/nile-pagination.cjs.js +2 -0
- package/dist/nile-pagination/nile-pagination.cjs.js.map +1 -0
- package/dist/nile-pagination/nile-pagination.css.cjs.js +2 -0
- package/dist/nile-pagination/nile-pagination.css.cjs.js.map +1 -0
- package/dist/nile-pagination/nile-pagination.css.esm.js +101 -0
- package/dist/nile-pagination/nile-pagination.esm.js +89 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-pagination/index.d.ts +1 -0
- package/dist/src/nile-pagination/index.js +2 -0
- package/dist/src/nile-pagination/index.js.map +1 -0
- package/dist/src/nile-pagination/nile-pagination-utils.d.ts +4 -0
- package/dist/src/nile-pagination/nile-pagination-utils.js +41 -0
- package/dist/src/nile-pagination/nile-pagination-utils.js.map +1 -0
- package/dist/src/nile-pagination/nile-pagination.css.d.ts +12 -0
- package/dist/src/nile-pagination/nile-pagination.css.js +113 -0
- package/dist/src/nile-pagination/nile-pagination.css.js.map +1 -0
- package/dist/src/nile-pagination/nile-pagination.d.ts +33 -0
- package/dist/src/nile-pagination/nile-pagination.js +187 -0
- package/dist/src/nile-pagination/nile-pagination.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -3
- package/src/index.ts +2 -1
- package/src/nile-pagination/index.ts +1 -0
- package/src/nile-pagination/nile-pagination-utils.ts +63 -0
- package/src/nile-pagination/nile-pagination.css.ts +115 -0
- package/src/nile-pagination/nile-pagination.ts +184 -0
- package/vscode-html-custom-data.json +44 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"nile-pagination-utils.cjs.js","sources":["../../../src/nile-pagination/nile-pagination-utils.ts"],"sourcesContent":["export function calculateTotalPages(\n totalItems: number,\n pageSize: number\n): number {\n return Math.ceil(totalItems / pageSize);\n}\n\nexport function getPaginationItems(\n totalPages: number,\n currentPage: number\n): (number | string)[] {\n if (totalPages <= 7) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n\n const pages: (number | string)[] = [1];\n if (currentPage <= 4) {\n pages.push(2, 3, 4, 5, '…');\n } else if (currentPage >= totalPages - 3) {\n pages.push(\n '…',\n totalPages - 4,\n totalPages - 3,\n totalPages - 2,\n totalPages - 1\n );\n } else {\n pages.push('…', currentPage - 1, currentPage, currentPage + 1, '…');\n }\n pages.push(totalPages);\n return pages;\n}\n\nexport function getHiddenPages(\n totalPages: number,\n items: (number | string)[],\n currentPage: number,\n position: 'left' | 'right'\n): number[] {\n if (totalPages <= 7) return [];\n\n const all = Array.from({ length: totalPages }, (_, i) => i + 1);\n const visible = items.filter(x => typeof x === 'number') as number[];\n const hidden = all.filter(p => !visible.includes(p));\n\n if (position === 'left') {\n const firstAfterEllipsis = visible[1] as number;\n return hidden.filter(p => p < firstAfterEllipsis);\n } else {\n const lastBeforeEllipsis = visible[visible.length - 2] as number;\n return hidden.filter(p => p > lastBeforeEllipsis);\n }\n}\n\nexport function getRangeText(\n totalItems: number,\n pageSize: number,\n currentPage: number\n): string {\n const start = (currentPage - 1) * pageSize + 1;\n const end = Math.min(currentPage * pageSize, totalItems);\n return `Showing ${start}–${end} of ${totalItems}`;\n}\n"],"names":["calculateTotalPages","totalItems","pageSize","Math","ceil","getPaginationItems","totalPages","currentPage","Array","from","length","_","i","pages","push","getHiddenPages","items","position","all","visible","filter","x","hidden","p","includes","firstAfterEllipsis","lastBeforeEllipsis","getRangeText","concat","min"],"mappings":"2DAAgB,QAAAA,CAAAA,CACdC,CAAAA,CAAAA,CACAC,CAEA,CAAA,CAAA,MAAOC,CAAAA,KAAKC,IAAKH,CAAAA,CAAAA,CAAaC,CAChC,CAAA,EAEgB,QAAAG,CAAAA,CACdC,CAAAA,CAAAA,CACAC,CAEA,CAAA,CAAA,GAAID,GAAc,CAChB,CAAA,MAAOE,CAAAA,KAAMC,CAAAA,IAAAA,CAAK,CAAEC,MAAQJ,CAAAA,CAAAA,CAAAA,CAAc,SAACK,CAAAA,CAAGC,SAAMA,CAAAA,CAAI,CAAA,CAAA,EAAA,CAAA,CAG1D,GAAMC,CAAAA,CAAAA,CAA6B,CAAC,CAepC,CAAA,CAAA,MAdIN,CAAAA,CAAe,EAAA,CAAA,CACjBM,EAAMC,IAAK,CAAA,CAAA,CAAG,CAAG,CAAA,CAAA,CAAG,EAAG,GACdP,CAAAA,CAAAA,CAAAA,EAAeD,CAAa,CAAA,CAAA,CACrCO,EAAMC,IACJ,CAAA,GAAA,CACAR,CAAa,CAAA,CAAA,CACbA,EAAa,CACbA,CAAAA,CAAAA,CAAa,CACbA,CAAAA,CAAAA,CAAa,GAGfO,CAAMC,CAAAA,IAAAA,CAAK,GAAKP,CAAAA,CAAAA,CAAc,EAAGA,CAAaA,CAAAA,CAAAA,CAAc,CAAG,CAAA,GAAA,CAAA,CAEjEM,EAAMC,IAAKR,CAAAA,CAAAA,CAAAA,CACJO,CACT,EAEM,QAAUE,CAAAA,CACdT,CAAAA,CAAAA,CACAU,CACAT,CAAAA,CAAAA,CACAU,GAEA,GAAIX,CAAAA,EAAc,CAAG,CAAA,MAAO,GAE5B,GAAMY,CAAAA,CAAAA,CAAMV,KAAMC,CAAAA,IAAAA,CAAK,CAAEC,MAAQJ,CAAAA,CAAAA,CAAAA,CAAc,SAACK,CAAAA,CAAGC,SAAMA,CAAAA,CAAI,CAAA,CAAA,EAAA,CAAA,CACvDO,CAAUH,CAAAA,CAAAA,CAAMI,OAAOC,SAAAA,CAAkB,QAAA,QAAA,EAAA,MAANA,CAAAA,CACnCC,EAAAA,CAAAA,CAAAA,CAAAA,CAASJ,EAAIE,MAAOG,CAAAA,SAAAA,CAAAA,QAAAA,CAAMJ,CAAQK,CAAAA,QAAAA,CAASD,MAEjD,GAAiB,MAAA,GAAbN,CAAqB,CAAA,CACvB,GAAMQ,CAAAA,EAAqBN,CAAAA,CAAAA,CAAQ,CACnC,CAAA,CAAA,MAAOG,CAAAA,EAAOF,MAAOG,CAAAA,SAAAA,CAAAA,QAAKA,CAAAA,CAAIE,CAAAA,EAAAA,EAAAA,CAC/B,EAAM,CACL,GAAMC,CAAAA,GAAqBP,CAAAA,CAAAA,CAAQA,EAAQT,MAAS,CAAA,CAAA,CAAA,CACpD,MAAOY,CAAAA,CAAAA,CAAOF,OAAOG,SAAAA,CAAKA,QAAAA,CAAAA,CAAAA,CAAIG,GAC/B,EAAA,CAAA,EACH,SAEgBC,CAAAA,CAAAA,CACd1B,CACAC,CAAAA,CAAAA,CACAK,GAIA,iBAAAqB,MAAA,CAAO,CAFQrB,CAAc,CAAA,CAAA,EAAKL,EAAW,CACjCC,WAAAA,MAAAA,CAAAA,IAAAA,CAAK0B,GAAItB,CAAAA,CAAAA,CAAcL,EAAUD,CACRA,CAAAA,SAAAA,MAAAA,CAAAA,CAAAA,EACvC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
function n(n,t){return Math.ceil(n/t)}function t(n,t){if(n<=7)return Array.from({length:n},((n,t)=>t+1));const r=[1];return t<=4?r.push(2,3,4,5,"…"):t>=n-3?r.push("…",n-4,n-3,n-2,n-1):r.push("…",t-1,t,t+1,"…"),r.push(n),r}function r(n,t,r,e){if(n<=7)return[];const o=Array.from({length:n},((n,t)=>t+1)),u=t.filter((n=>"number"==typeof n)),f=o.filter((n=>!u.includes(n)));if("left"===e){const n=u[1];return f.filter((t=>t<n))}{const n=u[u.length-2];return f.filter((t=>t>n))}}function e(n,t,r){return`Showing ${(r-1)*t+1}–${Math.min(r*t,n)} of ${n}`}export{r as a,t as b,n as c,e as g};
|
@@ -0,0 +1,2 @@
|
|
1
|
+
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","./nile-pagination.css.cjs.js","../internal/nile-element.cjs.js","./nile-pagination-utils.cjs.js"],function(_export,_context){"use strict";var i,t,e,s,n,a,l,r,o,h,_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,_templateObject6,_templateObject7,_templateObject8,_templateObject9,_templateObject10,d;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){i=_tslib.__decorate;},function(_lit){t=_lit.html;},function(_litDecoratorsJs){e=_litDecoratorsJs.property;s=_litDecoratorsJs.customElement;},function(_nilePaginationCssCjsJs){n=_nilePaginationCssCjsJs.s;},function(_internalNileElementCjsJs){a=_internalNileElementCjsJs.N;},function(_nilePaginationUtilsCjsJs){l=_nilePaginationUtilsCjsJs.c;r=_nilePaginationUtilsCjsJs.g;o=_nilePaginationUtilsCjsJs.a;h=_nilePaginationUtilsCjsJs.b;}],execute:function execute(){_export("N",d=/*#__PURE__*/function(_a){function d(){var _this;_classCallCheck(this,d);_this=_callSuper(this,d,arguments),_this.totalItems=0,_this.pageSize=50,_this.currentPage=1,_this.variant="v1",_this.disabled=!1,_this.showTitle=!0,_this.pageSizeOptions=[10,25,50,100];return _this;}_inherits(d,_a);return _createClass(d,[{key:"totalPages",get:function get(){return l(this.totalItems,this.pageSize);}},{key:"goToPage",value:function goToPage(i){if(this.disabled)return;var t=Math.max(1,Math.min(i,this.totalPages));this.currentPage=t,this.emit("nile-change",{page:t,pageSize:this.pageSize});}},{key:"onPageSizeSelect",value:function onPageSizeSelect(i){this.disabled||this.pageSize===i||(this.pageSize=i,this.currentPage=1,this.emit("nile-change",{page:1,pageSize:i}));}},{key:"renderRangeText",value:function renderRangeText(){return t(_templateObject||(_templateObject=_taggedTemplateLiteral(["<div class=\"range-text\">\n ","\n </div>"])),r(this.totalItems,this.pageSize,this.currentPage));}},{key:"renderPageSizeSelect",value:function renderPageSizeSelect(){var _this2=this;return"v1"!==this.variant?null:t(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <div class=\"page-size-select\">\n <nile-dropdown class=\"page-size-dropdown\" ?disabled=",">\n <nile-button slot=\"trigger\" variant=\"tertiary\" ?disabled=",">\n ","\n <nile-icon name=\"chevrondown\" size=\"14\" class=\"chevron\"></nile-icon>\n </nile-button>\n <nile-menu class=\"page-size-menu\">\n ","\n </nile-menu>\n </nile-dropdown>\n <span class=\"page-size-label\">Items per page</span>\n </div>\n "])),this.disabled,this.disabled,this.pageSize,this.pageSizeOptions.map(function(i){return t(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["\n <nile-menu-item\n ?disabled=","\n @click=","\n >\n ","\n </nile-menu-item>\n "])),_this2.disabled,function(){return _this2.onPageSizeSelect(i);},i);}));}},{key:"renderPrevButton",value:function renderPrevButton(){var _this3=this;return t(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n <li>\n <nile-button\n variant=\"tertiary\"\n ?disabled=","\n @click=","\n >\n <nile-icon name=\"arrowleft\" size=\"14\"></nile-icon>\n </nile-button>\n </li>\n "])),1===this.currentPage||this.disabled,function(){return _this3.goToPage(_this3.currentPage-1);});}},{key:"renderNextButton",value:function renderNextButton(){var _this4=this;var i=this.totalPages;return t(_templateObject5||(_templateObject5=_taggedTemplateLiteral(["\n <li>\n <nile-button\n variant=\"tertiary\"\n ?disabled=","\n @click=","\n >\n <nile-icon name=\"arrowright\" size=\"14\"></nile-icon>\n </nile-button>\n </li>\n "])),this.currentPage===i||this.disabled,function(){return _this4.goToPage(_this4.currentPage+1);});}},{key:"renderPageItem",value:function renderPageItem(i,e,s){var _this5=this;return"…"===i?t(_templateObject6||(_templateObject6=_taggedTemplateLiteral(["\n <li>\n <nile-dropdown class=\"ellipsis-dropdown\" ?disabled=",">\n <nile-button slot=\"trigger\" variant=\"ghost\" class=\"ellipsis-button\" ?disabled=",">\n \u2026\n </nile-button>\n <nile-menu>\n <div class=\"ellipsis-scroll-wrapper\">\n ","\n </div>\n </nile-menu>\n </nile-dropdown>\n </li>\n "])),this.disabled,this.disabled,o(this.totalPages,s,this.currentPage,e<s.indexOf(this.currentPage)?"left":"right").map(function(i){return t(_templateObject7||(_templateObject7=_taggedTemplateLiteral(["\n <nile-menu-item\n ?disabled=","\n @click=","\n >\n ","\n </nile-menu-item>\n "])),_this5.disabled,function(){return _this5.goToPage(i);},i);})):t(_templateObject8||(_templateObject8=_taggedTemplateLiteral(["\n <li>\n <nile-button\n variant=","\n ?disabled=","\n @click=","\n >\n ","\n </nile-button>\n </li>\n "])),i===this.currentPage?"primary":"ghost",this.disabled,function(){return _this5.goToPage(i);},i);}},{key:"renderPageList",value:function renderPageList(){var _this6=this;var i=this.totalPages,e=h(i,this.currentPage);return t(_templateObject9||(_templateObject9=_taggedTemplateLiteral(["\n <nav aria-label=\"Pagination\">\n <ul class=\"pagination\">\n ","\n ","\n ","\n </ul>\n </nav>\n "])),this.renderPrevButton(),e.map(function(i,t){return _this6.renderPageItem(i,t,e);}),this.renderNextButton());}},{key:"render",value:function render(){return t(_templateObject10||(_templateObject10=_taggedTemplateLiteral(["\n <div class=\"pagination-wrapper ","\">\n <div class=\"pager-container\">\n ","\n ","\n </div>\n ","\n </div>\n "])),this.variant,this.showTitle?this.renderRangeText():null,this.renderPageSizeSelect(),this.renderPageList());}}],[{key:"styles",get:function get(){return[n];}}]);}(a));i([e({type:Number})],d.prototype,"totalItems",void 0),i([e({type:Number})],d.prototype,"pageSize",void 0),i([e({type:Number})],d.prototype,"currentPage",void 0),i([e({type:String})],d.prototype,"variant",void 0),i([e({type:Boolean})],d.prototype,"disabled",void 0),i([e({type:Boolean})],d.prototype,"showTitle",void 0),i([e({type:Array})],d.prototype,"pageSizeOptions",void 0),_export("N",d=i([s("nile-pagination")],d));}};});
|
2
|
+
//# sourceMappingURL=nile-pagination.cjs.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"nile-pagination.cjs.js","sources":["../../../src/nile-pagination/nile-pagination.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { LitElement, html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-pagination.css';\nimport NileElement from '../internal/nile-element';\nimport {\n calculateTotalPages,\n getPaginationItems,\n getHiddenPages,\n getRangeText,\n} from './nile-pagination-utils';\n\n@customElement('nile-pagination')\nexport class NilePagination extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @property({ type: Number }) totalItems = 0;\n @property({ type: Number }) pageSize = 50;\n @property({ type: Number }) currentPage = 1;\n @property({ type: String }) variant: 'v1' | 'v2' = 'v1';\n @property({ type: Boolean }) disabled = false;\n @property({ type: Boolean }) showTitle = true;\n @property({ type: Array }) pageSizeOptions: number[] = [10, 25, 50, 100];\n\n private get totalPages(): number {\n return calculateTotalPages(this.totalItems, this.pageSize);\n }\n\n private goToPage(page: number) {\n if (this.disabled) return;\n const safe = Math.max(1, Math.min(page, this.totalPages));\n this.currentPage = safe;\n this.emit('nile-change', { page: safe, pageSize: this.pageSize });\n }\n\n private onPageSizeSelect(size: number) {\n if (this.disabled || this.pageSize === size) return;\n this.pageSize = size;\n this.currentPage = 1;\n this.emit('nile-change', { page: 1, pageSize: size });\n }\n\n private renderRangeText(): TemplateResult {\n return html`<div class=\"range-text\">\n ${getRangeText(this.totalItems, this.pageSize, this.currentPage)}\n </div>`;\n }\n\n private renderPageSizeSelect(): TemplateResult | null {\n if (this.variant !== 'v1') return null;\n return html`\n <div class=\"page-size-select\">\n <nile-dropdown class=\"page-size-dropdown\" ?disabled=${this.disabled}>\n <nile-button slot=\"trigger\" variant=\"tertiary\" ?disabled=${this.disabled}>\n ${this.pageSize}\n <nile-icon name=\"chevrondown\" size=\"14\" class=\"chevron\"></nile-icon>\n </nile-button>\n <nile-menu class=\"page-size-menu\">\n ${this.pageSizeOptions.map(size => html`\n <nile-menu-item\n ?disabled=${this.disabled}\n @click=${() => this.onPageSizeSelect(size)}\n >\n ${size}\n </nile-menu-item>\n `)}\n </nile-menu>\n </nile-dropdown>\n <span class=\"page-size-label\">Items per page</span>\n </div>\n `;\n }\n\n private renderPrevButton(): TemplateResult {\n return html`\n <li>\n <nile-button\n variant=\"tertiary\"\n ?disabled=${this.currentPage === 1 || this.disabled}\n @click=${() => this.goToPage(this.currentPage - 1)}\n >\n <nile-icon name=\"arrowleft\" size=\"14\"></nile-icon>\n </nile-button>\n </li>\n `;\n }\n\n private renderNextButton(): TemplateResult {\n const total = this.totalPages;\n return html`\n <li>\n <nile-button\n variant=\"tertiary\"\n ?disabled=${this.currentPage === total || this.disabled}\n @click=${() => this.goToPage(this.currentPage + 1)}\n >\n <nile-icon name=\"arrowright\" size=\"14\"></nile-icon>\n </nile-button>\n </li>\n `;\n }\n\n private renderPageItem(item: number | string, idx: number, items: (number | string)[]): TemplateResult {\n if (item === '…') {\n return html`\n <li>\n <nile-dropdown class=\"ellipsis-dropdown\" ?disabled=${this.disabled}>\n <nile-button slot=\"trigger\" variant=\"ghost\" class=\"ellipsis-button\" ?disabled=${this.disabled}>\n …\n </nile-button>\n <nile-menu>\n <div class=\"ellipsis-scroll-wrapper\">\n ${getHiddenPages(\n this.totalPages,\n items,\n this.currentPage,\n idx < items.indexOf(this.currentPage) ? 'left' : 'right'\n ).map(page => html`\n <nile-menu-item\n ?disabled=${this.disabled}\n @click=${() => this.goToPage(page)}\n >\n ${page}\n </nile-menu-item>\n `)}\n </div>\n </nile-menu>\n </nile-dropdown>\n </li>\n `;\n }\n\n return html`\n <li>\n <nile-button\n variant=${item === this.currentPage ? 'primary' : 'ghost'}\n ?disabled=${this.disabled}\n @click=${() => this.goToPage(item as number)}\n >\n ${item}\n </nile-button>\n </li>\n `;\n }\n\n private renderPageList(): TemplateResult {\n const total = this.totalPages;\n const items = getPaginationItems(total, this.currentPage);\n return html`\n <nav aria-label=\"Pagination\">\n <ul class=\"pagination\">\n ${this.renderPrevButton()}\n ${items.map((item, idx) => this.renderPageItem(item, idx, items))}\n ${this.renderNextButton()}\n </ul>\n </nav>\n `;\n }\n\n public render(): TemplateResult {\n return html`\n <div class=\"pagination-wrapper ${this.variant}\">\n <div class=\"pager-container\">\n ${this.showTitle ? this.renderRangeText() : null}\n ${this.renderPageSizeSelect()}\n </div>\n ${this.renderPageList()}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-pagination': NilePagination;\n }\n}\n"],"names":["NilePagination","d","constructor","this","totalItems","pageSize","currentPage","variant","disabled","showTitle","pageSizeOptions","_this","_inherits","_a","_createClass","key","get","calculateTotalPages","value","goToPage","page","safe","Math","max","min","totalPages","emit","onPageSizeSelect","size","renderRangeText","html","_templateObject","_taggedTemplateLiteral","getRangeText","renderPageSizeSelect","_this2","_templateObject2","map","_templateObject3","renderPrevButton","_this3","_templateObject4","renderNextButton","_this4","total","_templateObject5","renderPageItem","item","idx","items","_templateObject6","getHiddenPages","indexOf","_templateObject7","_templateObject8","renderPageList","getPaginationItems","_templateObject9","render","_templateObject10","styles","NileElement","__decorate","property","type","Number","prototype","String","Boolean","Array","customElement"],"mappings":"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"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
System.register(["lit"],function(_export,_context){"use strict";var i,_templateObject,n;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){i=_lit.css;}],execute:function execute(){_export("s",n=i(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n }\n\n .pagination-wrapper {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--nile-spacing-spacing-md) var(--nile-spacing-spacing-lg);\n }\n\n .pagination-wrapper.v2 {\n justify-content: flex-start;\n gap: var(--nile-spacing-spacing-lg);\n }\n\n .pagination-wrapper.v2 .pager-container {\n flex-direction: row;\n align-items: center;\n gap: var(--nile-spacing-spacing-md);\n margin-right: var(--nile-spacing-spacing-xl);\n }\n\n .pagination-wrapper.v2 .range-text {\n margin-right: var(--nile-spacing-spacing-md);\n font-size: var(--nile-font-size-small);\n color: var(--nile-colors-dark-900);\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular);\n }\n\n .pager-container {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-3xl);\n }\n\n .range-text {\n font-size: var(--nile-font-size-small);\n color: var(--nile-colors-dark-900);\n white-space: nowrap;\n }\n\n .page-size-select {\n display: inline-flex;\n align-items: center;\n }\n\n ul.pagination {\n display: flex;\n list-style: none;\n padding: var(--nile-spacing-spacing-none);\n margin: var(--nile-spacing-spacing-none);\n gap: var(--nile-radius-radius-xxs);\n }\n\n ul.pagination li {\n margin: var(--nile-spacing-spacing-none);\n }\n\n .ellipsis-scroll-wrapper {\n max-height: 194px;\n overflow-y: auto;\n width: 66px;\n }\n\n .ellipsis-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .ellipsis-dropdown nile-menu-item {\n padding: var(--nile-spacing-spacing-sm) var(--nile-spacing-spacing-lg);\n text-align: center;\n }\n\n .page-size-menu {\n max-height: 144px;\n overflow-y: auto;\n }\n\n ul.pagination li:first-child {\n margin-right: var(--nile-spacing-spacing-xs);\n }\n ul.pagination li:last-child {\n margin-left: var(--nile-spacing-spacing-md);\n }\n\n .page-size-label {\n font-size: var(--nile-type-scale-3);\n color: var(--nile-colors-dark-500);\n margin-left: var(--nile-spacing-spacing-md);\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular);\n }\n\n .nile-button::part(base) {\n min-width: 32px;\n }\n"]))));}};});
|
2
|
+
//# sourceMappingURL=nile-pagination.css.cjs.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"nile-pagination.css.cjs.js","sources":["../../../src/nile-pagination/nile-pagination.css.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Pagination CSS\n */\nexport const styles = css`\n :host {\n }\n\n .pagination-wrapper {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--nile-spacing-spacing-md) var(--nile-spacing-spacing-lg);\n }\n\n .pagination-wrapper.v2 {\n justify-content: flex-start;\n gap: var(--nile-spacing-spacing-lg);\n }\n\n .pagination-wrapper.v2 .pager-container {\n flex-direction: row;\n align-items: center;\n gap: var(--nile-spacing-spacing-md);\n margin-right: var(--nile-spacing-spacing-xl);\n }\n\n .pagination-wrapper.v2 .range-text {\n margin-right: var(--nile-spacing-spacing-md);\n font-size: var(--nile-font-size-small);\n color: var(--nile-colors-dark-900);\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular);\n }\n\n .pager-container {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-3xl);\n }\n\n .range-text {\n font-size: var(--nile-font-size-small);\n color: var(--nile-colors-dark-900);\n white-space: nowrap;\n }\n\n .page-size-select {\n display: inline-flex;\n align-items: center;\n }\n\n ul.pagination {\n display: flex;\n list-style: none;\n padding: var(--nile-spacing-spacing-none);\n margin: var(--nile-spacing-spacing-none);\n gap: var(--nile-radius-radius-xxs);\n }\n\n ul.pagination li {\n margin: var(--nile-spacing-spacing-none);\n }\n\n .ellipsis-scroll-wrapper {\n max-height: 194px;\n overflow-y: auto;\n width: 66px;\n }\n\n .ellipsis-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .ellipsis-dropdown nile-menu-item {\n padding: var(--nile-spacing-spacing-sm) var(--nile-spacing-spacing-lg);\n text-align: center;\n }\n\n .page-size-menu {\n max-height: 144px;\n overflow-y: auto;\n }\n\n ul.pagination li:first-child {\n margin-right: var(--nile-spacing-spacing-xs);\n }\n ul.pagination li:last-child {\n margin-left: var(--nile-spacing-spacing-md);\n }\n\n .page-size-label {\n font-size: var(--nile-type-scale-3);\n color: var(--nile-colors-dark-500);\n margin-left: var(--nile-spacing-spacing-md);\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular);\n }\n\n .nile-button::part(base) {\n min-width: 32px;\n }\n`;\n\nexport default [styles];\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAYaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
|
@@ -0,0 +1,101 @@
|
|
1
|
+
import{css as i}from"lit";const n=i`
|
2
|
+
:host {
|
3
|
+
}
|
4
|
+
|
5
|
+
.pagination-wrapper {
|
6
|
+
display: flex;
|
7
|
+
align-items: center;
|
8
|
+
justify-content: space-between;
|
9
|
+
padding: var(--nile-spacing-spacing-md) var(--nile-spacing-spacing-lg);
|
10
|
+
}
|
11
|
+
|
12
|
+
.pagination-wrapper.v2 {
|
13
|
+
justify-content: flex-start;
|
14
|
+
gap: var(--nile-spacing-spacing-lg);
|
15
|
+
}
|
16
|
+
|
17
|
+
.pagination-wrapper.v2 .pager-container {
|
18
|
+
flex-direction: row;
|
19
|
+
align-items: center;
|
20
|
+
gap: var(--nile-spacing-spacing-md);
|
21
|
+
margin-right: var(--nile-spacing-spacing-xl);
|
22
|
+
}
|
23
|
+
|
24
|
+
.pagination-wrapper.v2 .range-text {
|
25
|
+
margin-right: var(--nile-spacing-spacing-md);
|
26
|
+
font-size: var(--nile-font-size-small);
|
27
|
+
color: var(--nile-colors-dark-900);
|
28
|
+
font-feature-settings: 'liga' off, 'clig' off;
|
29
|
+
font-weight: var(--nile-font-weight-regular);
|
30
|
+
}
|
31
|
+
|
32
|
+
.pager-container {
|
33
|
+
display: flex;
|
34
|
+
align-items: center;
|
35
|
+
gap: var(--nile-spacing-spacing-3xl);
|
36
|
+
}
|
37
|
+
|
38
|
+
.range-text {
|
39
|
+
font-size: var(--nile-font-size-small);
|
40
|
+
color: var(--nile-colors-dark-900);
|
41
|
+
white-space: nowrap;
|
42
|
+
}
|
43
|
+
|
44
|
+
.page-size-select {
|
45
|
+
display: inline-flex;
|
46
|
+
align-items: center;
|
47
|
+
}
|
48
|
+
|
49
|
+
ul.pagination {
|
50
|
+
display: flex;
|
51
|
+
list-style: none;
|
52
|
+
padding: var(--nile-spacing-spacing-none);
|
53
|
+
margin: var(--nile-spacing-spacing-none);
|
54
|
+
gap: var(--nile-radius-radius-xxs);
|
55
|
+
}
|
56
|
+
|
57
|
+
ul.pagination li {
|
58
|
+
margin: var(--nile-spacing-spacing-none);
|
59
|
+
}
|
60
|
+
|
61
|
+
.ellipsis-scroll-wrapper {
|
62
|
+
max-height: 194px;
|
63
|
+
overflow-y: auto;
|
64
|
+
width: 66px;
|
65
|
+
}
|
66
|
+
|
67
|
+
.ellipsis-dropdown nile-menu {
|
68
|
+
overflow-y: auto;
|
69
|
+
padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);
|
70
|
+
box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);
|
71
|
+
}
|
72
|
+
|
73
|
+
.ellipsis-dropdown nile-menu-item {
|
74
|
+
padding: var(--nile-spacing-spacing-sm) var(--nile-spacing-spacing-lg);
|
75
|
+
text-align: center;
|
76
|
+
}
|
77
|
+
|
78
|
+
.page-size-menu {
|
79
|
+
max-height: 144px;
|
80
|
+
overflow-y: auto;
|
81
|
+
}
|
82
|
+
|
83
|
+
ul.pagination li:first-child {
|
84
|
+
margin-right: var(--nile-spacing-spacing-xs);
|
85
|
+
}
|
86
|
+
ul.pagination li:last-child {
|
87
|
+
margin-left: var(--nile-spacing-spacing-md);
|
88
|
+
}
|
89
|
+
|
90
|
+
.page-size-label {
|
91
|
+
font-size: var(--nile-type-scale-3);
|
92
|
+
color: var(--nile-colors-dark-500);
|
93
|
+
margin-left: var(--nile-spacing-spacing-md);
|
94
|
+
font-feature-settings: 'liga' off, 'clig' off;
|
95
|
+
font-weight: var(--nile-font-weight-regular);
|
96
|
+
}
|
97
|
+
|
98
|
+
.nile-button::part(base) {
|
99
|
+
min-width: 32px;
|
100
|
+
}
|
101
|
+
`;export{n as s};
|
@@ -0,0 +1,89 @@
|
|
1
|
+
import{__decorate as i}from"tslib";import{html as e}from"lit";import{property as t,customElement as s}from"lit/decorators.js";import{s as n}from"./nile-pagination.css.esm.js";import{N as a}from"../internal/nile-element.esm.js";import{c as l,g as r,a as o,b as h}from"./nile-pagination-utils.esm.js";let d=class extends a{constructor(){super(...arguments),this.totalItems=0,this.pageSize=50,this.currentPage=1,this.variant="v1",this.disabled=!1,this.showTitle=!0,this.pageSizeOptions=[10,25,50,100]}static get styles(){return[n]}get totalPages(){return l(this.totalItems,this.pageSize)}goToPage(i){if(this.disabled)return;const e=Math.max(1,Math.min(i,this.totalPages));this.currentPage=e,this.emit("nile-change",{page:e,pageSize:this.pageSize})}onPageSizeSelect(i){this.disabled||this.pageSize===i||(this.pageSize=i,this.currentPage=1,this.emit("nile-change",{page:1,pageSize:i}))}renderRangeText(){return e`<div class="range-text">
|
2
|
+
${r(this.totalItems,this.pageSize,this.currentPage)}
|
3
|
+
</div>`}renderPageSizeSelect(){return"v1"!==this.variant?null:e`
|
4
|
+
<div class="page-size-select">
|
5
|
+
<nile-dropdown class="page-size-dropdown" ?disabled=${this.disabled}>
|
6
|
+
<nile-button slot="trigger" variant="tertiary" ?disabled=${this.disabled}>
|
7
|
+
${this.pageSize}
|
8
|
+
<nile-icon name="chevrondown" size="14" class="chevron"></nile-icon>
|
9
|
+
</nile-button>
|
10
|
+
<nile-menu class="page-size-menu">
|
11
|
+
${this.pageSizeOptions.map((i=>e`
|
12
|
+
<nile-menu-item
|
13
|
+
?disabled=${this.disabled}
|
14
|
+
@click=${()=>this.onPageSizeSelect(i)}
|
15
|
+
>
|
16
|
+
${i}
|
17
|
+
</nile-menu-item>
|
18
|
+
`))}
|
19
|
+
</nile-menu>
|
20
|
+
</nile-dropdown>
|
21
|
+
<span class="page-size-label">Items per page</span>
|
22
|
+
</div>
|
23
|
+
`}renderPrevButton(){return e`
|
24
|
+
<li>
|
25
|
+
<nile-button
|
26
|
+
variant="tertiary"
|
27
|
+
?disabled=${1===this.currentPage||this.disabled}
|
28
|
+
@click=${()=>this.goToPage(this.currentPage-1)}
|
29
|
+
>
|
30
|
+
<nile-icon name="arrowleft" size="14"></nile-icon>
|
31
|
+
</nile-button>
|
32
|
+
</li>
|
33
|
+
`}renderNextButton(){const i=this.totalPages;return e`
|
34
|
+
<li>
|
35
|
+
<nile-button
|
36
|
+
variant="tertiary"
|
37
|
+
?disabled=${this.currentPage===i||this.disabled}
|
38
|
+
@click=${()=>this.goToPage(this.currentPage+1)}
|
39
|
+
>
|
40
|
+
<nile-icon name="arrowright" size="14"></nile-icon>
|
41
|
+
</nile-button>
|
42
|
+
</li>
|
43
|
+
`}renderPageItem(i,t,s){return"…"===i?e`
|
44
|
+
<li>
|
45
|
+
<nile-dropdown class="ellipsis-dropdown" ?disabled=${this.disabled}>
|
46
|
+
<nile-button slot="trigger" variant="ghost" class="ellipsis-button" ?disabled=${this.disabled}>
|
47
|
+
…
|
48
|
+
</nile-button>
|
49
|
+
<nile-menu>
|
50
|
+
<div class="ellipsis-scroll-wrapper">
|
51
|
+
${o(this.totalPages,s,this.currentPage,t<s.indexOf(this.currentPage)?"left":"right").map((i=>e`
|
52
|
+
<nile-menu-item
|
53
|
+
?disabled=${this.disabled}
|
54
|
+
@click=${()=>this.goToPage(i)}
|
55
|
+
>
|
56
|
+
${i}
|
57
|
+
</nile-menu-item>
|
58
|
+
`))}
|
59
|
+
</div>
|
60
|
+
</nile-menu>
|
61
|
+
</nile-dropdown>
|
62
|
+
</li>
|
63
|
+
`:e`
|
64
|
+
<li>
|
65
|
+
<nile-button
|
66
|
+
variant=${i===this.currentPage?"primary":"ghost"}
|
67
|
+
?disabled=${this.disabled}
|
68
|
+
@click=${()=>this.goToPage(i)}
|
69
|
+
>
|
70
|
+
${i}
|
71
|
+
</nile-button>
|
72
|
+
</li>
|
73
|
+
`}renderPageList(){const i=this.totalPages,t=h(i,this.currentPage);return e`
|
74
|
+
<nav aria-label="Pagination">
|
75
|
+
<ul class="pagination">
|
76
|
+
${this.renderPrevButton()}
|
77
|
+
${t.map(((i,e)=>this.renderPageItem(i,e,t)))}
|
78
|
+
${this.renderNextButton()}
|
79
|
+
</ul>
|
80
|
+
</nav>
|
81
|
+
`}render(){return e`
|
82
|
+
<div class="pagination-wrapper ${this.variant}">
|
83
|
+
<div class="pager-container">
|
84
|
+
${this.showTitle?this.renderRangeText():null}
|
85
|
+
${this.renderPageSizeSelect()}
|
86
|
+
</div>
|
87
|
+
${this.renderPageList()}
|
88
|
+
</div>
|
89
|
+
`}};i([t({type:Number})],d.prototype,"totalItems",void 0),i([t({type:Number})],d.prototype,"pageSize",void 0),i([t({type:Number})],d.prototype,"currentPage",void 0),i([t({type:String})],d.prototype,"variant",void 0),i([t({type:Boolean})],d.prototype,"disabled",void 0),i([t({type:Boolean})],d.prototype,"showTitle",void 0),i([t({type:Array})],d.prototype,"pageSizeOptions",void 0),d=i([s("nile-pagination")],d);export{d as N};
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.js
CHANGED
@@ -77,4 +77,5 @@ export { NileToolbar } from './nile-toolbar';
|
|
77
77
|
export { NileInlineEdit } from './nile-inline-edit';
|
78
78
|
export { NileTable } from './nile-table';
|
79
79
|
export { NileFilterChip } from './nile-filter-chip';
|
80
|
+
export { NilePagination } from './nile-pagination';
|
80
81
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { NileButton } from './nile-button';\nexport { NileHeading } from './nile-heading';\nexport { NileIcon } from './nile-icon';\nexport { NileInput } from './nile-input';\nexport { NileSidebar } from './nile-sidebar';\nexport { NileMenu } from './nile-menu';\nexport { NileBadge } from './nile-badge';\nexport { NileDrawer } from './nile-drawer';\nexport { NileCheckbox } from './nile-checkbox';\nexport { NileRadio } from './nile-radio';\nexport { NileRadioGroup } from './nile-radio-group';\nexport { NilePopup } from './nile-popup';\nexport { NileTooltip } from './nile-tooltip';\nexport { NileSlideToggle } from './nile-slide-toggle';\nexport { NileLoader } from './nile-loader';\nexport { NileProgressBar } from './nile-progress-bar';\nexport { NileSpinner } from './nile-spinner';\nexport { NileSelect } from './nile-select';\nexport { NileOption } from './nile-option';\nexport { NileTag } from './nile-tag';\nexport { NileIconButton } from './nile-icon-button';\nexport { NileMenuItem } from './nile-menu-item';\nexport { NileDropdown } from './nile-dropdown';\nexport { NileAutoComplete } from './nile-auto-complete';\nexport { NileChip } from './nile-chip';\nexport { NileTextarea } from './nile-textarea';\nexport { NileDatePicker } from './nile-date-picker';\nexport { NileErrorMessage } from './nile-error-message';\nexport { NileFormErrorMessage } from './nile-form-error-message';\nexport { NileFormHelpText } from './nile-form-help-text';\nexport { NileCalendar } from './nile-calendar';\nexport { NileLink } from './nile-link';\nexport { NileButtonToggleGroup } from './nile-button-toggle-group';\nexport { NileButtonToggle } from './nile-button-toggle';\nexport { NileSwitcher } from './nile-switcher';\nexport { NileContentEditor } from './nile-content-editor';\nexport { NileDialog } from './nile-dialog';\nexport { NileErrorNotification } from './nile-error-notification';\nexport { NileTabGroup } from './nile-tab-group';\nexport { NileTab } from './nile-tab';\nexport { NileTabPanel } from './nile-tab-panel';\nexport { NileCodeEditor } from './nile-code-editor';\nexport { NileToast } from './nile-toast';\nexport { NileBreadcrumb } from './nile-breadcrumb';\nexport { NileBreadcrumbItem } from './nile-breadcrumb-item';\nexport { NileFormGroup } from './nile-form-group';\nexport { NileCard } from './nile-card';\nexport { NilePopover } from './nile-popover';\nexport { NileButtonFilter } from './nile-button-filter';\nexport { NileCircularProgressbar } from './nile-circular-progressbar';\nexport { NileSidebarMenu } from './nile-sidebar-menu';\nexport { NileSidebarMenuItems } from './nile-sidebar-menu-items';\nexport { NileSidebarWrapper } from './nile-sidebar-wrapper';\nexport { NileTableCellItem } from './nile-table-cell-item';\nexport { NileTableRow } from './nile-table-row';\nexport { NileTableBody } from './nile-table-body';\nexport { NileTableHeaderItem } from './nile-table-header-item';\nexport { NileAvatar } from './nile-avatar';\nexport { NilePageHeader } from './nile-page-header';\nexport { NileEmptyState } from './nile-empty-state';\nexport { NileHero } from './nile-hero';\nexport { NileStepperItem } from './nile-stepper-item';\nexport { NileStepper } from './nile-stepper';\nexport { NileHeroHeader } from './nile-hero-header';\nexport { NileVerticalStepperItem } from './nile-vertical-stepper-item';\nexport { NileFormatDate } from './nile-format-date';\nexport { NileSplitPanel } from './nile-split-panel';\nexport { NileTree } from './nile-tree';\nexport { NileTreeItem } from './nile-tree-item';\nexport { NileListItem } from './nile-list-item';\nexport { NileList } from './nile-list';\nexport { NileAccordion } from './nile-accordion';\nexport { NileDivider } from './nile-divider';\nexport { NileTitle } from './nile-title';\nexport { NileSectionMessage } from './nile-section-message';\nexport { NileToolbar } from './nile-toolbar';\nexport { NileInlineEdit } from './nile-inline-edit';\nexport { NileTable } from './nile-table';\nexport { NileFilterChip } from './nile-filter-chip'"]}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { NileButton } from './nile-button';\nexport { NileHeading } from './nile-heading';\nexport { NileIcon } from './nile-icon';\nexport { NileInput } from './nile-input';\nexport { NileSidebar } from './nile-sidebar';\nexport { NileMenu } from './nile-menu';\nexport { NileBadge } from './nile-badge';\nexport { NileDrawer } from './nile-drawer';\nexport { NileCheckbox } from './nile-checkbox';\nexport { NileRadio } from './nile-radio';\nexport { NileRadioGroup } from './nile-radio-group';\nexport { NilePopup } from './nile-popup';\nexport { NileTooltip } from './nile-tooltip';\nexport { NileSlideToggle } from './nile-slide-toggle';\nexport { NileLoader } from './nile-loader';\nexport { NileProgressBar } from './nile-progress-bar';\nexport { NileSpinner } from './nile-spinner';\nexport { NileSelect } from './nile-select';\nexport { NileOption } from './nile-option';\nexport { NileTag } from './nile-tag';\nexport { NileIconButton } from './nile-icon-button';\nexport { NileMenuItem } from './nile-menu-item';\nexport { NileDropdown } from './nile-dropdown';\nexport { NileAutoComplete } from './nile-auto-complete';\nexport { NileChip } from './nile-chip';\nexport { NileTextarea } from './nile-textarea';\nexport { NileDatePicker } from './nile-date-picker';\nexport { NileErrorMessage } from './nile-error-message';\nexport { NileFormErrorMessage } from './nile-form-error-message';\nexport { NileFormHelpText } from './nile-form-help-text';\nexport { NileCalendar } from './nile-calendar';\nexport { NileLink } from './nile-link';\nexport { NileButtonToggleGroup } from './nile-button-toggle-group';\nexport { NileButtonToggle } from './nile-button-toggle';\nexport { NileSwitcher } from './nile-switcher';\nexport { NileContentEditor } from './nile-content-editor';\nexport { NileDialog } from './nile-dialog';\nexport { NileErrorNotification } from './nile-error-notification';\nexport { NileTabGroup } from './nile-tab-group';\nexport { NileTab } from './nile-tab';\nexport { NileTabPanel } from './nile-tab-panel';\nexport { NileCodeEditor } from './nile-code-editor';\nexport { NileToast } from './nile-toast';\nexport { NileBreadcrumb } from './nile-breadcrumb';\nexport { NileBreadcrumbItem } from './nile-breadcrumb-item';\nexport { NileFormGroup } from './nile-form-group';\nexport { NileCard } from './nile-card';\nexport { NilePopover } from './nile-popover';\nexport { NileButtonFilter } from './nile-button-filter';\nexport { NileCircularProgressbar } from './nile-circular-progressbar';\nexport { NileSidebarMenu } from './nile-sidebar-menu';\nexport { NileSidebarMenuItems } from './nile-sidebar-menu-items';\nexport { NileSidebarWrapper } from './nile-sidebar-wrapper';\nexport { NileTableCellItem } from './nile-table-cell-item';\nexport { NileTableRow } from './nile-table-row';\nexport { NileTableBody } from './nile-table-body';\nexport { NileTableHeaderItem } from './nile-table-header-item';\nexport { NileAvatar } from './nile-avatar';\nexport { NilePageHeader } from './nile-page-header';\nexport { NileEmptyState } from './nile-empty-state';\nexport { NileHero } from './nile-hero';\nexport { NileStepperItem } from './nile-stepper-item';\nexport { NileStepper } from './nile-stepper';\nexport { NileHeroHeader } from './nile-hero-header';\nexport { NileVerticalStepperItem } from './nile-vertical-stepper-item';\nexport { NileFormatDate } from './nile-format-date';\nexport { NileSplitPanel } from './nile-split-panel';\nexport { NileTree } from './nile-tree';\nexport { NileTreeItem } from './nile-tree-item';\nexport { NileListItem } from './nile-list-item';\nexport { NileList } from './nile-list';\nexport { NileAccordion } from './nile-accordion';\nexport { NileDivider } from './nile-divider';\nexport { NileTitle } from './nile-title';\nexport { NileSectionMessage } from './nile-section-message';\nexport { NileToolbar } from './nile-toolbar';\nexport { NileInlineEdit } from './nile-inline-edit';\nexport { NileTable } from './nile-table';\nexport { NileFilterChip } from './nile-filter-chip'\nexport { NilePagination } from './nile-pagination';"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
export { NilePagination } from './nile-pagination';
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-pagination/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["export { NilePagination } from './nile-pagination';"]}
|
@@ -0,0 +1,4 @@
|
|
1
|
+
export declare function calculateTotalPages(totalItems: number, pageSize: number): number;
|
2
|
+
export declare function getPaginationItems(totalPages: number, currentPage: number): (number | string)[];
|
3
|
+
export declare function getHiddenPages(totalPages: number, items: (number | string)[], currentPage: number, position: 'left' | 'right'): number[];
|
4
|
+
export declare function getRangeText(totalItems: number, pageSize: number, currentPage: number): string;
|
@@ -0,0 +1,41 @@
|
|
1
|
+
export function calculateTotalPages(totalItems, pageSize) {
|
2
|
+
return Math.ceil(totalItems / pageSize);
|
3
|
+
}
|
4
|
+
export function getPaginationItems(totalPages, currentPage) {
|
5
|
+
if (totalPages <= 7) {
|
6
|
+
return Array.from({ length: totalPages }, (_, i) => i + 1);
|
7
|
+
}
|
8
|
+
const pages = [1];
|
9
|
+
if (currentPage <= 4) {
|
10
|
+
pages.push(2, 3, 4, 5, '…');
|
11
|
+
}
|
12
|
+
else if (currentPage >= totalPages - 3) {
|
13
|
+
pages.push('…', totalPages - 4, totalPages - 3, totalPages - 2, totalPages - 1);
|
14
|
+
}
|
15
|
+
else {
|
16
|
+
pages.push('…', currentPage - 1, currentPage, currentPage + 1, '…');
|
17
|
+
}
|
18
|
+
pages.push(totalPages);
|
19
|
+
return pages;
|
20
|
+
}
|
21
|
+
export function getHiddenPages(totalPages, items, currentPage, position) {
|
22
|
+
if (totalPages <= 7)
|
23
|
+
return [];
|
24
|
+
const all = Array.from({ length: totalPages }, (_, i) => i + 1);
|
25
|
+
const visible = items.filter(x => typeof x === 'number');
|
26
|
+
const hidden = all.filter(p => !visible.includes(p));
|
27
|
+
if (position === 'left') {
|
28
|
+
const firstAfterEllipsis = visible[1];
|
29
|
+
return hidden.filter(p => p < firstAfterEllipsis);
|
30
|
+
}
|
31
|
+
else {
|
32
|
+
const lastBeforeEllipsis = visible[visible.length - 2];
|
33
|
+
return hidden.filter(p => p > lastBeforeEllipsis);
|
34
|
+
}
|
35
|
+
}
|
36
|
+
export function getRangeText(totalItems, pageSize, currentPage) {
|
37
|
+
const start = (currentPage - 1) * pageSize + 1;
|
38
|
+
const end = Math.min(currentPage * pageSize, totalItems);
|
39
|
+
return `Showing ${start}–${end} of ${totalItems}`;
|
40
|
+
}
|
41
|
+
//# sourceMappingURL=nile-pagination-utils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"nile-pagination-utils.js","sourceRoot":"","sources":["../../../src/nile-pagination/nile-pagination-utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CACjC,UAAkB,EAClB,QAAgB;IAEhB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,UAAkB,EAClB,WAAmB;IAEnB,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,KAAK,GAAwB,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,WAAW,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CACR,GAAG,EACH,UAAU,GAAG,CAAC,EACd,UAAU,GAAG,CAAC,EACd,UAAU,GAAG,CAAC,EACd,UAAU,GAAG,CAAC,CACf,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,CAAC,EAAE,WAAW,EAAE,WAAW,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACtE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,UAAkB,EAClB,KAA0B,EAC1B,WAAmB,EACnB,QAA0B;IAE1B,IAAI,UAAU,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAa,CAAC;IACrE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAW,CAAC;QAChD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAW,CAAC;QACjE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,UAAkB,EAClB,QAAgB,EAChB,WAAmB;IAEnB,MAAM,KAAK,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,QAAQ,EAAE,UAAU,CAAC,CAAC;IACzD,OAAO,WAAW,KAAK,IAAI,GAAG,OAAO,UAAU,EAAE,CAAC;AACpD,CAAC","sourcesContent":["export function calculateTotalPages(\n totalItems: number,\n pageSize: number\n): number {\n return Math.ceil(totalItems / pageSize);\n}\n\nexport function getPaginationItems(\n totalPages: number,\n currentPage: number\n): (number | string)[] {\n if (totalPages <= 7) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n\n const pages: (number | string)[] = [1];\n if (currentPage <= 4) {\n pages.push(2, 3, 4, 5, '…');\n } else if (currentPage >= totalPages - 3) {\n pages.push(\n '…',\n totalPages - 4,\n totalPages - 3,\n totalPages - 2,\n totalPages - 1\n );\n } else {\n pages.push('…', currentPage - 1, currentPage, currentPage + 1, '…');\n }\n pages.push(totalPages);\n return pages;\n}\n\nexport function getHiddenPages(\n totalPages: number,\n items: (number | string)[],\n currentPage: number,\n position: 'left' | 'right'\n): number[] {\n if (totalPages <= 7) return [];\n\n const all = Array.from({ length: totalPages }, (_, i) => i + 1);\n const visible = items.filter(x => typeof x === 'number') as number[];\n const hidden = all.filter(p => !visible.includes(p));\n\n if (position === 'left') {\n const firstAfterEllipsis = visible[1] as number;\n return hidden.filter(p => p < firstAfterEllipsis);\n } else {\n const lastBeforeEllipsis = visible[visible.length - 2] as number;\n return hidden.filter(p => p > lastBeforeEllipsis);\n }\n}\n\nexport function getRangeText(\n totalItems: number,\n pageSize: number,\n currentPage: number\n): string {\n const start = (currentPage - 1) * pageSize + 1;\n const end = Math.min(currentPage * pageSize, totalItems);\n return `Showing ${start}–${end} of ${totalItems}`;\n}\n"]}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright Aquera Inc 2025
|
3
|
+
*
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
/**
|
8
|
+
* Pagination CSS
|
9
|
+
*/
|
10
|
+
export declare const styles: import("lit").CSSResult;
|
11
|
+
declare const _default: import("lit").CSSResult[];
|
12
|
+
export default _default;
|
@@ -0,0 +1,113 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright Aquera Inc 2025
|
3
|
+
*
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
import { css } from 'lit';
|
8
|
+
/**
|
9
|
+
* Pagination CSS
|
10
|
+
*/
|
11
|
+
export const styles = css `
|
12
|
+
:host {
|
13
|
+
}
|
14
|
+
|
15
|
+
.pagination-wrapper {
|
16
|
+
display: flex;
|
17
|
+
align-items: center;
|
18
|
+
justify-content: space-between;
|
19
|
+
padding: var(--nile-spacing-spacing-md) var(--nile-spacing-spacing-lg);
|
20
|
+
}
|
21
|
+
|
22
|
+
.pagination-wrapper.v2 {
|
23
|
+
justify-content: flex-start;
|
24
|
+
gap: var(--nile-spacing-spacing-lg);
|
25
|
+
}
|
26
|
+
|
27
|
+
.pagination-wrapper.v2 .pager-container {
|
28
|
+
flex-direction: row;
|
29
|
+
align-items: center;
|
30
|
+
gap: var(--nile-spacing-spacing-md);
|
31
|
+
margin-right: var(--nile-spacing-spacing-xl);
|
32
|
+
}
|
33
|
+
|
34
|
+
.pagination-wrapper.v2 .range-text {
|
35
|
+
margin-right: var(--nile-spacing-spacing-md);
|
36
|
+
font-size: var(--nile-font-size-small);
|
37
|
+
color: var(--nile-colors-dark-900);
|
38
|
+
font-feature-settings: 'liga' off, 'clig' off;
|
39
|
+
font-weight: var(--nile-font-weight-regular);
|
40
|
+
}
|
41
|
+
|
42
|
+
.pager-container {
|
43
|
+
display: flex;
|
44
|
+
align-items: center;
|
45
|
+
gap: var(--nile-spacing-spacing-3xl);
|
46
|
+
}
|
47
|
+
|
48
|
+
.range-text {
|
49
|
+
font-size: var(--nile-font-size-small);
|
50
|
+
color: var(--nile-colors-dark-900);
|
51
|
+
white-space: nowrap;
|
52
|
+
}
|
53
|
+
|
54
|
+
.page-size-select {
|
55
|
+
display: inline-flex;
|
56
|
+
align-items: center;
|
57
|
+
}
|
58
|
+
|
59
|
+
ul.pagination {
|
60
|
+
display: flex;
|
61
|
+
list-style: none;
|
62
|
+
padding: var(--nile-spacing-spacing-none);
|
63
|
+
margin: var(--nile-spacing-spacing-none);
|
64
|
+
gap: var(--nile-radius-radius-xxs);
|
65
|
+
}
|
66
|
+
|
67
|
+
ul.pagination li {
|
68
|
+
margin: var(--nile-spacing-spacing-none);
|
69
|
+
}
|
70
|
+
|
71
|
+
.ellipsis-scroll-wrapper {
|
72
|
+
max-height: 194px;
|
73
|
+
overflow-y: auto;
|
74
|
+
width: 66px;
|
75
|
+
}
|
76
|
+
|
77
|
+
.ellipsis-dropdown nile-menu {
|
78
|
+
overflow-y: auto;
|
79
|
+
padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);
|
80
|
+
box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);
|
81
|
+
}
|
82
|
+
|
83
|
+
.ellipsis-dropdown nile-menu-item {
|
84
|
+
padding: var(--nile-spacing-spacing-sm) var(--nile-spacing-spacing-lg);
|
85
|
+
text-align: center;
|
86
|
+
}
|
87
|
+
|
88
|
+
.page-size-menu {
|
89
|
+
max-height: 144px;
|
90
|
+
overflow-y: auto;
|
91
|
+
}
|
92
|
+
|
93
|
+
ul.pagination li:first-child {
|
94
|
+
margin-right: var(--nile-spacing-spacing-xs);
|
95
|
+
}
|
96
|
+
ul.pagination li:last-child {
|
97
|
+
margin-left: var(--nile-spacing-spacing-md);
|
98
|
+
}
|
99
|
+
|
100
|
+
.page-size-label {
|
101
|
+
font-size: var(--nile-type-scale-3);
|
102
|
+
color: var(--nile-colors-dark-500);
|
103
|
+
margin-left: var(--nile-spacing-spacing-md);
|
104
|
+
font-feature-settings: 'liga' off, 'clig' off;
|
105
|
+
font-weight: var(--nile-font-weight-regular);
|
106
|
+
}
|
107
|
+
|
108
|
+
.nile-button::part(base) {
|
109
|
+
min-width: 32px;
|
110
|
+
}
|
111
|
+
`;
|
112
|
+
export default [styles];
|
113
|
+
//# sourceMappingURL=nile-pagination.css.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"nile-pagination.css.js","sourceRoot":"","sources":["../../../src/nile-pagination/nile-pagination.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoGxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Pagination CSS\n */\nexport const styles = css`\n :host {\n }\n\n .pagination-wrapper {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--nile-spacing-spacing-md) var(--nile-spacing-spacing-lg);\n }\n\n .pagination-wrapper.v2 {\n justify-content: flex-start;\n gap: var(--nile-spacing-spacing-lg);\n }\n\n .pagination-wrapper.v2 .pager-container {\n flex-direction: row;\n align-items: center;\n gap: var(--nile-spacing-spacing-md);\n margin-right: var(--nile-spacing-spacing-xl);\n }\n\n .pagination-wrapper.v2 .range-text {\n margin-right: var(--nile-spacing-spacing-md);\n font-size: var(--nile-font-size-small);\n color: var(--nile-colors-dark-900);\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular);\n }\n\n .pager-container {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-3xl);\n }\n\n .range-text {\n font-size: var(--nile-font-size-small);\n color: var(--nile-colors-dark-900);\n white-space: nowrap;\n }\n\n .page-size-select {\n display: inline-flex;\n align-items: center;\n }\n\n ul.pagination {\n display: flex;\n list-style: none;\n padding: var(--nile-spacing-spacing-none);\n margin: var(--nile-spacing-spacing-none);\n gap: var(--nile-radius-radius-xxs);\n }\n\n ul.pagination li {\n margin: var(--nile-spacing-spacing-none);\n }\n\n .ellipsis-scroll-wrapper {\n max-height: 194px;\n overflow-y: auto;\n width: 66px;\n }\n\n .ellipsis-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .ellipsis-dropdown nile-menu-item {\n padding: var(--nile-spacing-spacing-sm) var(--nile-spacing-spacing-lg);\n text-align: center;\n }\n\n .page-size-menu {\n max-height: 144px;\n overflow-y: auto;\n }\n\n ul.pagination li:first-child {\n margin-right: var(--nile-spacing-spacing-xs);\n }\n ul.pagination li:last-child {\n margin-left: var(--nile-spacing-spacing-md);\n }\n\n .page-size-label {\n font-size: var(--nile-type-scale-3);\n color: var(--nile-colors-dark-500);\n margin-left: var(--nile-spacing-spacing-md);\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular);\n }\n\n .nile-button::part(base) {\n min-width: 32px;\n }\n`;\n\nexport default [styles];\n"]}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright Aquera Inc 2025
|
3
|
+
*
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
import { CSSResultArray, TemplateResult } from 'lit';
|
8
|
+
import NileElement from '../internal/nile-element';
|
9
|
+
export declare class NilePagination extends NileElement {
|
10
|
+
static get styles(): CSSResultArray;
|
11
|
+
totalItems: number;
|
12
|
+
pageSize: number;
|
13
|
+
currentPage: number;
|
14
|
+
variant: 'v1' | 'v2';
|
15
|
+
disabled: boolean;
|
16
|
+
showTitle: boolean;
|
17
|
+
pageSizeOptions: number[];
|
18
|
+
private get totalPages();
|
19
|
+
private goToPage;
|
20
|
+
private onPageSizeSelect;
|
21
|
+
private renderRangeText;
|
22
|
+
private renderPageSizeSelect;
|
23
|
+
private renderPrevButton;
|
24
|
+
private renderNextButton;
|
25
|
+
private renderPageItem;
|
26
|
+
private renderPageList;
|
27
|
+
render(): TemplateResult;
|
28
|
+
}
|
29
|
+
declare global {
|
30
|
+
interface HTMLElementTagNameMap {
|
31
|
+
'nile-pagination': NilePagination;
|
32
|
+
}
|
33
|
+
}
|