ข้ามไปยังเนื้อหา

บทเรียน figma · intermediate · 60 นาที

สร้าง Thai Design System ใน Figma

สร้าง Thai Design System ใน Figma

สิ่งที่คุณจะได้

Figma design system สำหรับผลิตภัณฑ์ไทยระดับ production: tokens สีจากไทยโทน, styles typography สองภาษา, ชุด components หลัก (Buttons, Inputs, Navigation, Cards, Modals) ที่ขนาดรองรับความยาวของเนื้อหาไทย และลวดลายประดับที่อ้างอิงวัฒนธรรมภาพไทยโดยไม่ตกไปเป็นแบบ brochure ท่องเที่ยว ระบบออกแบบเพื่อส่งงานให้ทีมอื่น — developers ได้ token ชื่อเดียวสำหรับทุกค่าสีและ spacing และ library เผยแพร่สะอาดไปยังไฟล์ผลิตภัณฑ์ที่สมัครใช้

สิ่งที่ต้องเตรียม

Step 1: สร้างโครงสร้าง variable 3 collection

File > New Design File ตั้งชื่อ ThaiGraph Design System เปิด Local Variables (พาเนลขวา) สร้าง 3 collections:

  1. Primitives — ค่าสีดิบ ค่า typography ค่า spacing ไม่มีความหมายเชิง semantic
  2. Semantic — tokens ตามบทบาท (primary, success, error, text-body, surface-raised) aliased จาก Primitives
  3. Component — override เฉพาะ component (button-primary-bg, input-border-focus)

โครงสร้าง 3 ชั้นนี้เป็น convention ของ Figma design system ปี 2024+ และตรงกับวิธีที่ engineering คาดหวัง tokens Developers สมัครใช้ Semantic และ Component; Primitives มีเพื่อถูกอ้างถึงโดย layer บน

Step 2: Seed Primitives ด้วยชุดไทยโทน

