Too Long; Didn't Read
This is a pagination component from GitHub. It needs to be able to navigate to first and last pages easily. It also needs to handle any number of pages. GitHub doesn't show dots between 1 and 3 above, but they show pages 1 to 7. This is where it starts to get tricky because of the size of the page size. It's definitely not an ordeal, but it probably took me a good hour when I originally estimated to finish this within a few minutes. I hope this is detailed enough to make you wish you had these on *$DAY_JOB*!