Carbon Design Theme Token 用法總結(jié)

先貼代碼凭迹,以后有時(shí)間再補(bǔ)文字

Color

/** Override color **/
@use '@carbon/colors'
with ( 
  $colors: (blue: (
    10: red,
    20: red,
    30: red,
    40: red,
    50: red,
    60: red,
    70: red,
    80: red,
    90: red,
    100: #001141,
)),
);

Theme

/** Change theme **/
@use '@carbon/react/scss/themes';
@use '@carbon/react/scss/theme' with ($theme: themes.$white,
);
/** Override white theme **/
@use '@carbon/react/scss/themes' with ($white: (background: red,
    primary: #393939,
    button-primary: #393939,
    button-primary-hover: #4c4c4c,
    button-primary-active: #f6f6f6,
    button-secondary: #bdbdbd,
    button-secondary-hover: #808080,
    button-secondary-active: #6d6d6d,
    button-tertiary: #bdbdbd,
    button-tertiary-hover: #808080,
    button-tertiary-active: #6d6d6d,
    button-danger: #9b3a3a,
    button-helper: #f0679e,
    button-helper-hover: #d64680,
    button-helper-active: #bb3e70,
    button-disabled: rgba(198, 198, 198, 0.25),

    // layer-01: red,
    // layer-active-01: red,
    border-inverse: RED,
    border-strong-01: red,
    border-strong-02: red,
    border-strong-03: red,
    border-subtle-01: red,
    border-subtle-02: red,
    border-subtle-03: red,
    border-subtle-selected-01: red,
    border-subtle-selected-02: red,
    border-subtle-selected-03: red,
    border-tile-02: red,
    border-tile-03: red,
    border-interactive: #4c4c4c,
    border-selected: #393939,
    border-subtle-00: #e0e0e0,
    border-error: #9B3A3A,
    border-tile-01: #c6c6c6,
    border-disabled: #c6c6c6,


    text-primary: #161616,
    text-secondary: #525252,
    text-placeholder: #a8a8a8,
    text-on-color: #ffffff,
    text-helper: #ffffff,
    text-error: #9B3A3A,
    text-warn: #Da1e28,
    text-disabled: rgba(22, 22, 22, 0.25),

    icon-primary: #161616,
    icon-secondary: #525252,
    icon-on-color: #ffffff,
    icon-helper: $PictavoPink,
    icon-disabled: rgba(22, 22, 22, 0.25),
    icon-on-color-disabled: red,
    icon-interactive: red,
    icon-inverse: red,

    active-danger: #750e13,
    active-light-ui: red,
    active-primary: red,
    active-secondary: red,
    active-tertiary: red,
    active-ui: red,
    danger-01: #da1e28,
    danger-02: #da1e28,
    decorative-01: red,
    disabled-01: red,
    disabled-02: red,
    disabled-03: red,
    hover-danger: #b81921,
    hover-field: red,
    hover-light-ui: red,
    hover-primary: red,
    hover-primary-text: red,
    hover-row: red,
    hover-secondary: #4c4c4c,
    hover-selected-ui: #cacaca,
    hover-tertiary: red,
    hover-ui: red,
    icon-01: RED,
    icon-02: RED,
    icon-03: red,
    interactive-01: red,
    interactive-02: RED,
    interactive-03: red,
    interactive-04: red,
    inverse-01: red,
    inverse-02: RED,
    inverse-focus-ui: red,
    inverse-hover-ui: #4c4c4c,
    inverse-link: red,
    inverse-support-01: #fa4d56,
    inverse-support-02: #42be65,
    inverse-support-03: #f1c21b,
    inverse-support-04: red,
    overlay-01: rgba(22, 22, 22, 0.5),
    selected-light-ui: red,
    selected-ui: red,
    skeleton-01: red,
    skeleton-02: red,
    support-01: #da1e28,
    support-02: #198038,
    support-03: #f1c21b,
    support-04: red,
    text-01: RED,
    text-02: RED,
    text-03: red,
    text-04: red,
    text-05: red,
    ui-01: red,
    ui-02: red,
    ui-03: red,
    ui-04: red,
    ui-05: RED,
    ui-background: red,
    visited-link: red,
    ai-aura-end: rgba(255, 255, 255, 0),
    ai-aura-hover-background: red,
    ai-aura-hover-end: rgba(255, 255, 255, 0),
    ai-aura-hover-start: rgba(69, 137, 255, 0.32),
    ai-aura-start: rgba(69, 137, 255, 0.1),
    ai-aura-start-sm: rgba(69, 137, 255, 0.16),
    ai-border-end: red,
    ai-border-start: rgba(166, 200, 255, 0.64),
    ai-border-strong: red,
    ai-drop-shadow: rgba(15, 98, 254, 0.1),
    ai-inner-shadow: rgba(69, 137, 255, 0.1),
    ai-overlay: rgba(0, 17, 65, 0.5),
    ai-popover-background: red,
    ai-popover-caret-bottom: red,
    ai-popover-caret-bottom-background: red,
    ai-popover-caret-bottom-background-actions: red,
    ai-popover-caret-center: red,
    ai-popover-shadow-outer-01: rgba(0, 67, 206, 0.06),
    ai-popover-shadow-outer-02: rgba(0, 0, 0, 0.04),
    ai-skeleton-background: red,
    ai-skeleton-element-background: red,
    background-active: rgba(141, 141, 141, 0.5),
    background-brand: red,
    background-hover: rgba(141, 141, 141, 0.12),
    background-inverse: RED,
    background-inverse-hover: #474747,
    background-selected: rgba(141, 141, 141, 0.2),
    background-selected-hover: rgba(141, 141, 141, 0.32),
    chat-avatar-agent: RED,
    chat-avatar-bot: red,
    chat-avatar-user: red,
    chat-bubble-agent: red,
    chat-bubble-border: red,
    chat-bubble-user: red,
    chat-button: red,
    chat-button-active: rgba(141, 141, 141, 0.5),
    chat-button-hover: rgba(141, 141, 141, 0.12),
    chat-button-selected: rgba(141, 141, 141, 0.2),
    chat-button-text-hover: red,
    chat-button-text-selected: RED,
    chat-header-background: red,
    chat-prompt-background: red,
    chat-prompt-border-end: rgba(244, 244, 244, 0),
    chat-prompt-border-start: red,
    chat-shell-background: red,
    field-01: red,
    field-02: red,
    field-03: red,
    field-hover-01: #e8e8e8,
    field-hover-02: #e8e8e8,
    field-hover-03: #e8e8e8,
    focus: red,
    focus-inset: red,
    focus-inverse: red,
    highlight: red,
    interactive: red,
    layer-01: red,
    layer-02: red,
    layer-03: red,
    layer-accent-01: red,
    layer-accent-02: red,
    layer-accent-03: red,
    layer-accent-active-01: red,
    layer-accent-active-02: red,
    layer-accent-active-03: red,
    layer-accent-hover-01: #d1d1d1,
    layer-accent-hover-02: #d1d1d1,
    layer-accent-hover-03: #d1d1d1,
    layer-active-01: red,
    layer-active-02: red,
    layer-active-03: red,
    layer-hover-01: #e8e8e8,
    layer-hover-02: #e8e8e8,
    layer-hover-03: #e8e8e8,
    layer-selected-01: red,
    layer-selected-02: red,
    layer-selected-03: red,
    layer-selected-disabled: red,
    layer-selected-hover-01: #d1d1d1,
    layer-selected-hover-02: #d1d1d1,
    layer-selected-hover-03: #d1d1d1,
    layer-selected-inverse: RED,
    link-inverse: red,
    link-inverse-active: red,
    link-inverse-hover: #a6c8ff,
    link-inverse-visited: #be95ff,
    link-primary: red,
    link-primary-hover: red,
    link-secondary: red,
    link-visited: red,
    overlay: rgba(22, 22, 22, 0.5),
    shadow: rgba(0, 0, 0, 0.3),
    skeleton-background: #e8e8e8,
    skeleton-element: red,
    support-caution-major: #ff832b,
    support-caution-minor: #f1c21b,
    support-caution-undefined: red,
    support-error: #da1e28,
    support-error-inverse: #fa4d56,
    support-info: red,
    support-info-inverse: red,
    support-success: #24a148,
    support-success-inverse: #42be65,
    support-warning: #f1c21b,
    support-warning-inverse: #f1c21b,
    text-inverse: red,
    text-on-color-disabled: red,
    toggle-off: red,
  ),
);
/** Override default theme **/
@use '@carbon/colors';
@use '@carbon/react/scss/themes';
@use '@carbon/react/scss/theme' with ($fallback: themes.$white,
  $theme: (background: #fff,

    focus: #4C4C4C,
    focus-inset: #ffffff,

    background-hover: rgba(141, 141, 141, 0.12),
    background-active: rgba(141, 141, 141, 0.5),
    background-selected: rgba(141, 141, 141, 0.2),
    background-selected-hover: rgba(141, 141, 141, 0.32),
    background-inverse: #393939,
    background-inverse-hover: #4c4c4c,

    border-interactive: #4c4c4c,
    border-selected: #393939,
    border-subtle-00: #e0e0e0,
    border-error: #9B3A3A,
    border-tile-01: #c6c6c6,
    border-disabled: #c6c6c6,

    text-primary: #161616,
    text-secondary: #525252,
    text-placeholder: #a8a8a8,
    text-on-color: #ffffff,
    text-helper: #ffffff,
    text-error: #9B3A3A,
    text-disabled: rgba(22, 22, 22, 0.25),

    link-primary: #393939,
    link-primary-hover: #4c4c4c,
    link-primary--active: #6f6f6f,
    link-primary-disabled: rgba(22, 22, 22, 0.25),

    icon-primary: #161616,
    icon-secondary: #525252,
    icon-on-color: #ffffff,
    icon-helper: $PictavoPink,
    icon-disabled: rgba(22, 22, 22, 0.25),

    layer-01: #f4f4f4,
    layer-hover-01: #e8e8e8,
    layer-active-01: #c6c6c6,
    layer-selected-01: #e0e0e0,
    layer-selected-hover-01: #cacaca,
    layer-selected-inverse: #161616,
    layer-selected-disabled: #8d8d8d,

    support-error: #9B3A3A,
    support-warning: #dcb276,
    support-success: #90C667,
    support-info: #0073FC,

    button-helper: #f0679e,
    button-helper-hover: #d64680,
    button-helper-active: #bb3e70,

    /** Pictavo Community Theme Token **/
    Pictavo-Pink: #F0679E,
    Pictavo-color___0: #fff,
    Pictavo-color___1: #E0E0E0,
    Pictavo-color___2: #525252,
    Pictavo-color___4: #161616,
    Pictavo-color___3: rgba(22, 22, 22, 0.25),
    Pictavo-color___5: rgba(141, 141, 141, 0.2),
    Pictavo-menu-modal: rgba(0, 0, 0, 0.4),
    Pictavo-screen-md-min: 672px,
    Pictavo-screen-lg-min: 1056px,
    Pictavo-screen-xlg-min: 1312px,
  ));

