from pattern_library.monkey_utils import override_tag

from wagtail.admin.templatetags.wagtailadmin_tags import register

override_tag(register, name="test_page_is_public")

wagtail/admin/templatetags/patternlibrary_override_tags.py
wagtail/admin/templatetags/patternlibrary_override_tags.py
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 744d7ad39bed..a1b993559611 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -50,7 +50,6 @@ Changelog
  * Deprecate the usage and documentation of the `wagtail.contrib.modeladmin.menus.SubMenu` class, provide a warning if used directing developers to use `wagtail.admin.menu.Menu` instead (Matt Westcott)
  * Remove legacy (non-next) breadcrumbs no longer used, remove `ModelAdmin` usage of breadcrumbs completely (Paarth Agarwal)
  * Replace human-readable-date hover pattern with accessible tooltip variant across all of admin (Bernd de Ridder)
- * Add legacy and new status tags to the pattern library (Steven Steinwand)
  * Added `WAGTAILADMIN_USER_PASSWORD_RESET_FORM` setting for overriding the admin password reset form (Michael Karamuth)
  * Prefetch workflow states in edit page view to to avoid queries in other parts of the view/templates that need it (Tidiane Dia)
  * Remove the edit link from edit bird in previews to avoid confusion (Sævar Öfjörð Magnússon)
