diff --git a/core/modules/views/templates/views-mini-pager.html.twig b/core/modules/views/templates/views-mini-pager.html.twig
new file mode 100644
index 0000000..d72e0c7
--- /dev/null
+++ b/core/modules/views/templates/views-mini-pager.html.twig
@@ -0,0 +1,16 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a views mini-pager.
+ *
+ * Available variables:
+ * - items: An array of pager elements.
+ * - pager: A themed list of pager elements.
+ *
+ * @see template_preprocess()
+ * @see template_preprocess_views_mini_pager()
+ *
+ * @ingroup themeable
+ */
+#}
+{{ pager }}
diff --git a/core/modules/views/views.theme.inc b/core/modules/views/views.theme.inc
index 1552875..7d92f04 100644
--- a/core/modules/views/views.theme.inc
+++ b/core/modules/views/views.theme.inc
@@ -1098,6 +1098,70 @@ function theme_views_mini_pager($vars) {
 }
 
 /**
+ * Display a views mini-pager.
+ */
+function template_preprocess_views_mini_pager(&$vars) {
+  global $pager_page_array, $pager_total;
+
+  $tags = $vars['tags'];
+  $element = $vars['element'];
+  $parameters = $vars['parameters'];
+  $quantity = $vars['quantity'];
+
+  // current is the page we are currently paged to
+  $pager_current = $pager_page_array[$element] + 1;
+  // max is the maximum page number
+  $pager_max = $pager_total[$element];
+  // End of marker calculations.
+
+  $li_previous = array();
+  if ($pager_total[$element] > 1 && $pager_page_array[$element] > 0) {
+    $li_previous = array(
+      '#theme' => 'pager_link__previous',
+      '#text' => (isset($tags[1]) ? $tags[1] : t('‹‹')),
+      '#page_new' => pager_load_array($pager_page_array[$element] - 1, $element, $pager_page_array),
+      '#element' => $element,
+      '#interval' => 1,
+      '#parameters' => $parameters,
+    );
+  }
+
+  $li_next = array();
+  if ($pager_page_array[$element] < ($pager_total[$element] - 1)) {
+    $li_next = array(
+      '#theme' => 'pager_link__next',
+      '#text' => (isset($tags[3]) ? $tags[3] : t('››')),
+      '#page_new' => pager_load_array($pager_page_array[$element] + 1, $element, $pager_page_array),
+      '#element' => $element,
+      '#interval' => 1,
+      '#parameters' => $parameters,
+    );
+  }
+
+  $items[] = array(
+    '#wrapper_attributes' => array('class' => array('pager-previous')),
+  ) + $li_previous;
+
+  $items[] = array(
+    '#wrapper_attributes' => array('class' => array('pager-current')),
+    '#markup' => t('@current of @max', array('@current' => $pager_current, '@max' => $pager_max)),
+  );
+
+  $items[] = array(
+    '#wrapper_attributes' => array('class' => array('pager-next')),
+  ) + $li_next;
+
+  $vars['items'] = $items;
+  $vars['pager'] => array(
+    '#theme' => 'item_list',
+    'items' => $items,
+    'title' => NULL,
+    'type' => 'ul',
+    'attributes' => array('class' => array('pager')),
+  );
+}
+
+/**
  * @defgroup views_templates Views template files
  * @{
  * All views templates can be overridden with a variety of names, using
