← All work
Engineering · 2017

Customizable Pagination Component for Material UI (OSS)

Overview

A reusable, customizable pagination component for Material UI, published as an npm package. This repository is a fork of the open-source material-ui-pagination library, capturing an early-career exploration of building and packaging shareable React UI components.

Why It Exists

Early Material UI lacked a flexible pagination control. The library exposes a single Pagination component with props for total pages, visible window, current page, an onChange handler, and per-element style overrides, letting teams drop in paging with sensible Material UI defaults or fully custom styling. The fork served as a study of how a publishable, testable component is structured.

What We Built

The package centers on a src/ component plus an example/ hot-reload demo, a test/ suite (Jest with a jsdom environment), and a Webpack + Babel build that emits dist/index.js for npm consumption. Tooling includes ESLint, JSCS, a .babelrc, Travis CI configuration, and better-npm-run build scripts. Peer stack is React 15, Material UI 0.18, prop-types, and react-tap-event-plugin.

Why It Exists / Approach

React 15 + Material UI 0.18 with a Webpack/Babel build pipeline, the standard library-authoring toolchain of the era. The single-component API with extensive style* props demonstrates designing for both convention and customization.

Outcome / Impact

A working, npm-publishable React component with a live demo, Jest tests, and CI. As a fork it is framed as evaluation / early-career open-source study rather than original product work, but it shows the full lifecycle of authoring and packaging a reusable UI library.

Capabilities Demonstrated

  • Authoring reusable, themeable React UI components
  • npm library packaging with Webpack + Babel build output
  • Component testing with Jest (jsdom) and CI via Travis
  • Designing component APIs balancing defaults and full style customization
More work See all →