@ptengine/design-components 0.5.3 → 0.7.0

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.
Files changed (77) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/COMPONENTS-DESIGN-SYSTEM.md +341 -0
  3. package/README.md +43 -189
  4. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  5. package/dist/components/ui/dialog.d.ts.map +1 -1
  6. package/dist/components/ui/drawer.d.ts.map +1 -1
  7. package/dist/components/ui/input-otp.d.ts.map +1 -1
  8. package/dist/components/ui/prompt-picker.d.ts +2 -2
  9. package/dist/components/ui/prompt-picker.d.ts.map +1 -1
  10. package/dist/components/ui/search-input.d.ts +3 -3
  11. package/dist/components/ui/select.d.ts +2 -2
  12. package/dist/components/ui/select.d.ts.map +1 -1
  13. package/dist/components/ui/sheet.d.ts.map +1 -1
  14. package/dist/components/ui/skeleton.d.ts.map +1 -1
  15. package/dist/index.cjs +2 -77
  16. package/dist/index.js +2167 -20974
  17. package/dist/style.css +398 -0
  18. package/llms.txt +20 -0
  19. package/package.json +10 -5
  20. package/src/components/ui/accordion.tsx +6 -6
  21. package/src/components/ui/alert-dialog.tsx +9 -7
  22. package/src/components/ui/alert.tsx +5 -5
  23. package/src/components/ui/attachment.tsx +15 -15
  24. package/src/components/ui/avatar.tsx +6 -6
  25. package/src/components/ui/badge.tsx +8 -8
  26. package/src/components/ui/breadcrumb.tsx +8 -8
  27. package/src/components/ui/bubble.tsx +15 -15
  28. package/src/components/ui/button-group.tsx +5 -5
  29. package/src/components/ui/button.tsx +16 -16
  30. package/src/components/ui/calendar.tsx +23 -23
  31. package/src/components/ui/card.tsx +6 -6
  32. package/src/components/ui/carousel.tsx +16 -16
  33. package/src/components/ui/chart.tsx +21 -21
  34. package/src/components/ui/checkbox.tsx +3 -3
  35. package/src/components/ui/command.tsx +12 -12
  36. package/src/components/ui/context-menu.tsx +16 -16
  37. package/src/components/ui/dialog.tsx +12 -10
  38. package/src/components/ui/drawer.tsx +9 -7
  39. package/src/components/ui/dropdown-menu.tsx +17 -17
  40. package/src/components/ui/empty.tsx +7 -7
  41. package/src/components/ui/field.tsx +18 -18
  42. package/src/components/ui/hover-card.tsx +1 -1
  43. package/src/components/ui/input-group.tsx +11 -11
  44. package/src/components/ui/input-otp.tsx +9 -9
  45. package/src/components/ui/input.tsx +1 -1
  46. package/src/components/ui/item.tsx +18 -18
  47. package/src/components/ui/kbd.tsx +2 -2
  48. package/src/components/ui/label.tsx +1 -1
  49. package/src/components/ui/marker.tsx +5 -5
  50. package/src/components/ui/menubar.tsx +18 -18
  51. package/src/components/ui/message-scroller.tsx +6 -6
  52. package/src/components/ui/message.tsx +6 -6
  53. package/src/components/ui/native-select.tsx +3 -3
  54. package/src/components/ui/navigation-menu.tsx +9 -9
  55. package/src/components/ui/pagination.tsx +9 -9
  56. package/src/components/ui/popover.tsx +1 -1
  57. package/src/components/ui/progress.tsx +2 -2
  58. package/src/components/ui/prompt-picker.tsx +27 -25
  59. package/src/components/ui/radio-group.tsx +4 -4
  60. package/src/components/ui/resizable.tsx +4 -4
  61. package/src/components/ui/scroll-area.tsx +6 -6
  62. package/src/components/ui/search-input.tsx +12 -12
  63. package/src/components/ui/select.tsx +17 -17
  64. package/src/components/ui/separator.tsx +2 -2
  65. package/src/components/ui/sheet.tsx +15 -13
  66. package/src/components/ui/sidebar.tsx +70 -70
  67. package/src/components/ui/skeleton.tsx +12 -1
  68. package/src/components/ui/slider.tsx +4 -4
  69. package/src/components/ui/sonner.tsx +4 -4
  70. package/src/components/ui/spinner.tsx +1 -1
  71. package/src/components/ui/switch.tsx +2 -2
  72. package/src/components/ui/table.tsx +9 -9
  73. package/src/components/ui/tabs.tsx +16 -16
  74. package/src/components/ui/textarea.tsx +1 -1
  75. package/src/components/ui/toggle-group.tsx +1 -1
  76. package/src/components/ui/toggle.tsx +6 -6
  77. package/src/components/ui/tooltip.tsx +1 -1
package/README.md CHANGED
@@ -12,24 +12,16 @@
12
12
  - **源码随包分发**:`files` 含全量 `src`,消费方的 Tailwind 扫的是源码而非压缩产物
13
13
  (压缩会改写 class 字符串,扫 `dist` 会漏类)。开发期还可用本地覆盖开关直连源码,
14
14
  见下方「在 apps/x 里联调本组件库」。
