# Icon 更新日志
先阅读 [完整 LICENSE](https://snowui.dev/LICENSE);同任务、同版本、同范围去重。
### v2.3.4 (2026-10-23)
- 外部children使用独立内部名称,避免被传给Frame的同名children片段遮蔽,修复预编译运行包SSR直接子图形递归;公开Props、图形比例、尺寸与角色不变。
- 2026-09-21:统一使用文档、源码属性表与 Site / AI 阅读入口;仅文档修订,不改变组件行为。
- **Icon-Docs.2026-05-25** 源码顶部历史更新日志已归档;后续新增变更统一写入本文档 更新日志,源码顶部只保留职责、当前关键架构与文档路径。
### v2.3.3 (2026-08-15)
#### 修复
- **IC-Base.1** 内置图片与 SVG 显式拥有 block、100% 尺寸和 max-width 基线,不依赖可选 `snowui-base.css` 的媒体初始化。
### v2.3.2 (2026-03-31)
#### 新功能
- **IC-Resource.1** 新增 `icon` 资源组件透传能力:支持 `` 直接渲染 `resource-svelte` 图标,避免回退为默认占位块。
### v2.3.1 (2026-03-10)
#### 新功能
- **IC-Role.3** Icon 新增 `Image` 宿主组合支持:`as="icon"` 通过 `pin-center` 居中覆盖,`as="badge"` 通过 `pin-top-right` / `pin-bottom-right` 显示角标。
- **IC-Role.4** Icon 新增 `ImageViewer` 宿主组合支持:`as="prev"` / `as="next"` / `as="close"` 可直接接入预览控制定位协议。
### v2.3.0 (2026-03-02)
#### 架构重构
- **IC-Badge.1** 移除了 `mask-image` 透明打孔切割特效。允许 `` 作为普通子节点与主体直接堆叠。
- **IC-Badge.2** 简化了 DOM 结构,剔除了所有跟切割空间几何相关的无用跟踪变量计算。
#### 新功能
- **IC-Feat.3** 新增了空状态下的虚线框占位符样式。当无 `src` 且 `children` 为空时自动渲染浅色虚线框。
### v2.2.8 (2026-02-18)
#### 修复
- **IC-Fix.9** 背景尺寸语义修正:`size` 固定表示内部图标尺寸;开启 `background` 时,padding 作为外扩尺寸叠加(例如 `size=80` 时总外框为 `80 + padding*2`)。
- **IC-HTML.1** 根节点样式变量改为按需注入:默认尺寸链路下沉到 CSS,默认态不再输出内联尺寸变量。
- **IC-Role.1** 新增 Badge 角色尺寸类规则,保持 `as="badge"` 场景不受 Button icon-size 覆盖影响。
### v2.2.6 (2026-02-18)
#### 架构调整
- **IC-Arch.1** 改为单层尺寸控制:尺寸变量与 `width/height/min-size` 下沉到 `.snowui-icon`(Frame 层),wrapper 仅负责定位。
- **IC-Arch.2** 移除 `wrapperSizeClass` 尺寸类透传补丁,恢复按样式优先级由外部 class 直接覆盖 `.snowui-icon`。
### v2.2.5 (2026-02-18)
#### 修复
- **IC-Fix.8** 修复外部尺寸类不生效:将 `size-*` / `w-*` / `h-*` / `min/max-*` 尺寸工具类同步应用到 wrapper 层,确保 `` 可覆盖外框尺寸。
### v2.2.4 (2026-02-18)
#### 架构调整
- **IC-Bridge.1** 尺寸/排版桥接:`width`/`height`/`min-width`/`min-height`/`font-size`/`line-height` 统一改为 `--snowui-icon-*-override` 链路。
- **IC-Bridge.2** 背景模式桥接:`padding`/`border-radius`/`background-color` 统一改为 `--snowui-icon-*-override` 链路。
- **IC-Bridge.3** `style` 内仅保留变量注入与定位能力,不再直接输出动态视觉终值。
### v2.2.3 (2026-02-18)
#### 调整
- **IC-Token.1** `background=false` 时的默认值改为 `padding: var(--padding-0)` 与 `radius: var(--radius-0)`。
- **IC-Token.2** dot 徽标遮罩羽化边界由硬编码 `0.03125rem` 改为 `var(--border-1)`。
### v2.2.2 (2026-02-18)
#### 调整
- **IC-Map.1** `background` 模式 padding 全量切换到 `--padding-1/2/3`,分别对应 `16-32=>4px`、`40-48=>8px`、`80=>12px`。
- **IC-Map.2** `background` 模式 radius 映射更新为 `16-20=>--radius-2`、`24-32=>--radius-3`、`40=>--radius-4`、`48=>--radius-5`、`80=>--radius-7`。
### v2.2.0 (2026-02-07)
#### 新功能
- **IC-Feat.2** 圆角改用 CSS 变量 `--size-radius`,允许外部 class 覆盖 (如 `.rounded-full`)
### v2.2.1 (2026-02-13)
#### 修复
- **IC-Fix.7** 修正 `sizeMap` 比例错误:改为直接使用 `--size-4/5/6/7/8/10/12/20`,并在非标准尺寸场景回退到补偿计算,避免 `as="badge"` 场景徽标尺寸异常放大导致定位错位。
### v2.1.5 (2026-02-03)
#### 文档完善
- **IC-Doc.1** 补充 weight 字重说明以匹配实现
### v2.1.6 (2026-02-05)
#### 架构重构
- **Size Context**: 支持从 `Frame` 上下文读取 `size`。这不仅影响图标自身的字号(sizeRem),还会自动驱动 `background` 模式下的圆角和边距映射。
### v2.1.4 (2026-02-03)
#### 修复
- **IC-Fix.4** 背景色改为类名控制,避免内联样式覆盖外部颜色
- **IC-Fix.5** 字号使用 rem,避免根字号变化导致缩放偏差
- **IC-Fix.6** SSR 环境缺少 btoa 时跳过遮罩生成,避免渲染报错
### v2.1.3 (2026-02-03)
#### 修复
- **IC-Fix.3** dot 徽标切割采用径向遮罩,表现与 Avatar 一致
### v2.1.2 (2026-02-03)
#### 修复
- **IC-Fix.2** 子图标显式 size 覆盖时,容器字号同步生效
### v2.1.1 (2026-02-03)
#### 修复
- **IC-Fix.1** 徽标切割对 `children` 中的 Badge 也生效
### v2.1.0 (2026-02-03)
#### 新功能
- **IC-Feat.1** 子图标显式 `size`/`weight` 覆盖容器(不推荐用法)
#### 破坏性变更
- **IC-Break.1** 移除 `name` Props,`
` 使用空 `alt`