Design System Hub

Bạn đang xem bản cũ v0.2.0. Bản mới nhất là v0.3.0.

Tải & cài đặt v0.2.0

Copy file vào project. Mỗi file có dòng Generated from VMS tokens v0.2.0 để biết đang dùng bản nào.

Tải tất cả nền tảng (.zip)

iOS · SwiftUI

iOS 14+
Tải iOS
  1. Giải nén và kéo ios/VMSTokens.swift vào target app trong Xcode (bật “Copy items if needed”).
  2. Thêm file font Inter (Regular, Medium, SemiBold…) vào app và khai báo trong UIAppFonts của Info.plist.
  3. Màu tự đổi theo Light/Dark của hệ thống. Cỡ chữ scale theo Dynamic Type.
Text("Xin chào")
    .vmsTextStyle(.content)
    .foregroundColor(VMSColor.textDefault)
    .padding(VMSLayout.screenPadding)
    .background(RoundedRectangle(cornerRadius: VMSRadius.r4).stroke())

Android · XML

minSdk 24, Material Components
Tải Android
  1. Giải nén, copy thư mục values/ và values-night/ vào app/src/main/res/ (gộp với thư mục sẵn có).
  2. Thêm font vào res/font/ với tên inter_regular.ttf, inter_medium.ttf, inter_semibold.ttf…
  3. Màu Dark nằm ở values-night nên tự đổi theo theme hệ thống. Cỡ chữ dùng sp.
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="@dimen/layout_screen_padding"
    android:textAppearance="@style/TextAppearance.VMS.Content"
    android:textColor="@color/color_text_default"
    android:text="Xin chào" />

Flutter · Dart

Dart 3
Tải Flutter
  1. Giải nén và copy flutter/vms_tokens.dart vào lib/.
  2. Khai báo font family Inter trong pubspec.yaml.
  3. Gắn màu vào theme: theme: ThemeData(extensions: [VMSColors.light]), darkTheme: ThemeData(extensions: [VMSColors.dark]).
Padding(
  padding: const EdgeInsets.all(VMSLayout.screenPadding),
  child: Text(
    'Xin chào',
    style: VMSTextStyles.content.copyWith(color: context.vmsColors.textDefault),
  ),
)

Web · CSS

Mọi trình duyệt hiện đại
Tải Web
  1. Giải nén, copy web/tokens.css vào project và import trước CSS của bạn.
  2. Dark theo hệ thống, hoặc ép bằng <html data-theme="dark"> / "light".
.title {
  font: var(--typography-content);
  color: var(--color-text-default);
  padding: var(--layout-screen-padding);
}