diff --git a/packages/scrollbars/CHANGELOG.md b/packages/scrollbars/CHANGELOG.md
new file mode 100644
index 00000000000..8b137891791
--- /dev/null
+++ b/packages/scrollbars/CHANGELOG.md
@@ -0,0 +1 @@
+
diff --git a/packages/scrollbars/README.md b/packages/scrollbars/README.md
new file mode 100644
index 00000000000..27b0ae31889
--- /dev/null
+++ b/packages/scrollbars/README.md
@@ -0,0 +1,34 @@
+# @zendeskgarden/react-scrollbars [](https://www.npmjs.com/package/@zendeskgarden/react-scrollbars)
+
+This package includes components relating to scrollbars in the
+[Garden Design System](https://zendeskgarden.github.io/).
+
+## Installation
+
+```sh
+npm install @zendeskgarden/react-scrollbars
+
+# Peer Dependencies - Also Required
+npm install react react-dom prop-types styled-components @zendeskgarden/react-theming
+```
+
+## Usage
+
+```jsx static
+/**
+ * Include scrollbars styling at the root of your application
+ */
+import '@zendeskgarden/react-scrollbars/dist/styles.css';
+
+import { ThemeProvider } from '@zendeskgarden/react-theming';
+import { Scrollbar } from '@zendeskgarden/react-scrollbars';
+
+/**
+ * Place a `ThemeProvider` at the root of your React application
+ */
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit...
+
+;
+```
diff --git a/packages/scrollbars/package.json b/packages/scrollbars/package.json
new file mode 100644
index 00000000000..6106dfa885b
--- /dev/null
+++ b/packages/scrollbars/package.json
@@ -0,0 +1,47 @@
+{
+ "name": "@zendeskgarden/react-scrollbars",
+ "description": "Components relating to scrollbars in the Garden Design System",
+ "license": "Apache-2.0",
+ "author": "Zendesk Garden ",
+ "homepage": "https://garden.zendesk.com/",
+ "repository": "https://github.com/zendeskgarden/react-components",
+ "bugs": {
+ "url": "https://github.com/zendeskgarden/react-components/issues"
+ },
+ "version": "0.0.0",
+ "main": "./dist/index.js",
+ "files": [
+ "dist"
+ ],
+ "scripts": {
+ "build": "../../utils/scripts/build.sh",
+ "build:demo": "../../utils/scripts/build-demo.sh",
+ "start": "../../utils/scripts/start.sh"
+ },
+ "dependencies": {
+ "classnames": "^2.2.5",
+ "perfect-scrollbar": "^1.4.0"
+ },
+ "peerDependencies": {
+ "@zendeskgarden/react-theming": "^1.0.0 || ^2.0.0 || ^3.0.0",
+ "prop-types": "^15.6.1",
+ "react": "^0.14.0 || ^15.0.0 || ^16.0.0",
+ "react-dom": "^0.14.0 || ^15.0.0 || ^16.0.0",
+ "styled-components": "^3.2.6"
+ },
+ "devDependencies": {
+ "@zendeskgarden/css-scrollbars": "0.1.0",
+ "@zendeskgarden/css-variables": "5.1.0"
+ },
+ "keywords": [
+ "components",
+ "garden",
+ "react",
+ "zendesk"
+ ],
+ "publishConfig": {
+ "access": "public"
+ },
+ "zendeskgarden:library": "GardenScrollbars",
+ "zendeskgarden:src": "src/index.js"
+}
diff --git a/packages/scrollbars/src/Scrollbar.example.md b/packages/scrollbars/src/Scrollbar.example.md
new file mode 100644
index 00000000000..a0f92ba5c11
--- /dev/null
+++ b/packages/scrollbars/src/Scrollbar.example.md
@@ -0,0 +1,115 @@
+### Basic Scrollable Example
+
+Our custom scrollbar implementation is uses the
+[perfect-scrollbars](https://github.com/utatti/perfect-scrollbar)
+library internally.
+
+Take a look at their [API documentation](https://github.com/utatti/perfect-scrollbar#options)
+to view all of the available customization options and events.
+
+```jsx
+const { MD } = require('@zendeskgarden/react-typography');
+const { zdSpacing } = require('@zendeskgarden/css-variables');
+
+const StyledSection = styled(MD)`
+ margin-bottom: ${zdSpacing};
+`;
+
+const ExampleText = () => (
+
+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque
+ laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto
+ beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut
+ odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
+ Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit,
+ sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat
+ voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit
+ laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui
+ in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat
+ quo voluptas nulla pariatur?
+
+);
+
+
+
+
+
+
+
+
+;
+```
+
+### Dark Mode
+
+```jsx
+
+
+
+```
+
+## Scroll Jumping
+
+```jsx
+const { Button } = require('@zendeskgarden/react-buttons/src');
+
+const StyledSection = styled.div`
+ margin-bottom: 16px;
+`;
+
+const ExampleText = () => (
+
+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque
+ laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto
+ beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut
+ odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
+ Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit,
+ sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat
+ voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit
+ laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui
+ in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat
+ quo voluptas nulla pariatur?
+
+);
+
+
+
+
+
+
+
+
+
+
+
+
+ (this.scrollbarRef = ref)}>
+
+
+
+
+
+
+
+
+
+;
+```
diff --git a/packages/scrollbars/src/Scrollbar.js b/packages/scrollbars/src/Scrollbar.js
new file mode 100644
index 00000000000..500cd4c7a99
--- /dev/null
+++ b/packages/scrollbars/src/Scrollbar.js
@@ -0,0 +1,165 @@
+/**
+ * Copyright Zendesk, Inc.
+ *
+ * Use of this source code is governed under the Apache License, Version 2.0
+ * found at http://www.apache.org/licenses/LICENSE-2.0.
+ */
+
+import React, { Component } from 'react';
+import PropTypes from 'prop-types';
+import classNames from 'classnames';
+import styled from 'styled-components';
+import PerfectScrollbar from 'perfect-scrollbar';
+import { isRtl, retrieveTheme } from '@zendeskgarden/react-theming';
+
+/**
+ * These styles are NOT consumed through CSS Modules to allow
+ * interaction with with perfect-scrollbars.
+ */
+import '@zendeskgarden/css-scrollbars';
+
+const EVENT_KEYS = {
+ SCROLL_Y: 'ps-scroll-y',
+ SCROLL_X: 'ps-scroll-x',
+ SCROLL_UP: 'ps-scroll-up',
+ SCROLL_DOWN: 'ps-scroll-down',
+ SCROLL_LEFT: 'ps-scroll-left',
+ SCROLL_RIGHT: 'ps-scroll-right',
+ REACH_START_Y: 'ps-y-reach-start',
+ REACH_END_Y: 'ps-y-reach-end',
+ REACH_START_X: 'ps-x-reach-start',
+ REACH_END_X: 'ps-x-reach-end'
+};
+
+const COMPONENT_ID = 'scrollbars.scrollbar';
+
+/**
+ * Accepts all `