顶栏、背景和侧边导航
页面标题、面包屑和内容间距 卡片、表格、筛选工具栏、分页 表单、按钮、标签、弹窗和空状态 固定保存操作区 深色模式与移动端
This commit is contained in:
1 parent
e6945ca09a
commit
6e370571cb
6 files changed
+889
-22
No files matched your search
@@ -8,6 +8,8 @@
|
|||||||
import "@patternfly/patternfly/patternfly-addons.css";
|
import "@patternfly/patternfly/patternfly-addons.css";
|
||||||
import "@patternfly/react-core/dist/styles/base.css";
|
import "@patternfly/react-core/dist/styles/base.css";
|
||||||
import "./theme.css";
|
import "./theme.css";
|
||||||
|
import "../console-ui.css";
|
||||||
|
import "./workspace.css";
|
||||||
|
|
||||||
import { useReducer, useEffect } from "react";
|
import { useReducer, useEffect } from "react";
|
||||||
import { startColorSchemeManagement } from "./colorScheme";
|
import { startColorSchemeManagement } from "./colorScheme";
|
||||||
|
|||||||
@@ -1,16 +1,13 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 52" role="img" aria-labelledby="title">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 52" role="img" aria-labelledby="title">
|
||||||
<title id="title">NEXUS ID</title>
|
<title id="title">NEXUS ID</title>
|
||||||
<defs>
|
|
||||||
<linearGradient id="signal" x1="0" x2="1" y1="0" y2="1">
|
|
||||||
<stop offset="0" stop-color="#63e6ff"/>
|
|
||||||
<stop offset="1" stop-color="#8b7cff"/>
|
|
||||||
</linearGradient>
|
|
||||||
</defs>
|
|
||||||
<g transform="translate(8 9)">
|
<g transform="translate(8 9)">
|
||||||
<rect x="5" y="5" width="24" height="24" rx="1" fill="none" stroke="url(#signal)" stroke-width="1.5" transform="rotate(45 17 17)"/>
|
<rect width="34" height="34" rx="10" fill="#356fd6"/>
|
||||||
<circle cx="17" cy="17" r="3.5" fill="#63e6ff"/>
|
<path d="M9 10h16M9 17h11M9 24h16" fill="none" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/>
|
||||||
<circle cx="17" cy="17" r="8.5" fill="none" stroke="#63e6ff" stroke-opacity=".18"/>
|
<circle cx="24.5" cy="17" r="2.2" fill="#f0b92e"/>
|
||||||
</g>
|
</g>
|
||||||
<text x="52" y="32" fill="#f4f7ff" font-family="Bahnschrift,Segoe UI,sans-serif" font-size="20" font-weight="600" letter-spacing="3">NEXUS</text>
|
<text x="54" y="31" fill="#17324d" font-family="Segoe UI Variable,Segoe UI,sans-serif" font-size="19" font-weight="700" letter-spacing="1.2">NEXUS</text>
|
||||||
<text x="151" y="32" fill="#95a2be" font-family="Bahnschrift,Segoe UI,sans-serif" font-size="18" font-weight="400" letter-spacing="2">/ ID</text>
|
<text x="133" y="31" fill="#667a8e" font-family="Segoe UI Variable,Segoe UI,sans-serif" font-size="15" font-weight="600" letter-spacing="1">WORKSPACE</text>
|
||||||
|
<rect x="54" y="38" width="31" height="3" rx="1.5" fill="#279477"/>
|
||||||
|
<rect x="88" y="38" width="31" height="3" rx="1.5" fill="#e9ad38"/>
|
||||||
|
<rect x="122" y="38" width="31" height="3" rx="1.5" fill="#e86452"/>
|
||||||
</svg>
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 948 B After Width: | Height: | Size: 929 B |
@@ -0,0 +1,301 @@
|
|||||||
|
/* Account-specific composition on top of the shared console language. */
|
||||||
|
|
||||||
|
.nexus-nav-context {
|
||||||
|
gap: 0.25rem;
|
||||||
|
margin: 0 0.35rem 1.25rem;
|
||||||
|
padding: 0.15rem 0.45rem 1.15rem;
|
||||||
|
border-bottom: 1px solid var(--console-line);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-nav-context__eyebrow {
|
||||||
|
color: var(--console-primary-deep);
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: 0.65rem;
|
||||||
|
font-weight: 750;
|
||||||
|
letter-spacing: 0.11em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-nav-context strong {
|
||||||
|
color: var(--console-ink);
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: 1.05rem;
|
||||||
|
font-weight: 720;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-nav-context__rule {
|
||||||
|
width: 4.25rem;
|
||||||
|
height: 3px;
|
||||||
|
margin-top: 0.45rem;
|
||||||
|
background: linear-gradient(
|
||||||
|
90deg,
|
||||||
|
var(--console-teal) 0 34%,
|
||||||
|
var(--console-amber) 34% 67%,
|
||||||
|
var(--console-coral) 67%
|
||||||
|
);
|
||||||
|
opacity: 1;
|
||||||
|
mask-image: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-nav-label__icon {
|
||||||
|
color: var(--console-faint);
|
||||||
|
}
|
||||||
|
|
||||||
|
.pf-v5-c-nav__link:hover .nexus-nav-label__icon,
|
||||||
|
.pf-v5-c-nav__link:focus .nexus-nav-label__icon,
|
||||||
|
.pf-v5-c-nav__link.pf-m-current .nexus-nav-label__icon {
|
||||||
|
color: var(--console-primary);
|
||||||
|
transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pf-v5-c-page__main-section:first-child {
|
||||||
|
padding-top: clamp(2rem, 4vw, 3.5rem);
|
||||||
|
padding-bottom: clamp(1.5rem, 2.5vw, 2.25rem);
|
||||||
|
border-bottom: 0;
|
||||||
|
background: transparent;
|
||||||
|
backdrop-filter: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pf-v5-c-page__main-section:first-child::after {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-page-intro {
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-page-intro__kicker {
|
||||||
|
margin-bottom: 0.65rem;
|
||||||
|
color: var(--console-primary-deep);
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: 0.7rem;
|
||||||
|
font-weight: 750;
|
||||||
|
letter-spacing: 0.11em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-page-intro__mark {
|
||||||
|
grid-template-columns: auto 3.5rem auto;
|
||||||
|
gap: 0.65rem;
|
||||||
|
padding: 0.65rem 0.85rem;
|
||||||
|
border: 1px solid var(--console-line);
|
||||||
|
border-radius: 999px;
|
||||||
|
color: var(--console-muted);
|
||||||
|
background: color-mix(in srgb, var(--console-surface) 76%, transparent);
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: 0.62rem;
|
||||||
|
font-weight: 700;
|
||||||
|
box-shadow: 0 8px 22px rgba(23, 50, 77, 0.055);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-page-intro__mark > span:first-child {
|
||||||
|
color: var(--console-primary-deep);
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: 0.72rem;
|
||||||
|
font-weight: 800;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-page-intro__mark i {
|
||||||
|
background: linear-gradient(90deg, var(--console-teal), var(--console-primary));
|
||||||
|
}
|
||||||
|
|
||||||
|
.pf-v5-c-page__main-section + .pf-v5-c-page__main-section {
|
||||||
|
padding-top: 0;
|
||||||
|
padding-bottom: 5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-profile-layout {
|
||||||
|
grid-template-columns: minmax(245px, 0.58fr) minmax(0, 1.65fr);
|
||||||
|
gap: clamp(1.25rem, 2.6vw, 2.5rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-identity-card {
|
||||||
|
min-height: 0;
|
||||||
|
padding: 1.45rem;
|
||||||
|
border: 1px solid var(--console-line);
|
||||||
|
border-radius: var(--console-radius);
|
||||||
|
color: var(--console-ink);
|
||||||
|
background: linear-gradient(
|
||||||
|
145deg,
|
||||||
|
var(--console-surface),
|
||||||
|
var(--console-surface-soft)
|
||||||
|
);
|
||||||
|
box-shadow: var(--console-shadow);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-identity-card::before {
|
||||||
|
position: absolute;
|
||||||
|
inset: 0 0 auto;
|
||||||
|
width: auto;
|
||||||
|
height: 4px;
|
||||||
|
background: linear-gradient(
|
||||||
|
90deg,
|
||||||
|
var(--console-teal) 0 34%,
|
||||||
|
var(--console-amber) 34% 67%,
|
||||||
|
var(--console-coral) 67%
|
||||||
|
);
|
||||||
|
content: "";
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-identity-card::after {
|
||||||
|
right: -4.5rem;
|
||||||
|
bottom: -5.5rem;
|
||||||
|
border-color: color-mix(in srgb, var(--console-primary) 10%, transparent);
|
||||||
|
box-shadow:
|
||||||
|
0 0 0 2.8rem color-mix(in srgb, var(--console-primary) 3%, transparent),
|
||||||
|
0 0 0 5.6rem color-mix(in srgb, var(--console-teal) 2%, transparent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-identity-card__topline,
|
||||||
|
.nexus-identity-card__name > span,
|
||||||
|
.nexus-identity-card__facts dt,
|
||||||
|
.nexus-identity-card__footer {
|
||||||
|
color: var(--console-muted);
|
||||||
|
font-family: inherit;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-identity-card__topline i {
|
||||||
|
border-color: var(--console-primary);
|
||||||
|
border-radius: 50%;
|
||||||
|
background: var(--console-primary);
|
||||||
|
box-shadow: 0 0 0 4px color-mix(in srgb, var(--console-primary) 12%, transparent);
|
||||||
|
transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-identity-card__avatar {
|
||||||
|
width: 5rem;
|
||||||
|
height: 5rem;
|
||||||
|
margin: 1.8rem 0 1.35rem;
|
||||||
|
border: 0;
|
||||||
|
border-radius: 18px;
|
||||||
|
color: #ffffff;
|
||||||
|
background: linear-gradient(145deg, var(--console-primary), var(--console-teal));
|
||||||
|
box-shadow: 0 10px 24px color-mix(in srgb, var(--console-primary) 22%, transparent);
|
||||||
|
transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-identity-card__avatar span {
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: 1.35rem;
|
||||||
|
font-weight: 760;
|
||||||
|
transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-identity-card__name h2,
|
||||||
|
.nexus-identity-card__facts dd {
|
||||||
|
color: var(--console-ink);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-identity-card__name h2 {
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: 1.55rem;
|
||||||
|
letter-spacing: -0.03em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-identity-card__name p {
|
||||||
|
color: var(--console-muted);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-identity-card__facts > div {
|
||||||
|
border-top-color: var(--console-line);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-profile-editor {
|
||||||
|
overflow: hidden;
|
||||||
|
border: 1px solid var(--console-line);
|
||||||
|
border-radius: var(--console-radius);
|
||||||
|
background: var(--console-surface);
|
||||||
|
box-shadow: var(--console-shadow);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-profile-editor__header {
|
||||||
|
padding: 1.55rem clamp(1.25rem, 2.5vw, 2rem);
|
||||||
|
border-bottom: 1px solid var(--console-line);
|
||||||
|
background: linear-gradient(
|
||||||
|
180deg,
|
||||||
|
var(--console-surface),
|
||||||
|
var(--console-surface-soft)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-profile-editor__header > span {
|
||||||
|
color: var(--console-primary-deep);
|
||||||
|
font-family: inherit;
|
||||||
|
font-weight: 750;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-profile-editor__header h2 {
|
||||||
|
color: var(--console-ink);
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: 1.28rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-profile-editor__header p {
|
||||||
|
color: var(--console-muted);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-profile-editor > .pf-v5-c-form {
|
||||||
|
padding: clamp(1.35rem, 3vw, 2.2rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-profile-editor .pf-v5-c-form__group {
|
||||||
|
padding-block: 0.45rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
html[data-kc-theme-name="class"] .nexus-identity-card,
|
||||||
|
html[data-kc-theme-name="class"] .nexus-profile-editor,
|
||||||
|
html[data-kc-theme-name="class"] .pf-v5-c-card {
|
||||||
|
border-radius: var(--console-radius);
|
||||||
|
}
|
||||||
|
|
||||||
|
html[data-kc-theme-name="class"] .nexus-identity-card {
|
||||||
|
border-color: var(--console-line);
|
||||||
|
color: var(--console-ink);
|
||||||
|
background: linear-gradient(
|
||||||
|
145deg,
|
||||||
|
var(--console-surface),
|
||||||
|
var(--console-surface-soft)
|
||||||
|
);
|
||||||
|
box-shadow: var(--console-shadow);
|
||||||
|
}
|
||||||
|
|
||||||
|
html[data-kc-theme-name="class"] .nexus-identity-card::after {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
html[data-kc-theme-name="class"] .nexus-identity-card__topline,
|
||||||
|
html[data-kc-theme-name="class"] .nexus-identity-card__name p,
|
||||||
|
html[data-kc-theme-name="class"] .nexus-identity-card__facts dt,
|
||||||
|
html[data-kc-theme-name="class"] .nexus-identity-card__footer {
|
||||||
|
color: var(--console-muted);
|
||||||
|
}
|
||||||
|
|
||||||
|
html[data-kc-theme-name="class"] .nexus-identity-card__facts dd {
|
||||||
|
color: var(--console-ink);
|
||||||
|
}
|
||||||
|
|
||||||
|
html[data-kc-theme-name="class"] .nexus-identity-card__avatar {
|
||||||
|
border: 0;
|
||||||
|
border-radius: 18px;
|
||||||
|
color: #ffffff;
|
||||||
|
background: linear-gradient(145deg, var(--console-primary), var(--console-teal));
|
||||||
|
box-shadow: 0 10px 24px color-mix(in srgb, var(--console-primary) 22%, transparent);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.nexus-page-intro__mark {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-profile-layout {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-identity-card {
|
||||||
|
position: relative;
|
||||||
|
top: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nexus-profile-editor__header {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loaded 3 of 6 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user