Bỏ qua tới nội dung

Nền tảng

Màu

Đã đặc tả

Ba tầng, sáu mươi ba vai trò semantic mỗi theme. Interaction Blue sở hữu hành động; màu thương hiệu sở hữu nhận diện. Control dùng border.control, vật trang trí dùng border.subtle.

Cấu trúc

Ba tầng, và vì sao tầng dưới là riêng tư

TầngVí dụ tênAi bindĐổi theo theme
Foundation ramp--nf-foundation-color-neutral-*, -jade-*, -cobalt-*, -coral-*, -utility-*không ai trong giao diện sản phẩmkhông
Semantic--nf-semantic-surface-*, -text-*, -border-*, -action-*, -focus-*, -brand-*, -status-*màn hình, layout, trang tài liệucó
Component alias--nf-component-button-*, -field-*, -card-*, -overlay-*, -channelMark-*primitive trong @nexobox/uicó, qua semantic

Ramp là riêng tư vì một ramp là một thang, không phải một ý định. Nhóm utility không đánh bậc là một bất thường có hệ quả thật: không có ramp đánh số cho trạng thái, chỉ có các thành viên phẳng utility.<kind>{Light,Dark}{Bg,Fg,Border}.

Token

Sáu mươi ba vai trò semantic

Mỗi chip đọc màu thật của nó lúc chạy qua getComputedStyle, theo theme đang mở trên trang này.

surface — 6

canvas

Unknown

base

Unknown

raised

Unknown

subtle

Unknown

hover

Unknown

pressed

Unknown

text — 4

primary

Unknown

secondary

Unknown

muted

Unknown

link

Unknown

border — 4

subtle

Unknown

control

Unknown

strong

Unknown

divider

Unknown

action — 14

primary-background

Unknown

primary-border

Unknown

primary-foreground

Unknown

primary-hover

Unknown

primary-pressed

Unknown

danger-background

Unknown

danger-border

Unknown

danger-foreground

Unknown

danger-hover

Unknown

danger-pressed

Unknown

selected-background

Unknown

selected-foreground

Unknown

disabled-background

Unknown

disabled-foreground

Unknown

focus — 1

ring

Unknown

brand — 9

accent

Unknown

onAccent

Unknown

soft

Unknown

onSoft

Unknown

softBorder

Unknown

palette.1

Unknown

palette.2

Unknown

palette.3

Unknown

palette.4

Unknown

status — 25

danger.background

Unknown

danger.border

Unknown

danger.border-subtle

Unknown

danger.foreground

Unknown

danger.icon

Unknown

information.background

Unknown

information.border

Unknown

information.border-subtle

Unknown

information.foreground

Unknown

information.icon

Unknown

neutral.background

Unknown

neutral.border

Unknown

neutral.border-subtle

Unknown

neutral.foreground

Unknown

neutral.icon

Unknown

success.background

Unknown

success.border

Unknown

success.border-subtle

Unknown

success.foreground

Unknown

success.icon

Unknown

warning.background

Unknown

warning.border

Unknown

warning.border-subtle

Unknown

warning.foreground

Unknown

warning.icon

Unknown

Tương tác

Interaction Blue — một ngôn ngữ hành động

semantic.brand.* giữ màu riêng của từng sản phẩm. semantic.action.primary.*, action.selected.*, text.link và focus.ring dùng cùng ramp cobalt trên cả năm sản phẩm. Light dùng cobalt 600 với chữ trắng; dark dùng cobalt 300 với chữ cobalt 950.

Thông tin

Cobalt có nghĩa “tương tác”; màu thương hiệu có nghĩa “nhận diện”. Secondary, Outline và Ghost vẫn trung tính khi nghỉ. Danger, status, disabled, Nexi và channel mark không đổi.

Luật viền

Luật viền — control so với trang trí

Một phần tử là control — người dùng nhấn, gõ, chọn được — thì viền của nó dùng border.control. Một phần tử là trang trí — thẻ, chip, đường phân cách — thì dùng border.subtle. WCAG 2.2 SC 1.4.11 đòi 3:1 khi viền là ranh giới duy nhất của một thành phần giao diện.

Ví dụ dạy luật: viền nút secondary trên nền của chính nó. Ngày 2026-09-23 cặp này đổi từ border.subtle sang border.control và bây giờ đạt.

Viền nút secondary / nền nút secondary

Unknown
Unknown

Theme

Theme sản phẩm

Selector là thuần attribute: [data-nexo-product][data-nexo-mode], không gắn html. Một scope theme lồng nhau hoạt động trên bất kỳ phần tử, nhưng selector đòi cả hai attribute cùng lúc — một phần tử chỉ đặt data-nexo-mode không khớp gì cả và im lặng dùng theme của tổ tiên. Theme không phải tenant: ?product= và ?mode= trên trang tài liệu là điều khiển specimen.

Khoảng trống

Nhóm inverse — một khoảng trống đang mở

Cảnh báo

semantic.inverse được khai trong nexocrew-light, nexocrm-light và nexocrm-dark. Bảy theme còn lại kế thừa màu của NexoCrew từ khối :rootthay vì có màu nghịch đảo của riêng mình — panel kể chuyện của auth shell mang xanh jade của NexoCrew trên mọi sản phẩm. Đây là W7.7, trạng thái blocked: trên nền tối, "nghịch đảo" có thể là một panel sáng, và đó là một quyết định thiết kế, không phải một phép tính.

Quy tắc

Do / Don't

DoDon'tVì sao
Bind --nf-semantic-* và --nf-component-*Bind --nf-foundation-color-* trong giao diện sản phẩmRamp không mang ý định; bind vào nó là chôn ý định vào caller
Dùng border.control cho mọi thứ nhấn đượcChọn viền bằng mắt1.4.11 là ngưỡng, không phải gợi ý
Để icon thừa hưởng currentColorCho icon một token màu riêngIcon không có token màu và không nên có
Dùng status.<kind>.icon cho màu icon trạng tháiTô nền theo trạng thái để truyền trạng tháiTrạng thái đi bằng icon, không bằng nền tô
Dùng Interaction Blue qua action / text.link / focusDùng brand.accent làm màu controlNhận diện và hành vi là hai ý định khác nhau theo DS-020
Thêm màu mới bằng cách thêm token ở nguồn DTCGGõ hex vào class hay CSScheck-auth-tokens.mjs bắt hex; một hex là màu không ai đổi được theo theme
Nói Unknown khi một vai trò chưa được quyếtChọn một bậc ramp gần đúng để tạmMột giá trị tạm không có ngày hết hạn và sẽ ship

Chưa quyết

Open questions

QuestionOwnerResolves when
surface.base và surface.raised bằng nhau ở cả năm theme light, chênh 1,21:1 ở dark. Hệ thống có ý định biểu đạt độ nổi bằng màu nền không?nexoboxvn@gmail.comN04 phân xử. Đổi giá trị sẽ đổi mọi thẻ trong sản phẩm
Bảy theme còn lại lấy bảng màu nghịch đảo ở đâu?nexoboxvn@gmail.comW7.7. Trên nền tối, nghịch đảo có thể là panel sáng — một quyết định