sass的部分用法

/** 使用 Theme 的Token **/
.carbon-theme-sample {
  background-color: theme.$background;
}

/** 導(dǎo)出 theme的變量 theme.scss **/
$theme: theme.$theme;

/** 使用 theme的變量 page.scss **/
@use 'sass:map';

$theme: () !default;
...
    background-color: map.get($theme, "border-subtle-00");
...

/** 使用 theme  app.scss **/
@use './theme';
@use './page.scss' with ($theme: theme.$theme);

theme 的Token用法

@forward "@carbon/themes/scss/tokens";
.carbon-theme-sample {
  color: $border-subtle-00;
}

type 的Token用法,有一些和theme無(wú)關(guān)的token的定義放在 type中

// 在 colors 之后,其他之前
@use "@carbon/styles/scss/config";
@forward "@carbon/type" with (
 $heading-compact-01: (
  font-size:.875rem,
  line-height: 1.125rem,
  font-weight: 600,
  letter-spacing: 0.16px,
 )
);


// 使用
.sample {
    @include type-style('heading-compact-01')
}

component 的Token用法

/** Override component token **
@use '@carbon/themes/scss/generated/button-tokens' with ($button-primary: (white-theme: #393939, ),
  $button-primary-hover: (white-theme:#4c4c4c, ),
  $button-primary-active: (white-theme:#f6f6f6, ),
  $button-secondary: (white-theme: #bdbdbd),
  $button-secondary-hover: (white-theme:#808080, ),
  $button-secondary-active: (white-theme:#6d6d6d, ),
  $button-tertiary: (white-theme: #bdbdbd),
  $button-tertiary-hover: (white-theme:#808080, ),
  $button-tertiary-active: (white-theme:#6d6d6d, ),
  $button-disabled: (white-theme:rgba(198, 198, 198, 0.25), ),
  $button-danger-primary: (white-theme: #9b3a3a),
);

@use '@carbon/react/scss/components/button';

.carbon-theme-sample {
  color: button.$button-primary-hover; // value will be: color: var(--cds-button-primary-hover, #808080);
}

更新

24-07-26 更新了component的Token用法
24-07-27 更新了theme 的Token用法
24-08-1 更新了type的Token用法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子诈火,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冷守,死亡現(xiàn)場(chǎng)離奇詭異刀崖,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)拍摇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門亮钦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人充活,你說(shuō)我怎么就攤上這事蜂莉。” “怎么了混卵?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵映穗,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我幕随,道長(zhǎng)蚁滋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任赘淮,我火速辦了婚禮辕录,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘梢卸。我一直安慰自己走诞,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布蛤高。 她就那樣靜靜地躺著速梗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪襟齿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天枕赵,我揣著相機(jī)與錄音猜欺,去河邊找鬼。 笑死拷窜,一個(gè)胖子當(dāng)著我的面吹牛开皿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播篮昧,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼赋荆,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了懊昨?” 一聲冷哼從身側(cè)響起窄潭,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎酵颁,沒想到半個(gè)月后嫉你,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體月帝,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年幽污,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嚷辅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡距误,死狀恐怖簸搞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情准潭,我是刑警寧澤趁俊,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站惋鹅,受9級(jí)特大地震影響则酝,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜闰集,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一沽讹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧武鲁,春花似錦爽雄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至饲梭,卻和暖如春乘盖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背憔涉。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工订框, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人兜叨。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓穿扳,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親国旷。 傳聞我的和親對(duì)象是個(gè)殘疾皇子矛物,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • $HTML, HTTP跪但,web綜合問(wèn)題 1履羞、前端需要注意哪些SEO 3、HTTP的幾種請(qǐng)求方法用途 4、從瀏覽器地...
    peng凱閱讀 772評(píng)論 0 1
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5吧雹? 答:HTML5是最新的HTML標(biāo)準(zhǔn)骨杂。 注意:講述HT...
    kismetajun閱讀 27,486評(píng)論 1 45
  • 整理所有看過(guò)的文章的面試題+各種百度每一道題的答案,希望可以有效的幫助別人本章博客雄卷,梳理所有基礎(chǔ)的css搓蚪,js,h...
    送你一堆小心心閱讀 8,192評(píng)論 0 5
  • 請(qǐng)參看我github中的wiki丁鹉,不定期更新妒潭。https://github.com/ivonzhang/Front...
    zhangivon閱讀 7,129評(píng)論 2 19
  • 前端開發(fā)面試題 <a name='preface'>前言</a> 只看問(wèn)題點(diǎn)這里 看全部問(wèn)題和答案點(diǎn)這里 本文由我...
    自you是敏感詞閱讀 761評(píng)論 0 3