15
- - **Token 唯一数据源**:`src/styles/tokens.css` 定义所有 CSS 变量——三层嵌套架构(③ shadcn 别名 → ② PTEngine 语义层 → ① 原语层纯通道三元组),透明度只在语义层以 `var(--pt-x) / a` 表达,明暗差异只在语义层覆盖;`tailwind.preset.js` 定义 Token → Tailwind 颜色键映射(实色套 `<alpha-value>`,自带透明度的只包 `rgb()`)。详见 tokens.css 文件头注释。
15
+ - **Token 唯一数据源**:`src/styles/tokens.css` 定义所有 CSS 变量;`tailwind.preset.js` 定义 Token → Tailwind 颜色键映射。三层架构与硬规矩见 [组件设计规范](./COMPONENTS-DESIGN-SYSTEM.md),完整定义见 `tokens.css` 文件头注释。
16
16
  - 保留可选 `pnpm build`(vite lib + d.ts),供独立发布。
17
17
 
18
- ## 品牌视觉基调
18
+ ## 设计规范
19
19
 
20
- 可以概括成「**克制、编辑感、内容优先**」——让整个界面看起来冷静、不吵:
20
+ 设计侧的硬规范 —— 设计基调、Token 规矩、交互状态、Button 变体词汇、圆角刻度、字阶、
21
+ 组件内建文案的本地化、消费方规约 —— 统一在 **[组件设计规范](./COMPONENTS-DESIGN-SYSTEM.md)**。
21
22
 
22
- - **近黑文字 + 暖灰中性色为绝对主体**,界面安静、不抢内容。文字灰阶全部由同一个
23
- 近黑原语(`--pt-black`)配不同透明度得来(strong 90% / standard 70% / weak 40%),
24
- 面与描边走 neutral 色阶与黑色低透明度叠加。
25
- - **彩色是稀缺资源、按功能发放,而不是用来装饰**。品牌绿只给 Brand 场景(`bg-brand`)、
26
- 语义色只表达状态(success / danger / warning / information / AI 角色 Token)、
27
- chart 色板只给数据。没有功能含义的地方不出现彩色。
28
- - **大字号标题 + 充足留白建立层级**,而非靠色块、分隔线与阴影。字阶见下方
29
- Typography;Card / 表单控件等根元素无阴影也是同一原则的落地。
30
-
31
- 新增组件或调整 variant 时先对照这三条:一个改动如果让界面「变吵」了
32
- (多了一种装饰性颜色、多了一层非浮层阴影、层级靠色块而非字阶),方向就是错的。
23
+ 本库服务**多个产品**,这份规范只写产品无关的部分;某个产品自己的品牌取值与产品级
24
+ 模式归它自己的设计文件,**对本库无约束力**。
33
25
 
34
26
  ## 接入(所有消费方一致)
35
27
 
@@ -40,22 +32,32 @@
40
32
  pnpm add @ptengine/design-components
41
33
  ```
42
34
 
43
- 1. **Tailwind preset + 扫描包源码** — `tailwind.config.js`
35
+ 1. **引库自带的样式**(0.7.0 起,**必需**)
36
+ ```ts
37
+ import '@ptengine/design-components/style.css';
38
+ ```
39
+ 这份 CSS 由库自己编译发布:类名带 `ptx-` 前缀、内部变量走私有
40
+ `--ptx-*` 命名空间,**宿主的 tailwind 配置与 CSS 变量影响不到它**。
41
+ > ⚠️ **漏了这一行 = 所有组件完全没样式**(裸 DOM),而且不报错。
42
+ > 0.6.0 及更早版本没有这个文件,观感依赖宿主编译,那也是本次改动要解决的问题:
43
+ > 宿主一旦覆盖了同名 utility 或同名变量,库的设计值就静默失效
44
+ > (实测两例:`text-xs` 被压成 12px、`--popover-foreground` 被改成近黑)。
45
+
46
+ 2. **Tailwind preset**(只在你自己的代码里要用库的语义类时才需要)— `tailwind.config.js`
44
47
  ```js
45
48
  import preset from '@ptengine/design-components/tailwind-preset';
46
49
  export default {
47
50
  presets: [preset],
48
- content: [
49
- './src/**/*.{ts,tsx}',
50
- './node_modules/@ptengine/design-components/src/**/*.{js,ts,jsx,tsx}'
51
- ]
51
+ content: ['./src/**/*.{ts,tsx}']
52
52
  };
53
53
  ```
54
- > `src` 而不是 `dist`:`dist` 是压缩后的产物,class 字符串可能被改写,
55
- > Tailwind 扫不全 —— 现象是组件渲染出来但部分样式缺失,且零报错。
56
- > `files` 里带 `src` 就是为了这个。
54
+ > **不要再扫本包的 `src`** —— 0.7.0 起库自带编译好的样式,扫它只会白生成
55
+ > 一批没人用的类名(库组件用的是带前缀的名字,你的配置生成不出来)。
56
+ >
57
+ > preset 的作用只剩一个:让**你自己的代码**能写 `bg-selected` /
58
+ > `text-strong` / `border-neutral` 这些库定义的语义类。不需要就不用配。
57
59
 
58
- 2. **入口引 token 并挂作用域类**
60
+ 3. **入口引 token 并挂作用域类**
59
61
  ```ts
60
62
  import '@ptengine/design-components/styles/tokens.css';
61
63
  document.documentElement.classList.add('pt-ui'); // 或 <html class="pt-ui">
@@ -65,23 +67,32 @@ pnpm add @ptengine/design-components
65
67
  portal 到 body 的浮层才能取到变量);只包子树亦可,但浮层需另行处理。
66
68
  暗色切换:在同一元素上加/去 `.dark` 类。
67
69
 
68
- 3. **组件从包根引**
70
+ 4. **组件从包根引**
69
71
  ```ts
70
72
  import { Button, Dialog, Tabs } from '@ptengine/design-components';
71
73
  ```
72
74
 
