Skip to content

pantoken-root / packages/core/src / modifyExpression

函式: modifyExpression() ​

modifyExpression(base, modify): string

Beta(測試)

的 CSS 表達式形式:計算相同,但套用到 base 在繪製時 而不是在建置時套用到十六進位色碼,因此一個 var(--instui-…) 原點會保留到樣式表中 並持續追蹤該令牌解析為的任何值(包括 light-dark() 成對值,及任何 在執行時重新指向其來源原始值))。

相對顏色語法會將 l 在 0–100 範圍上解析,於 hsl() 與 lch() 中,且省略的 alpha 通道會繼承來源的透明度 — 與 applyModify 的 alpha 透通行為相符。

參數 ​

base ​

string

基本顏色(字面值、var(--token) 或巢狀輔助結果)。

modify ​

TokenModify

修飾器運作的色彩空間(例如 "hsl")。

回傳 ​

string

一個 color-mix() 表達式。

範例 ​

ts
import { modifyExpression } from "@pantoken/core";

modifyExpression("var(--x)", { type: "alpha", value: 0.2, space: "hsl" });
// → "color-mix(in srgb, var(--x) 20%, transparent)"
modifyExpression("var(--x)", { type: "darken", value: 0.1, space: "hsl" });
// → "hsl(from var(--x) h s calc(l * 0.9))"
modifyExpression("var(--x)", { type: "lighten", value: 0.1, space: "hsl" });
// → "hsl(from var(--x) h s calc(l + (100 - l) * 0.1))"