@manohub/icon 0.4.2 → 0.6.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.
- package/README.md +4 -4
- package/dist/glyphs.d.ts +2 -4
- package/dist/glyphs.js +6 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,10 +8,10 @@ TS 源码、**不含 JSX**,`tsc` 一个命令直出 `dist`(不引 vite、不
|
|
|
8
8
|
原先图标寄居在 `@manohub/ui/components/icon`(经子路径 `@manohub/ui/icon` 暴露)。问题:
|
|
9
9
|
|
|
10
10
|
1. `@manohub/ui` 是 Tailwind + reka + cva 栈的组件库,**消费它意味着连带接受整套栈**;
|
|
11
|
-
2. `packages/
|
|
11
|
+
2. `packages/kit`(farris 封装 + 原生 CSS,无 Tailwind)只需要一个图标,却因此成为 `@manohub/ui` 的依赖方;
|
|
12
12
|
3. 跨仓分发时,一个只想用图标的工程不应被迫安装组件库。
|
|
13
13
|
|
|
14
|
-
抽出后依赖方向变为:`@manohub/ui` 与 `@manohub/
|
|
14
|
+
抽出后依赖方向变为:`@manohub/ui` 与 `@manohub/kit` **都依赖** `@manohub/icon`,图标成为两侧共享的底座,不再有"骨架层依赖组件库"的倒挂。
|
|
15
15
|
|
|
16
16
|
## 两个入口
|
|
17
17
|
|
|
@@ -54,7 +54,7 @@ pnpm --filter @manohub/icon build # node ../../scripts/clean-dist.mjs &&
|
|
|
54
54
|
pnpm --filter @manohub/icon type-check # tsc --noEmit -p tsconfig.json
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
- `exports` 指向 `dist`(产物分发,与 `
|
|
57
|
+
- `exports` 指向 `dist`(产物分发,与 `ui` / `kit` 一致),消费方无需任何别名或 `paths` 映射。
|
|
58
58
|
- **不需要 vite、也不需要 vue-tsc**:源码里没有 JSX(图标数据是字符串,组件用 `h()` + `innerHTML` 渲染),
|
|
59
59
|
没有 CSS、没有第三方运行时依赖,所以纯 `tsc` 就能同时产出 `dist/*.js` 与 `dist/*.d.ts`。
|
|
60
60
|
- **类型是编译产出的**(`dist/*.d.ts`),不是手写声明 —— 新增图标时类型自动跟着内容表走,不会漂。
|
|
@@ -65,7 +65,7 @@ pnpm --filter @manohub/icon type-check # tsc --noEmit -p tsconfig.json
|
|
|
65
65
|
|
|
66
66
|
- **零运行时依赖 + 零 CSS 依赖**:不引入 `clsx` / `tailwind-merge`,也不依赖任何 CSS 框架;类名直接透传,无需任何合并工具。
|
|
67
67
|
- **基底样式为内联 style**:`{ display: 'inline-block', flexShrink: '0' }`。
|
|
68
|
-
原先是 Tailwind 工具类 `inline-block shrink-0` —— 在 Tailwind 仓(如 portal)生效,在非 Tailwind 仓(如
|
|
68
|
+
原先是 Tailwind 工具类 `inline-block shrink-0` —— 在 Tailwind 仓(如 portal)生效,在非 Tailwind 仓(如 kit 各子应用)是**死类**,图标会丢掉 `flex-shrink: 0`、在 flex 行内被长文本压扁;改内联 style 后两种栈取值一致。
|
|
69
69
|
**代价**:内联 style 优先级高于 class,**无法再用 class 覆盖 `display` / `flex-shrink`**(需要覆盖时请传 `style` —— Vue 会把回退的 style 与基底对象合并,同键以后者为准)。
|
|
70
70
|
- **未知图标名渲染成空图标,不抛错**:消费方可能把业务侧来的字符串透传给 `icon`(如头像的图标档),
|
|
71
71
|
抛错会把整棵组件树带崩;拼写错误由 `IconName` 类型在编译期拦住。
|
package/dist/glyphs.d.ts
CHANGED
|
@@ -13,10 +13,8 @@
|
|
|
13
13
|
export declare const ICON_GLYPHS: {
|
|
14
14
|
readonly loading: "<circle cx=\"12\" cy=\"12\" r=\"10\" stroke-opacity=\"0.25\"/><path d=\"M12 2a10 10 0 0 1 10 10\"/>";
|
|
15
15
|
readonly close: "<path d=\"M18 6 6 18\"/><path d=\"m6 6 12 12\"/>";
|
|
16
|
-
readonly
|
|
17
|
-
readonly
|
|
18
|
-
readonly info: "<circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M12 16v-4\"/><path d=\"M12 8h.01\"/>";
|
|
19
|
-
readonly warning: "<path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 20h16a2 2 0 0 0 1.73-2Z\"/><path d=\"M12 9v4\"/><path d=\"M12 17h.01\"/>";
|
|
16
|
+
readonly info: "<path d=\"M12 10v9\"/><path d=\"M12 5h.01\"/>";
|
|
17
|
+
readonly alert: "<path d=\"M12 5v9\"/><path d=\"M12 19h.01\"/>";
|
|
20
18
|
readonly 'chevron-left': "<path d=\"m15 18-6-6 6-6\"/>";
|
|
21
19
|
readonly 'chevron-right': "<path d=\"m9 18 6-6-6-6\"/>";
|
|
22
20
|
readonly 'chevron-down': "<path d=\"m6 9 6 6 6-6\"/>";
|
package/dist/glyphs.js
CHANGED
|
@@ -13,10 +13,12 @@
|
|
|
13
13
|
export const ICON_GLYPHS = {
|
|
14
14
|
loading: '<circle cx="12" cy="12" r="10" stroke-opacity="0.25"/><path d="M12 2a10 10 0 0 1 10 10"/>',
|
|
15
15
|
close: '<path d="M18 6 6 18"/><path d="m6 6 12 12"/>',
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
/*
|
|
17
|
+
* 状态符号一律是**不带容器**的裸字形(色底由组件给:圆形色底自身就是那一圈,字形再自带一圈会叠成双圈)。
|
|
18
|
+
* 裸符号要与 `alert` 等重:上下撑满 5–19 —— 否则缩到 12px(Toast 的色底尺寸)会明显显小。
|
|
19
|
+
*/
|
|
20
|
+
info: '<path d="M12 10v9"/><path d="M12 5h.01"/>',
|
|
21
|
+
alert: '<path d="M12 5v9"/><path d="M12 19h.01"/>',
|
|
20
22
|
'chevron-left': '<path d="m15 18-6-6 6-6"/>',
|
|
21
23
|
'chevron-right': '<path d="m9 18 6-6-6-6"/>',
|
|
22
24
|
'chevron-down': '<path d="m6 9 6 6 6-6"/>',
|