@suphark/ui 0.13.0 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,17 @@
2
2
 
3
3
  รูปแบบตาม [Keep a Changelog](https://keepachangelog.com/) · semver: patch = หน้าตา/บั๊ก, minor = component/prop ใหม่, major = เปลี่ยน/ลบ props
4
4
 
5
+ ## [0.13.1] - 2026-09-25
6
+
7
+ ### Fixed
8
+
9
+ - **`cn()` ลบคลาสตามบทบาททิ้งเงียบ ๆ** (พบตอน Pi Done ย้ายไปใช้ 0.13.0): tailwind-merge รู้จักเฉพาะ
10
+ `text-xs … text-9xl` ว่าเป็นขนาดตัวอักษร `text-body`/`text-caption` จึงถูกเดาว่าเป็น "สี" แล้วโดน
11
+ `text-foreground/80` หรือ `text-muted-foreground` ที่อยู่ในสตริงเดียวกันลบทิ้ง — build ผ่าน ไม่มี
12
+ error ใด ๆ แต่ตัวอักษรกลับไปใช้ขนาดที่สืบทอดมา (ชื่องานใน Pi Done ควรเป็น 16px บนมือถือ กลายเป็น
13
+ ค่า root) ตอนนี้ `cn()` ใช้ `extendTailwindMerge` ประกาศคลาสทั้ง 6 ไว้ในกลุ่ม `font-size` จาก
14
+ `TYPOGRAPHY_ROLES` โดยตรง เพิ่มบทบาทใหม่ในอนาคตจึงไม่ต้องแก้ที่นี่อีก
15
+
5
16
  ## [0.13.0] — 2026-09-25
6
17
 
7
18
  ### Added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@suphark/ui",
3
- "version": "0.13.0",
3
+ "version": "0.13.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Design system กลางของ Suphark apps: shadcn/ui (base-nova, Base UI, Tailwind v4) + shared components + token/ฟอนต์ Noto Sans Thai Looped — ส่งเป็น source ให้แอป Next transpile เอง",
package/src/lib/utils.ts CHANGED
@@ -1,5 +1,24 @@
1
1
  import { type ClassValue, clsx } from "clsx";
2
- import { twMerge } from "tailwind-merge";
2
+ import { extendTailwindMerge } from "tailwind-merge";
3
+ import { TYPOGRAPHY_ROLES } from "./typography";
4
+
5
+ /**
6
+ * tailwind-merge รู้จักเฉพาะ `text-xs … text-9xl` ว่าเป็นขนาดตัวอักษร คลาสตามบทบาท
7
+ * (`text-body` ฯลฯ) จึงถูกเดาว่าเป็น "สี" แล้วโดน `text-muted-foreground` ที่ตามมา
8
+ * ในสตริงเดียวกันลบทิ้งเงียบ ๆ — build ผ่านแต่ตัวอักษรกลับไปใช้ขนาดที่สืบทอดมา
9
+ * จึงต้องบอกมันว่าคลาสกลุ่มนี้คือ font-size
10
+ */
11
+ const twMerge = extendTailwindMerge({
12
+ extend: {
13
+ classGroups: {
14
+ "font-size": [
15
+ {
16
+ text: TYPOGRAPHY_ROLES.map((role) => role.className.slice("text-".length)),
17
+ },
18
+ ],
19
+ },
20
+ },
21
+ });
3
22
 
4
23
  export function cn(...inputs: ClassValue[]) {
5
24
  return twMerge(clsx(inputs));