ใน Primitives เพิ่ม Variables ชนิด Color สร้างชุดหลักไทยโทน 24 สี: thaitone/red-500 (#C5242C), thaitone/gold-500 (#D4A029), thaitone/indigo-900 (#1B2845), thaitone/off-white-50 (#F4EFE6) พร้อม scale 100/200/…/900 สำหรับแต่ละสี 24 สีครอบคลุมแดง ทอง คราม ขาวนวล เขียว (เขียว) ม่วง น้ำเงิน (ฟ้า) และเทา — มีช่วงพอสำหรับ 95% ของ UI โดยไม่ต้องแบก 168 tokens เพิ่ม typography Primitives: font-family/thai-body = Sarabun, font-family/thai-display = Kanit, font-family/latin-body = Inter Spacing Primitives: 4, 8, 12, 16, 24, 32, 48, 64, 96 — grid 8-point ที่ fintech ไทยมาตรฐานแล้ว (Bank of Thailand guideline, 2023)

Step 3: สร้าง Semantic tokens

ใน Semantic collection สร้าง role tokens ที่ alias จาก Primitives เพิ่มสอง modes: Light และ Dark สำหรับแต่ละ mode alias semantic tokens:

ตอนนี้ทุก component อ้างถึง semantic tokens เท่านั้น การส่ง dark mode ในอนาคตไม่ต้องเปลี่ยนที่ระดับ component

Step 4: สร้าง Button component ด้วย default ที่รองรับความยาวไทย

Create > Component สำหรับ Button Auto Layout horizontal padding 12 px vertical 24 px horizontal, gap 8 px เพิ่ม Text layer ใช้ Body / Thai text style ตั้งข้อความ default เป็น ยืนยัน จำกัด min-width ของปุ่มที่ 104 px — ป้ายปุ่มไทยยาวกว่าอังกฤษเฉลี่ย 22% (KBTG UX Writing Guidelines, 2023) ดังนั้นปุ่มขนาดอังกฤษจะตัดข้อความไทย สร้าง Variants: Primary (accent/primary bg ข้อความขาว), Secondary (bg/raised ขอบ 1px border/default), Tertiary (โปร่งใส ข้อความ text/primary) สำหรับแต่ละตัว สร้าง Property State: Default, Hover, Pressed, Disabled เผยแพร่ Subscribers ได้ปุ่มที่ขนาดถูกต้องสำหรับเนื้อหาไทยโดยไม่ต้อง override ด้วยมือ

Step 5: สร้าง Input field component

Inputs ต้องการสองฟีเจอร์เฉพาะของไทย: padding แนวตั้งภายในที่ใหญ่ขึ้นเพราะเนื้อหาไทยใช้พื้นที่แนวตั้งมากกว่า (สระอยู่บน ตัวห้อยอยู่ล่าง) และไม่มี letter-spacing สร้าง Input component: Auto Layout vertical padding 14 px vertical 16 px horizontal (ไม่ใช่ 8 px — นั่นคือ default ลาติน) text style Body / Thai เพิ่ม variants สำหรับ State (Default, Focus, Error, Disabled) และ Size (Small, Medium, Large) label ด้านบน input ใช้ Label / Thai style helper text ด้านล่างใช้ Caption / Thai เผยแพร่ layout ฟอร์มเรนเดอร์ฟิลด์ไทยโดยไม่ตัดตัวห้อย

Step 6: สร้าง components ประดับ

นี่คือจุดที่ความเฉพาะทางวัฒนธรรมอยู่โดยไม่ตกไปเป็น pastiche สร้าง 3 components เล็ก:

กฎ 10%: บนหน้าจอใด ๆ พื้นที่ภาพไม่ควรเกิน 10% ที่มีลายประดับไทย เกิน 10% ตกไปเป็น brochure ท่องเที่ยว ต่ำกว่า 3% อ่านว่า generic จุดที่ดีคือประดับหนึ่งจุดต่อ hero section หนึ่ง

Step 7: เผยแพร่ จัดทำเอกสาร สมัครใช้

Assets panel > Publish Library กรอก release notes ว่าเปลี่ยนอะไร ติ๊กทั้ง styles variables และ components เผยแพร่ สร้าง Documentation page ใน library file: cover page แสดงพาเลตต์ไทยโทน, typography specimen, component matrix, การเปรียบเทียบความยาวไทย-ลาติน, กฎ 10% และลิงก์กลับไปที่ /th/colors/thaitone/, /th/fonts/ และ /th/patterns/ สำหรับอ้างอิงที่ลึกกว่า Subscribers ในไฟล์ผลิตภัณฑ์เปิดใช้ library ผ่าน Assets > Libraries > ThaiGraph Design System ทีมผลิตภัณฑ์ทุกทีมแชร์แหล่งความจริงเดียวสำหรับการตัดสินใจออกแบบไทย

ข้อควรรู้ทางวัฒนธรรม

สองวิธี fail ของ Thai design system คือประดับมากเกินไปและประดับน้อยเกินไป ระบบที่ประดับเกินใส่กรอบลายกนกในทุก card ลายเมฆเป็นพื้นหลังของทุก modal และทองไทยโทนในทุกปุ่ม; ผลลัพธ์อ่านว่าเป็นโปรโมทท่องเที่ยวหรือ branding ร้านอาหาร ไม่ใช่ผลิตภัณฑ์สมัยใหม่ ระบบที่ประดับน้อยเกินถอดความเฉพาะทางวัฒนธรรมออกทั้งหมดและได้ aesthetic แบบ Silicon Valley ที่ localise ที่ผู้ใช้ไทยพบว่า generic และเป็นกลางทางวัฒนธรรม จุดประนีประนอมคือกฎ 10% บวกการแยกระหว่าง structural กับ decorative: typography, color tokens และ spacing values เข้ารหัสความเฉพาะทางวัฒนธรรมโดยมองไม่เห็น (line-height ขนาดไทย, แดงจากไทยโทน) ในขณะที่ลายประดับถูกใช้เป็น accent (เส้นคั่นหนึ่งต่อ hero, badge หนึ่งต่อหน้า) KBank Plus, SCB Easy และ Krungsri apps ใช้แนวทางนี้ — ความเป็นไทยเชิงโครงสร้าง ความเป็นไทยเชิงประดับอย่างพอดี

ข้อผิดพลาดที่พบบ่อย

ไฟล์และขั้นตอนถัดไป

ดาวน์โหลด ThaiGraph Design System starter file (tokens, styles, core components) จาก ไดเรกทอรีฟอนต์ — ไฟล์ share ที่ library link ใน pillar อ้างอิงสี: สีไทยโทน อ้างอิงลายประดับ: คลังลวดลาย บทความ prerequisite: ตั้งค่าไทโปกราฟีไทยใน Figma Pillar: คู่มือครบถ้วนเรื่องไทโปกราฟีไทย สำหรับบริบท branding: คู่มือ branding ไทย

ตรวจสอบข้อมูลเมื่อ April 2026

แหล่งอ้างอิง

  1. The Thaitone system contains 168 documented traditional Thai colors, making it the most comprehensive cultural color system available for design token conversion.Pittayamatee, P. (2012). Thai Tone: The Thai Traditional Color System. Bangkok: Chulalongkorn University Press. (accessed Apr 9, 2026)
  2. Thai UI copy is on average 22% longer than the English equivalent by character count, meaning button, input, and navigation components must be designed for Thai-length defaults.KBTG (Kasikorn Business Technology Group) — Thai UX Writing Guidelines, 2023 (accessed Apr 8, 2026)
  3. Figma's design token sync via Variables with mode switching allows a single design system to serve Thai-primary, Latin-primary, and dual-locale products from one source of truth.Figma — Variables and Modes Documentation (2024) (accessed Apr 8, 2026)
  4. Major Thai fintech products (KBank Plus, SCB Easy, Krungsri) standardised on 8-point grid systems with 16px, 24px, and 32px spacing tokens between 2022 and 2024.Bank of Thailand — Digital Banking UX Standards, Supervisory Guideline 2023-04 (accessed Apr 8, 2026)