@innovaccer/design-system
Version:
React components library project for Innovaccer Design System
162 lines (134 loc) • 3.44 kB
CSS
.PageHeader {
width: 100%;
}
.PageHeader-wrapper {
padding: var(--spacing-20) var(--spacing-40) var(--spacing-20) 0;
}
.PageHeader-wrapper--withTabs {
padding-bottom: 0;
}
.PageHeader-wrapper--withTabs .TabsWrapper-header {
border-bottom: none;
}
.PageHeader-bottom--withTabs {
margin-top: var(--spacing-30);
}
.PageHeader .Row {
width: 100%;
}
.PageHeader-titleWrapper {
display: flex;
justify-content: flex-start;
align-items: center;
padding-right: var(--spacing-20);
}
.PageHeader-titleWrapper .Badge {
margin-left: var(--spacing-30);
flex-shrink: 0;
}
.PageHeader-statusWrapper {
display: flex;
justify-content: flex-start;
align-items: center;
}
.PageHeader-statusWrapper .StatusHint {
margin-right: var(--spacing-20);
}
.PageHeader-navigationWrapper {
margin-top: var(--spacing-30);
}
.PageHeader-navigationWrapper--noMargin {
margin-top: 0;
}
.PageHeader-title {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.PageHeader-actionsWrapper {
display: flex;
justify-content: flex-end;
padding-left: var(--spacing-20);
}
/* =====================================================
Responsive main header row
===================================================== */
/* Base: flex layout — used by all variants */
.PageHeader-row {
display: flex;
flex-wrap: wrap;
align-items: start;
width: 100%;
}
.PageHeader-group--title {
flex: 1 1 auto;
min-width: 0;
order: 1;
}
/* Center-nav group — navigation/stepper in center position */
.PageHeader-group--center {
flex: 0 0 auto;
display: flex;
justify-content: center;
align-items: center;
padding: 0 var(--spacing-20);
min-width: 0;
order: 2;
}
/* Actions / right-side group */
.PageHeader-group--actions {
flex: 0 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
align-items: center;
padding-left: var(--spacing-20);
row-gap: var(--spacing-30);
order: 3;
}
/* Default (full): CSS Grid for true 3-col centering */
.PageHeader-row--withCenter {
display: grid;
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
align-items: start;
}
/* Ghost: center nav stays in the grid for measurement but is invisible and out of flow.
Used when collision detection moves the nav to PageHeader-bottom. */
.PageHeader-group--center--ghost {
position: absolute;
visibility: hidden;
pointer-events: none;
}
/* All stacked: flex marker on the row + full-width children */
.PageHeader-row--allStacked {
display: flex;
flex-wrap: wrap;
}
.PageHeader-group--title--stacked {
flex: 0 0 100%;
order: 1;
}
.PageHeader-group--actions--stacked {
flex: 0 0 100%;
order: 2;
padding-left: 0;
padding-top: var(--spacing-10);
justify-content: flex-start;
}
/* =====================================================
Level 1: inter-section spacing when right group wraps
===================================================== */
/* At < 576 px, the actions group sits between title and nav/stepper/tabs.
For level 1 headers that have actions, increase the gap to 12 px so all
three sections (title, actions, nav) have consistent breathing room. */
@media (max-width: 575px) {
.PageHeader-group--actions--level1Responsive {
padding-top: var(--spacing-30);
}
.PageHeader-bottom--level1Responsive {
margin-top: var(--spacing-30);
}
.PageHeader-navigationWrapper--noMarginSm {
margin-top: 0;
}
}