diff --git a/docs/releases/4.0.md b/docs/releases/4.0.md
index a2456c027980..0555ddc8ca0a 100644
--- a/docs/releases/4.0.md
+++ b/docs/releases/4.0.md
@@ -57,7 +57,6 @@ When using a queryset to render a list of images, you can now use the `prefetch_
  * Deprecate the usage and documentation of the `wagtail.contrib.modeladmin.menus.SubMenu` class, provide a warning if used directing developers to use `wagtail.admin.menu.Menu` instead (Matt Westcott)
  * Remove legacy (non-next) breadcrumbs no longer used, remove `ModelAdmin` usage of breadcrumbs completely (Paarth Agarwal)
  * Replace human-readable-date hover pattern with accessible tooltip variant across all of admin (Bernd de Ridder)
- * Add legacy and new status tags to the pattern library (Steven Steinwand)
  * Added `WAGTAILADMIN_USER_PASSWORD_RESET_FORM` setting for overriding the admin password reset form (Michael Karamuth)
  * Prefetch workflow states in edit page view to to avoid queries in other parts of the view/templates that need it (Tidiane Dia)
  * Remove the edit link from edit bird in previews to avoid confusion (Sævar Öfjörð Magnússon)
diff --git a/wagtail/admin/templates/wagtailadmin/shared/page_status_tag.html b/wagtail/admin/templates/wagtailadmin/shared/page_status_tag.html
index 72dd7e49d1c1..9e0d89040f01 100644
--- a/wagtail/admin/templates/wagtailadmin/shared/page_status_tag.html
+++ b/wagtail/admin/templates/wagtailadmin/shared/page_status_tag.html
@@ -1,9 +1,4 @@
 {% load i18n %}
-{% comment  "text/markdown" %}
-    Variables this template accepts:
-
-    `page` - A wagtail page object
-{% endcomment %}
 {% if page.live %}
     {% with page_url=page.url %}
         {% if page_url is not None %}
diff --git a/wagtail/admin/templates/wagtailadmin/shared/page_status_tag.stories.tsx b/wagtail/admin/templates/wagtailadmin/shared/page_status_tag.stories.tsx
deleted file mode 100644
index 77060b761199..000000000000
--- a/wagtail/admin/templates/wagtailadmin/shared/page_status_tag.stories.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import React from 'react';
-import { Pattern, generateDocs } from 'storybook-django/src/react';
-
-import template from './page_status_tag.html';
-
-const { docs, argTypes } = generateDocs(template);
-
-export default {
-  parameters: { docs },
-  argTypes: {
-    ...argTypes,
-    url: {
-      options: [null, 'https://wagtail.io'],
-    },
-  },
-};
-
-const Template = (args) => (
-  <Pattern filename={__filename} context={{ page: args }} />
-);
-export const Live = Template.bind({});
-
-Live.args = {
-  live: true,
-  status_string: 'live',
-  url: null,
-};
-
-export const Draft = Template.bind({});
-
-Draft.args = {
-  live: false,
-  status_string: 'draft',
-};
diff --git a/wagtail/admin/templates/wagtailadmin/shared/page_status_tag_new.html b/wagtail/admin/templates/wagtailadmin/shared/page_status_tag_new.html
index 17746beb912b..70b607fae213 100644
--- a/wagtail/admin/templates/wagtailadmin/shared/page_status_tag_new.html
+++ b/wagtail/admin/templates/wagtailadmin/shared/page_status_tag_new.html
@@ -4,6 +4,7 @@
     Variables accepted by this template:
 
     - `page` - A wagtail page object
+    - `classes` - String of extra css classes to pass to this component
 {% endcomment %}
 
 {% if page.live and page.url is not None %}
diff --git a/wagtail/admin/templates/wagtailadmin/shared/page_status_tag_new.stories.tsx b/wagtail/admin/templates/wagtailadmin/shared/page_status_tag_new.stories.tsx
deleted file mode 100644
index d1ce63d401ea..000000000000
--- a/wagtail/admin/templates/wagtailadmin/shared/page_status_tag_new.stories.tsx
+++ /dev/null
@@ -1,51 +0,0 @@
-import React from 'react';
-import { Pattern, generateDocs } from 'storybook-django/src/react';
-
-import template from './page_status_tag_new.html';
-
-const { docs, argTypes } = generateDocs(template);
-
-export default {
-  parameters: { docs },
-  argTypes: { ...argTypes },
-};
-
-const PublicTemplate = (args) => (
-  <Pattern
-    filename={__filename}
-    tags={{
-      test_page_is_public: {
-        'page as is_public': {
-          raw: false,
-        },
-      },
-    }}
-    context={{ page: args }}
-  />
-);
-
-export const Public = PublicTemplate.bind({});
-Public.args = {
-  live: true,
-  url: '#',
-};
-
-const PrivateTemplate = (args) => (
-  <Pattern
-    filename={__filename}
-    tags={{
-      test_page_is_public: {
-        'page as is_public': {
-          raw: true,
-        },
-      },
-    }}
-    context={{ page: args }}
-  />
-);
-
-export const Private = PrivateTemplate.bind({});
-Private.args = {
-  live: true,
-  url: '#',
-};
diff --git a/wagtail/admin/templatetags/patternlibrary_override_tags.py b/wagtail/admin/templatetags/patternlibrary_override_tags.py
deleted file mode 100644
index 86c48780dd47..000000000000
--- a/wagtail/admin/templatetags/patternlibrary_override_tags.py
+++ /dev/null
@@ -1,5 +0,0 @@
-from pattern_library.monkey_utils import override_tag
-
-from wagtail.admin.templatetags.wagtailadmin_tags import register
-
-override_tag(register, name="test_page_is_public")

patternlibrary_override_tags breaks all non-development installations
#8665 added a `patternlibrary_override_tags` tag library to wagtail.admin, which depends on the django-pattern-library package listed in our testing_extras dependencies. However, this tag library will be loaded on all environments that have `wagtail.admin` in their INSTALLED_APPS, so any Wagtail installation that doesn't include testing_extras is currently broken.

As a non-frontend dev, I don't know what this tag library is for, and there's no documentation for me to find out. Deleting it and uninstalling django-pattern-library doesn't break any tests, so it seems to me that it doesn't really belong in the testing dependencies. (If it really is a testing dependency, I'd suggest that moving patternlibrary_override_tags.py into one of the test apps in wagtail/test/ would let it do whatever it's meant to do without breaking non-testing environments.)
