# 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`