73
- 4. **浮层 z-index 对齐**(宿主已有全局层级体系时):库浮层不写死 `z-50`,
75
+ 5. **浮层 z-index 对齐**(宿主已有全局层级体系时):库浮层不写死 `z-50`,
74
76
  而是走三个可覆写变量——`--pt-z-overlay`(dialog / alert-dialog / sheet /
75
77
  drawer)< `--pt-z-popup`(popover / select / dropdown-menu / context-menu /
76
78
  menubar / hover-card)< `--pt-z-tooltip`(tooltip),未设置时回退 `50`。
77
79
  宿主在自己的全局样式里赋值即可接入既有阶梯(apps/x 设 1000 / 1050 / 1070,
78
80
  见其 `src/styles/variables.css`),数值须保持 overlay < popup < tooltip。
79
- 这三个变量是「使用规约 4:不覆盖 CSS 变量」的**唯一豁免**——它们是布局
81
+ 这三个变量是 [组件设计规范](./COMPONENTS-DESIGN-SYSTEM.md) 「使用规约」第 4 条(不覆盖 CSS 变量)的**唯一豁免**——它们是布局
80
82
  集成钩子,不是观感 token,本就设计为由宿主赋值。
81
83
 
82
- > **包里没有编译好的 CSS**:观感全靠消费方自己的 Tailwind 编译 + `tokens.css` 变量。
83
- > 1、2 步少任何一步,组件都会渲染成无样式的裸 DOM——这不是 bug。
84
+ > **0.7.0 起包里自带编译好的 CSS**(`dist/style.css`,约 90 KB,含浅色与暗色两套
85
+ > token)。第 1、3 步少任何一步,组件都会渲染成无样式的裸 DOM——这不是 bug。
84
86
  > `react` / `react-dom`(≥18)是 peerDependency,需宿主自行安装。
87
+ >
88
+ > **宿主能改什么、不能改什么**(0.7.0 起由构建强制,不再靠自觉):
89
+ > - ✅ **品牌色**:定义 `--pt-brand`,所有派生色跟着变
90
+ > - ✅ **浮层层级**:`--pt-z-overlay` / `-popup` / `-tooltip`(见第 5 步)
91
+ > - ✅ **侧栏尺寸**:`--pt-sidebar-width` / `-width-icon`
92
+ > - ❌ 其余一切(字号、行高、圆角、颜色…):库内部走私有命名空间,覆盖无效
93
+ >
94
+ > 这不是限制而是修 bug:0.6.0 及更早,宿主**无意间**的同名覆盖会让库的设计值
95
+ > 静默失效,且无法察觉。观感不满足请到库里改 token / variant(全站生效)。
85
96
 
86
97
  ## 在 apps/x 里联调本组件库
87
98
 
@@ -105,45 +116,6 @@ PT_DESIGN_COMPONENTS_SRC=/你的路径/design-components
105
116
  忘了自己设过 → 「apps/x 里看到的不是发布版的样子」。两种都难自查,
106
117
  改组件前先确认当前是哪种模式。
107
118
 
108
- ## 使用规约(消费方必读)
109
-
110
- 本库经 npm 分发,消费方装的是**锁定的版本号**。因此改动的传播分两段,
111
- 别把它们当成一回事:
112
-
113
- | | 怎么发生 |
114
- |---|---|
115
- | **你在本地看到改动** | 开了覆盖开关就是即时的(见上一节),零流程 |
116
- | **产品真正用上新版本** | 发版(打 tag → CI 发 npm)+ 消费方升版本号装一次,**不会自动** |
117
-
118
- 第二段的手动闸门是有意的:库里手滑改错一行,不该让全线产品下次构建就跟着炸。
119
-
120
- 要让改动能顺畅传播下去,业务项目使用时须遵守:
121
-
122
- 1. **只从包入口引用**:`import { Button } from '@ptengine/design-components'`。
123
- **禁止**把组件源码复制进业务项目——复制即与库脱钩,后续更新不再同步。
124
- 2. **观感全部交给库**:颜色、字体、字号、圆角、阴影一律由组件与 token 提供。
125
- 业务代码**禁止**硬编码色值(`#xxx` / `rgb()`)、字体名、字阶之外的字号;
126
- 需要色彩语义时用 preset 暴露的 token 类(`text-muted-foreground`、
127
- `bg-secondary`、`border-weak`、`bg-brand` 等)。
128
- 3. **`className` 只做布局**:透传 className 用于宽度、间距、栅格、对齐等;
129
- **不要**用它改组件观感(如 `bg-red-500`、`shadow-lg`、`rounded-full`)。
130
- 观感不满足 → 到库里改 variant / token(全站生效),不在调用处打补丁。
131
- 4. **不覆盖 CSS 变量**:业务侧不得重定义 `--pt-*` 或别名变量;`tokens.css`
132
- 只在应用入口引一次,不复制、不改内容;主题切换只用 `.dark` 类。
133
- 唯一豁免:`--pt-z-overlay / --pt-z-popup / --pt-z-tooltip` 三个浮层
134
- z-index 集成钩子本就设计为由宿主赋值(见「消费方接入」第 5 步)。
135
- 5. **缺组件到库里加**:需要新组件时按下方「加组件」流程落到本库
136
- (结构对齐 shadcn + 按交互状态规范适配),不在 app 内单独手写同类组件。
137
-
138
- > 破坏性变更(variant 改名、导出项调整等)会在库侧 commit 说明中标注,
139
- > 消费方按提示迁移。
140
-
141
- ### 规约的执行
142
-
143
- 机器强制现状:**ESLint 层在 apps/x**(`apps/x/eslint.config.js`「组件库治理」块:
144
- 禁直引 Radix / cva、禁深路径引库内部文件、封死 antd;存量 `src/components/ui/**`
145
- 豁免,随迁移批次收紧)。那批存量副本的清理是搬仓之后的下一期工作。
146
-
147
119
  ## 使用
