# Casso Design System > Component và token dùng chung cho các sản phẩm Casso. Component là HTML và CSS thuần, không gắn framework. Mọi trang ở https://brand.casso.vn/ds/ là HTML tĩnh, đọc được không cần chạy JavaScript. Phiên bản: v0.2.0 (03/11/2026). Bản kế tiếp dự kiến có Table. ## Dùng ngay - Hướng dẫn đầy đủ cho agent (cách nhúng, props và HTML mẫu từng component, danh sách token): https://brand.casso.vn/ds/llms-full.txt - CSS (token, text style, shadow, component): https://brand.casso.vn/ds/casso-ds.css - JS, ES module, hàm dựng component như `createButton`, `createInput`: https://brand.casso.vn/ds/casso-ds.js - Icon, tên → SVG (JSON): https://brand.casso.vn/ds/icons.json - Font: Be Vietnam Pro 400, 500, 600 (Google Fonts) ```html ``` ## Luật khi dựng giao diện - Màu dùng token tier 3 (semantic) `--color-*`, chọn theo vai trò chứ không theo giá trị. Không dùng thẳng token tier 1 và tier 2 (`--_g-*`, `--_b-*`) vì sẽ mất theming. Tier 4 (`--button-*`…) là màu riêng của từng component. - Chữ dùng class text style như `text-heading-1`, `text-body-base-regular`, `text-caption`. Spacing, radius và shadow cũng lấy từ token. Không gõ mã màu hay số px cứng. - Class của component có tiền tố `c-` (ví dụ `c-button`, `c-input`). Component sản phẩm tự dựng dùng tiền tố riêng để không trùng tên. - Button tự bắt hover, active, focus và disabled bằng CSS. Input, Checkbox, Radio và Chip cần `casso-ds.js` để cập nhật `data-state`, `data-select` khi người dùng thao tác. Prop `state` chỉ để chụp tài liệu, ứng dụng thật bỏ trống. - Kiểm đủ 6 Mode, ít nhất light và dark, comfortable và compact, standard và rounded. - Icon gọi bằng tên thật trên trang Iconography (dạng `icon--line` / `icon--solid`), không dùng alias. - Chưa có Table, Toggle, Alert Banner, Inline Message. Date Picker mới có Day Cell (primitive), phần hành vi do ứng dụng tự làm. - Tên component, property và Mode giữ tiếng Anh như trong file thiết kế. - Dữ liệu trong ảnh Showcase là dữ liệu mẫu, không phải khách hàng thật. Mã nguồn gốc nằm ở repo nội bộ. Bản phát hành ở trên (CSS, JS đã build, icon) dùng công khai được, import được từ tên miền khác. ## Theme Design system đọc 6 thuộc tính trên thẻ . Không đặt thuộc tính nào thì dùng bộ mặc định, là giá trị đầu tiên của mỗi Mode. - data-theme: light | dark - data-brand: casso | cas-id - data-density: comfortable | compact - data-radius: standard | rounded - data-emphasis: brand | neutral - data-type-scale: base-14 | base-16 Không dùng prefers-color-scheme. Đổi chế độ tối bằng data-theme. ## Chọn mode theo sản phẩm - Casso, payOS, Casso Capital, Xinvoice, KySoQR: data-brand="casso" - Quán X, Loa X: data-brand="casso" data-radius="rounded" - Cas, Cas ID: data-brand="cas-id" (nút chính đen, chế độ tối lật thành nút trắng) ## Foundations - Introduction, danh sách component và 6 Mode: https://brand.casso.vn/ds/index.html - Theming: https://brand.casso.vn/ds/foundations-theming.html - Colors: https://brand.casso.vn/ds/foundations-colors.html - Typography: https://brand.casso.vn/ds/foundations-typography.html - Spacing: https://brand.casso.vn/ds/foundations-spacing.html - Radius: https://brand.casso.vn/ds/foundations-radius.html - Elevation: https://brand.casso.vn/ds/foundations-elevation.html - Iconography (1.826 icon, tra tên, tải SVG): https://brand.casso.vn/ds/foundations-iconography.html ## Components Mỗi trang có bảng thuộc tính, rồi tới các mẫu theo từng property của contract. - Button: https://brand.casso.vn/ds/components-button.html - Button Flat: https://brand.casso.vn/ds/components-button-flat.html - Button Icon-Flat: https://brand.casso.vn/ds/components-button-icon-flat.html - Button Icon-Main: https://brand.casso.vn/ds/components-button-icon-main.html - Checkbox: https://brand.casso.vn/ds/components-checkbox.html - Chip: https://brand.casso.vn/ds/components-chip.html - Date Picker: https://brand.casso.vn/ds/components-date-picker.html - Input: https://brand.casso.vn/ds/components-input.html - Radio: https://brand.casso.vn/ds/components-radio.html - Top-Navigation: https://brand.casso.vn/ds/components-top-navigation.html - Top-Navigation (Master): https://brand.casso.vn/ds/components-top-navigation-master.html - Extending (component chưa có trong bộ: sản phẩm tự dựng theo luật nào, khi nào đưa về bộ chung. Table đang phát triển, dự kiến có ở bản kế tiếp; trong lúc chờ, sản phẩm tự dựng trước): https://brand.casso.vn/ds/components-extending.html ## Showcase Các sản phẩm đang áp dụng Design System ở đúng phiên bản này, kèm màn mẫu. Dữ liệu trong ảnh là dữ liệu mẫu. - Overview: https://brand.casso.vn/ds/showcase-tong-quan.html - Casso Capital: https://brand.casso.vn/ds/showcase-casso-capital.html - Quán X: https://brand.casso.vn/ds/showcase-quan-x.html - Cas ID: https://brand.casso.vn/ds/showcase-cas-id.html ## Khác - Danh sách mọi trang và mục con (JSON): https://brand.casso.vn/ds/index.json - Màu, chữ, logo thương hiệu: https://brand.casso.vn/llms.txt