Linyao Design System

設計原則

Linyao Design System 的元件結構、尺寸、variant 與互動狀態以 Modulor Figma 可驗證的設計為依據。主要差異是麟曜數位工作室的色盤、字體,以及 Web 與 WCAG 2.2 AA 所需的狀態。Figma 未提供的元件使用相同的表面、圓角、字級、間距與狀態規則。

Modulor 依據

研究來源是公開 Figma 檔案「❖ Modulor・Components (Community)」。1277:150465Start Here 畫布,不是單一元件。實作時先依階層定位 Glossary、可見範例、元件集、variants 與 variables,再檢查個別元件的設計內容;截圖只用於交叉檢查。

範圍Figma nodes採用規格
Glossary/結構26014:40556, 1277:150465元件分類、組合規則、公開頁面邊界
Button regular16469:3787916469:378823.5rem、圓角 0.75rem、16/20 semibold、無邊框與陰影
Checkbox/Radio/Switch204:6982212 種狀態;24px 控制項;52×30px switch 與 28px knob
Segmented control234:61252, 224:611562–6 個選項、medium/small、共用表面與選取底板
Tabs9457:23922, 1009:1245552rem 內容寬度項目、0.25rem 間距、active quaternary surface、無軌道或底線
Text fields132:59432, 709:93524, 740:9825956px 欄位、12px 圓角、1px 外框、浮動標籤與錯誤結構
Code/Phone fields9297:23908, 10703:2830356px 分段欄位、8px 間距、電話國家區段寬度
List/Section heading9457:290479457:2905656px 列、內縮 0.5px 分隔線;32px 大寫區段標題
Bottom Sheet9457:26270, 2589:103972589:10405表面、把手、導覽、固定操作區、分隔線與行動裝置安全區域

已驗證的 Modulor 命名包含 Background/MainBackground/SecondaryText/TitleText/BodyIcon/MainDivider/MainControl/PrimaryControl/SecondaryControl/Quaternary、switch 狀態角色與 Radius/md。Linyao Design System 依類別/角色/狀態建立固定的 CSS 變數名稱,元件不直接使用實體色票。

Figma MCP 無法直接讀取未放在可見畫布的隱藏母元件。Button low 沒有可驗證範例,因此不宣稱是 1:1 複刻。深色主題、Web hover/焦點狀態與 Figma 未提供的元件依已驗證規則延伸,並另外進行可存取性與瀏覽器驗證。

元件結構

元件分類

Checkbox、Radio、Switch 共用選取規則;SegmentedControl 由等寬項目組成;Tabs 使用依內容寬度排列的項目。浮層元件由 Root、Trigger、Portal、Backdrop、Popup、Title、Description 與 Close 等 parts 組合。

元件狀態

每個互動元件按適用情況檢查預設、hover、按下、focus-visible、選取/勾選、開啟、停用、唯讀、載入與無效狀態。Storybook 顯示實際狀態;測試驗證鍵盤、焦點、開關與受控/非受控行為。

語意變數

元件 CSS 使用 --text-main--control-primary-hover--divider-main,不使用色名或元件內部十六進位色碼。同一元件可在亮色、深色與使用者自訂主題中維持相同角色。

表面與尺寸

使用下列規格:

  • main、secondary、elevated 與 quaternary 表面;
  • 只在結構需要時使用低對比細分隔線;
  • 核心 radius 為 0.75rem
  • 選取底板、switch knob 與低對比陰影;
  • 32/40/56px 控制項高度;
  • 清楚的 title/body/caption 層級。

不得加入裝飾性切角、假序號、背景工程網格、面板刻紋、內凹接縫或全站 uppercase。沒有元件結構或互動用途的細節不應加入。

色彩

淺色主題

亮色主題使用接近 Modulor Background/Main 的暖白作為主背景。Limestone 衍生色用於 secondary/quaternary 表面;Charcoal 衍生色用於文字與圖示;Vermilion 取代 Modulor blue,作為主要操作、選取與勾選狀態。

深色主題

深色主題保留相同的元件結構與間距,以暖色近黑、逐層變亮的表面與 Limestone 文字建立層級。Vermilion 保留強調角色,不使用霓虹光暈。

強調色與狀態色

Vermilion 用於主要操作、選取/勾選狀態與必要指示器。危險操作使用獨立語意變數,不與主要操作共用角色。Vermilion 上的一般尺寸文字使用通過對比檢查的深色 OnAccent,不直接使用白色。

字體

  • GenKiGothicTW:一般 UI 無襯線字體。
  • GenKiMinTW:由產品控制的編輯內容。
  • Geist Mono:程式碼、日期/時間、計數器、計時器與數值。
  • SectionHeading 的大寫只用於 Figma 明確顯示的 12/16 說明文字。
  • 日期、時間與數值欄位使用 tabular numerals。

圖示

介面圖示統一使用 Phosphor。Button、欄位、選單與日曆導覽的圖示由元件控制尺寸並繼承語意前景色。預設使用 regular/bold;只有勾選/選取狀態在語意需要時使用 fill。圖示不取代可見的狀態文字,也不得以手寫 SVG、Unicode 字元或 CSS 圖形代替。

互動

可操作狀態透過 hover/按下表面、選取底板、knob 位置、短時間動態效果與焦點回饋表達。不使用厚邊框、硬陰影、位移刻線或面板裝飾表達互動。

所有元件必須:

  • 支援長文字與地區語言擴展;
  • 在窄螢幕不造成頁面 overflow;
  • 維持至少 44px 互動目標,或提供等效點擊區域;
  • 清楚區分驗證、停用與唯讀;
  • 支援完整鍵盤操作;
  • 在減少動態效果下仍能辨識狀態變化。

可存取性

Linyao Design System 以 WCAG 2.2 AA 為目標。Figma 的尺寸與結構是視覺依據;若原始配色不符合一般 Web 文字對比,會保留語意角色並改用可存取的前景色,例如 Vermilion 上使用深色 OnAccent

focus-visible 不能只以低對比陰影表示;選取、無效與狀態不能只依賴顏色;停用內容仍應可讀。一般 transition 使用動態效果變數,prefers-reduced-motion: reduce 時移除非必要的距離與時間。