diff --git a/packages/admin-ui/src/page/index.tsx b/packages/admin-ui/src/page/index.tsx
index edff245656c662..ed88b645d14e0c 100644
--- a/packages/admin-ui/src/page/index.tsx
+++ b/packages/admin-ui/src/page/index.tsx
@@ -47,7 +47,9 @@ function Page( {
) }
{ hasPadding ? (
- { children }
+
+ { children }
+
) : (
children
diff --git a/packages/admin-ui/src/page/style.scss b/packages/admin-ui/src/page/style.scss
index 91234ec5878692..2841be9b5b1ba1 100644
--- a/packages/admin-ui/src/page/style.scss
+++ b/packages/admin-ui/src/page/style.scss
@@ -15,10 +15,9 @@
.admin-ui-page__header {
padding: $grid-unit-20 $grid-unit-30;
- border-bottom: 1px solid $gray-100;
background: $white;
- position: sticky;
- top: 0;
+ border-bottom: 1px solid $gray-100;
+ z-index: 2;
}
.admin-ui-page__sidebar-toggle-slot:empty {
@@ -38,8 +37,12 @@
display: flex;
flex-direction: column;
+ .admin-ui-page__content-child {
+ margin: $grid-unit-30 0 0;
+ }
+
&.has-padding {
- padding: $grid-unit-20 $grid-unit-30;
+ padding: 0 $grid-unit-30;
}
}
diff --git a/packages/base-styles/_z-index.scss b/packages/base-styles/_z-index.scss
index a94cfbccd0f8da..824b4be33acd51 100644
--- a/packages/base-styles/_z-index.scss
+++ b/packages/base-styles/_z-index.scss
@@ -205,7 +205,7 @@ $z-layers: (
".editor-start-page-options__modal__actions": 1,
// Ensure checkbox + actions don't overlap table header
- ".dataviews-view-table thead": 1,
+ ".dataviews-view-table thead": 2,
// Ensure selection checkbox stays above the preview field.
".dataviews-view-grid__card .dataviews-selection-checkbox": 1,
diff --git a/packages/dataviews/src/components/dataviews-footer/style.scss b/packages/dataviews/src/components/dataviews-footer/style.scss
index 75478854c37119..4e028422ff3732 100644
--- a/packages/dataviews/src/components/dataviews-footer/style.scss
+++ b/packages/dataviews/src/components/dataviews-footer/style.scss
@@ -7,15 +7,27 @@
bottom: 0;
left: 0;
background-color: inherit;
- padding: $grid-unit-15 $grid-unit-30;
border-top: $border-width solid $gray-100;
flex-shrink: 0;
+ padding-top: $grid-unit-15;
+ padding-bottom: $grid-unit-15;
@media not (prefers-reduced-motion) {
transition: padding ease-out 0.1s;
}
z-index: z-index(".dataviews-footer");
+
+ &::after {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: -12px;
+ width: calc(100% + 24px);
+ height: 100%;
+ background-color: inherit;
+ z-index: -1;
+ }
}
@container (max-width: 560px) {
diff --git a/packages/dataviews/src/components/dataviews/style.scss b/packages/dataviews/src/components/dataviews/style.scss
index 6d67d0675a576c..44294dc3805fc9 100644
--- a/packages/dataviews/src/components/dataviews/style.scss
+++ b/packages/dataviews/src/components/dataviews/style.scss
@@ -4,8 +4,6 @@
.dataviews-wrapper,
.dataviews-picker-wrapper {
- height: 100%;
- overflow: auto;
box-sizing: border-box;
scroll-padding-bottom: $grid-unit-80;
/* stylelint-disable-next-line property-no-unknown -- '@container' not globally permitted */
@@ -20,11 +18,11 @@
.dataviews__view-actions,
.dataviews-filters__container {
box-sizing: border-box;
- padding: $grid-unit-20 $grid-unit-30;
flex-shrink: 0;
position: sticky;
left: 0;
background-color: inherit;
+ padding-bottom: $grid-unit-15;
@media not (prefers-reduced-motion) {
transition: padding ease-out 0.1s;
@@ -48,13 +46,6 @@
text-align: center;
}
-@container (max-width: 430px) {
- .dataviews__view-actions,
- .dataviews-filters__container {
- padding: $grid-unit-15 $grid-unit-30;
- }
-}
-
.dataviews-title-field {
font-size: $default-font-size;
font-weight: $font-weight-medium;
@@ -107,6 +98,5 @@
*/
.components-card__body:has(> .dataviews-wrapper),
.components-card__body:has(> .dataviews-picker-wrapper) {
- padding: $grid-unit-10 0 0;
overflow: hidden; // Prevent cells with white backgrounds overflowing the card
}
diff --git a/packages/dataviews/src/dataviews-layouts/activity/style.scss b/packages/dataviews/src/dataviews-layouts/activity/style.scss
index 4a9f1ff26b5dc1..8970d43022f815 100644
--- a/packages/dataviews/src/dataviews-layouts/activity/style.scss
+++ b/packages/dataviews/src/dataviews-layouts/activity/style.scss
@@ -3,7 +3,6 @@
.dataviews-view-activity {
margin: 0 0 auto;
- padding: $grid-unit-10 $grid-unit-30;
.dataviews-view-activity__group-header {
font-size: $font-size-large;
diff --git a/packages/dataviews/src/dataviews-layouts/grid/style.scss b/packages/dataviews/src/dataviews-layouts/grid/style.scss
index 51119be11a1a8e..64caff2d6ca8a6 100644
--- a/packages/dataviews/src/dataviews-layouts/grid/style.scss
+++ b/packages/dataviews/src/dataviews-layouts/grid/style.scss
@@ -5,7 +5,6 @@
@use "../utils/grid-items.scss" as *;
.dataviews-view-grid {
- padding: 0 $grid-unit-30 $grid-unit-30;
display: flex;
flex-direction: column;
gap: $grid-unit-40;
diff --git a/packages/dataviews/src/dataviews-layouts/list/style.scss b/packages/dataviews/src/dataviews-layouts/list/style.scss
index ebab5c67049b36..89a56f1048ab15 100644
--- a/packages/dataviews/src/dataviews-layouts/list/style.scss
+++ b/packages/dataviews/src/dataviews-layouts/list/style.scss
@@ -12,11 +12,12 @@ div.dataviews-view-list {
div[role="article"] {
margin: 0;
border-top: 1px solid $gray-100;
+ position: relative;
.dataviews-view-list__item-wrapper {
position: relative;
- padding: $grid-unit-20 $grid-unit-30;
box-sizing: border-box;
+ padding: $grid-unit-15 0;
}
.dataviews-view-list__item-actions {
@@ -78,6 +79,19 @@ div.dataviews-view-list {
color: var(--wp-admin-theme-color);
background-color: #f8f8f8;
+ &::after {
+ content: "";
+ position: absolute;
+ top: -1px;
+ bottom: -1px;
+ left: -12px;
+ width: calc(100% + 24px);
+ background-color: #f8f8f8;
+ border-radius: $radius-large;
+ border: 1px solid $gray-100;
+ z-index: -1;
+ }
+
.dataviews-view-list__title-field,
.dataviews-view-list__fields {
color: var(--wp-admin-theme-color);
@@ -92,7 +106,6 @@ div.dataviews-view-list {
div[role="article"].is-selected,
div[role="article"].is-selected:focus-within {
.dataviews-view-list__item-wrapper {
- background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
color: $gray-900;
.dataviews-view-list__title-field,
@@ -100,6 +113,18 @@ div.dataviews-view-list {
color: var(--wp-admin-theme-color);
}
}
+
+ &::after {
+ content: "";
+ position: absolute;
+ top: -1px;
+ bottom: -1px;
+ left: -12px;
+ width: calc(100% + 24px);
+ background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
+ border-radius: $radius-large;
+ border: 1px solid rgba(var(--wp-admin-theme-color--rgb), 0.12);
+ }
}
.dataviews-view-list__item {
diff --git a/packages/dataviews/src/dataviews-layouts/table/style.scss b/packages/dataviews/src/dataviews-layouts/table/style.scss
index 00e7ddda560fb9..b17d675be0d714 100644
--- a/packages/dataviews/src/dataviews-layouts/table/style.scss
+++ b/packages/dataviews/src/dataviews-layouts/table/style.scss
@@ -22,6 +22,8 @@
td,
th {
padding: $grid-unit-15;
+ position: relative;
+ z-index: 1;
&.dataviews-view-table__actions-column {
text-align: right;
@@ -30,7 +32,7 @@
&.dataviews-view-table__actions-column--sticky {
position: sticky;
right: 0;
- background-color: inherit;
+ background-color: var(--wp-dataviews-color-background, #fff);
}
&.dataviews-view-table__actions-column--stuck {
@@ -58,24 +60,39 @@
tr {
border-top: 1px solid $gray-100;
background-color: inherit;
+ position: relative;
td:first-child,
th:first-child {
- padding-left: $grid-unit-30;
+ padding-left: 0;
}
td:last-child,
th:last-child {
- padding-right: $grid-unit-30;
+ padding-right: 0;
}
&:last-child {
border-bottom: 0;
}
- &.is-hovered,
- &.is-hovered .dataviews-view-table__actions-column--sticky {
- background-color: #f8f8f8;
+ &.is-hovered {
+ &::after {
+ content: "";
+ position: absolute;
+ top: -0.5px;
+ bottom: -0.5px;
+ left: -12px;
+ width: calc(100% + 24px);
+ background-color: #f8f8f8;
+ z-index: 0;
+ border-radius: $radius-large;
+ border: 1px solid $gray-100;
+ }
+
+ .dataviews-view-table__actions-column--sticky {
+ background-color: #f8f8f8;
+ }
}
.dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {
@@ -90,16 +107,30 @@
}
&.is-selected {
- background-color: color-mix(in srgb, rgb(var(--wp-admin-theme-color--rgb)) 4%, $white);
color: $gray-700;
+ &::after {
+ content: "";
+ position: absolute;
+ top: -0.5px;
+ bottom: -0.5px;
+ left: -12px;
+ width: calc(100% + 24px);
+ background-color: color-mix(in srgb, rgb(var(--wp-admin-theme-color--rgb)) 4%, $white);
+ z-index: 0;
+ border-radius: $radius-large;
+ border: 1px solid rgba(var(--wp-admin-theme-color--rgb), 0.12);
+ }
+
&,
& + tr {
border-top: 1px solid rgba(var(--wp-admin-theme-color--rgb), 0.12);
}
&:hover {
- background-color: color-mix(in srgb, rgb(var(--wp-admin-theme-color--rgb)) 8%, $white);
+ &::after {
+ background-color: color-mix(in srgb, rgb(var(--wp-admin-theme-color--rgb)) 8%, $white);
+ }
}
.dataviews-view-table__actions-column--sticky {
@@ -117,9 +148,23 @@
tr {
// Only apply hover background to non-selected rows
&:not(.is-selected) {
- &.is-hovered,
- &.is-hovered .dataviews-view-table__actions-column--sticky {
- background-color: #f8f8f8;
+ &.is-hovered {
+ &::after {
+ content: "";
+ position: absolute;
+ top: -0.5px;
+ bottom: -0.5px;
+ left: -12px;
+ width: calc(100% + 24px);
+ background-color: #f8f8f8;
+ z-index: 0;
+ border-radius: $radius-large;
+ border: 1px solid $gray-100;
+ }
+
+ .dataviews-view-table__actions-column--sticky {
+ background-color: #f8f8f8;
+ }
}
}
@@ -140,6 +185,17 @@
z-index: z-index(".dataviews-view-table thead");
background-color: inherit;
+ &::after {
+ content: "";
+ position: absolute;
+ top: 0.5px;
+ bottom: 0.5px;
+ left: -12px;
+ width: calc(100% + 24px);
+ background-color: inherit;
+ z-index: 0;
+ }
+
tr {
border: 0;
}
@@ -161,13 +217,11 @@
}
&:has(.dataviews-view-table-header-button):first-child {
- // Table cell padding minus the header button padding.
- padding-left: $grid-unit-50;
+ padding-left: 0;
}
&:has(.dataviews-view-table-header-button):last-child {
- // Table cell padding minus the header button padding.
- padding-right: $grid-unit-50;
+ padding-right: 0;
}
}
}
@@ -305,7 +359,7 @@
.dataviews-view-table__group-header-row {
.dataviews-view-table__group-header-cell {
font-weight: $font-weight-medium;
- padding: $grid-unit-15 $grid-unit-30;
+ padding: $grid-unit-15 0;
color: $gray-900;
}
}
diff --git a/packages/dataviews/src/dataviews-layouts/utils/grid-items.scss b/packages/dataviews/src/dataviews-layouts/utils/grid-items.scss
index c5a2c6956df685..50bb078dc8f820 100644
--- a/packages/dataviews/src/dataviews-layouts/utils/grid-items.scss
+++ b/packages/dataviews/src/dataviews-layouts/utils/grid-items.scss
@@ -6,7 +6,7 @@
gap: $grid-unit-40;
grid-template-rows: max-content;
grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
- padding: 0 $grid-unit-30 $grid-unit-30;
+ padding: 0 0 $grid-unit-30;
container-type: inline-size;
@media not (prefers-reduced-motion) {
diff --git a/packages/dataviews/src/stories/dataviews-picker.story.tsx b/packages/dataviews/src/stories/dataviews-picker.story.tsx
index 46001a139a883c..d86e2961fcffc8 100644
--- a/packages/dataviews/src/stories/dataviews-picker.story.tsx
+++ b/packages/dataviews/src/stories/dataviews-picker.story.tsx
@@ -266,14 +266,6 @@ export const WithModal = ( {
) }
{ isModalOpen && (
<>
-
setIsModalOpen( false ) }
diff --git a/packages/dataviews/src/stories/dataviews.story.tsx b/packages/dataviews/src/stories/dataviews.story.tsx
index 47f82f22ffa854..3ad313414b260b 100644
--- a/packages/dataviews/src/stories/dataviews.story.tsx
+++ b/packages/dataviews/src/stories/dataviews.story.tsx
@@ -603,7 +603,6 @@ export const InfiniteScroll = () => {
{ isModified && (
diff --git a/packages/edit-site/src/components/page-templates/index.js b/packages/edit-site/src/components/page-templates/index.js
index 3217528cb4ca54..d4c61a1d2526d2 100644
--- a/packages/edit-site/src/components/page-templates/index.js
+++ b/packages/edit-site/src/components/page-templates/index.js
@@ -318,6 +318,7 @@ export default function PageTemplates() {
{ isModified && (
diff --git a/packages/edit-site/src/components/post-list/index.js b/packages/edit-site/src/components/post-list/index.js
index ad25b6c22355c4..7fddd38f3be12f 100644
--- a/packages/edit-site/src/components/post-list/index.js
+++ b/packages/edit-site/src/components/post-list/index.js
@@ -251,6 +251,7 @@ export default function PostList( { postType } ) {
return (
{ isModified && (