Pagination
```js
let currentPage = 5;
let pagedItems = [];

function spliceForPaging(array, page, pageSize) {
    page = page > 0 ? page : 1;
    let take = pageSize;
    let start = ((page - 1) * pageSize) || 0;
    let end = take * page;
    return array.slice(start, end);
}

function onPage(page) {
    pagedItems = spliceForPaging(data, page, 5);
    currentPage = page;
}

let data = [];
for(var i = 0; i < 13; i++) {
    var item1 = {
        name: 'City of Manhattan' + i + ', KS',
        owners: ['Bill Murray'],
        applications: 2,
        actions: ['Modify', 'Remove']
    }
    var item2 = {
        name: 'Maricopa County' + i,
        owners: ['Dan Aykroyd', 'Harold Ramis', 'Ernie Hudson'],
        applications: 2,
        actions: ['Modify', 'Remove']
    }
    var item3 = {
        name: 'McKinney' + i + ', TX',
        owners: ['Dan Aykroyd', 'Harold Ramis', 'Ernie Hudson', 'Bill Murray'],
        applications: 0,
        actions: ['Modify', 'Remove']
    }

    data.push(item1);
    data.push(item2);
    data.push(item3);
}

<Pagination currentPage={currentPage} pageSize={5} limit={8} total={data.length} onPageSelect={onPage}/>
```