148
120
 
149
121
  ```tsx
@@ -158,130 +130,12 @@ import { Button, Input, Label, cn } from '@ptengine/design-components';
158
130
 
159
131
  沿用 shadcn 目录约定,把组件放到 `src/components/ui/`,用 `cn()` 合并类名、`cva` 管理 variants,然后在 `src/index.ts` 导出。`components.json` 已配好,也可用 `npx shadcn@latest add <component>` 落到本库再按需定制。
160
132
 
161
- ### 交互状态规范(新组件接入必读)
162
-
163
- 交互反馈统一走「状态层 State Layer」+ 中性交互 Token,**禁止**沿用 shadcn 官方的
164
- 替换式写法(`hover:bg-primary/90`、`hover:bg-*/80` 等)。拷官方组件进来时按此适配:
165
-
166
- | 官方写法 | 本库写法 | 说明 |
167
- |---|---|---|
168
- | `hover:bg-primary/90` / `hover:bg-*/80` | 变体类里加 `state-layer` | hover 在原样式上叠加 `--pt-interaction-hover`,active 自动叠加 `--pt-interaction-press`(定义见 `tailwind.preset.js`) |
169
- | `hover:bg-accent hover:text-accent-foreground`(outline/ghost 等) | `state-layer` | 同上,文字色不再切换 |
170
- | `focus:bg-accent` / `data-[highlighted]:bg-accent`(菜单项、下拉选项) | **保留原写法** | Radix 键盘高亮机制依赖 focus/highlighted 态;`--accent` 已指向 `--pt-interaction-hover`,效果与叠加一致 |
171
- | `focus-visible:ring-ring` 等焦点环 | **保留原写法** | `--ring` 已指向 `--pt-interaction-focus`(中性 90%) |
172
- | 持久「选中 / 激活 / 开」态(`data-[state=selected/on]`、`data-[active=true]`) | 元素底色用 `bg-selected` | `--pt-bg-selected` = 中性 8%,**与 hover 同色**;因为 hover 走 state-layer(叠加层而非替换背景),选中态被悬停时两层叠加 ≈ 16%,天然区分「选中」与「悬停」。**不要用品牌绿等彩色表达选中**(彩色只给 Brand / 语义 / 数据)。前提是该元素的 hover 必须是 state-layer 叠加;若 hover 仍是 `hover:bg-*` 替换式,则改用叠加式,或另加区分(如 sidebar 当前项用 `font-medium`) |
173
- | 纯文字反馈(link 变体 `hover:underline`) | **保留原写法** | 不加状态层 |
174
-
175
- ### Button 变体词汇(与 shadcn 官方的差异)
176
-
177
- | 本库 variant | 样式 | 对应官方 |
178
- |---|---|---|
179
- | `default`(Primary) | 高强调黑,暗色反白,反转状态层 | 官方 default(本库 `--primary` 指向黑) |
180
- | `brand` | 品牌绿 | 无(本库新增,`bg-brand`) |
181
- | `secondary` | 描边白底 | 官方 **outline** 的样式 |
182
- | `tertiary` | 灰底弱强调 | 官方 **secondary** 的样式 |
183
-
184
- 拷官方组件/示例进来时:`variant="outline"` → `variant="secondary"`;
185
- 官方 `variant="secondary"` 的场景按语义改用 `tertiary`。`--primary` 槽位为黑色,
186
- 品牌绿一律走 `--brand` / `bg-brand`。
187
-
188
- 想定制某组件观感(配色 / 尺寸 / 圆角),改该组件 cva `variants` 里的类即可全站生效;
189
- Primary(黑,暗色反白)这类深色表面用 `state-layer-inverse`,其余用 `state-layer`。
133
+ 新组件必须按 [组件设计规范](./COMPONENTS-DESIGN-SYSTEM.md) 的「交互状态规范」与「Button 变体词汇」适配,
134
+ 不要沿用 shadcn 官方的替换式 hover 写法。
190
135
 
191
136
  > **注**:组件源码内不写决策/过程注释(playground 会原样展示源码给使用者),
192
- > 规范与决策记录统一沉淀在本 README;`/** */` 形式的 props 说明属于 API 文档,保留。
193
-
194
- 百分比只维护在 `src/styles/tokens.css` 语义层(`--pt-interaction-hover/press/focus`),
195
- 调整后组件与 `/tokens` 展示页自动跟随。
196
-
197
- ## 圆角 Radius(六档)
198
-
199
- | 类名 | 值 | 用在 |
200
- |---|---|---|
201
- | `rounded-sm` | 6px | sm 档控件(24px 高) |
202
- | `rounded-md` | 8px | default / lg 档控件(32 / 40px 高) |
203
- | `rounded-lg` | 10px | 卡片、弹窗、浮层 —— 基准档 |
204
- | `rounded-12` | 12px | 更柔和的面板 |
205
- | `rounded-16` | 16px | 页面级外壳、对话坞 |
206
- | `rounded-20` | 20px | 需要强调圆润的大面 |
207
-
208
- 正圆用 `rounded-full`。可视对照与选档指南见 playground 的 **Radius** 页。
209
-
210
- **为什么大档位用 px 命名而不是 `xl` / `2xl`**:Tailwind 默认 `rounded-xl`=12px、
211
- `rounded-2xl`=16px,与本库需要的 16 / 20 同名不同值。沿用 t 恤码会让从 shadcn / Tailwind
212
- 生态抄来的代码**静默偏移几 px** —— 不报错、不警告,只是看着「有点不对」,极难自查。
213
- `rounded-12/16/20` 在两边都不存在,不可能撞。
214
-
215
- **两种产生方式有意混用**(改值前必读):
216
-
217
- ```
218
- --pt-radius 10px 手写,基准
219
- --pt-radius-md calc(基准 − 2px) 派生 → 8px
220
- --pt-radius-sm calc(基准 − 4px) 派生 → 6px
221
- --pt-radius-12 12px 固定,不跟随基准
222
- --pt-radius-16 16px 固定,不跟随基准
223
- --pt-radius-20 20px 固定,不跟随基准
224
- ```
225
-
226
- 派生那套来自 shadcn(一个 `--radius` 旋钮整体缩放,档间恒差 2px);后加的三档要的是
227
- 「更细的尺子」而不是「可整体缩放的比例」,且基准自建库起从未调过,那个旋钮实际没人用。
228
- **后果**:真去调基准时,前三档会动、后三档不动 —— 这个分裂是有意的,不是漏改。要统一
229
- 应把前三档也写死,而不是把后三档改成 calc(那会让 `rounded-16` 在基准变化后不再是 16px)。
230
-
231
- ⚠️ **缺档就加档,不要硬写 `rounded-[18px]` 这类任意值**,否则每个面板各写各的数,刻度失效。
232
-
233
- ## 字体 Typography(中/日/英三语)
234
-
235
- 品牌字体(源自 Figma `Type/Mode` 的 family 变量):EN `Inter` / JA `Noto Sans JP` /
236
- ZH `Noto Sans SC`。库侧在 `tokens.css` 以 `--font-sans` + `:lang()` 声明三语字体栈
237
- (`'Inter'` 置前,拉丁字符与数字三语统一用 Inter,CJK 落到 JP/SC;各栈带同语言
238
- 系统字体回退),preset 将 `fontFamily.sans` 接到 `var(--font-sans)`。
239
- 组件不声明字体,全部继承。(Figma 中 `family/code` / `family/metric` 亦为 Inter;
240
- 代码展示场景仍保留等宽 `font-mono`,未用 Inter 覆盖。)
241
-
242
- **字阶**(preset `fontSize` 整表覆盖,源自 Figma Text Styles,机读存档
243
- `design/tokens.json`,**在源码仓里、不随 npm 包分发**):`2xs 12/16 · xs 13/20 · sm 14/20 · base 16/24 · lg 18/28 ·
244
- xl 20/32 · 2xl 24/36 · 3xl 28/40 · 4xl 32/48 · 5xl 40/56 · 6xl 48/72 · 7xl 56/72 ·
245
- 8xl 64/96 · 9xl 72/128`。与 Tailwind 默认的差异:新增 `2xs`;**`xs` 为 13px**(非 12);
246
- `xl` 起行高/字号按设计表。字重五档:light 300 / normal 400 / medium 500 / semibold 600 / bold 700。
247
-
248
- **行高按语言可分**:字号三语一致;行高走 `tokens.css` 的 `--lh-*` 变量
249
- (`:root` = English 基准)。现行策略 ja/zh 沿用 English 值;后续精修时在
250
- `:lang(ja)` / `:lang(zh)` 预留块中只填与英文不同的档位,全站自动生效,
251
- 组件零改动(机制已验证:同字号、按语言不同行高)。
252
-
253
- **消费方应用需要做的三件事:**
254
-
255
- 1. **正确设置 `<html lang>`**(`en` / `zh-CN` / `ja`,i18n 框架切语言时同步更新)——
256
- 字体栈按它切换,组件零改动。
257
- 2. **加载字体文件**(库不打包字体):Next.js 用 `next/font/google`,或 fontsource /
258
- `<link>` 引 Google Fonts。加载 300/400/500/600/700 五档字重。
259
- 3. **中国大陆环境自托管 `Noto Sans SC`**(Google Fonts 大陆不可达),并做
260
- unicode-range 子集切片(CJK 全量单字重为 MB 级)。
261
-
262
- ### 组件内建文案的本地化(库不做 i18n,消费方传译文)
263
-
264
- 个别组件自带可见文案或读屏(sr-only / aria-label)标签。库不引 i18n 框架,
265
- 统一做法是**通过 prop 传入、默认英文**——做多语界面时把译文传进去,不传保持
266
- 英文,对现有代码零影响。
267
-
268
- | 组件 | prop | 默认值 |
269
- |---|---|---|
270
- | `SearchInput` | `clearLabel` | Clear |
271
- | `PaginationPrevious` / `PaginationNext` | `label` | Previous / Next |
272
- | `PaginationEllipsis` / `BreadcrumbEllipsis` | `label` | More pages / More |
273
- | `DialogContent` / `SheetContent` | `closeLabel` | Close |
274
- | `CarouselPrevious` / `CarouselNext` | `label` | Previous slide / Next slide |
275
- | `SidebarTrigger` / `SidebarRail` | `label` | Toggle sidebar |
276
- | `MessageScrollerButton` | `label` | Scroll to end / Scroll to start |
277
- | `Spinner` | `label` | Loading |
278
-
279
- ```tsx
280
- <PaginationPrevious label={t('上一页')} />
281
- <DialogContent closeLabel={t('关闭')}>…</DialogContent>
282
- ```
283
-
284
- 新组件若要内建文案,照此约定加 prop,不要写死字符串。
137
+ > 规范与决策记录统一沉淀在 [组件设计规范](./COMPONENTS-DESIGN-SYSTEM.md);`/** */` 形式的 props
138
+ > 说明属于 API 文档,保留。
285
139
 
286
140
  ## 现有组件(shadcn 官方清单已全量覆盖)
287
141
 
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dialog.d.ts","sourceRoot":"","sources":["../../../src/components/ui/alert-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAC;AAKrE,QAAA,MAAM,WAAW,iDAA4B,CAAC;AAE9C,QAAA,MAAM,kBAAkB,wHAA+B,CAAC;AAExD,QAAA,MAAM,iBAAiB,uDAA8B,CAAC;AAEtD,QAAA,MAAM,kBAAkB,wKAYtB,CAAC;AAGH,QAAA,MAAM,kBAAkB,wKAetB,CAAC;AAGH,QAAA,MAAM,iBAAiB;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAEvF,CAAC;AAGF,QAAA,MAAM,iBAAiB;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAKvF,CAAC;AAGF,QAAA,MAAM,gBAAgB,8KASpB,CAAC;AAGH,QAAA,MAAM,sBAAsB,wLAS1B,CAAC;AAGH,QAAA,MAAM,iBAAiB,6KAKrB,CAAC;AAGH,QAAA,MAAM,iBAAiB,6KASrB,CAAC;AAGH,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACpB,CAAC"}
1
+ {"version":3,"file":"alert-dialog.d.ts","sourceRoot":"","sources":["../../../src/components/ui/alert-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAC;AAKrE,QAAA,MAAM,WAAW,iDAA4B,CAAC;AAE9C,QAAA,MAAM,kBAAkB,wHAA+B,CAAC;AAExD,QAAA,MAAM,iBAAiB,uDAA8B,CAAC;AAEtD,QAAA,MAAM,kBAAkB,wKActB,CAAC;AAGH,QAAA,MAAM,kBAAkB,wKAetB,CAAC;AAGH,QAAA,MAAM,iBAAiB;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAEvF,CAAC;AAGF,QAAA,MAAM,iBAAiB;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAKvF,CAAC;AAGF,QAAA,MAAM,gBAAgB,8KASpB,CAAC;AAGH,QAAA,MAAM,sBAAsB,wLAS1B,CAAC;AAGH,QAAA,MAAM,iBAAiB,6KAKrB,CAAC;AAGH,QAAA,MAAM,iBAAiB,6KASrB,CAAC;AAGH,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAM1D,QAAA,MAAM,MAAM,uCAAuB,CAAC;AAEpC,QAAA,MAAM,aAAa,8GAA0B,CAAC;AAE9C,QAAA,MAAM,YAAY,6CAAyB,CAAC;AAE5C,QAAA,MAAM,WAAW,4GAAwB,CAAC;AAE1C,QAAA,MAAM,aAAa,8JAYjB,CAAC;AAGH,qEAAqE;AACrE,KAAK,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AASrC,QAAA,MAAM,aAAa;iBAGE,MAAM;WACZ,UAAU;wCAuCvB,CAAC;AAGH,QAAA,MAAM,YAAY;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAElF,CAAC;AAGF,QAAA,MAAM,YAAY;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAKlF,CAAC;AAGF,QAAA,MAAM,WAAW,oKAYf,CAAC;AAGH,QAAA,MAAM,iBAAiB,8KASrB,CAAC;AAGH,OAAO,EACH,MAAM,EACN,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,EACpB,CAAC"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAM1D,QAAA,MAAM,MAAM,uCAAuB,CAAC;AAEpC,QAAA,MAAM,aAAa,8GAA0B,CAAC;AAE9C,QAAA,MAAM,YAAY,6CAAyB,CAAC;AAE5C,QAAA,MAAM,WAAW,4GAAwB,CAAC;AAE1C,QAAA,MAAM,aAAa,8JAcjB,CAAC;AAGH,qEAAqE;AACrE,KAAK,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AASrC,QAAA,MAAM,aAAa;iBAGE,MAAM;WACZ,UAAU;wCAuCvB,CAAC;AAGH,QAAA,MAAM,YAAY;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAElF,CAAC;AAGF,QAAA,MAAM,YAAY;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAKlF,CAAC;AAGF,QAAA,MAAM,WAAW,oKAYf,CAAC;AAGH,QAAA,MAAM,iBAAiB,8KASrB,CAAC;AAGH,OAAO,EACH,MAAM,EACN,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,EACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../../src/components/ui/drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,MAAM,CAAC;AAIjD,QAAA,MAAM,MAAM;0CAGT,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC;;CAEnD,CAAC;AAGF,QAAA,MAAM,aAAa,+HAA0B,CAAC;AAE9C,QAAA,MAAM,YAAY,8BAAyB,CAAC;AAE5C,QAAA,MAAM,WAAW,6HAAwB,CAAC;AAE1C,QAAA,MAAM,aAAa,kOASjB,CAAC;AAGH,QAAA,MAAM,aAAa,kOAkBjB,CAAC;AAGH,QAAA,MAAM,YAAY;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAElF,CAAC;AAGF,QAAA,MAAM,YAAY;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAElF,CAAC;AAGF,QAAA,MAAM,WAAW,qLASf,CAAC;AAGH,QAAA,MAAM,iBAAiB,+LASrB,CAAC;AAGH,OAAO,EACH,MAAM,EACN,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,EACpB,CAAC"}
1
+ {"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../../src/components/ui/drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,MAAM,CAAC;AAIjD,QAAA,MAAM,MAAM;0CAGT,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC;;CAEnD,CAAC;AAGF,QAAA,MAAM,aAAa,+HAA0B,CAAC;AAE9C,QAAA,MAAM,YAAY,8BAAyB,CAAC;AAE5C,QAAA,MAAM,WAAW,6HAAwB,CAAC;AAE1C,QAAA,MAAM,aAAa,kOAWjB,CAAC;AAGH,QAAA,MAAM,aAAa,kOAkBjB,CAAC;AAGH,QAAA,MAAM,YAAY;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAElF,CAAC;AAGF,QAAA,MAAM,YAAY;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAElF,CAAC;AAGF,QAAA,MAAM,WAAW,qLASf,CAAC;AAGH,QAAA,MAAM,iBAAiB,+LASrB,CAAC;AAGH,OAAO,EACH,MAAM,EACN,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,EACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"input-otp.d.ts","sourceRoot":"","sources":["../../../src/components/ui/input-otp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,QAAA,MAAM,QAAQ;;;;;kBAUC,GAAG;;;;;;;;;;;;;;kBAAH,GAAG;;;;;;;;;2FAGhB,CAAC;AAGH,QAAA,MAAM,aAAa,mKAIlB,CAAC;AAGF,QAAA,MAAM,YAAY;WAEmC,MAAM;wCAuBzD,CAAC;AAGH,QAAA,MAAM,iBAAiB,mKAMtB,CAAC;AAGF,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"input-otp.d.ts","sourceRoot":"","sources":["../../../src/components/ui/input-otp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,QAAA,MAAM,QAAQ;;;;;kBAUN,GAAN;;;;;;;;;;;;;;kBAAM,GAAN;;;;;;;;;2FAGA,CAAC;AAGH,QAAA,MAAM,aAAa,mKAIlB,CAAC;AAGF,QAAA,MAAM,YAAY;WAEmC,MAAM;wCAuBzD,CAAC;AAGH,QAAA,MAAM,iBAAiB,mKAMtB,CAAC;AAGF,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
@@ -63,8 +63,8 @@ export interface PromptPickerItem {
63
63
  * 可选:条目右端的小徽标,如「即将上线」。**只放短枚举**(1-4 字),它是给整条加限定,
64
64
  * 不是第二行说明 —— 长说明走 `hint`(悬停)。
65
65
  *
66
- * 用扁平 chip(`rounded-sm bg-muted`)而不是库的 `Badge` 组件:后者是
67
- * `rounded-full font-semibold` 胶囊,在 32px 高的条目里显得过重,且 lin 已裁定
66
+ * 用扁平 chip(`ptx-rounded-sm ptx-bg-muted`)而不是库的 `Badge` 组件:后者是
67
+ * `ptx-rounded-full ptx-font-semibold` 胶囊,在 32px 高的条目里显得过重,且 lin 已裁定
68
68
  * Badge 只留给短枚举场景的独立标签。此处写法与 apps/x 的 ⋮ 菜单出口组一致。
69
69
  */
70
70
  badge?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-picker.d.ts","sourceRoot":"","sources":["../../../src/components/ui/prompt-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,WAAW,gBAAgB;IAC7B,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC9B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC7F,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B;;;OAGG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzC;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAwCD,QAAA,MAAM,YAAY,0FAkIjB,CAAC;AAGF,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"prompt-picker.d.ts","sourceRoot":"","sources":["../../../src/components/ui/prompt-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,WAAW,gBAAgB;IAC7B,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC9B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC7F,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B;;;OAGG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzC;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AA0CD,QAAA,MAAM,YAAY,0FAkIjB,CAAC;AAGF,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
2
  declare const SIZE_CLASSES: {
3
- readonly sm: "h-[24px] px-[8px] rounded-[var(--pt-radius-sm)] [&_input]:text-[12px] [&_input]:leading-[16px]";
4
- readonly default: "h-[32px] px-[10px]";
5
- readonly lg: "h-[40px] px-[12px] [&_input]:text-[14px] [&_input]:leading-[20px]";
3
+ readonly sm: "ptx-h-[24px] ptx-px-[8px] ptx-rounded-[var(--pt-radius-sm)] [&_input]:ptx-text-2xs";
4
+ readonly default: "ptx-h-[32px] ptx-px-[10px]";
5
+ readonly lg: "ptx-h-[40px] ptx-px-[12px] [&_input]:ptx-text-sm";
6
6
  };
7
7
  export interface SearchInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'type' | 'size'> {
8
8
  /** 尺寸:sm 24px(行内)· default 32px(常规)· lg 36px(页面级主搜索) */
@@ -15,9 +15,9 @@ declare const SelectValue: React.ForwardRefExoticComponent<SelectPrimitive.Selec
15
15
  * 而高度 / 圆角 / 字号是上一轮手工对齐的 —— 手工对齐的东西下次改库时又会散开。
16
16
  * 所以样式收在这里一处,多选触发器 `cn(selectTriggerClassName, …)` 复用。
17
17
  *
18
- * `w-full` 不在里面:Select 自己要撑满容器,而筛选器通常按内容宽。各自加。
18
+ * `ptx-w-full` 不在里面:Select 自己要撑满容器,而筛选器通常按内容宽。各自加。
19
19
  */
20
- export declare const selectTriggerClassName = "flex h-[32px] items-center justify-between whitespace-nowrap rounded-[var(--pt-radius-md)] border border-input bg-transparent px-[12px] py-[8px] text-[13px] leading-[20px] ring-offset-background transition-colors placeholder:text-muted-foreground enabled:hover:border-neutral focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 aria-[invalid=true]:border-destructive aria-[invalid=true]:text-destructive aria-[invalid=true]:enabled:hover:border-destructive aria-[invalid=true]:focus-visible:ring-destructive/30 [&>span]:line-clamp-1";
20
+ export declare const selectTriggerClassName = "ptx-flex ptx-h-[32px] ptx-items-center ptx-justify-between ptx-whitespace-nowrap ptx-rounded-[var(--pt-radius-md)] ptx-border ptx-border-input ptx-bg-transparent ptx-px-[12px] ptx-py-[8px] ptx-text-xs ptx-ring-offset-background ptx-transition-colors placeholder:ptx-text-muted-foreground enabled:hover:ptx-border-neutral focus-visible:ptx-outline-none focus-visible:ptx-ring-1 focus-visible:ptx-ring-ring disabled:ptx-cursor-not-allowed disabled:ptx-opacity-50 aria-[invalid=true]:ptx-border-destructive aria-[invalid=true]:ptx-text-destructive aria-[invalid=true]:enabled:hover:ptx-border-destructive aria-[invalid=true]:focus-visible:ptx-ring-destructive/30 [&>span]:ptx-line-clamp-1";
21
21
  declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
22
22
  declare const SelectScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
23
23
  declare const SelectScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAK1D,QAAA,MAAM,MAAM,uCAAuB,CAAC;AAEpC,QAAA,MAAM,WAAW,yGAAwB,CAAC;AAE1C,QAAA,MAAM,WAAW,0GAAwB,CAAC;AAE1C;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB,6lBAC2jB,CAAC;AAE/lB,QAAA,MAAM,aAAa,oKAejB,CAAC;AAGH,QAAA,MAAM,oBAAoB,qKAWxB,CAAC;AAGH,QAAA,MAAM,sBAAsB,uKAW1B,CAAC;AAGH,QAAA,MAAM,aAAa,8JA6BjB,CAAC;AAGH,QAAA,MAAM,WAAW,4JASf,CAAC;AAGH,QAAA,MAAM,UAAU,2JAmBd,CAAC;AAGH,QAAA,MAAM,eAAe,gKASnB,CAAC;AAGH,OAAO,EACH,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACzB,CAAC"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAK1D,QAAA,MAAM,MAAM,uCAAuB,CAAC;AAEpC,QAAA,MAAM,WAAW,yGAAwB,CAAC;AAE1C,QAAA,MAAM,WAAW,0GAAwB,CAAC;AAE1C;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB,krBACgpB,CAAC;AAEprB,QAAA,MAAM,aAAa,oKAejB,CAAC;AAGH,QAAA,MAAM,oBAAoB,qKAWxB,CAAC;AAGH,QAAA,MAAM,sBAAsB,uKAW1B,CAAC;AAGH,QAAA,MAAM,aAAa,8JA6BjB,CAAC;AAGH,QAAA,MAAM,WAAW,4JASf,CAAC;AAGH,QAAA,MAAM,UAAU,2JAmBd,CAAC;AAGH,QAAA,MAAM,eAAe,gKASnB,CAAC;AAGH,OAAO,EACH,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../../src/components/ui/sheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,cAAc,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKlE,QAAA,MAAM,KAAK,sCAAsB,CAAC;AAElC,QAAA,MAAM,YAAY,6GAAyB,CAAC;AAE5C,QAAA,MAAM,UAAU,2GAAuB,CAAC;AAExC,QAAA,MAAM,WAAW,4CAAwB,CAAC;AAE1C,QAAA,MAAM,YAAY,6JAYhB,CAAC;AAGH,QAAA,MAAM,aAAa;;8EAelB,CAAC;AAEF,UAAU,iBACN,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC,EACjE,YAAY,CAAC,OAAO,aAAa,CAAC;IACtC,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,QAAA,MAAM,YAAY,0FAkBhB,CAAC;AAGH,QAAA,MAAM,WAAW;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAEjF,CAAC;AAGF,QAAA,MAAM,WAAW;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAKjF,CAAC;AAGF,QAAA,MAAM,UAAU,mKASd,CAAC;AAGH,QAAA,MAAM,gBAAgB,6KASpB,CAAC;AAGH,OAAO,EACH,KAAK,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,EACnB,CAAC"}
1
+ {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../../src/components/ui/sheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,cAAc,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKlE,QAAA,MAAM,KAAK,sCAAsB,CAAC;AAElC,QAAA,MAAM,YAAY,6GAAyB,CAAC;AAE5C,QAAA,MAAM,UAAU,2GAAuB,CAAC;AAExC,QAAA,MAAM,WAAW,4CAAwB,CAAC;AAE1C,QAAA,MAAM,YAAY,6JAchB,CAAC;AAGH,QAAA,MAAM,aAAa;;8EAelB,CAAC;AAEF,UAAU,iBACN,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC,EACjE,YAAY,CAAC,OAAO,aAAa,CAAC;IACtC,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,QAAA,MAAM,YAAY,0FAkBhB,CAAC;AAGH,QAAA,MAAM,WAAW;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAEjF,CAAC;AAGF,QAAA,MAAM,WAAW;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAKjF,CAAC;AAGF,QAAA,MAAM,UAAU,mKASd,CAAC;AAGH,QAAA,MAAM,gBAAgB,6KASpB,CAAC;AAGH,OAAO,EACH,KAAK,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,EACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/ui/skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,qBAE9E;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/ui/skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,qBAa9E;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}