@nonamelego/dsh-catppuccin 0.6.2-beta.0 → 0.6.2-beta.2
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.en.md +5 -3
- package/README.md +2 -1
- package/lib/client.js +178 -41
- package/lib/client.js.map +1 -1
- package/lib/index.js +57 -6
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/README.en.md
CHANGED
|
@@ -85,6 +85,8 @@ Catppuccin theme automatically.
|
|
|
85
85
|
- 🔄 **Update check**: one-click "Check for updates" in Settings compares the latest npm
|
|
86
86
|
version and gives you a copyable upgrade command; **auto-check is on by default** (once at
|
|
87
87
|
startup, then every 6 hours) and the release channel switches between stable and beta
|
|
88
|
+
- 💬 **Feedback & support**: GitHub links at the bottom of the settings section and the
|
|
89
|
+
plugin's detail page — open an issue when something breaks, star the repo if you like it
|
|
88
90
|
- 💻 **[dsh-TUI](https://github.com/ccch1mneyyy/dsh-TUI) terminal themes**: one command installs into
|
|
89
91
|
dsh-TUI; the four themes sync to `~/.dsh-tui/themes/` automatically
|
|
90
92
|
(see [Installation · dsh-TUI](#dsh-tui-terminal-themes))
|
|
@@ -226,9 +228,9 @@ installing, launch `dsh --profile dsh-tui` and pick the theme with `/theme` —
|
|
|
226
228
|
you had before enabling Catppuccin (light / dark / follow system) instead of forcing a reset.
|
|
227
229
|
|
|
228
230
|
> **Second entrance**: open this plugin's own card on the **Plugins** page and the middle of
|
|
229
|
-
> its detail page shows the **same settings** (Catppuccin theme / Glass / Check for updates
|
|
230
|
-
> both read and write one set of preferences, so either place works.
|
|
231
|
-
> host's plugin detail page (`0.2.0-rc.2` and later); older versions do not have it.
|
|
231
|
+
> its detail page shows the **same settings** (Catppuccin theme / Glass / Check for updates /
|
|
232
|
+
> Feedback & support) — both read and write one set of preferences, so either place works.
|
|
233
|
+
> That area comes from the host's plugin detail page (`0.2.0-rc.2` and later); older versions do not have it.
|
|
232
234
|
|
|
233
235
|
### Other options in the Catppuccin row
|
|
234
236
|
|
package/README.md
CHANGED
|
@@ -77,6 +77,7 @@ Catppuccin 主题。
|
|
|
77
77
|
纯色背景跟随主题底色——内容滚入视口边缘时柔化穿过,层次更立体
|
|
78
78
|
- 🎨 玻璃配色自动跟随当前 Catppuccin 主题
|
|
79
79
|
- 🔄 **检查 Catppuccin 插件更新**:设置页一键检测本插件(dsh-catppuccin)在 npm 上的最新版本,发现新版直接给出可复制的升级命令;**默认开启自动检查**(启动后一次 + 每 6 小时),更新渠道可选稳定版 / Beta
|
|
80
|
+
- 💬 **反馈与支持**:设置区底部与插件详情页附 GitHub 链接——遇到问题可提 Issue,喜欢就点个 Star ⭐
|
|
80
81
|
- 💻 **[dsh-TUI](https://github.com/ccch1mneyyy/dsh-TUI) 终端主题**:一条安装命令装进 dsh-TUI,四套主题自动同步到 `~/.dsh-tui/themes/`,见[安装 · dsh-TUI](#dsh-tui终端版主题)
|
|
81
82
|
|
|
82
83
|
## 预览
|
|
@@ -198,7 +199,7 @@ dsh plugin --profile dsh-tui add https://github.com/NoNameLeGo/dsh-catppuccin-th
|
|
|
198
199
|
的官方偏好(浅色 / 深色 / 跟随系统),而不是强制重置。
|
|
199
200
|
|
|
200
201
|
> **另一处入口**:在 **插件页**(Plugins)点开本插件自己的卡片,中间会出现**同一组设置**
|
|
201
|
-
> (Catppuccin 主题 / 玻璃质感 /
|
|
202
|
+
> (Catppuccin 主题 / 玻璃质感 / 检查更新 / 反馈与支持)——两处读写的是同一份偏好,改哪边都一样。
|
|
202
203
|
> 该区域由宿主(≥ `0.2.0-rc.2` 的插件详情页)提供,更旧的版本上没有。
|
|
203
204
|
|
|
204
205
|
### Catppuccin 行里的其它选项
|
package/lib/client.js
CHANGED
|
@@ -590,7 +590,7 @@ window.__ModuleLoader__.load({
|
|
|
590
590
|
* (item II — lazy CSS), so editing the stylesheet means editing
|
|
591
591
|
* glass.module.css and rebuilding.
|
|
592
592
|
*/
|
|
593
|
-
const GLASS_CSS_TEXT = "[data-dsh-glass] body{--dsh-glass-card:color-mix(in srgb, var(--dsw-alias-bg-layer-1) calc(52% * var(--dsh-glass-frost,1)), transparent);--dsh-glass-card-raised:color-mix(in srgb, var(--dsw-alias-bg-layer-1) calc(64% * var(--dsh-glass-frost,1)), transparent);--dsh-glass-card-hover:color-mix(in srgb, var(--dsw-alias-bg-layer-1) calc(76% * var(--dsh-glass-frost,1)), transparent);--dsh-glass-rim:color-mix(in srgb, var(--dsw-alias-label-primary) 18%, transparent);--dsh-glass-rim-soft:color-mix(in srgb, var(--dsw-alias-label-primary) 12%, transparent);--dsh-glass-edge:inset 0 1px 0 #ffffff6b;--dsh-glass-drop:0 10px 32px color-mix(in srgb, var(--dsw-alias-bg-mask-2) 38%, transparent)}[data-dsh-glass] body[data-ds-dark-theme]{--dsh-glass-rim:color-mix(in srgb, var(--dsw-alias-label-primary) 24%, transparent);--dsh-glass-rim-soft:color-mix(in srgb, var(--dsw-alias-label-primary) 16%, transparent);--dsh-glass-edge:inset 0 1px 0 #ffffff14;--dsh-glass-drop:0 10px 32px #02060e73}[data-dsh-glass] body{background:color-mix(in srgb, color-mix(in srgb, var(--dsw-alias-bg-base), #fff calc(var(--dsh-glass-brightness-white,0) * 100%)), #000 calc(var(--dsh-glass-brightness-black,0) * 100%))}[data-dsh-glass] [data-dsh-glass-frame],[data-dsh-glass] [data-phase],[data-dsh-glass] [data-dsh-glass-details]{background:0 0}[data-dsh-glass-float] [data-phase=active] header{z-index:8;position:relative}[data-dsh-glass-float] [class*=banner]{position:static}[data-dsh-glass-float] [data-phase=active] [data-conversation-scroll]{margin-top:-95px;padding-top:107px}[data-dsh-glass] [data-phase] [class*=composerSeat][class*=composerSeat]{background:0 0}[data-dsh-glass] [data-dsh-glass-fade]{z-index:7;pointer-events:none;backdrop-filter:blur(5px);background:#ffffff2e;height:13px;position:fixed;left:0;right:0}[data-dsh-glass] body[data-ds-dark-theme] [data-dsh-glass-fade]{background:#00000024}[data-dsh-glass] [data-dsh-glass-fade=top]{top:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 100%);mask-image:linear-gradient(#000 0%,#0000 100%)}[data-dsh-glass][data-windows-titlebar] [data-dsh-glass-fade=top]{display:none}[data-dsh-glass] [data-dsh-glass-fade=bottom]{bottom:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 100%);mask-image:linear-gradient(#0000 0%,#000 100%)}[data-dsh-glass-float] [role=menu],[data-dsh-glass-float] [role=dialog],[data-dsh-glass-float] [role=alert],[data-dsh-glass-float] [data-trigger-menu],[data-dsh-glass-float] [data-dsh-glass-surface]{border-radius:14px}[data-dsh-glass-float] [role=menuitem],[data-dsh-glass-float] [role=tooltip],[data-dsh-glass-float] [class*=pill]{border-radius:8px}[data-dsh-glass-float] button[class*=button]{border-radius:10px}[data-dsh-glass-float] [class*=iconButton],[data-dsh-glass-float] [class*=searchButton]{border-radius:8px}[data-dsh-glass-float] [class*=block]{--dsl-code-block-border-radius:14px;--dsl-diff-radius:14px;--dsl-read-radius:14px;--dsl-terminal-radius:14px;--dsl-web-radius:14px;--dsl-search-radius:14px;border-radius:14px}[data-dsh-glass-float] [data-dsh-glass-add]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim);box-shadow:var(--dsh-glass-edge);backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass-float] [data-dsh-glass-add]:hover:not(:disabled){background:var(--dsh-glass-card-hover)}[data-dsh-glass-float] [data-dsh-glass-surface]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim);box-shadow:var(--dsh-glass-edge);backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass-float] [data-dsh-glass-surface]:hover:not(:disabled){background:var(--dsh-glass-card-hover)}[data-dsh-glass-float] [data-conversation-scroll] [class*=bubble]{border:1px solid var(--dsh-glass-rim-soft);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) calc(46% * var(--dsh-glass-frost,1)), transparent);border-radius:14px}[data-dsh-glass-float] [class*=card]{border-radius:14px}[data-dsh-glass] [data-dsh-glass-settings]{--dsh-glass-settings-raised:calc(38% + 38% * var(--dsh-glass-frost,1));--dsh-glass-settings-soft:calc(30% + 30% * var(--dsh-glass-frost,1));--dsw-alias-bg-module-platform:color-mix(in srgb, var(--dsw-static-neutral-bluish-800) var(--dsh-glass-settings-raised), transparent);--dsw-alias-bg-layer-3:color-mix(in srgb, var(--dsw-static-neutral-bluish-800) var(--dsh-glass-settings-soft), transparent);--dsw-alias-bg-layer-2:color-mix(in srgb, var(--dsw-static-neutral-bluish-850) var(--dsh-glass-settings-raised), transparent);--dsw-alias-bg-layer-1:color-mix(in srgb, var(--dsw-static-neutral-bluish-850) var(--dsh-glass-settings-soft), transparent);--dsw-specific-sidebar-nav-item-active:color-mix(in srgb, var(--dsw-static-neutral-bluish-750) var(--dsh-glass-settings-raised), transparent);--dsw-specific-sidebar-nav-item-hover:color-mix(in srgb, var(--dsw-static-neutral-bluish-850) var(--dsh-glass-settings-soft), transparent)}[data-dsh-glass] body:not([data-ds-dark-theme]) [data-dsh-glass-settings]{--dsw-alias-bg-module-platform:color-mix(in srgb, var(--dsw-static-neutral-bluish-60) var(--dsh-glass-settings-raised), transparent);--dsw-alias-bg-layer-3:color-mix(in srgb, var(--dsw-static-neutral-bluish-00) var(--dsh-glass-settings-soft), transparent);--dsw-alias-bg-layer-2:color-mix(in srgb, var(--dsw-static-neutral-bluish-00) var(--dsh-glass-settings-raised), transparent);--dsw-alias-bg-layer-1:color-mix(in srgb, var(--dsw-static-neutral-bluish-00) var(--dsh-glass-settings-soft), transparent);--dsw-specific-sidebar-nav-item-active:color-mix(in srgb, var(--dsw-static-neutral-bluish-100) var(--dsh-glass-settings-raised), transparent);--dsw-specific-sidebar-nav-item-hover:color-mix(in srgb, var(--dsw-static-neutral-bluish-75) var(--dsh-glass-settings-soft), transparent)}[data-dsh-glass-float] [data-phase] header{border:1px solid var(--dsh-glass-rim);background:var(--dsh-glass-card);box-shadow:var(--dsh-glass-edge), var(--dsh-glass-drop);backdrop-filter:blur(var(--dsh-glass-blur,14px));border-radius:20px;margin:12px 16px 0;padding:10px 16px 8px}[data-dsh-glass-float] [data-phase] header:after{display:none}[data-dsh-glass-float] [data-dsh-glass-frame][data-sidebar-collapsed] [data-phase] header{margin-left:28px}[data-dsh-glass-float] [class*=sidebarCol]{--dsw-specific-sidebar-fill:transparent;z-index:9;border:1px solid var(--dsh-glass-rim);border-right-color:color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 40%, transparent);box-shadow:var(--dsh-glass-drop);border-radius:20px;margin:12px;padding:10px 12px 14px;position:relative;overflow:hidden}[data-dsh-glass-float] [class*=sidebarCol]:before{content:\"\";border-radius:inherit;background:var(--dsh-glass-card);box-shadow:var(--dsh-glass-edge);z-index:-1;pointer-events:none;transition:border-radius .15s var(--ds-ease-in-out);position:absolute;inset:0}[data-dsh-glass-float] body[data-ds-dark-theme] [class*=sidebarCol]{border-right-color:color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 22%, transparent)}[data-dsh-glass-float] [data-dsh-glass-frame][data-sidebar-collapsed] [class*=sidebarCol]{transition:margin .15s var(--ds-ease-in-out), border-radius .15s var(--ds-ease-in-out);border-radius:16px;margin:12px -12px 12px 12px;padding:0}[data-dsh-glass-float] [data-dsh-glass-frame]:not([data-sidebar-collapsed]) [data-dsh-glass-sidebar-root]{width:100%!important}[data-dsh-glass-float] [data-dsh-glass-trajectory]{border:1px solid var(--dsh-glass-rim);background:var(--dsh-glass-card);width:calc(100% - 32px);height:calc(100% - 20px);box-shadow:var(--dsh-glass-edge), var(--dsh-glass-drop);border-radius:20px;margin:8px 16px 12px;overflow:hidden}[data-dsh-glass-float] [data-dsh-glass-trajectory] [role=toolbar],[data-dsh-glass-float] [data-dsh-glass-trajectory] section[aria-label=Trajectory\\ timeline]{background:0 0}[data-dsh-glass-float] [data-composer-card],[data-dsh-glass-float] [data-composer-card]:after{border-radius:24px}[data-dsh-glass-float] [data-composer-card]{z-index:8;isolation:isolate;border:1px solid var(--dsh-glass-rim);box-shadow:var(--dsh-glass-drop);background:0 0;position:relative}[data-dsh-glass-float] [data-composer-card]:before{content:\"\";z-index:-1;border-radius:inherit;background:var(--dsh-glass-card);box-shadow:var(--dsh-glass-edge);backdrop-filter:blur(var(--dsh-glass-blur,14px));pointer-events:none;position:absolute;inset:0}[data-dsh-glass-float] [data-dsh-glass-inputbar]:not([class*=hero]):not(:has([data-dsh-glass-stats])){padding-bottom:12px}[data-dsh-glass][data-dsh-glass-float] [data-dsh-glass-inputbar]:has([data-dsh-glass-stats]){isolation:isolate;border:1px solid var(--dsh-glass-rim);box-shadow:var(--dsh-glass-drop);background:0 0;border-radius:24px;margin:0 auto 12px;padding:0;position:relative;width:var(--dsh-composer-card-max-width)!important;max-width:var(--dsh-composer-card-max-width)!important}[data-dsh-glass][data-dsh-glass-float] [data-dsh-glass-inputbar]:has([data-dsh-glass-stats]):before{content:\"\";z-index:-1;border-radius:inherit;background:var(--dsh-glass-card);box-shadow:var(--dsh-glass-edge);backdrop-filter:blur(var(--dsh-glass-blur,14px));pointer-events:none;position:absolute;inset:0}[data-dsh-glass-float] [data-dsh-glass-inputbar]:has([data-dsh-glass-stats]) [data-composer-card]{box-shadow:none;backdrop-filter:none;background:0 0;border:none;border-radius:0}[data-dsh-glass-float] [data-dsh-glass-inputbar]:has([data-dsh-glass-stats]) [data-composer-card]:before,[data-dsh-glass-float] [data-dsh-glass-inputbar]:has([data-dsh-glass-stats]) [data-composer-card]:after{display:none}[data-dsh-glass][data-dsh-glass-float] [data-dsh-glass-inputbar]:has([data-dsh-glass-stats]) [data-slot]{border:none;border-top:1px solid var(--dsh-glass-rim-soft);box-shadow:none;backdrop-filter:none;background:0 0;border-radius:0;margin:0;padding:2px 16px 6px;width:100%!important;max-width:none!important}[data-dsh-glass][data-dsh-glass-float] [data-dsh-glass-inputbar] [data-slot] [data-dsh-glass-stats]{min-width:0;box-shadow:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;margin:0;width:100%!important;padding:4px 0 0!important}[data-dsh-glass][data-dsh-glass-float] [data-dsh-glass-inputbar] [data-slot] [data-dsh-live-tps]{padding-right:0}[data-dsh-glass-float] [role=treeitem][aria-selected=true]{background:color-mix(in srgb, var(--dsw-specific-sidebar-nav-item-active) 40%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 24%, transparent), 0 0 14px color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 12%, transparent)}[data-dsh-glass-float] button[class*=button]:hover:not(:disabled),[data-dsh-glass-float] [role=menuitem]:hover:not(:disabled){box-shadow:0 0 12px color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 20%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--dsw-alias-border-l3) 60%, transparent)}[data-dsh-glass-float] [role=menu]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim-soft);backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass-float] [role=menu]:has([role=group]>[role=menuitemradio]){background:color-mix(in srgb, var(--dsw-alias-bg-layer-2) 70%, transparent)}[data-dsh-glass-float] [role=menu] [role=group]:has(>[role=menuitemradio])>:first-child{border:1px solid var(--dsh-glass-rim);background:var(--dsh-glass-card-raised);backdrop-filter:blur(var(--dsh-glass-blur,14px));border-radius:999px;align-items:center;width:fit-content;margin:3px 0 5px 6px;padding:3px 10px;display:inline-flex}[data-dsh-glass-float] [role=dialog][aria-modal=true]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim);box-shadow:var(--dsh-glass-edge);backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass] [data-conversation-scroll]{text-shadow:0 0 1px #ffffff80}[data-dsh-glass] body[data-ds-dark-theme] [data-conversation-scroll]{text-shadow:0 0 1px #0006}[data-dsh-glass-float] [data-dsh-glass-inputbar] [data-slot]{color:var(--dsw-alias-label-secondary)}[data-dsh-glass]{--dsh-glass-entry-scale:1}[data-dsh-glass-compat]{--dsh-glass-entry-scale:0}[data-dsh-glass] [data-phase=hero]{animation:dsh-glass-in calc(.32s * var(--dsh-glass-entry-scale,1)) var(--ds-ease-in-out)}[data-dsh-glass] [data-phase=active]{animation:dsh-glass-in calc(.3s * var(--dsh-glass-entry-scale,1)) var(--ds-ease-in-out)}[data-dsh-glass] [data-testid^=view-]{animation:dsh-glass-in calc(.26s * var(--dsh-glass-entry-scale,1)) var(--ds-ease-in-out)}[data-dsh-glass] [data-tool]{animation:dsh-glass-rise calc(.3s * var(--dsh-glass-entry-scale,1)) var(--ds-ease-in-out) both}[data-dsh-glass] [role=dialog]{animation:dsh-glass-dialog-in calc(.24s * var(--dsh-glass-entry-scale,1)) var(--ds-ease-in-out)}@keyframes dsh-glass-in{0%{opacity:0}}@keyframes dsh-glass-rise{0%{opacity:0;transform:translateY(6px)}}@keyframes dsh-glass-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}[data-dsh-glass] :focus-visible{outline:2px solid color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 85%, transparent);outline-offset:1px}[data-dsh-glass] ::selection{background:color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 35%, transparent)}[data-dsh-glass-compat] [role=menu],[data-dsh-glass-compat] [class*=popover],[data-dsh-glass-compat] [class*=dropdown],[data-dsh-glass-compat] [data-sidebar-right-panel][data-sidebar-right-open],[data-dsh-glass-compat] [data-sidebar-right-panel][data-sidebar-right-open] [class*=panel]{backdrop-filter:blur(12px)}[data-dsh-glass-compat] [role=menu],[data-dsh-glass-compat] [class*=popover],[data-dsh-glass-compat] [class*=dropdown]{background:var(--dsh-glass-card-raised)}[data-dsh-glass-compat] [data-composer-card]{isolation:isolate;backdrop-filter:none;background:0 0;position:relative}[data-dsh-glass-compat] [data-composer-card]:before{content:\"\";z-index:-1;border-radius:inherit;background:var(--dsh-glass-card-raised);backdrop-filter:blur(12px);pointer-events:none;position:absolute;inset:0}[data-dsh-glass-compat] [role=menu]:not(:focus-visible),[data-dsh-glass-compat] [data-composer-card]:not(:focus-visible),[data-dsh-glass-compat] [class*=popover]:not(:focus-visible),[data-dsh-glass-compat] [class*=dropdown]:not(:focus-visible){outline:1px solid var(--dsh-glass-rim);outline-offset:-1px}[data-dsh-glass-compat] [role=dialog][aria-modal=true]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim);backdrop-filter:blur(var(--dsh-glass-blur,12px))}@media (prefers-reduced-motion:reduce){[data-dsh-glass] [data-phase=hero],[data-dsh-glass] [data-phase=active],[data-dsh-glass] [data-testid^=view-],[data-dsh-glass] [data-tool],[data-dsh-glass] [role=dialog]{animation:none}}";
|
|
593
|
+
const GLASS_CSS_TEXT = "[data-dsh-glass] body{--dsh-glass-card:color-mix(in srgb, var(--dsw-alias-bg-layer-1) calc(52% * var(--dsh-glass-frost,1)), transparent);--dsh-glass-card-raised:color-mix(in srgb, var(--dsw-alias-bg-layer-1) calc(64% * var(--dsh-glass-frost,1)), transparent);--dsh-glass-card-hover:color-mix(in srgb, var(--dsw-alias-bg-layer-1) calc(76% * var(--dsh-glass-frost,1)), transparent);--dsh-glass-rim:color-mix(in srgb, var(--dsw-alias-label-primary) 18%, transparent);--dsh-glass-rim-soft:color-mix(in srgb, var(--dsw-alias-label-primary) 12%, transparent);--dsh-glass-rim-strong:color-mix(in srgb, var(--dsw-alias-label-primary) 30%, transparent);--dsh-glass-edge:inset 0 1px 0 #ffffff6b;--dsh-glass-drop:0 10px 32px color-mix(in srgb, var(--dsw-alias-bg-mask-2) 38%, transparent);--dsh-glass-input-shadow:0 1px 2px color-mix(in srgb, var(--dsw-alias-bg-mask-2) 65%, transparent), 0 8px 24px color-mix(in srgb, var(--dsw-alias-bg-mask-2) 80%, transparent)}[data-dsh-glass] body[data-ds-dark-theme]{--dsh-glass-rim:color-mix(in srgb, var(--dsw-alias-label-primary) 24%, transparent);--dsh-glass-rim-soft:color-mix(in srgb, var(--dsw-alias-label-primary) 16%, transparent);--dsh-glass-rim-strong:color-mix(in srgb, var(--dsw-alias-label-primary) 30%, transparent);--dsh-glass-edge:inset 0 1px 0 #ffffff14;--dsh-glass-drop:0 10px 32px #02060e73;--dsh-glass-input-shadow:0 1px 2px color-mix(in srgb, var(--dsw-alias-bg-mask-2) 65%, transparent), 0 8px 24px color-mix(in srgb, var(--dsw-alias-bg-mask-2) 80%, transparent)}[data-dsh-glass] body{background:color-mix(in srgb, color-mix(in srgb, var(--dsw-alias-bg-base), #fff calc(var(--dsh-glass-brightness-white,0) * 100%)), #000 calc(var(--dsh-glass-brightness-black,0) * 100%))}[data-dsh-glass] [data-dsh-glass-frame],[data-dsh-glass] [data-phase],[data-dsh-glass] [data-dsh-glass-details]{background:0 0}[data-dsh-glass-float] [data-phase=active] header{z-index:8;position:relative}[data-dsh-glass-float] [class*=banner]{position:static}[data-dsh-glass-float] [data-phase=active] [data-conversation-scroll]{margin-top:-95px;padding-top:107px}[data-dsh-glass] [data-phase] [class*=composerSeat][class*=composerSeat]{background:0 0}[data-dsh-glass] [data-dsh-glass-fade]{z-index:7;pointer-events:none;backdrop-filter:blur(5px);background:#ffffff2e;height:13px;position:fixed;left:0;right:0}[data-dsh-glass] body[data-ds-dark-theme] [data-dsh-glass-fade]{background:#00000024}[data-dsh-glass] [data-dsh-glass-fade=top]{top:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 100%);mask-image:linear-gradient(#000 0%,#0000 100%)}[data-dsh-glass][data-windows-titlebar] [data-dsh-glass-fade=top]{display:none}[data-dsh-glass] [data-dsh-glass-fade=bottom]{bottom:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 100%);mask-image:linear-gradient(#0000 0%,#000 100%)}[data-dsh-glass-float] [data-menu-material=translucent],[data-dsh-glass-float] [role=menu]:not([data-menu-material]):not([data-menu-material] *),[data-dsh-glass-float] [role=dialog],[data-dsh-glass-float] [role=alert],[data-dsh-glass-float] [data-trigger-menu],[data-dsh-glass-float] [data-dsh-glass-surface]{border-radius:14px}[data-dsh-glass-float] [role=menuitem],[data-dsh-glass-float] [role=tooltip],[data-dsh-glass-float] [class*=pill]{border-radius:8px}[data-dsh-glass-float] button[class*=button]{border-radius:10px}[data-dsh-glass-float] [class*=iconButton],[data-dsh-glass-float] [class*=searchButton]{border-radius:8px}[data-dsh-glass-float] [class*=block]{--dsl-code-block-border-radius:14px;--dsl-diff-radius:14px;--dsl-read-radius:14px;--dsl-terminal-radius:14px;--dsl-web-radius:14px;--dsl-search-radius:14px;border-radius:14px}[data-dsh-glass-float] [data-dsh-glass-add]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim);box-shadow:var(--dsh-glass-edge);backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass-float] [data-dsh-glass-add]:hover:not(:disabled){background:var(--dsh-glass-card-hover)}[data-dsh-glass-float] [data-dsh-glass-surface]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim);box-shadow:var(--dsh-glass-edge);backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass-float] [data-dsh-glass-surface]:hover:not(:disabled){background:var(--dsh-glass-card-hover)}[data-dsh-glass-float] [data-conversation-scroll] [class*=bubble]{border:1px solid var(--dsh-glass-rim-soft);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) calc(46% * var(--dsh-glass-frost,1)), transparent);border-radius:14px}[data-dsh-glass-float] [class*=card]{border-radius:14px}[data-dsh-glass] [data-dsh-glass-settings]{--dsh-glass-settings-raised:calc(38% + 38% * var(--dsh-glass-frost,1));--dsh-glass-settings-soft:calc(30% + 30% * var(--dsh-glass-frost,1));--dsw-alias-bg-module-platform:color-mix(in srgb, var(--dsw-static-neutral-bluish-800) var(--dsh-glass-settings-raised), transparent);--dsw-alias-bg-layer-3:color-mix(in srgb, var(--dsw-static-neutral-bluish-800) var(--dsh-glass-settings-soft), transparent);--dsw-alias-bg-layer-2:color-mix(in srgb, var(--dsw-static-neutral-bluish-850) var(--dsh-glass-settings-raised), transparent);--dsw-alias-bg-layer-1:color-mix(in srgb, var(--dsw-static-neutral-bluish-850) var(--dsh-glass-settings-soft), transparent);--dsw-specific-sidebar-nav-item-active:color-mix(in srgb, var(--dsw-static-neutral-bluish-750) var(--dsh-glass-settings-raised), transparent);--dsw-specific-sidebar-nav-item-hover:color-mix(in srgb, var(--dsw-static-neutral-bluish-850) var(--dsh-glass-settings-soft), transparent)}[data-dsh-glass] body:not([data-ds-dark-theme]) [data-dsh-glass-settings]{--dsw-alias-bg-module-platform:color-mix(in srgb, var(--dsw-static-neutral-bluish-60) var(--dsh-glass-settings-raised), transparent);--dsw-alias-bg-layer-3:color-mix(in srgb, var(--dsw-static-neutral-bluish-00) var(--dsh-glass-settings-soft), transparent);--dsw-alias-bg-layer-2:color-mix(in srgb, var(--dsw-static-neutral-bluish-00) var(--dsh-glass-settings-raised), transparent);--dsw-alias-bg-layer-1:color-mix(in srgb, var(--dsw-static-neutral-bluish-00) var(--dsh-glass-settings-soft), transparent);--dsw-specific-sidebar-nav-item-active:color-mix(in srgb, var(--dsw-static-neutral-bluish-100) var(--dsh-glass-settings-raised), transparent);--dsw-specific-sidebar-nav-item-hover:color-mix(in srgb, var(--dsw-static-neutral-bluish-75) var(--dsh-glass-settings-soft), transparent)}[data-dsh-glass-float] [data-phase] header{border:1px solid var(--dsh-glass-rim);background:var(--dsh-glass-card);box-shadow:var(--dsh-glass-edge), var(--dsh-glass-drop);backdrop-filter:blur(var(--dsh-glass-blur,14px));border-radius:20px;margin:12px 16px 0;padding:10px 16px 8px}[data-dsh-glass-float] [data-phase] header:after{display:none}[data-dsh-glass-float] [data-dsh-glass-frame][data-sidebar-collapsed] [data-phase] header{margin-left:28px}[data-dsh-glass-float] [class*=sidebarCol]{--dsw-specific-sidebar-fill:transparent;z-index:9;border:1px solid var(--dsh-glass-rim);box-shadow:var(--dsh-glass-drop);border-radius:20px;margin:12px;padding:10px 12px 14px;position:relative;overflow:hidden}[data-dsh-glass-float] [class*=sidebarCol]:before{content:\"\";border-radius:inherit;background:var(--dsh-glass-card);box-shadow:var(--dsh-glass-edge);z-index:-1;pointer-events:none;transition:border-radius .15s var(--ds-ease-in-out);position:absolute;inset:0}[data-dsh-glass-float] [data-dsh-glass-frame][data-sidebar-collapsed] [class*=sidebarCol]{transition:margin .15s var(--ds-ease-in-out), border-radius .15s var(--ds-ease-in-out);border-radius:16px;margin:12px -12px 12px 12px;padding:0}[data-dsh-glass-float] [data-dsh-glass-frame]:not([data-sidebar-collapsed]) [data-dsh-glass-sidebar-root]{width:100%!important}[data-dsh-glass-float] [data-dsh-glass-trajectory]{border:1px solid var(--dsh-glass-rim);background:var(--dsh-glass-card);width:calc(100% - 32px);height:calc(100% - 20px);box-shadow:var(--dsh-glass-edge), var(--dsh-glass-drop);border-radius:20px;margin:8px 16px 12px;overflow:hidden}[data-dsh-glass-float] [data-dsh-glass-trajectory] [role=toolbar],[data-dsh-glass-float] [data-dsh-glass-trajectory] section[aria-label=Trajectory\\ timeline]{background:0 0}[data-dsh-glass-float] [data-composer-card],[data-dsh-glass-float] [data-composer-card]:after{border-radius:24px}[data-dsh-glass-float] [data-composer-card]{z-index:8;isolation:isolate;border:1px solid var(--dsh-glass-rim-strong);box-shadow:var(--dsh-glass-input-shadow);background:0 0;position:relative}[data-dsh-glass-float] [data-composer-card]:before{content:\"\";z-index:-1;border-radius:inherit;background:var(--dsh-glass-card);box-shadow:var(--dsh-glass-edge);backdrop-filter:blur(var(--dsh-glass-blur,14px));pointer-events:none;position:absolute;inset:0}[data-dsh-glass-float] [data-dsh-glass-inputbar]:not([class*=hero]):not(:has([data-dsh-glass-stats])){padding-bottom:12px}[data-dsh-glass-float] [role=treeitem][aria-selected=true]{background:color-mix(in srgb, var(--dsw-specific-sidebar-nav-item-active) 40%, transparent);box-shadow:0 0 14px color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 12%, transparent)}[data-dsh-glass-float] button[class*=button]:hover:not(:disabled),[data-dsh-glass-float] [role=menuitem]:hover:not(:disabled){box-shadow:0 0 12px color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 20%, transparent)}[data-dsh-glass-float] [data-menu-material=translucent]:not(:focus-visible){--dsw-menu-surface-fill:var(--dsh-glass-card-raised);--dsw-menu-backdrop-filter:blur(var(--dsh-glass-blur,14px));outline:1px solid var(--dsh-glass-rim-soft);outline-offset:-1px}[data-dsh-glass-float] [role=menu]:not([data-menu-material]):not([data-menu-material] *){background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim-soft);backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass-float] [data-menu-material=translucent]:has([role=group]>[role=menuitemradio]){--dsw-menu-surface-fill:color-mix(in srgb, var(--dsw-alias-bg-layer-2) 70%, transparent)}[data-dsh-glass-float] [data-menu-group]:has(>[role=menuitemradio])>[data-menu-group-heading]{border:1px solid var(--dsh-glass-rim);background:var(--dsh-glass-card-raised);backdrop-filter:blur(var(--dsh-glass-blur,14px));border-radius:999px;align-items:center;width:fit-content;margin:3px 0 5px 6px;padding:3px 10px;display:inline-flex}[data-dsh-glass-float] [role=dialog][aria-modal=true]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim);box-shadow:var(--dsh-glass-edge);backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass] [data-conversation-scroll]{text-shadow:0 0 1px #ffffff80}[data-dsh-glass] body[data-ds-dark-theme] [data-conversation-scroll]{text-shadow:0 0 1px #0006}[data-dsh-glass-float] [data-dsh-glass-inputbar] [data-slot]{color:var(--dsw-alias-label-secondary)}[data-dsh-glass]{--dsh-glass-entry-scale:1}[data-dsh-glass-compat]{--dsh-glass-entry-scale:0}[data-dsh-glass] [data-phase=hero]{animation:dsh-glass-in calc(.32s * var(--dsh-glass-entry-scale,1)) var(--ds-ease-in-out)}[data-dsh-glass] [data-phase=active]{animation:dsh-glass-in calc(.3s * var(--dsh-glass-entry-scale,1)) var(--ds-ease-in-out)}[data-dsh-glass] [data-testid^=view-]{animation:dsh-glass-in calc(.26s * var(--dsh-glass-entry-scale,1)) var(--ds-ease-in-out)}[data-dsh-glass] [data-tool]{animation:dsh-glass-rise calc(.3s * var(--dsh-glass-entry-scale,1)) var(--ds-ease-in-out) both}[data-dsh-glass] [role=dialog]{animation:dsh-glass-dialog-in calc(.24s * var(--dsh-glass-entry-scale,1)) var(--ds-ease-in-out)}@keyframes dsh-glass-in{0%{opacity:0}}@keyframes dsh-glass-rise{0%{opacity:0;transform:translateY(6px)}}@keyframes dsh-glass-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}[data-dsh-glass] :focus-visible{outline:2px solid color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 85%, transparent);outline-offset:1px}[data-dsh-glass] ::selection{background:color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 35%, transparent)}[data-dsh-glass-compat] [role=menu]:not([data-menu-material]):not([data-menu-material] *),[data-dsh-glass-compat] [class*=popover],[data-dsh-glass-compat] [class*=dropdown]{backdrop-filter:blur(12px)}[data-dsh-glass-compat] [data-menu-material=translucent]:not(:focus-visible){--dsw-menu-surface-fill:var(--dsh-glass-card-raised);--dsw-menu-backdrop-filter:blur(12px);outline:1px solid var(--dsh-glass-rim);outline-offset:-1px}[data-dsh-glass-compat] [data-sidebar-right-panel][data-sidebar-right-open],[data-dsh-glass-compat] [data-sidebar-right-panel][data-sidebar-right-open] [class*=panel]{backdrop-filter:blur(12px)}[data-dsh-glass-compat] [role=menu]:not([data-menu-material]):not([data-menu-material] *),[data-dsh-glass-compat] [class*=popover],[data-dsh-glass-compat] [class*=dropdown]{background:var(--dsh-glass-card-raised)}[data-dsh-glass-compat] [data-composer-card]{isolation:isolate;backdrop-filter:none;background:0 0;position:relative}[data-dsh-glass-compat] [data-composer-card]:before{content:\"\";z-index:-1;border-radius:inherit;background:var(--dsh-glass-card-raised);backdrop-filter:blur(12px);pointer-events:none;position:absolute;inset:0}[data-dsh-glass-compat] [role=menu]:not([data-menu-material]):not([data-menu-material] *):not(:focus-visible),[data-dsh-glass-compat] [data-composer-card]:not(:focus-visible),[data-dsh-glass-compat] [class*=popover]:not(:focus-visible),[data-dsh-glass-compat] [class*=dropdown]:not(:focus-visible){outline:1px solid var(--dsh-glass-rim);outline-offset:-1px}[data-dsh-glass-compat] [role=dialog][aria-modal=true]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim);backdrop-filter:blur(var(--dsh-glass-blur,12px))}@media (prefers-reduced-motion:reduce){[data-dsh-glass] [data-phase=hero],[data-dsh-glass] [data-phase=active],[data-dsh-glass] [data-testid^=view-],[data-dsh-glass] [data-tool],[data-dsh-glass] [role=dialog]{animation:none}}";
|
|
594
594
|
/** Legacy settings namespace (DSH <= 0.1.6-alpha.2): the Host registers it
|
|
595
595
|
* through `settings.installSection`, the Client binds it through
|
|
596
596
|
* `ctx.settingsScope` (see `src/settings-catppuccin.ts`). */
|
|
@@ -638,7 +638,7 @@ window.__ModuleLoader__.load({
|
|
|
638
638
|
const DEFAULT_GLASS = {
|
|
639
639
|
enabled: false,
|
|
640
640
|
mode: "mica",
|
|
641
|
-
blur:
|
|
641
|
+
blur: 5,
|
|
642
642
|
frost: 20,
|
|
643
643
|
brightness: 50
|
|
644
644
|
};
|
|
@@ -766,7 +766,7 @@ window.__ModuleLoader__.load({
|
|
|
766
766
|
* Shipped knob defaults — the knob-only view of `DEFAULT_GLASS` in
|
|
767
767
|
* `src/state.ts` (the single source of truth, inlined into both bundles).
|
|
768
768
|
* The shipped look aligns with the reference project
|
|
769
|
-
* (DSH-Transparent-UI-Plugin / Aqua): mica mode, blur
|
|
769
|
+
* (DSH-Transparent-UI-Plugin / Aqua): mica mode, blur 5px, frost 20
|
|
770
770
|
* (the 0-100 slider maps to a 0-1.4 alpha multiplier via frost/50, so 20
|
|
771
771
|
* reads as a light frost) and neutral backdrop brightness.
|
|
772
772
|
*/
|
|
@@ -1424,6 +1424,67 @@ window.__ModuleLoader__.load({
|
|
|
1424
1424
|
});
|
|
1425
1425
|
}
|
|
1426
1426
|
//#endregion
|
|
1427
|
+
//#region src/client/LinksRow.tsx
|
|
1428
|
+
/**
|
|
1429
|
+
* GitHub repository — where a star lands. Keep the `-theme` name: it is the
|
|
1430
|
+
* current repo name (the pre-rename URL only redirects), and only COMPLETE
|
|
1431
|
+
* GitHub URLs use it (AGENTS.md「项目身份速览:三套名字」).
|
|
1432
|
+
*/
|
|
1433
|
+
const REPO_URL = "https://github.com/NoNameLeGo/dsh-catppuccin-theme";
|
|
1434
|
+
/** GitHub issue tracker — where feedback lands. */
|
|
1435
|
+
const ISSUES_URL = `${REPO_URL}/issues`;
|
|
1436
|
+
/** The row's links: token-coloured, underlined, quiet. */
|
|
1437
|
+
const linkStyle = {
|
|
1438
|
+
color: "var(--dsw-alias-state-business-primary)",
|
|
1439
|
+
fontSize: 12,
|
|
1440
|
+
lineHeight: "18px",
|
|
1441
|
+
textDecoration: "underline",
|
|
1442
|
+
textUnderlineOffset: 3
|
|
1443
|
+
};
|
|
1444
|
+
/**
|
|
1445
|
+
* Render the feedback row: a title and the two links.
|
|
1446
|
+
* @param props - composed slot props.
|
|
1447
|
+
* @returns the row element tree.
|
|
1448
|
+
*/
|
|
1449
|
+
function LinksRow({ t }) {
|
|
1450
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1451
|
+
style: {
|
|
1452
|
+
borderBottom: "1px solid var(--dsw-alias-border-l2)",
|
|
1453
|
+
display: "flex",
|
|
1454
|
+
flexDirection: "column",
|
|
1455
|
+
gap: "10px",
|
|
1456
|
+
padding: "16px 0"
|
|
1457
|
+
},
|
|
1458
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1459
|
+
style: {
|
|
1460
|
+
color: "var(--dsw-alias-label-primary)",
|
|
1461
|
+
fontSize: 14,
|
|
1462
|
+
lineHeight: "22px"
|
|
1463
|
+
},
|
|
1464
|
+
children: t("links.title")
|
|
1465
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1466
|
+
style: {
|
|
1467
|
+
display: "flex",
|
|
1468
|
+
flexWrap: "wrap",
|
|
1469
|
+
gap: "16px"
|
|
1470
|
+
},
|
|
1471
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
|
|
1472
|
+
href: ISSUES_URL,
|
|
1473
|
+
target: "_blank",
|
|
1474
|
+
rel: "noreferrer noopener",
|
|
1475
|
+
style: linkStyle,
|
|
1476
|
+
children: t("links.issue")
|
|
1477
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
|
|
1478
|
+
href: REPO_URL,
|
|
1479
|
+
target: "_blank",
|
|
1480
|
+
rel: "noreferrer noopener",
|
|
1481
|
+
style: linkStyle,
|
|
1482
|
+
children: t("links.star")
|
|
1483
|
+
})]
|
|
1484
|
+
})]
|
|
1485
|
+
});
|
|
1486
|
+
}
|
|
1487
|
+
//#endregion
|
|
1427
1488
|
//#region src/client/UpdateRow.tsx
|
|
1428
1489
|
/**
|
|
1429
1490
|
* Update-check settings row — one General-section preference row that asks
|
|
@@ -1950,7 +2011,7 @@ window.__ModuleLoader__.load({
|
|
|
1950
2011
|
//#endregion
|
|
1951
2012
|
//#region src/client/detail-card.tsx
|
|
1952
2013
|
/**
|
|
1953
|
-
* Render the
|
|
2014
|
+
* Render the four preference rows on the plugin's own detail page.
|
|
1954
2015
|
*
|
|
1955
2016
|
* The rows carry their own title, help affordance and spacing (a bottom
|
|
1956
2017
|
* border each), so the card is a plain column — the page owns the section
|
|
@@ -1977,7 +2038,8 @@ window.__ModuleLoader__.load({
|
|
|
1977
2038
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(UpdateRow, {
|
|
1978
2039
|
...props.update,
|
|
1979
2040
|
t: props.t
|
|
1980
|
-
})
|
|
2041
|
+
}),
|
|
2042
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(LinksRow, { t: props.t })
|
|
1981
2043
|
]
|
|
1982
2044
|
});
|
|
1983
2045
|
}
|
|
@@ -2063,7 +2125,10 @@ window.__ModuleLoader__.load({
|
|
|
2063
2125
|
"update.err.noTags": "npm registry 未返回可用的版本标签。",
|
|
2064
2126
|
"update.err.invalid": "npm registry 返回了无法解析的数据。",
|
|
2065
2127
|
"update.err.networkLocal": "无法连接插件宿主——请检查你的网络后刷新页面重试。",
|
|
2066
|
-
"update.err.networkUpstream": "npm registry 暂时不可用(请求超时),请稍后重试。"
|
|
2128
|
+
"update.err.networkUpstream": "npm registry 暂时不可用(请求超时),请稍后重试。",
|
|
2129
|
+
"links.title": "反馈与支持",
|
|
2130
|
+
"links.issue": "对 Catppuccin 外观插件有问题或建议?欢迎在 GitHub 提 Issue",
|
|
2131
|
+
"links.star": "喜欢这个 Catppuccin 外观插件?点一个 Star ⭐"
|
|
2067
2132
|
};
|
|
2068
2133
|
/** English dictionary, checked complete against the zh key set. */
|
|
2069
2134
|
const en = {
|
|
@@ -2140,7 +2205,10 @@ window.__ModuleLoader__.load({
|
|
|
2140
2205
|
"update.err.noTags": "The npm registry returned no usable version tags.",
|
|
2141
2206
|
"update.err.invalid": "The npm registry returned unparseable data.",
|
|
2142
2207
|
"update.err.networkLocal": "Could not reach the plugin host — check your network, then refresh the page.",
|
|
2143
|
-
"update.err.networkUpstream": "The npm registry is temporarily unavailable (request timed out) — try again later."
|
|
2208
|
+
"update.err.networkUpstream": "The npm registry is temporarily unavailable (request timed out) — try again later.",
|
|
2209
|
+
"links.title": "Feedback & support",
|
|
2210
|
+
"links.issue": "Found a problem with the Catppuccin appearance plugin, or have an idea? Open an issue",
|
|
2211
|
+
"links.star": "Enjoying this Catppuccin appearance plugin? Star it on GitHub ⭐"
|
|
2144
2212
|
};
|
|
2145
2213
|
/** Japanese dictionary. */
|
|
2146
2214
|
const ja = {
|
|
@@ -2217,7 +2285,10 @@ window.__ModuleLoader__.load({
|
|
|
2217
2285
|
"update.err.noTags": "npm registry が利用可能なバージョンタグを返しませんでした。",
|
|
2218
2286
|
"update.err.invalid": "npm registry が解析不能なデータを返しました。",
|
|
2219
2287
|
"update.err.networkLocal": "プラグインのホストに接続できません。ネットワークを確認してページを更新してください。",
|
|
2220
|
-
"update.err.networkUpstream": "npm registry が一時的に利用できません(タイムアウト)。後で再試行してください。"
|
|
2288
|
+
"update.err.networkUpstream": "npm registry が一時的に利用できません(タイムアウト)。後で再試行してください。",
|
|
2289
|
+
"links.title": "フィードバックとサポート",
|
|
2290
|
+
"links.issue": "Catppuccin 外観プラグインの問題や提案がありますか?Issue を作成",
|
|
2291
|
+
"links.star": "この Catppuccin 外観プラグインが気に入ったら GitHub でスターを ⭐"
|
|
2221
2292
|
};
|
|
2222
2293
|
/** Korean dictionary. */
|
|
2223
2294
|
const ko = {
|
|
@@ -2294,7 +2365,10 @@ window.__ModuleLoader__.load({
|
|
|
2294
2365
|
"update.err.noTags": "npm registry가 사용 가능한 버전 태그를 반환하지 않았습니다.",
|
|
2295
2366
|
"update.err.invalid": "npm registry가 해석할 수 없는 데이터를 반환했습니다.",
|
|
2296
2367
|
"update.err.networkLocal": "플러그인 호스트에 연결할 수 없습니다. 네트워크를 확인한 뒤 페이지를 새로고침하세요.",
|
|
2297
|
-
"update.err.networkUpstream": "npm registry를 일시적으로 사용할 수 없습니다(시간 초과). 잠시 후 다시 시도하세요."
|
|
2368
|
+
"update.err.networkUpstream": "npm registry를 일시적으로 사용할 수 없습니다(시간 초과). 잠시 후 다시 시도하세요.",
|
|
2369
|
+
"links.title": "피드백 및 지원",
|
|
2370
|
+
"links.issue": "Catppuccin 테마 플러그인에 문제나 제안이 있나요? 이슈를 남겨 주세요",
|
|
2371
|
+
"links.star": "이 Catppuccin 테마 플러그인이 마음에 드셨다면 GitHub에서 스타를 ⭐"
|
|
2298
2372
|
};
|
|
2299
2373
|
/** Spanish dictionary. */
|
|
2300
2374
|
const es = {
|
|
@@ -2371,7 +2445,10 @@ window.__ModuleLoader__.load({
|
|
|
2371
2445
|
"update.err.noTags": "npm registry no devolvió etiquetas de versión utilizables.",
|
|
2372
2446
|
"update.err.invalid": "npm registry devolvió datos no analizables.",
|
|
2373
2447
|
"update.err.networkLocal": "No se pudo conectar con el host del plugin: revisa tu red y recarga la página.",
|
|
2374
|
-
"update.err.networkUpstream": "npm registry no está disponible temporalmente (tiempo de espera agotado); inténtalo más tarde."
|
|
2448
|
+
"update.err.networkUpstream": "npm registry no está disponible temporalmente (tiempo de espera agotado); inténtalo más tarde.",
|
|
2449
|
+
"links.title": "Comentarios y soporte",
|
|
2450
|
+
"links.issue": "¿Un problema o una idea con el plugin de apariencia Catppuccin? Abre un issue",
|
|
2451
|
+
"links.star": "¿Te gusta este plugin de apariencia Catppuccin? Dale una estrella en GitHub ⭐"
|
|
2375
2452
|
};
|
|
2376
2453
|
/** French dictionary. */
|
|
2377
2454
|
const fr = {
|
|
@@ -2448,7 +2525,10 @@ window.__ModuleLoader__.load({
|
|
|
2448
2525
|
"update.err.noTags": "npm registry n'a renvoyé aucune étiquette de version utile.",
|
|
2449
2526
|
"update.err.invalid": "npm registry a renvoyé des données non analysables.",
|
|
2450
2527
|
"update.err.networkLocal": "Impossible de joindre l'hôte du plugin — vérifiez votre réseau puis rechargez la page.",
|
|
2451
|
-
"update.err.networkUpstream": "npm registry est temporairement indisponible (délai dépassé) — réessayez plus tard."
|
|
2528
|
+
"update.err.networkUpstream": "npm registry est temporairement indisponible (délai dépassé) — réessayez plus tard.",
|
|
2529
|
+
"links.title": "Retours et support",
|
|
2530
|
+
"links.issue": "Un problème ou une idée pour le plugin d'apparence Catppuccin ? Ouvrez une issue",
|
|
2531
|
+
"links.star": "Vous aimez ce plugin d'apparence Catppuccin ? Laissez une Star sur GitHub ⭐"
|
|
2452
2532
|
};
|
|
2453
2533
|
/** German dictionary. */
|
|
2454
2534
|
const de = {
|
|
@@ -2525,7 +2605,10 @@ window.__ModuleLoader__.load({
|
|
|
2525
2605
|
"update.err.noTags": "npm registry lieferte keine brauchbaren Versions-Tags.",
|
|
2526
2606
|
"update.err.invalid": "npm registry lieferte nicht analysierbare Daten.",
|
|
2527
2607
|
"update.err.networkLocal": "Plugin-Host nicht erreichbar – prüfen Sie Ihre Verbindung und laden Sie die Seite neu.",
|
|
2528
|
-
"update.err.networkUpstream": "npm registry ist vorübergehend nicht verfügbar (Zeitüberschreitung) – versuchen Sie es später erneut."
|
|
2608
|
+
"update.err.networkUpstream": "npm registry ist vorübergehend nicht verfügbar (Zeitüberschreitung) – versuchen Sie es später erneut.",
|
|
2609
|
+
"links.title": "Feedback & Support",
|
|
2610
|
+
"links.issue": "Problem oder Idee zum Catppuccin-Design-Plugin? Eröffnen Sie ein Issue",
|
|
2611
|
+
"links.star": "Gefällt Ihnen dieses Catppuccin-Design-Plugin? Geben Sie ihm einen Star auf GitHub ⭐"
|
|
2529
2612
|
};
|
|
2530
2613
|
const CATPPUCCIN_FLAVORS = [
|
|
2531
2614
|
{
|
|
@@ -3446,6 +3529,50 @@ window.__ModuleLoader__.load({
|
|
|
3446
3529
|
* slow-but-alive registry lookup is never cut off client-side. */
|
|
3447
3530
|
const UPDATE_CHECK_CLIENT_TIMEOUT_MS = 15e3;
|
|
3448
3531
|
//#endregion
|
|
3532
|
+
//#region src/registration-tolerance.ts
|
|
3533
|
+
/**
|
|
3534
|
+
* Fault-tolerant registration for the plugin's boot-critical wiring.
|
|
3535
|
+
*
|
|
3536
|
+
* Client and Host share one failure shape: an entry whose `apply()` throws is
|
|
3537
|
+
* marked `failed`, the assembly aborts the whole boot (`web boot: N entries
|
|
3538
|
+
* did not activate`), and the official desktop's crash rescue then runs
|
|
3539
|
+
* `disableAllPlugins()` — taking EVERY third-party plugin down with it. A peer
|
|
3540
|
+
* plugin already owning what we are about to register is the realistic
|
|
3541
|
+
* trigger (language packs and their BCP 47 ids — issue #23; a duplicate
|
|
3542
|
+
* install and its route / slot / theme ids), and the right answer to
|
|
3543
|
+
* "someone else already did this" is to skip OUR copy — never to fail the
|
|
3544
|
+
* boot. Full evidence chain and the per-call-site audit live in
|
|
3545
|
+
* `docs/issue-23-registration-tolerance.md`.
|
|
3546
|
+
*
|
|
3547
|
+
* Known "already owned" shapes are skipped quietly — the peer's registration
|
|
3548
|
+
* stands, matching `dsh-locale-pack`'s own tolerance. Anything else is logged
|
|
3549
|
+
* and skipped too: no registration in this plugin is worth the user's whole
|
|
3550
|
+
* plugin set. (To restore fail-fast for a class of errors, `throw error` in
|
|
3551
|
+
* the warn branch — every call site routes through here on purpose.)
|
|
3552
|
+
*/
|
|
3553
|
+
/** The "another party already owns this" messages the runtimes throw, checked
|
|
3554
|
+
* against the 0.2.0-rc.2 sources (table in the doc's §6):
|
|
3555
|
+
* - `locale "ja" is already registered` (dsh-client-locale addLanguage)
|
|
3556
|
+
* - `locale namespace "…" already has locale "…"` (dsh-client-locale register)
|
|
3557
|
+
* - `theme "…" is already registered` (dsh-client-ui-theme register)
|
|
3558
|
+
* - `list slot "…" already has an entry with id "…"` (dsh-client-ui-slots)
|
|
3559
|
+
* - `webserver: duplicate exact route "…"` (dsh-host-webserver register) */
|
|
3560
|
+
const ALREADY_OWNED = /already (?:registered|has locale|has an entry)|duplicate .*route/u;
|
|
3561
|
+
/**
|
|
3562
|
+
* Run one registration call, degrading any failure to a no-op disposer.
|
|
3563
|
+
* @param run - the registration call, returning its disposer (if any).
|
|
3564
|
+
* @returns the real disposer, or a no-op when the registration was skipped.
|
|
3565
|
+
*/
|
|
3566
|
+
function tolerantRegistration(run) {
|
|
3567
|
+
try {
|
|
3568
|
+
return run() ?? (() => {});
|
|
3569
|
+
} catch (error) {
|
|
3570
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
3571
|
+
if (!ALREADY_OWNED.test(message)) console.warn(`[dsh-catppuccin] registration skipped — ${message}`);
|
|
3572
|
+
return () => {};
|
|
3573
|
+
}
|
|
3574
|
+
}
|
|
3575
|
+
//#endregion
|
|
3449
3576
|
//#region src/client/state-sync.ts
|
|
3450
3577
|
/** The snapshot an unbound scope reports: the pre-0.5.0 "transport absent"
|
|
3451
3578
|
* degradation, where localStorage is the only store. */
|
|
@@ -3968,40 +4095,40 @@ window.__ModuleLoader__.load({
|
|
|
3968
4095
|
function apply(ctx) {
|
|
3969
4096
|
ctx.effect(() => {
|
|
3970
4097
|
const disposers = [
|
|
3971
|
-
ctx.locale.register(NS, {
|
|
4098
|
+
tolerantRegistration(() => ctx.locale.register(NS, {
|
|
3972
4099
|
zh,
|
|
3973
4100
|
en
|
|
3974
|
-
}),
|
|
3975
|
-
ctx.locale.register(NS, "ja", ja),
|
|
3976
|
-
ctx.locale.register(NS, "ko", ko),
|
|
3977
|
-
ctx.locale.register(NS, "es", es),
|
|
3978
|
-
ctx.locale.register(NS, "fr", fr),
|
|
3979
|
-
ctx.locale.register(NS, "de", de),
|
|
3980
|
-
ctx.locale.addLanguage({
|
|
4101
|
+
})),
|
|
4102
|
+
tolerantRegistration(() => ctx.locale.register(NS, "ja", ja)),
|
|
4103
|
+
tolerantRegistration(() => ctx.locale.register(NS, "ko", ko)),
|
|
4104
|
+
tolerantRegistration(() => ctx.locale.register(NS, "es", es)),
|
|
4105
|
+
tolerantRegistration(() => ctx.locale.register(NS, "fr", fr)),
|
|
4106
|
+
tolerantRegistration(() => ctx.locale.register(NS, "de", de)),
|
|
4107
|
+
tolerantRegistration(() => ctx.locale.addLanguage({
|
|
3981
4108
|
id: "ja",
|
|
3982
4109
|
label: "日本語",
|
|
3983
4110
|
fallback: "en"
|
|
3984
|
-
}),
|
|
3985
|
-
ctx.locale.addLanguage({
|
|
4111
|
+
})),
|
|
4112
|
+
tolerantRegistration(() => ctx.locale.addLanguage({
|
|
3986
4113
|
id: "ko",
|
|
3987
4114
|
label: "한국어",
|
|
3988
4115
|
fallback: "en"
|
|
3989
|
-
}),
|
|
3990
|
-
ctx.locale.addLanguage({
|
|
4116
|
+
})),
|
|
4117
|
+
tolerantRegistration(() => ctx.locale.addLanguage({
|
|
3991
4118
|
id: "es",
|
|
3992
4119
|
label: "Español",
|
|
3993
4120
|
fallback: "en"
|
|
3994
|
-
}),
|
|
3995
|
-
ctx.locale.addLanguage({
|
|
4121
|
+
})),
|
|
4122
|
+
tolerantRegistration(() => ctx.locale.addLanguage({
|
|
3996
4123
|
id: "fr",
|
|
3997
4124
|
label: "Français",
|
|
3998
4125
|
fallback: "en"
|
|
3999
|
-
}),
|
|
4000
|
-
ctx.locale.addLanguage({
|
|
4126
|
+
})),
|
|
4127
|
+
tolerantRegistration(() => ctx.locale.addLanguage({
|
|
4001
4128
|
id: "de",
|
|
4002
4129
|
label: "Deutsch",
|
|
4003
4130
|
fallback: "en"
|
|
4004
|
-
})
|
|
4131
|
+
}))
|
|
4005
4132
|
];
|
|
4006
4133
|
return () => {
|
|
4007
4134
|
for (const dispose of disposers) dispose();
|
|
@@ -4013,7 +4140,7 @@ window.__ModuleLoader__.load({
|
|
|
4013
4140
|
if (themeDisposers.has(flavor.themeId)) return;
|
|
4014
4141
|
const flavorId = flavor.themeId.replace("catppuccin-", "");
|
|
4015
4142
|
const shiki = SHIKI_TOKENS[flavorId][readShikiStyle()];
|
|
4016
|
-
const disposer = theme.register({
|
|
4143
|
+
const disposer = tolerantRegistration(() => theme.register({
|
|
4017
4144
|
id: flavor.themeId,
|
|
4018
4145
|
colorScheme: flavor.colorScheme,
|
|
4019
4146
|
tokens: {
|
|
@@ -4022,7 +4149,7 @@ window.__ModuleLoader__.load({
|
|
|
4022
4149
|
...menuSurfaceFor(hostHasMenuBlur()),
|
|
4023
4150
|
...readOverrides()
|
|
4024
4151
|
}
|
|
4025
|
-
});
|
|
4152
|
+
}));
|
|
4026
4153
|
themeDisposers.set(flavor.themeId, disposer);
|
|
4027
4154
|
};
|
|
4028
4155
|
const ensureThemeRegistered = (themeId) => {
|
|
@@ -4228,7 +4355,9 @@ window.__ModuleLoader__.load({
|
|
|
4228
4355
|
select: (choice) => {
|
|
4229
4356
|
if (choice === "off") {
|
|
4230
4357
|
writeFlavor("off");
|
|
4231
|
-
|
|
4358
|
+
try {
|
|
4359
|
+
theme.setTheme(readRestoredPreference());
|
|
4360
|
+
} catch {}
|
|
4232
4361
|
queuePersist();
|
|
4233
4362
|
return;
|
|
4234
4363
|
}
|
|
@@ -4236,7 +4365,9 @@ window.__ModuleLoader__.load({
|
|
|
4236
4365
|
if (!flavor) return;
|
|
4237
4366
|
writeFlavor(flavor.themeId);
|
|
4238
4367
|
ensureThemeRegistered(flavor.themeId);
|
|
4239
|
-
|
|
4368
|
+
try {
|
|
4369
|
+
theme.setTheme(flavor.themeId);
|
|
4370
|
+
} catch {}
|
|
4240
4371
|
queuePersist();
|
|
4241
4372
|
},
|
|
4242
4373
|
overrides: overridesSnapshot,
|
|
@@ -4260,13 +4391,13 @@ window.__ModuleLoader__.load({
|
|
|
4260
4391
|
};
|
|
4261
4392
|
}
|
|
4262
4393
|
});
|
|
4263
|
-
ctx.slots.inject("settings.general.item", () => ctx.slots.register({
|
|
4394
|
+
ctx.slots.inject("settings.general.item", () => tolerantRegistration(() => ctx.slots.register({
|
|
4264
4395
|
name: "settings.general.item",
|
|
4265
4396
|
id: "catppuccin",
|
|
4266
4397
|
order: 20,
|
|
4267
4398
|
locale: NS,
|
|
4268
4399
|
inject: injected
|
|
4269
|
-
}, CatppuccinRow));
|
|
4400
|
+
}, CatppuccinRow)));
|
|
4270
4401
|
const glassInjected = () => ({
|
|
4271
4402
|
getState: () => glass.getSnapshot(),
|
|
4272
4403
|
subscribe: (listener) => glass.subscribe(listener),
|
|
@@ -4289,13 +4420,13 @@ window.__ModuleLoader__.load({
|
|
|
4289
4420
|
glass.resetDefaults();
|
|
4290
4421
|
}
|
|
4291
4422
|
});
|
|
4292
|
-
ctx.slots.inject("settings.general.item", () => ctx.slots.register({
|
|
4423
|
+
ctx.slots.inject("settings.general.item", () => tolerantRegistration(() => ctx.slots.register({
|
|
4293
4424
|
name: "settings.general.item",
|
|
4294
4425
|
id: "catppuccin-glass",
|
|
4295
4426
|
order: 21,
|
|
4296
4427
|
locale: NS,
|
|
4297
4428
|
inject: glassInjected
|
|
4298
|
-
}, GlassRow));
|
|
4429
|
+
}, GlassRow)));
|
|
4299
4430
|
const updateInjected = () => ({
|
|
4300
4431
|
check: async (channel) => {
|
|
4301
4432
|
try {
|
|
@@ -4341,13 +4472,19 @@ window.__ModuleLoader__.load({
|
|
|
4341
4472
|
activeLocale: () => ctx.locale.getLocale().active,
|
|
4342
4473
|
subscribeLocale: (listener) => ctx.locale.subscribe(listener)
|
|
4343
4474
|
});
|
|
4344
|
-
ctx.slots.inject("settings.general.item", () => ctx.slots.register({
|
|
4475
|
+
ctx.slots.inject("settings.general.item", () => tolerantRegistration(() => ctx.slots.register({
|
|
4345
4476
|
name: "settings.general.item",
|
|
4346
4477
|
id: "catppuccin-update",
|
|
4347
4478
|
order: 22,
|
|
4348
4479
|
locale: NS,
|
|
4349
4480
|
inject: updateInjected
|
|
4350
|
-
}, UpdateRow));
|
|
4481
|
+
}, UpdateRow)));
|
|
4482
|
+
ctx.slots.inject("settings.general.item", () => tolerantRegistration(() => ctx.slots.register({
|
|
4483
|
+
name: "settings.general.item",
|
|
4484
|
+
id: "catppuccin-links",
|
|
4485
|
+
order: 23,
|
|
4486
|
+
locale: NS
|
|
4487
|
+
}, LinksRow)));
|
|
4351
4488
|
const detailInjected = () => ({
|
|
4352
4489
|
flavor: injected(),
|
|
4353
4490
|
glass: glassInjected(),
|
|
@@ -4356,12 +4493,12 @@ window.__ModuleLoader__.load({
|
|
|
4356
4493
|
ctx.inject(["configForms"], (formsCtx) => {
|
|
4357
4494
|
const forms = formsCtx.configForms;
|
|
4358
4495
|
if (typeof forms.whileServed !== "function") return;
|
|
4359
|
-
return forms.whileServed([CATPPUCCIN_ENTRY_ID], () => ctx.slots.inject("plugins.bundle.config", () => ctx.slots.register({
|
|
4496
|
+
return forms.whileServed([CATPPUCCIN_ENTRY_ID], () => ctx.slots.inject("plugins.bundle.config", () => tolerantRegistration(() => ctx.slots.register({
|
|
4360
4497
|
name: "plugins.bundle.config",
|
|
4361
4498
|
key: PACKAGE_NAME,
|
|
4362
4499
|
locale: NS,
|
|
4363
4500
|
inject: detailInjected
|
|
4364
|
-
}, CatppuccinDetailCard)));
|
|
4501
|
+
}, CatppuccinDetailCard))));
|
|
4365
4502
|
});
|
|
4366
4503
|
}
|
|
4367
4504
|
//#endregion
|