@@ -469,7 +528,10 @@ export const IssueProperties = observer(function IssueProperties(props: IIssuePr
renderByDefault={false}
>
@@ -484,16 +546,22 @@ export const IssueProperties = observer(function IssueProperties(props: IIssuePr
{/* label */}
-
+
+
+
);
diff --git a/plane-src/apps/web/styles/globals.css b/plane-src/apps/web/styles/globals.css
index 5c1b4a3..e13ffcb 100644
--- a/plane-src/apps/web/styles/globals.css
+++ b/plane-src/apps/web/styles/globals.css
@@ -49,6 +49,13 @@
--nodedc-bottom-dock-height: 2.75rem;
--nodedc-bottom-dock-offset: 2.75rem;
--nodedc-bottom-dock-visual-overlap: 0.625rem;
+ --nodedc-expanded-footer-height: 4.95rem;
+ --nodedc-active-footer-offset: var(--nodedc-bottom-dock-offset, var(--nodedc-bottom-dock-height, 2.75rem));
+ --nodedc-list-property-chip-height: 2.12rem;
+ --nodedc-list-property-avatar-size: 1.9rem;
+ --nodedc-list-property-icon-size: var(--nodedc-list-property-chip-height);
+ --nodedc-list-properties-panel-width: 64rem;
+ --nodedc-list-quick-actions-width: 3.15rem;
--nodedc-quick-add-reserve: 2.5rem;
--brand-default: rgb(var(--nodedc-accent-rgb));
--brand-300: color-mix(in srgb, rgb(var(--nodedc-accent-rgb)) 65%, white);
@@ -425,6 +432,30 @@
padding-bottom: calc(var(--nodedc-quick-add-reserve, 2.5rem) + 0.5rem);
}
+ body:has(.nodedc-expanded-toolbar):not(:has(.nodedc-home-top-toolbar)) {
+ --nodedc-active-footer-offset: var(--nodedc-expanded-footer-height);
+ }
+
+ body:has(.nodedc-expanded-toolbar):not(:has(.nodedc-home-top-toolbar))::after {
+ position: fixed;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 40;
+ height: var(--nodedc-expanded-footer-height);
+ background: var(--bg-surface-1);
+ border-top: 0;
+ box-shadow: none;
+ -webkit-backdrop-filter: none;
+ backdrop-filter: none;
+ content: "";
+ pointer-events: none;
+ }
+
+ main:has(.nodedc-expanded-toolbar) .nodedc-bottom-dock-aware-padding {
+ padding-bottom: calc(var(--nodedc-expanded-footer-height) + var(--nodedc-quick-add-reserve, 2.5rem));
+ }
+
.nodedc-bottom-dock-sticky-offset {
bottom: max(
calc(
@@ -435,6 +466,24 @@
);
}
+ .nodedc-list-quick-add-sticky {
+ bottom: var(--nodedc-active-footer-offset);
+ }
+
+ .nodedc-app-header-compact {
+ isolation: isolate;
+ }
+
+ .nodedc-app-header-compact[data-nodedc-footer-scrim="true"]::before {
+ display: none;
+ content: none;
+ }
+
+ .nodedc-app-header-compact > * {
+ position: relative;
+ z-index: 1;
+ }
+
.nodedc-bottom-dock [class~="bg-surface-1"] {
background: transparent !important;
}
@@ -446,6 +495,376 @@
border-color: transparent !important;
}
+ .nodedc-list-work-item-row {
+ border-color: rgba(255, 255, 255, 0.055) !important;
+ padding-inline: 1.45rem 1.7rem !important;
+ padding-block: 0.28rem !important;
+ }
+
+ .nodedc-list-work-item-main,
+ .nodedc-list-work-item-side {
+ min-width: 0;
+ }
+
+ .nodedc-list-work-item-title {
+ line-height: 1.45;
+ }
+
+ .nodedc-list-properties-resize-handle {
+ display: none;
+ }
+
+ .nodedc-list-work-item-properties {
+ display: grid !important;
+ grid-template-columns:
+ 7.9rem
+ var(--nodedc-list-property-icon-size)
+ var(--nodedc-list-property-icon-size)
+ 9rem
+ 4rem
+ minmax(17rem, max-content)
+ 5.2rem
+ 5.2rem
+ var(--nodedc-list-property-icon-size)
+ var(--nodedc-list-property-icon-size)
+ var(--nodedc-list-property-icon-size)
+ var(--nodedc-list-property-icon-size);
+ grid-auto-flow: row;
+ justify-content: start;
+ align-items: center;
+ column-gap: 0.28rem !important;
+ row-gap: 0.35rem !important;
+ width: var(--nodedc-list-properties-panel-width);
+ max-width: var(--nodedc-list-properties-panel-width);
+ justify-self: end;
+ min-width: 0;
+ }
+
+ .nodedc-list-property-slot {
+ display: inline-flex;
+ height: var(--nodedc-list-property-chip-height) !important;
+ width: 100%;
+ min-width: 0;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .nodedc-list-property-state {
+ grid-column: 1;
+ }
+
+ .nodedc-list-property-priority {
+ grid-column: 2;
+ }
+
+ .nodedc-list-property-start-date {
+ grid-column: 3;
+ }
+
+ .nodedc-list-property-due-date {
+ grid-column: 4;
+ }
+
+ .nodedc-list-property-date-range {
+ grid-column: 3 / 5;
+ width: max-content;
+ justify-self: center;
+ }
+
+ .nodedc-list-property-assignee {
+ grid-column: 5;
+ justify-content: center;
+ }
+
+ .nodedc-list-property-labels {
+ grid-column: 6;
+ width: max-content;
+ gap: 0.35rem;
+ overflow: visible;
+ justify-content: flex-start;
+ justify-self: start;
+ }
+
+ .nodedc-list-property-labels > * {
+ flex: 0 0 auto;
+ min-width: max-content;
+ max-width: none;
+ }
+
+ .nodedc-list-property-labels [class~="line-clamp-1"][class~="truncate"] {
+ max-width: none !important;
+ overflow: visible !important;
+ text-overflow: clip !important;
+ white-space: nowrap !important;
+ }
+
+ .nodedc-list-property-module {
+ grid-column: 7;
+ }
+
+ .nodedc-list-property-cycle {
+ grid-column: 8;
+ }
+
+ .nodedc-list-property-estimate {
+ grid-column: 9;
+ }
+
+ .nodedc-list-property-icon-only {
+ width: var(--nodedc-list-property-icon-size);
+ min-width: var(--nodedc-list-property-icon-size);
+ justify-content: center;
+ justify-self: center;
+ }
+
+ .nodedc-list-property-valued-date {
+ width: max-content;
+ min-width: var(--nodedc-list-property-icon-size);
+ justify-content: center;
+ justify-self: center;
+ }
+
+ .nodedc-list-property-start-date.nodedc-list-property-valued-date {
+ grid-column: 3 / 5;
+ }
+
+ .nodedc-list-property-sub-issues {
+ grid-column: 10;
+ justify-content: center;
+ min-width: var(--nodedc-list-property-icon-size);
+ width: max-content;
+ }
+
+ .nodedc-list-property-attachments {
+ grid-column: 11;
+ justify-content: center;
+ min-width: var(--nodedc-list-property-icon-size);
+ width: max-content;
+ }
+
+ .nodedc-list-property-links {
+ grid-column: 12;
+ justify-content: center;
+ min-width: var(--nodedc-list-property-icon-size);
+ width: max-content;
+ }
+
+ .nodedc-list-work-item-properties button,
+ .nodedc-list-work-item-properties [role="button"],
+ .nodedc-list-work-item-properties .nodedc-list-property-slot,
+ .nodedc-list-work-item-properties [class~="border-strong"],
+ .nodedc-list-work-item-properties [class~="border-[0.5px]"] {
+ border-width: 0 !important;
+ border-color: transparent !important;
+ outline: none !important;
+ box-shadow: none !important;
+ }
+
+ .nodedc-list-property-slot > button,
+ .nodedc-list-property-slot > div,
+ .nodedc-list-property-slot [role="button"] {
+ min-height: var(--nodedc-list-property-chip-height) !important;
+ min-width: var(--nodedc-list-property-icon-size) !important;
+ border-radius: 999px !important;
+ }
+
+ .nodedc-list-property-icon-only button,
+ .nodedc-list-property-icon-only > div,
+ .nodedc-list-property-icon-only [role="button"],
+ .nodedc-list-icon-control {
+ width: var(--nodedc-list-property-icon-size) !important;
+ min-width: var(--nodedc-list-property-icon-size) !important;
+ height: var(--nodedc-list-property-icon-size) !important;
+ min-height: var(--nodedc-list-property-icon-size) !important;
+ display: flex !important;
+ align-items: center !important;
+ justify-content: center !important;
+ border-radius: 999px !important;
+ padding-inline: 0 !important;
+ }
+
+ .nodedc-list-property-icon-only > div > button,
+ .nodedc-list-property-icon-only > div > [role="button"],
+ .nodedc-list-icon-control > button,
+ .nodedc-list-icon-control > div,
+ .nodedc-list-icon-control > [role="button"] {
+ width: var(--nodedc-list-property-icon-size) !important;
+ min-width: var(--nodedc-list-property-icon-size) !important;
+ height: var(--nodedc-list-property-icon-size) !important;
+ min-height: var(--nodedc-list-property-icon-size) !important;
+ display: flex !important;
+ align-items: center !important;
+ justify-content: center !important;
+ border-radius: 999px !important;
+ padding-inline: 0 !important;
+ }
+
+ .nodedc-list-property-priority svg {
+ transform: none !important;
+ }
+
+ .nodedc-list-valued-date-control {
+ min-width: var(--nodedc-list-property-icon-size) !important;
+ }
+
+ .nodedc-list-work-item-properties [class~="border-strong"],
+ .nodedc-list-work-item-properties [class~="border-[0.5px]"],
+ .nodedc-list-work-item-properties [class~="bg-layer-3"],
+ .nodedc-list-work-item-properties [class~="bg-layer-transparent-active"] {
+ border-radius: 999px !important;
+ background: rgba(255, 255, 255, 0.07) !important;
+ }
+
+ .nodedc-list-work-item-properties button:hover [class~="border-strong"],
+ .nodedc-list-work-item-properties button:hover [class~="border-[0.5px]"],
+ .nodedc-list-work-item-properties button:hover [class~="bg-layer-3"] {
+ background: rgba(255, 255, 255, 0.1) !important;
+ }
+
+ .nodedc-list-work-item-properties .nodedc-list-property-slot [class~="h-5"][class~="w-5"],
+ .nodedc-list-work-item-properties .nodedc-list-property-slot [class~="h-4"][class~="w-4"] {
+ width: var(--nodedc-list-property-avatar-size) !important;
+ height: var(--nodedc-list-property-avatar-size) !important;
+ }
+
+ .nodedc-list-work-item-properties .nodedc-list-property-slot [class~="border-subtle-1"] {
+ border-width: 0 !important;
+ }
+
+ .nodedc-list-work-item-properties svg[class~="h-3"][class~="w-3"] {
+ width: 1rem !important;
+ height: 1rem !important;
+ }
+
+ .nodedc-list-work-item-properties svg[class~="h-3.5"][class~="w-3.5"] {
+ width: 1.05rem !important;
+ height: 1.05rem !important;
+ }
+
+ .nodedc-list-work-item-properties button:focus,
+ .nodedc-list-work-item-properties button:focus-visible,
+ .nodedc-list-work-item-properties [role="button"]:focus,
+ .nodedc-list-work-item-properties [role="button"]:focus-visible {
+ outline: none !important;
+ box-shadow:
+ inset 0 0 0 1px rgba(var(--nodedc-accent-rgb), 0.22),
+ inset 0 1px 0 rgba(255, 255, 255, 0.025) !important;
+ }
+
+ @media (min-width: 1024px) {
+ .nodedc-list-work-item-row {
+ display: grid !important;
+ grid-template-columns:
+ minmax(18rem, 1fr)
+ minmax(
+ calc(var(--nodedc-list-properties-panel-width) + var(--nodedc-list-quick-actions-width)),
+ calc(var(--nodedc-list-properties-panel-width) + var(--nodedc-list-quick-actions-width))
+ );
+ align-items: center;
+ column-gap: 1.5rem !important;
+ }
+
+ .nodedc-list-properties-resize-handle {
+ position: absolute;
+ top: 0.35rem;
+ bottom: 0.35rem;
+ right: calc(var(--nodedc-list-properties-panel-width) + var(--nodedc-list-quick-actions-width) + 2.45rem);
+ z-index: 5;
+ display: block;
+ width: 0.95rem;
+ cursor: col-resize;
+ touch-action: none;
+ }
+
+ .nodedc-list-properties-resize-handle::before {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 50%;
+ width: 3px;
+ border-radius: 999px;
+ background: rgba(0, 0, 0, 0.38);
+ box-shadow: none;
+ content: "";
+ transform: translateX(-50%);
+ transition:
+ background-color 120ms ease,
+ box-shadow 120ms ease;
+ }
+
+ .nodedc-list-work-item-row:hover .nodedc-list-properties-resize-handle::before,
+ .nodedc-list-properties-resize-handle:hover::before {
+ background: rgba(0, 0, 0, 0.55);
+ box-shadow: none;
+ }
+
+ .nodedc-list-work-item-main {
+ width: auto !important;
+ }
+
+ .nodedc-list-work-item-side {
+ display: grid !important;
+ grid-template-columns: minmax(0, var(--nodedc-list-properties-panel-width)) max-content;
+ justify-self: stretch;
+ width: 100%;
+ }
+ }
+
+ @media (max-width: 1280px) {
+ .nodedc-list-work-item-row {
+ grid-template-columns:
+ minmax(16rem, 1fr)
+ minmax(
+ calc(var(--nodedc-list-properties-panel-width) + var(--nodedc-list-quick-actions-width)),
+ calc(var(--nodedc-list-properties-panel-width) + var(--nodedc-list-quick-actions-width))
+ );
+ }
+
+ .nodedc-list-work-item-properties {
+ grid-template-columns:
+ 7.2rem
+ var(--nodedc-list-property-icon-size)
+ var(--nodedc-list-property-icon-size)
+ 8.1rem
+ 3.6rem
+ minmax(13rem, max-content)
+ 4.6rem
+ 4.6rem
+ var(--nodedc-list-property-icon-size)
+ var(--nodedc-list-property-icon-size)
+ var(--nodedc-list-property-icon-size)
+ var(--nodedc-list-property-icon-size);
+ column-gap: 0.22rem !important;
+ }
+ }
+
+ @media (max-width: 1023px) {
+ .nodedc-list-work-item-properties {
+ display: flex !important;
+ min-width: 0;
+ width: auto;
+ max-width: 100%;
+ justify-content: flex-start;
+ }
+
+ .nodedc-list-property-state,
+ .nodedc-list-property-priority,
+ .nodedc-list-property-start-date,
+ .nodedc-list-property-due-date,
+ .nodedc-list-property-date-range,
+ .nodedc-list-property-assignee,
+ .nodedc-list-property-module,
+ .nodedc-list-property-cycle,
+ .nodedc-list-property-labels,
+ .nodedc-list-property-estimate,
+ .nodedc-list-property-sub-issues,
+ .nodedc-list-property-attachments,
+ .nodedc-list-property-links {
+ grid-column: auto;
+ width: auto;
+ }
+ }
+
.nodedc-bottom-dock-left {
max-width: min(22rem, 26vw) !important;
flex-grow: 0 !important;
@@ -788,6 +1207,11 @@
gap: 0;
}
+ .nodedc-expanded-toolbar-shell {
+ position: relative;
+ z-index: 80;
+ }
+
.nodedc-expanded-toolbar-top {
display: grid;
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
@@ -872,7 +1296,7 @@
.nodedc-expanded-main-tool-cluster,
.nodedc-expanded-action-tool-cluster {
position: fixed;
- z-index: 80;
+ z-index: 120;
display: inline-flex;
min-height: 3rem;
align-items: center;
@@ -1000,7 +1424,7 @@
min-width: 0;
justify-content: flex-start;
position: fixed;
- z-index: 80;
+ z-index: 120;
left: 1.85rem;
bottom: 1.1rem;
pointer-events: auto;