PluginProbe
Subscriptions for WooCommerce with Stripe Recurring Payments / 2.0.0
Subscriptions for WooCommerce with Stripe Recurring Payments v2.0.0
2.0.0 1.11.2 1.11.1 1.11.0 1.10.9 1.10.8 1.10.7 1.10.6 1.10.5 1.10.4 1.10.3 1.10.2 1.10.1 1.10.0 1.9.6 1.9.5 trunk 1.3.0 1.3.1 1.3.2 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 All 61 releases
← All changes | assets/css/admin.css +166 -42 1.10.12.0.0 View file →
@@ -60,9 +60,9 @@
60 60 /* Admin Header */
61 61 .wp-subscription-admin-header {
62 62 background: #fff;
63 63 border-bottom: 1px solid #e2e4e7;
64 - padding: 0 32px;
64 + padding: 0 24px;
65 65 position: sticky;
66 66 top: 32px;
67 67 z-index: 100;
68 68 width: 100%;
@@ -114,8 +114,20 @@
114 114 line-height: 1;
115 115 user-select: none;
116 116 }
117 117
118 +.wp-subscription-breadcrumb-link {
119 + color: #646970;
120 + font-weight: 500;
121 + font-size: 14px;
122 + text-decoration: none;
123 + transition: color 0.2s;
124 +}
125 +
126 +.wp-subscription-breadcrumb-link:hover {
127 + color: #2271b1;
128 +}
129 +
118 130 .wp-subscription-breadcrumb-current {
119 131 color: #1d2327;
120 132 font-weight: 500;
121 133 font-size: 14px;
@@ -121,13 +133,32 @@
121 133 font-size: 14px;
122 134 }
123 135
124 136 .wp-subscription-logo {
125 - height: 30px;
137 + /* Deliberately small. It is a persistent header mark, not the page's
138 + subject — the breadcrumb on the left is what identifies the screen. */
139 + height: 22px;
126 140 width: auto;
127 141 display: block;
128 142 }
129 143
144 +/* The licence badge sits before the logo and must not pick up the underline
145 + that admin anchors get, since the inactive state is a link. */
146 +.wp-subscription-license-badge,
147 +.wp-subscription-license-badge:hover,
148 +.wp-subscription-license-badge:focus {
149 + text-decoration: none;
150 +}
151 +
152 +a.wp-subscription-license-badge:hover {
153 + filter: brightness(0.97);
154 +}
155 +
156 +a.wp-subscription-license-badge:focus {
157 + box-shadow: 0 0 0 3px var(--wpsubs-brand-ring, rgba(255, 77, 0, 0.2));
158 + outline: none;
159 +}
160 +
130 161 .wp-subscription-admin-header-right {
131 162 display: flex;
132 163 align-items: center;
133 164 gap: 12px;
@@ -164,31 +195,8 @@
164 195 height: 16px;
165 196 margin-top: 1px;
166 197 }
167 198
168 -.wp-subscription-upgrade-btn {
169 - background: #2271b1;
170 - color: #fff;
171 - padding: 6px 14px;
172 - border-radius: 4px;
173 - text-decoration: none;
174 - font-weight: 600;
175 - font-size: 13px;
176 - transition:
177 - background 0.2s,
178 - box-shadow 0.2s;
179 - box-shadow: 0 1px 3px rgba(34, 113, 177, 0.08);
180 - border: none;
181 - outline: none;
182 - display: inline-block;
183 -}
184 -
185 -.wp-subscription-upgrade-btn:hover {
186 - background: #135e96;
187 - color: #fff;
188 - box-shadow: 0 3px 12px rgba(34, 113, 177, 0.13);
189 -}
190 -
191 199 /* Admin Content */
192 200
193 201 .wp-subscription-admin-box {
194 202 background: #fff;
@@ -327,14 +335,10 @@
327 335 .wp-subscription-admin-header-right {
328 336 gap: 8px;
329 337 }
330 338 .wp-subscription-logo {
331 - height: 24px;
339 + height: 18px;
332 340 }
333 - .wp-subscription-upgrade-btn {
334 - font-size: 12px;
335 - padding: 5px 10px;
336 - }
337 341 }
338 342
339 343 /* Remove left padding on WPSubscription admin pages only */
340 344 body.toplevel_page_wp-subscription #wpcontent,
@@ -341,8 +345,14 @@
341 345 body[class*="wpsubscription_page_wp-subscription"] #wpcontent {
342 346 padding-left: 0 !important;
343 347 }
344 348
349 +/* Remove onboarding page menu item */
350 +.wp-submenu a[href*="page=wp-subscription-onboarding"],
351 +.wp-submenu a[href*="page=wp-subscription-details"] {
352 + display: none !important;
353 +}
354 +
345 355 /* Table & List Styles */
346 356 .wp-subscription-list-table {
347 357 border: none !important;
348 358 border-radius: 8px;
@@ -484,21 +494,11 @@
484 494
485 495 /* Subscriptions List Page Layout */
486 496 .wp-subscription-admin-content.list-page {
487 497 max-width: 1240px;
488 - margin: 32px auto 0 auto;
489 - background: #fff;
490 - padding: 32px 24px 24px 24px;
491 - border-radius: 12px;
492 -}
493 -
494 -/* Subscription list: toolbar sits on WP admin gray, table card is the white surface */
495 -.wp-subscription-admin-content.list-page.subscrpt-subs-list {
498 + margin: 24px auto 32px auto;
496 499 background: transparent;
497 - padding: 0;
498 - border-radius: 0;
499 - margin-top: 24px;
500 - margin-bottom: 32px;
500 + padding: 0px 24px;
501 501 }
502 502 .wp-subscription-list-header {
503 503 margin-bottom: 28px;
504 504 display: flex;
@@ -692,5 +692,129 @@
692 692 .button-link-delete:hover {
693 693 background: #d63638;
694 694 color: #fff !important;
695 695 text-decoration: none;
696 +}
697 +
698 +/* --------------------------------------------------------------------------
699 + Integrations: sticky filter rail + results
700 +
701 + Three facet groups and a dozen chips do not fit across the top without
702 + pushing the first card off the fold, and a bar up there scrolls away exactly
703 + when a long list needs narrowing. They live in a column instead, which stays
704 + in reach while the results scroll.
705 + -------------------------------------------------------------------------- */
706 +
707 +/*
708 + * The `hidden` attribute is only `display: none` in the UA stylesheet, so any
709 + * class that sets `display` outranks it. `.wpsubs-btn` is `inline-flex`, which
710 + * meant the Reset button stayed on screen with `hidden` set — visible, and
711 + * still clickable. Anything toggled by the filter script needs this.
712 + */
713 +.subscrpt-int-filters [hidden],
714 +.subscrpt-int-card[hidden],
715 +[data-subscrpt-int-section][hidden],
716 +[data-subscrpt-int-empty][hidden],
717 +[data-subscrpt-integration-filters][hidden] {
718 + display: none !important;
719 +}
720 +
721 +.subscrpt-int-layout {
722 + display: grid;
723 + grid-template-columns: 232px minmax(0, 1fr);
724 + gap: 32px;
725 + align-items: start;
726 +}
727 +
728 +.subscrpt-int-results {
729 + min-width: 0;
730 +}
731 +
732 +/* The rail sticks below the page header, which is itself sticky at 32px. */
733 +.subscrpt-int-sidebar {
734 + position: sticky;
735 + top: 104px;
736 + max-height: calc(100vh - 124px);
737 + overflow-y: auto;
738 + overscroll-behavior: contain;
739 +}
740 +
741 +.subscrpt-int-filters {
742 + display: flex;
743 + flex-direction: column;
744 + gap: 14px;
745 +}
746 +
747 +.subscrpt-int-filters__reset {
748 + align-self: stretch;
749 + justify-content: center;
750 + margin: 0 4px;
751 +}
752 +
753 +/* The filter rail is the shared `wpsubs-vnav` component (one nav per facet).
754 + Only the count badge at the end of each row is page-specific. */
755 +.subscrpt-int-chip__count {
756 + font-size: 11px;
757 + font-variant-numeric: tabular-nums;
758 + padding: 0 6px;
759 + border-radius: 9999px;
760 + background: var(--wpsubs-surface-muted, #f3f4f6);
761 + color: var(--wpsubs-text-muted, #6b7280);
762 + flex-shrink: 0;
763 +}
764 +
765 +.wpsubs-vnav__item.is-active .subscrpt-int-chip__count {
766 + background: var(--wpsubs-brand, #ff4d00);
767 + color: #fff;
768 +}
769 +
770 +.subscrpt-int-empty {
771 + margin: 0 0 20px;
772 + padding: 40px 24px;
773 + text-align: center;
774 + font-size: 13px;
775 + color: var(--wpsubs-text-muted, #6b7280);
776 + background: var(--wpsubs-surface, #fff);
777 + border: 1px solid var(--wpsubs-border, #e5e7eb);
778 + border-radius: var(--wpsubs-radius, 8px);
779 +}
780 +
781 +/* Below this the rail would squeeze the card grid to one column, so it goes
782 + back on top and stops sticking.
783 +
784 + Measured against WordPress's own fold point rather than a round number: at
785 + 960px the admin menu collapses to 36px, so the content gains 124px exactly
786 + as the viewport loses room, and the rail plus two card columns still fit.
787 + The previous 1200px threshold fired on an ordinary laptop — a 1196px window
788 + put the filters back on top with 756px of space going spare beside them. */
789 +@media screen and (max-width: 960px) {
790 + .subscrpt-int-layout {
791 + grid-template-columns: minmax(0, 1fr);
792 + }
793 +
794 + .subscrpt-int-sidebar {
795 + position: static;
796 + max-height: none;
797 + overflow: visible;
798 + }
799 +
800 + .subscrpt-int-filters {
801 + flex-direction: row;
802 + flex-wrap: wrap;
803 + align-items: flex-start;
804 + gap: 12px 20px;
805 + }
806 +
807 + /* Each facet's vnav sits as its own column in the wrapped rail. */
808 + .subscrpt-int-filters .wpsubs-vnav {
809 + flex: 1 1 180px;
810 + }
811 +
812 + /* Reset keeps its place under the filters: a full-width last line. */
813 + .subscrpt-int-filters__reset {
814 + flex: 1 1 100%;
815 + }
816 +
817 + [data-subscrpt-int-reset] {
818 + flex: 0 0 100%;
819 + }
696 820 }