@linkdesk/ui 0.2.29 → 0.2.31

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.
@@ -1,12 +1,16 @@
1
1
  /**
2
2
  * ThemePicker——主题配方卡片选择器(E5.8#50.22)。
3
- * 卡片网格:配方名称 + 配色徽标(单配色 = 预览条 / 多配色 = 配色圆点 + 计数)+ 选中态 + 键盘可达。
4
- * 数据源 = window.linkdesk.theme.listRecipes()(06 §2 RecipeMeta——id/名称/明暗/配色预览色)。
3
+ * 卡片网格:配方名称 + 配色徽标(单配色 = 预览条 / 多配色 = 配色圆点 + 计数)+ **来源行** + 选中态 + 键盘可达。
4
+ * 数据源 = window.linkdesk.theme.listRecipes()(06 §2 RecipeMeta——id/名称/明暗/配色预览色/来源)。
5
5
  * 视觉对标 mockup 01-设置页-主题区(.ldk-theme-picker 四列网格 + .ldk-theme-picker-card 边框/悬停上浮/选中 accent 描边)。
6
6
  * 受控组件:value = 当前 app.theme 值;点卡片 → onChange(recipeId)(上层写配置 → onApply 应用配方)。
7
7
  * 键盘:方向键在卡片间移动焦点(roving tabindex)+ Enter/Space 激活(原生 button)。
8
8
  * 预览区/圆点色 = 配方数据(inline style)——非样式硬编码(同 renderControl 色块先例);
9
9
  * 结构样式全走 CSS 变量(硬约束 1)。
10
+ *
11
+ * 🔴 2026-09-30「指认不明」:加**来源行**(壳自带/来自 X)——壳的内置兜底卡与插件卡名字上都无从分辨
12
+ * (曾经叫 `Dark` / `Light`,看着像同一套的深浅搭子,实际一个来自壳、一个来自插件)。归属进数据
13
+ * (`RecipeMeta.source`),此处只渲染文案(`recipeSource.ts` 单一权威)。
10
14
  */
11
15
  interface ThemePickerProps {
12
16
  /** 当前选中配方 id(app.theme 配置值) */
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 配方来源的**文案**(2026-09-30「app.theme 卡片指认不明」)——归属本身在数据里
3
+ * (`RecipeMeta.source`,壳侧由 `ThemeEngine/source.ts` 解析),这里只管**怎么说**。
4
+ *
5
+ * 两个消费方共用这一份,免得同一件事两种说法:
6
+ * · 主题卡片 `ThemePicker`(设置页「主题 · 整体配方」,React `t`)
7
+ * · 命令面 `ThemeBrowser`(`theme.pick` 两段式 QuickPick 的第一段 detail,非 React `i18n.t`)
8
+ *
9
+ * 🔴 i18n key = 中文原文;译名住语言包(`lang-defaults` 插件)——壳核心文字归语言包(E6#161 归属判据)。
10
+ * 🔴 插件名**不再包一层**:`source.name` 在壳侧已 `t(manifest.name)` 解析过(插件自己的字典),
11
+ * 在这里再 t 一次会把译文当 key 二次查表(英文名恰好命中别的键就会串味)。
12
+ */
13
+ import type { RecipeSource } from "@linkdesk/contracts";
14
+ /** `t` 的最小形状——React `useTranslation().t` 与非 React `i18n.t` 都满足(调用方各包一层窄化) */
15
+ export type TranslateLike = (key: string, options?: Record<string, unknown>) => string;
16
+ /** 来源行文案——宿主兜底 =「壳自带」;插件配方 =「来自 X」。
17
+ * ⚠️ `source` 缺席(旧载荷 / 单测桩)⇒ **返空串、不标注**——⛔ 不许退化成「壳自带」:那会把插件配方
18
+ * 错标成宿主兜底,正是本件要治的「指认不明」反过来发作(defensive tripwire,不是可静默省略的分支)。 */
19
+ export declare function recipeSourceLabel(source: RecipeSource | undefined, t: TranslateLike): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@linkdesk/ui",
3
- "version": "0.2.29",
3
+ "version": "0.2.31",
4
4
  "description": "@linkdesk/ui——LinkDesk 共享 UI 组件的类型契约 + dev 解析体。L9 集中供给:组件代码与样式在运行时由壳池 vendor 单实例供给(壳改一处全生态跟随);npm i 装的是类型与本地解析体,插件源码不 import 本包 css(lint 腿 check-ui-css-import 判红)。版本号与壳同号锁步(E6#124 重锚)。",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",