Overview
dsh-theme
README / EN
Package documentation
Registry summary
dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.
Read the full README on GitHubLIMITATIONS
Known limitations
- **设置页集成**:主题入口在「设置 → 通用 → 主题包」,与内置「外观」选择器并列;没有页面级浮动控件 (DSH 理念:插件应注册进宿主 UI 槽位,而不是独立悬浮组件)。 - **模式切换**:行内「浅色/深色」会直接设置 `body[data-ds-dark-theme]`(persist 到 `localStorage`), 此时 DSH 内置「外观」设置页的显示可能与实际不一致;点「自动」即可恢复跟随内置设置。 - **loader 条目是硬性要求**:DSH 的 `client-modules` 只扫描 loader entries(补丁层里的行), 不会自动发现 `node_modules` 里的 `dsh.client` 包;漏掉 `cordis.patch.yml` 的 `insert` 会导致插件不进 boot manifest。参见 [docs/AGENT.md](docs/AGENT.md) 的排障章节。 - **服务端入口必需**:loader 会 `import()` 插件包,因此 `exports["."]` 与 `lib/index.js` 缺一不可; 漏掉会报 `ERR_PACKAGE_PATH_NOT_EXPORTED` 或 `ERR_MODULE_NOT_FOUND`。 - **样式隔离**:设置行样式与当前主题 CSS 分属两个 `<style>` 元素,任何主题切换/清空都不会破坏行样式; 深色模式下色卡预览条跟随 `body[data-ds-dark-theme]` 切换为对应深色 swatch。 - **主题标识**:主题通过 `body[data-dsh-theme="<id>"]` 生效,与 DSH 内置外观(浅/深)正交,二者可自由组合。 - **兼容性**:令牌名取自 DSH `0.1.0-rc.6` 的 Web 产物;DSH 升级后请用 `npm run verify:live` 复检。 - **依赖平台 seed**:设置行用 `react` + `slots` 服务(DSH 平台 seed,`inject: ["slots"]`), 需要 DSH 版本提供这两个 seed(`0.1.0-rc.6` 起包含);缺失时插件优雅降级(仅保留 `window.dshTheme` API)。
