dsh-mobile-plugin 0.5.27 → 0.5.29
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/extensions/catalog.json +10 -1
- package/extensions/magpie/agentcompact.js +104 -0
- package/extensions/magpie/app.css +4902 -0
- package/extensions/magpie/app.js +24474 -0
- package/extensions/magpie/autobackup.js +185 -0
- package/extensions/magpie/autoresetown.js +151 -0
- package/extensions/magpie/balfound.js +38 -0
- package/extensions/magpie/boot.js +23 -0
- package/extensions/magpie/cfgblocked.js +39 -0
- package/extensions/magpie/checkinnow.js +111 -0
- package/extensions/magpie/claudemode.js +92 -0
- package/extensions/magpie/compat.js +41 -0
- package/extensions/magpie/context.css +433 -0
- package/extensions/magpie/context.js +1576 -0
- package/extensions/magpie/ctxtext.js +223 -0
- package/extensions/magpie/fonts.js +42 -0
- package/extensions/magpie/i18n.js +18942 -0
- package/extensions/magpie/icons/ai21.svg +1 -0
- package/extensions/magpie/icons/ai302-color.svg +1 -0
- package/extensions/magpie/icons/ai360-color.svg +1 -0
- package/extensions/magpie/icons/aihubmix-color.svg +1 -0
- package/extensions/magpie/icons/aionui.svg +1 -0
- package/extensions/magpie/icons/air.svg +4 -0
- package/extensions/magpie/icons/alibaba-color.svg +1 -0
- package/extensions/magpie/icons/alibabacloud-color.svg +1 -0
- package/extensions/magpie/icons/alma.png +0 -0
- package/extensions/magpie/icons/anthropic.svg +1 -0
- package/extensions/magpie/icons/antigravity-color.svg +1 -0
- package/extensions/magpie/icons/anyscale-color.svg +1 -0
- package/extensions/magpie/icons/app-alma.png +0 -0
- package/extensions/magpie/icons/app-cc-switch.png +0 -0
- package/extensions/magpie/icons/apple-touch-icon.png +0 -0
- package/extensions/magpie/icons/aside.svg +28 -0
- package/extensions/magpie/icons/astrbot.svg +1 -0
- package/extensions/magpie/icons/atomcode.png +0 -0
- package/extensions/magpie/icons/aws.svg +1 -0
- package/extensions/magpie/icons/azure-color.svg +1 -0
- package/extensions/magpie/icons/azureai-color.svg +1 -0
- package/extensions/magpie/icons/baichuan-color.svg +1 -0
- package/extensions/magpie/icons/baidu-color.svg +1 -0
- package/extensions/magpie/icons/baiducloud-color.svg +1 -0
- package/extensions/magpie/icons/bailian-color.svg +1 -0
- package/extensions/magpie/icons/baseten.svg +1 -0
- package/extensions/magpie/icons/bedrock-color.svg +1 -0
- package/extensions/magpie/icons/burncloud-color.svg +1 -0
- package/extensions/magpie/icons/bytedance-color.svg +1 -0
- package/extensions/magpie/icons/cerebras.svg +1 -0
- package/extensions/magpie/icons/chatglm-color.svg +1 -0
- package/extensions/magpie/icons/cherryin-color.svg +1 -0
- package/extensions/magpie/icons/chutes.svg +1 -0
- package/extensions/magpie/icons/cindy.png +0 -0
- package/extensions/magpie/icons/claude-color.svg +1 -0
- package/extensions/magpie/icons/claudecode-color.svg +1 -0
- package/extensions/magpie/icons/cline.svg +1 -0
- package/extensions/magpie/icons/cloudflare-color.svg +1 -0
- package/extensions/magpie/icons/codebuddy-color.svg +1 -0
- package/extensions/magpie/icons/codex-color.svg +1 -0
- package/extensions/magpie/icons/cohere-color.svg +1 -0
- package/extensions/magpie/icons/cometapi-color.svg +1 -0
- package/extensions/magpie/icons/commandcode.svg +1 -0
- package/extensions/magpie/icons/copilot-color.svg +1 -0
- package/extensions/magpie/icons/coze.svg +1 -0
- package/extensions/magpie/icons/crush.png +0 -0
- package/extensions/magpie/icons/curl.svg +1 -0
- package/extensions/magpie/icons/cursor.svg +1 -0
- package/extensions/magpie/icons/deepinfra-color.svg +1 -0
- package/extensions/magpie/icons/deepmind-color.svg +1 -0
- package/extensions/magpie/icons/deepseek-color.svg +1 -0
- package/extensions/magpie/icons/deveco-color.svg +12 -0
- package/extensions/magpie/icons/devin.svg +1 -0
- package/extensions/magpie/icons/doubao-color.svg +1 -0
- package/extensions/magpie/icons/empryo-color.svg +1 -0
- package/extensions/magpie/icons/factory.svg +1 -0
- package/extensions/magpie/icons/favicon.svg +1 -0
- package/extensions/magpie/icons/featherless-color.svg +1 -0
- package/extensions/magpie/icons/fireworks-color.svg +1 -0
- package/extensions/magpie/icons/friendli.svg +1 -0
- package/extensions/magpie/icons/fx.svg +1 -0
- package/extensions/magpie/icons/gemini-color.svg +1 -0
- package/extensions/magpie/icons/geminicli-color.svg +1 -0
- package/extensions/magpie/icons/gemma-color.svg +1 -0
- package/extensions/magpie/icons/giteeai.svg +1 -0
- package/extensions/magpie/icons/github.svg +1 -0
- package/extensions/magpie/icons/githubcopilot.svg +1 -0
- package/extensions/magpie/icons/glama.svg +1 -0
- package/extensions/magpie/icons/gmicloud.svg +1 -0
- package/extensions/magpie/icons/google-color.svg +1 -0
- package/extensions/magpie/icons/googlecloud-color.svg +1 -0
- package/extensions/magpie/icons/goose.svg +1 -0
- package/extensions/magpie/icons/grok.svg +1 -0
- package/extensions/magpie/icons/groq.svg +1 -0
- package/extensions/magpie/icons/hanako.png +0 -0
- package/extensions/magpie/icons/hermes.svg +1 -0
- package/extensions/magpie/icons/huawei-color.svg +1 -0
- package/extensions/magpie/icons/huaweicloud-color.svg +1 -0
- package/extensions/magpie/icons/huggingface-color.svg +1 -0
- package/extensions/magpie/icons/hunyuan-color.svg +1 -0
- package/extensions/magpie/icons/hyperbolic-color.svg +1 -0
- package/extensions/magpie/icons/icon-512.png +0 -0
- package/extensions/magpie/icons/iflytekcloud-color.svg +1 -0
- package/extensions/magpie/icons/inference.svg +1 -0
- package/extensions/magpie/icons/infinigence-color.svg +1 -0
- package/extensions/magpie/icons/internlm-color.svg +1 -0
- package/extensions/magpie/icons/jcode.svg +1 -0
- package/extensions/magpie/icons/jina.svg +1 -0
- package/extensions/magpie/icons/kilo.svg +1 -0
- package/extensions/magpie/icons/kilocode.svg +1 -0
- package/extensions/magpie/icons/kimi-code-desktop.png +0 -0
- package/extensions/magpie/icons/kimi.svg +1 -0
- package/extensions/magpie/icons/kiro-color.svg +1 -0
- package/extensions/magpie/icons/kling-color.svg +1 -0
- package/extensions/magpie/icons/lambda.svg +1 -0
- package/extensions/magpie/icons/leptonai-color.svg +1 -0
- package/extensions/magpie/icons/liquid.svg +1 -0
- package/extensions/magpie/icons/liveagent-color.svg +1 -0
- package/extensions/magpie/icons/llmapi.svg +1 -0
- package/extensions/magpie/icons/lmstudio.svg +1 -0
- package/extensions/magpie/icons/lody.png +0 -0
- package/extensions/magpie/icons/longcat.svg +1 -0
- package/extensions/magpie/icons/magpie.svg +1 -0
- package/extensions/magpie/icons/meta-color.svg +1 -0
- package/extensions/magpie/icons/metaai-color.svg +1 -0
- package/extensions/magpie/icons/microsoft-color.svg +1 -0
- package/extensions/magpie/icons/mimocode.svg +1 -0
- package/extensions/magpie/icons/minimax-color.svg +1 -0
- package/extensions/magpie/icons/mistermorph-color.svg +1 -0
- package/extensions/magpie/icons/mistral-color.svg +1 -0
- package/extensions/magpie/icons/mlx-serve.png +0 -0
- package/extensions/magpie/icons/modelscope-color.svg +1 -0
- package/extensions/magpie/icons/monica-color.svg +1 -0
- package/extensions/magpie/icons/moonshot.svg +1 -0
- package/extensions/magpie/icons/morph-color.svg +1 -0
- package/extensions/magpie/icons/mothx.png +0 -0
- package/extensions/magpie/icons/nebius.svg +1 -0
- package/extensions/magpie/icons/newapi-color.svg +1 -0
- package/extensions/magpie/icons/nousresearch.svg +1 -0
- package/extensions/magpie/icons/nova-color.svg +1 -0
- package/extensions/magpie/icons/novita-color.svg +1 -0
- package/extensions/magpie/icons/nvidia-color.svg +1 -0
- package/extensions/magpie/icons/ollama.svg +1 -0
- package/extensions/magpie/icons/omlx.svg +1 -0
- package/extensions/magpie/icons/omo.svg +1 -0
- package/extensions/magpie/icons/omp.svg +1 -0
- package/extensions/magpie/icons/openai.svg +1 -0
- package/extensions/magpie/icons/openchamber.svg +11 -0
- package/extensions/magpie/icons/openclaw.svg +1 -0
- package/extensions/magpie/icons/opencode.svg +1 -0
- package/extensions/magpie/icons/openmausbot.svg +1 -0
- package/extensions/magpie/icons/openrouter.svg +1 -0
- package/extensions/magpie/icons/openwebui.svg +1 -0
- package/extensions/magpie/icons/parasail.svg +1 -0
- package/extensions/magpie/icons/penguin-color.svg +1 -0
- package/extensions/magpie/icons/perplexity-color.svg +1 -0
- package/extensions/magpie/icons/phala-color.svg +1 -0
- package/extensions/magpie/icons/pi.svg +1 -0
- package/extensions/magpie/icons/pipellm-color.svg +5 -0
- package/extensions/magpie/icons/poe.svg +1 -0
- package/extensions/magpie/icons/ppio-color.svg +1 -0
- package/extensions/magpie/icons/prime-agent.svg +1 -0
- package/extensions/magpie/icons/qiniu-color.svg +1 -0
- package/extensions/magpie/icons/qoder.svg +1 -0
- package/extensions/magpie/icons/qwen-color.svg +1 -0
- package/extensions/magpie/icons/qwenpaw.svg +1 -0
- package/extensions/magpie/icons/raycast.svg +1 -0
- package/extensions/magpie/icons/reasonix-color.svg +48 -0
- package/extensions/magpie/icons/reka.svg +1 -0
- package/extensions/magpie/icons/replicate.svg +1 -0
- package/extensions/magpie/icons/roocode.svg +1 -0
- package/extensions/magpie/icons/rtk.png +0 -0
- package/extensions/magpie/icons/sambanova-color.svg +1 -0
- package/extensions/magpie/icons/sensenova-color.svg +1 -0
- package/extensions/magpie/icons/siliconcloud-color.svg +1 -0
- package/extensions/magpie/icons/snow.png +0 -0
- package/extensions/magpie/icons/snowflake-color.svg +1 -0
- package/extensions/magpie/icons/sophnet-color.svg +1 -0
- package/extensions/magpie/icons/spark-color.svg +1 -0
- package/extensions/magpie/icons/stepfun-color.svg +1 -0
- package/extensions/magpie/icons/straico-color.svg +1 -0
- package/extensions/magpie/icons/submodel-color.svg +1 -0
- package/extensions/magpie/icons/t3code.svg +4 -0
- package/extensions/magpie/icons/targon-color.svg +1 -0
- package/extensions/magpie/icons/tencent-color.svg +1 -0
- package/extensions/magpie/icons/tencentcloud-color.svg +1 -0
- package/extensions/magpie/icons/tiangong-color.svg +1 -0
- package/extensions/magpie/icons/together-color.svg +1 -0
- package/extensions/magpie/icons/trae.svg +1 -0
- package/extensions/magpie/icons/typesafe.png +0 -0
- package/extensions/magpie/icons/upstage-color.svg +1 -0
- package/extensions/magpie/icons/venice-color.svg +1 -0
- package/extensions/magpie/icons/vercel.svg +1 -0
- package/extensions/magpie/icons/vertexai-color.svg +1 -0
- package/extensions/magpie/icons/vllm-color.svg +1 -0
- package/extensions/magpie/icons/volcengine-color.svg +1 -0
- package/extensions/magpie/icons/voyage-color.svg +1 -0
- package/extensions/magpie/icons/vscode.svg +1 -0
- package/extensions/magpie/icons/wenxin-color.svg +1 -0
- package/extensions/magpie/icons/windsurf.svg +1 -0
- package/extensions/magpie/icons/workbuddy-color.svg +1 -0
- package/extensions/magpie/icons/workersai-color.svg +1 -0
- package/extensions/magpie/icons/xai.svg +1 -0
- package/extensions/magpie/icons/xiaomimimo.svg +1 -0
- package/extensions/magpie/icons/xinference-color.svg +1 -0
- package/extensions/magpie/icons/yi.svg +1 -0
- package/extensions/magpie/icons/yuanbao-color.svg +1 -0
- package/extensions/magpie/icons/yylx.svg +5 -0
- package/extensions/magpie/icons/zai.svg +1 -0
- package/extensions/magpie/icons/zcode.png +0 -0
- package/extensions/magpie/icons/zed.svg +1 -0
- package/extensions/magpie/icons/zenmux.svg +1 -0
- package/extensions/magpie/icons/zeroone.svg +1 -0
- package/extensions/magpie/icons/zhipu-color.svg +1 -0
- package/extensions/magpie/icons/zoo-code.png +0 -0
- package/extensions/magpie/index.html +572 -0
- package/extensions/magpie/kernel.js +274 -0
- package/extensions/magpie/keyspend.js +63 -0
- package/extensions/magpie/layout.js +26 -0
- package/extensions/magpie/manifest.json +37 -0
- package/extensions/magpie/navlamp.js +47 -0
- package/extensions/magpie/omarchy.css +72 -0
- package/extensions/magpie/omarchy.js +46 -0
- package/extensions/magpie/passerrors.js +21 -0
- package/extensions/magpie/pluginpages.js +405 -0
- package/extensions/magpie/plugins/gateway/client.js +1194 -0
- package/extensions/magpie/plugins/gateway/keys.js +972 -0
- package/extensions/magpie/plugins/gateway/settings.js +459 -0
- package/extensions/magpie/plugins/library/client.js +6788 -0
- package/extensions/magpie/plugins/library/i18n.js +3228 -0
- package/extensions/magpie/plugins/library/library.css +848 -0
- package/extensions/magpie/plugins/otel/i18n.js +48 -0
- package/extensions/magpie/plugins/otel/page.js +189 -0
- package/extensions/magpie/plugins/redact/client.js +46 -0
- package/extensions/magpie/plugins/redact/demo.js +461 -0
- package/extensions/magpie/plugins/redact/i18n.js +432 -0
- package/extensions/magpie/plugins/redact/page.js +985 -0
- package/extensions/magpie/plugins/redact/redact.css +385 -0
- package/extensions/magpie/plugins/redact/settings.js +248 -0
- package/extensions/magpie/plugins/redact/xq_dark.jpg +0 -0
- package/extensions/magpie/plugins/redact/xq_dark.webm +0 -0
- package/extensions/magpie/plugins/redact/xq_light.jpg +0 -0
- package/extensions/magpie/plugins/redact/xq_light.webm +0 -0
- package/extensions/magpie/plugins/routing/client.js +8593 -0
- package/extensions/magpie/plugins/routing/i18n.js +2696 -0
- package/extensions/magpie/plugins/routing/routing.css +1111 -0
- package/extensions/magpie/plugins/search/settings.js +460 -0
- package/extensions/magpie/plugins/sessions/client.js +1622 -0
- package/extensions/magpie/plugins/sessions/i18n.js +360 -0
- package/extensions/magpie/plugins/sessions/sessions.css +181 -0
- package/extensions/magpie/plugins/sessions/settings.js +100 -0
- package/extensions/magpie/plugins/usage/client.js +150 -0
- package/extensions/magpie/plugins/usage/i18n.js +984 -0
- package/extensions/magpie/plugins/usage/page.js +4307 -0
- package/extensions/magpie/plugins.css +319 -0
- package/extensions/magpie/plugins.js +1926 -0
- package/extensions/magpie/profilerename.js +27 -0
- package/extensions/magpie/purposes.js +2 -0
- package/extensions/magpie/quitask.js +79 -0
- package/extensions/magpie/quotaall.js +142 -0
- package/extensions/magpie/ratewindows.js +123 -0
- package/extensions/magpie/registry.js +87 -0
- package/extensions/magpie/resetask.js +137 -0
- package/extensions/magpie/ruleedit.js +53 -0
- package/extensions/magpie/scrollends.js +91 -0
- package/extensions/magpie/settingshints.js +75 -0
- package/extensions/magpie/signsheets.js +86 -0
- package/extensions/magpie/start.js +26 -0
- package/extensions/magpie/syncfiles.js +216 -0
- package/extensions/magpie/theme.js +29 -0
- package/extensions/magpie/traywindows.js +41 -0
- package/extensions/magpie/webfonts.js +130 -0
- package/extensions/magpie/whatsnew.js +252 -0
- package/extensions/magpie.zip +0 -0
- package/knowledge/apps/baijiahao.md +30 -0
- package/knowledge/apps/bilibili.md +1 -0
- package/knowledge/apps/dedao.md +33 -0
- package/knowledge/apps/feishu.md +35 -0
- package/knowledge/apps/gmail.md +33 -0
- package/knowledge/apps/jike.md +31 -0
- package/knowledge/apps/kuaishou.md +34 -0
- package/knowledge/apps/linkedin.md +33 -0
- package/knowledge/apps/qqmail.md +30 -0
- package/knowledge/apps/telegram.md +27 -0
- package/knowledge/apps/toutiao.md +32 -0
- package/knowledge/apps/uber-eats.md +26 -0
- package/knowledge/apps/uber.md +27 -0
- package/knowledge/apps/whatsapp.md +27 -0
- package/knowledge/apps/x.md +32 -0
- package/knowledge/apps/xiaohongshu.md +1 -0
- package/knowledge/apps/zhihu.md +1 -0
- package/knowledge/sites/bilibili.com/SITE.md +50 -0
- package/knowledge/sites/bilibili.com/references/view-fields.md +17 -0
- package/knowledge/sites/github.com/SITE.md +51 -0
- package/knowledge/sites/github.com/references/repo-fields.md +13 -0
- package/knowledge/sites/x.com/SITE.md +47 -0
- package/knowledge/sites/xiaohongshu.com/SITE.md +48 -0
- package/knowledge/sites/xiaohongshu.com/references/note-fields.md +18 -0
- package/knowledge/sites/youtube.com/SITE.md +49 -0
- package/knowledge/sites/youtube.com/references/innertube-fields.md +14 -0
- package/knowledge/sites/zhihu.com/SITE.md +47 -0
- package/knowledge/sites/zhihu.com/references/api-fields.md +21 -0
- package/lib/mobile/extension-catalog.js +41 -1
- package/lib/mobile/extension-data.js +224 -0
- package/lib/mobile/extension-dev.js +3 -1
- package/lib/mobile/file-ops.js +252 -0
- package/lib/mobile/history-derive.js +80 -4
- package/lib/mobile/host-bridge/endpoints.js +48 -6
- package/lib/mobile/host-bridge/event-synthesis.js +33 -6
- package/lib/mobile/jobs-control.js +118 -0
- package/lib/mobile/memory.js +635 -0
- package/lib/mobile/model-badges.js +77 -0
- package/lib/mobile/pet-tools.js +50 -4
- package/lib/mobile/pets.js +214 -18
- package/lib/mobile/phone/access.js +85 -0
- package/lib/mobile/phone/evidence.js +228 -0
- package/lib/mobile/phone/gate.js +290 -0
- package/lib/mobile/phone/grounding.js +314 -0
- package/lib/mobile/phone/guard.js +465 -0
- package/lib/mobile/phone/irreversible.js +88 -8
- package/lib/mobile/phone/knowledge-tools.js +665 -0
- package/lib/mobile/phone/learn.js +329 -0
- package/lib/mobile/phone/redact.js +237 -0
- package/lib/mobile/phone/risk.js +95 -0
- package/lib/mobile/phone/routes.js +28 -1
- package/lib/mobile/phone/service.js +23 -0
- package/lib/mobile/phone/site-commands.js +271 -0
- package/lib/mobile/phone/step-summary.js +201 -0
- package/lib/mobile/phone/stop-summary.js +235 -0
- package/lib/mobile/phone/tool-groups.js +125 -0
- package/lib/mobile/phone/tools.js +589 -0
- package/lib/mobile/phone/untrusted.js +65 -0
- package/lib/mobile/phone-knowledge.js +20 -4
- package/lib/mobile/schedule-edit.js +500 -0
- package/lib/mobile/schedule.js +5 -0
- package/lib/mobile/send-continuation.js +52 -0
- package/lib/mobile/session-models.js +27 -31
- package/lib/mobile/session-send.js +12 -12
- package/lib/mobile/skill-import.js +338 -0
- package/lib/mobile/skill-store.js +524 -0
- package/lib/routes/mobile-api.js +42 -0
- package/package.json +7 -6
- package/skills/skill-authoring/SKILL.md +46 -0
- package/skills/skill-authoring/references/examples.md +82 -0
- package/skills/skill-authoring/references/frontmatter-and-fields.md +46 -0
- package/skills/skill-authoring/scripts/check_skill.py +167 -0
- package/skills/skill-authoring/scripts/manifest.json +3 -0
- package/knowledge/sites/bilibili.com.md +0 -27
- package/knowledge/sites/github.com.md +0 -27
- package/knowledge/sites/x.com.md +0 -28
- package/knowledge/sites/xiaohongshu.com.md +0 -27
- package/knowledge/sites/youtube.com.md +0 -28
- package/knowledge/sites/zhihu.com.md +0 -27
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
/* Plugins: the market of provider plugins, and the ones installed. */
|
|
2
|
+
#view-plugins { gap: 0; }
|
|
3
|
+
.pm-head { gap: 10px; }
|
|
4
|
+
.pm-mirror { display: inline-flex; align-items: center; gap: 7px; padding: 2px 0; background: none; border: 0; font: inherit; font-size: 12px; color: var(--muted); cursor: pointer; white-space: nowrap; }
|
|
5
|
+
.pm-mirror:hover, .pm-mirror.on { color: var(--fg); }
|
|
6
|
+
.pm-mirror:disabled { opacity: .6; cursor: default; }
|
|
7
|
+
.pm-mirror .lib-switch { width: 28px; height: 16px; }
|
|
8
|
+
.pm-mirror .lib-switch i { width: 12px; height: 12px; }
|
|
9
|
+
.pm-mirror .lib-switch.on i { transform: translateX(12px); }
|
|
10
|
+
.pm-find {
|
|
11
|
+
display: flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; width: min(280px, 46%);
|
|
12
|
+
border-radius: 8px; background: var(--pill); color: var(--muted);
|
|
13
|
+
box-shadow: inset 0 0 0 1px transparent; transition: box-shadow .14s var(--ease), background .14s var(--ease);
|
|
14
|
+
}
|
|
15
|
+
.pm-find:focus-within { background: var(--card); box-shadow: inset 0 0 0 1px var(--accent), 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent); }
|
|
16
|
+
.pm-find svg { flex: none; }
|
|
17
|
+
.pm-find input { flex: 1; min-width: 0; border: 0; outline: none; background: none; color: var(--fg); font: inherit; font-size: 12.5px; }
|
|
18
|
+
.pm-find input::placeholder { color: var(--faint); }
|
|
19
|
+
.pm-find input::-webkit-search-cancel-button { cursor: default; }
|
|
20
|
+
.pm-body { gap: 18px; padding: 10px 0 18px; }
|
|
21
|
+
|
|
22
|
+
/* the opening: what plugins are, and a few of the subscriptions they bring */
|
|
23
|
+
.pm-intro {
|
|
24
|
+
position: relative; overflow: hidden; display: flex; align-items: center; gap: 18px;
|
|
25
|
+
padding: 16px 18px; border-radius: 14px; border: 1px solid var(--line);
|
|
26
|
+
background:
|
|
27
|
+
radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 60%),
|
|
28
|
+
var(--card);
|
|
29
|
+
}
|
|
30
|
+
.pm-introtext { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
|
|
31
|
+
.pm-intro h2 { margin: 0; font-size: 15px; font-weight: 650; letter-spacing: -.01em; text-wrap: balance; }
|
|
32
|
+
.pm-intro p { margin: 0; font-size: 12px; line-height: 1.55; color: var(--fg-2); max-width: 560px; }
|
|
33
|
+
.pm-intro .pm-trust { display: flex; align-items: center; gap: 6px; margin-top: 3px; font-size: 11.5px; color: var(--muted); }
|
|
34
|
+
.pm-intro .pm-trust svg { flex: none; color: var(--green); }
|
|
35
|
+
.pm-art { flex: none; display: grid; grid-template-columns: repeat(3, 34px); gap: 8px; transform: rotate(-6deg); margin-right: 6px; }
|
|
36
|
+
.pm-art .pm-logo { width: 34px; height: 34px; border-radius: 10px; box-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 0 0 1px var(--line-2); background: var(--card); }
|
|
37
|
+
.pm-art .pm-logo:nth-child(4) { grid-column: 2; }
|
|
38
|
+
.pm-art .pm-logo:nth-child(odd) { transform: translateY(4px); }
|
|
39
|
+
|
|
40
|
+
/* sections of cards */
|
|
41
|
+
.pm-sec { display: flex; flex-direction: column; gap: 9px; }
|
|
42
|
+
.pm-sechead { display: flex; align-items: baseline; gap: 8px; padding: 0 2px; flex-wrap: wrap; }
|
|
43
|
+
.pm-sechead h3 { margin: 0; font-size: 12.5px; font-weight: 650; }
|
|
44
|
+
.pm-sechead span { font-size: 11.5px; color: var(--muted); }
|
|
45
|
+
.pm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(262px, 1fr)); gap: 10px; }
|
|
46
|
+
/* the GitHub section's kinds, what's installed and its own field, on one
|
|
47
|
+
line while they fit; the field goes under them, the whole width, when
|
|
48
|
+
they don't */
|
|
49
|
+
.pm-ghbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
|
|
50
|
+
.pm-ghbar .segs { flex: none; max-width: 100%; }
|
|
51
|
+
/* it takes a share of the room the strips leave, up to what its
|
|
52
|
+
placeholder needs, so "Filter by name, author or description" isn't cut */
|
|
53
|
+
.pm-ghfind { flex: 4 0 auto; width: min(240px, 100%); max-width: min(320px, 100%); }
|
|
54
|
+
.pm-ghnone { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 12px; border-radius: 12px; border: 1px dashed var(--line); font-size: 12px; color: var(--muted); text-align: center; }
|
|
55
|
+
/* what GitHub couldn't give, over the cards it could: a quiet line, its
|
|
56
|
+
reason wrapping anywhere (a URL in it is one long word) */
|
|
57
|
+
.pm-ghwarn { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 6px; padding: 0 2px; font-size: 11.5px; color: var(--muted); }
|
|
58
|
+
/* its Try again reads as the button it is, beside the quiet line */
|
|
59
|
+
.pm-ghwarn .text { padding: 1px 6px; margin: -1px 0; font-size: 11.5px; color: var(--accent); }
|
|
60
|
+
.pm-ghwarn .text:hover:not(:disabled) { color: var(--accent); background: var(--accent-soft); }
|
|
61
|
+
.pm-ghwarn > span, .pm-ghnone > span { overflow-wrap: anywhere; }
|
|
62
|
+
|
|
63
|
+
.pm-logo { flex: none; width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: var(--pill); color: var(--fg-2); }
|
|
64
|
+
.pm-logo .ic { width: 20px; height: 20px; }
|
|
65
|
+
.pm-logo.big { width: 44px; height: 44px; border-radius: 12px; }
|
|
66
|
+
.pm-logo.big .ic { width: 25px; height: 25px; }
|
|
67
|
+
|
|
68
|
+
.pm-card {
|
|
69
|
+
display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 12px 12px 11px 13px;
|
|
70
|
+
border-radius: 12px; border: 1px solid var(--line); background: var(--card); cursor: default; outline: none;
|
|
71
|
+
transition: border-color .16s var(--ease), box-shadow .16s var(--ease), transform .16s var(--ease);
|
|
72
|
+
}
|
|
73
|
+
.pm-card:hover { border-color: color-mix(in srgb, var(--fg) 16%, var(--line)); box-shadow: 0 4px 14px rgba(20, 22, 30, .07); }
|
|
74
|
+
.pm-card:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent); border-color: var(--accent); }
|
|
75
|
+
.pm-top { display: flex; align-items: center; gap: 10px; min-width: 0; }
|
|
76
|
+
.pm-who { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
|
|
77
|
+
.pm-name { display: flex; align-items: center; gap: 6px; min-width: 0; }
|
|
78
|
+
.pm-name b { font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
79
|
+
.pm-by { display: flex; align-items: center; gap: 4px; min-width: 0; font-size: 11px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
80
|
+
.pm-by > span { overflow: hidden; text-overflow: ellipsis; }
|
|
81
|
+
.pm-verified { display: inline-flex; align-items: center; gap: 3px; color: var(--green); font-weight: 500; }
|
|
82
|
+
.pm-sum {
|
|
83
|
+
margin: 0; font-size: 12px; line-height: 1.45; color: var(--fg-2); min-height: 2.9em;
|
|
84
|
+
display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
|
|
85
|
+
}
|
|
86
|
+
.pm-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 11px; color: var(--muted); font-variant-numeric: tabular-nums; min-height: 18px; }
|
|
87
|
+
.pm-dl { display: inline-flex; align-items: center; gap: 3px; }
|
|
88
|
+
.pm-ver { font: var(--code-style, normal) var(--code-weight, 400) 10.5px var(--code-font, var(--code)); font-stretch: var(--code-stretch, 100%); color: var(--muted); }
|
|
89
|
+
.pm-chip { display: inline-flex; align-items: center; height: 17px; padding: 0 6px; border-radius: 5px; font-size: 10.5px; font-weight: 500; background: var(--pill); color: var(--fg-2); }
|
|
90
|
+
.pm-chip.up { background: var(--accent-soft); color: var(--accent); }
|
|
91
|
+
button.pm-chip { border: 0; font-family: inherit; cursor: pointer; }
|
|
92
|
+
button.pm-chip.up:hover:not(:disabled) { background: var(--accent); color: var(--accent-fg); }
|
|
93
|
+
button.pm-chip:disabled { cursor: default; opacity: .6; }
|
|
94
|
+
.pm-mw-fail { color: var(--red); }
|
|
95
|
+
/* a plugin's tools: the names on one line, the MCP server's address to copy */
|
|
96
|
+
.pm-row .sub.pm-tools { display: flex; align-items: center; gap: 6px; min-width: 0; }
|
|
97
|
+
.pm-tools > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
98
|
+
.pm-tools > .copy { flex: none; width: 20px; height: 20px; }
|
|
99
|
+
.pm-chip.bad { background: var(--red-soft); color: var(--red); }
|
|
100
|
+
.pm-chip.moved { gap: 4px; background: var(--accent-soft); color: var(--accent); }
|
|
101
|
+
.pm-chip.moved .dot { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
|
|
102
|
+
.pm-row .sub.ask { color: var(--fg); }
|
|
103
|
+
/* unofficial: a hairline and a small amber dot, quiet beside the rest
|
|
104
|
+
of the line (yetone: 这些配色有点丑,一点都不优雅精致) */
|
|
105
|
+
.pm-chip.warn { gap: 5px; background: none; box-shadow: inset 0 0 0 1px var(--line); color: var(--fg-2); font-weight: 400; }
|
|
106
|
+
.pm-chip.warn .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--amber); flex: none; }
|
|
107
|
+
/* a provider two installed plugins sign in to: a line that wraps, never clipped */
|
|
108
|
+
.pm-row .sub.pm-clash { display: block; white-space: normal; overflow: visible; overflow-wrap: anywhere; }
|
|
109
|
+
.pm-clash .dot { display: inline-block; width: 6px; height: 6px; margin: 0 5px 1px 0; border-radius: 50%; background: var(--faint); vertical-align: middle; }
|
|
110
|
+
.pm-row .sub.pm-clash.warn { color: var(--amber); }
|
|
111
|
+
.pm-clash.warn .dot { background: currentColor; }
|
|
112
|
+
.pm-foot .pm-check { display: inline-flex; align-items: center; gap: 5px; }
|
|
113
|
+
.pm-foot .pm-check .spin { width: 9px; height: 9px; border-radius: 50%; border: 1.5px solid currentColor; border-right-color: transparent; animation: spin .7s linear infinite; }
|
|
114
|
+
/* what a plugin is reads as the line's other facts do (stars, version):
|
|
115
|
+
its glyph and its word, no fill of its own */
|
|
116
|
+
.pm-chip.kind { gap: 4px; flex: none; padding: 0; background: none; color: var(--fg-2); font-weight: 400; }
|
|
117
|
+
.pm-chip.kind svg { flex: none; }
|
|
118
|
+
/* yet the two kinds part at a glance (yetone: 中间件和供应商稍微有点区分吧):
|
|
119
|
+
each its own hue on the glyph and word, softened toward the text;
|
|
120
|
+
middleware leans teal, apart from the community badge's green */
|
|
121
|
+
.pm-chip.kind.pv { color: color-mix(in srgb, var(--accent) 80%, var(--fg-2)); }
|
|
122
|
+
.pm-chip.kind.mw { color: color-mix(in srgb, color-mix(in oklch, var(--green) 60%, var(--accent)) 80%, var(--fg-2)); }
|
|
123
|
+
/* an agent leans warm, apart from both */
|
|
124
|
+
.pm-chip.kind.ag { color: color-mix(in srgb, color-mix(in oklch, var(--amber) 55%, var(--accent)) 80%, var(--fg-2)); }
|
|
125
|
+
.pm-chip.soft { background: none; box-shadow: inset 0 0 0 1px var(--line); color: var(--muted); }
|
|
126
|
+
|
|
127
|
+
/* a plugin's one button */
|
|
128
|
+
.pm-act {
|
|
129
|
+
flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 5px;
|
|
130
|
+
height: 26px; min-width: 64px; padding: 0 12px; border-radius: 13px;
|
|
131
|
+
font-size: 12px; font-weight: 600; white-space: nowrap;
|
|
132
|
+
background: var(--pill); color: var(--fg-2); transition: background .14s var(--ease), color .14s var(--ease), filter .14s;
|
|
133
|
+
}
|
|
134
|
+
.pm-act:hover:not(:disabled) { background: var(--pill-hover); color: var(--fg); }
|
|
135
|
+
.pm-act.get { background: var(--accent-soft); color: var(--accent); }
|
|
136
|
+
.pm-act.get:hover:not(:disabled) { background: var(--accent); color: var(--accent-fg); }
|
|
137
|
+
/* an update out: Install's size, green for its own (#1587) */
|
|
138
|
+
.pm-act.pm-up { background: var(--green-soft); color: var(--green); }
|
|
139
|
+
.pm-act.pm-up:hover:not(:disabled) { background: var(--green); color: var(--card); }
|
|
140
|
+
/* Sign in, in a list of cards or rows, is Install's tinted capsule: one
|
|
141
|
+
style for a row's action, so no card shouts over its neighbours (HIG's
|
|
142
|
+
one filled button is a sheet's own); a plugin's page fills it */
|
|
143
|
+
.pm-act.go { background: var(--accent-soft); color: var(--accent); }
|
|
144
|
+
.pm-act.go:hover:not(:disabled), .pm-dact .pm-act.go { background: var(--accent); color: var(--accent-fg); }
|
|
145
|
+
.pm-dact .pm-act.go:hover:not(:disabled) { filter: brightness(1.08); }
|
|
146
|
+
.pm-act.done { background: none; color: var(--green); padding: 0 8px; min-width: 0; }
|
|
147
|
+
.pm-act.done:hover:not(:disabled) { background: var(--green-soft); color: var(--green); }
|
|
148
|
+
.pm-act.busy { color: var(--muted); font-weight: 500; }
|
|
149
|
+
.pm-act:disabled:not(.busy):not(.done) { opacity: .55; }
|
|
150
|
+
.pm-act .spin { width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid currentColor; border-right-color: transparent; animation: spin .7s linear infinite; }
|
|
151
|
+
|
|
152
|
+
/* loading: cards laid out as a card is, in soft bars a light passes
|
|
153
|
+
over, one card a beat after the one before it */
|
|
154
|
+
.pm-card.ghost { gap: 9px; pointer-events: none; border-color: color-mix(in srgb, var(--line) 70%, transparent); }
|
|
155
|
+
.pm-card.ghost .sk {
|
|
156
|
+
border-radius: 5px;
|
|
157
|
+
background: linear-gradient(100deg, var(--pill) 30%, color-mix(in srgb, var(--pill-hover) 70%, var(--card)) 50%, var(--pill) 70%);
|
|
158
|
+
background-size: 300% 100%;
|
|
159
|
+
animation: pm-sheen 1.8s cubic-bezier(.45, 0, .25, 1) infinite;
|
|
160
|
+
animation-delay: calc(var(--i, 0) * 120ms);
|
|
161
|
+
}
|
|
162
|
+
.pm-card.ghost .gtop { display: flex; align-items: center; gap: 10px; }
|
|
163
|
+
.pm-card.ghost .gwho { flex: 1; display: flex; flex-direction: column; gap: 6px; }
|
|
164
|
+
.pm-card.ghost .glogo { flex: none; width: 36px; height: 36px; border-radius: 10px; }
|
|
165
|
+
.pm-card.ghost .gname { height: 11px; width: 52%; }
|
|
166
|
+
.pm-card.ghost .gby { height: 8px; width: 30%; opacity: .7; }
|
|
167
|
+
.pm-card.ghost .gact { flex: none; width: 56px; height: 26px; border-radius: 13px; opacity: .8; }
|
|
168
|
+
.pm-card.ghost .gline { height: 8px; margin-top: 6px; }
|
|
169
|
+
.pm-card.ghost .gline.short { width: 68%; margin-top: 0; }
|
|
170
|
+
.pm-card.ghost .gmeta { display: flex; gap: 8px; margin-top: 7px; }
|
|
171
|
+
.pm-card.ghost .gchip { height: 8px; width: 46px; opacity: .8; }
|
|
172
|
+
.pm-card.ghost .gchip.short { width: 30px; }
|
|
173
|
+
@keyframes pm-pulse { 50% { opacity: .5; } }
|
|
174
|
+
@keyframes pm-sheen { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
175
|
+
/* the GitHub section looking: three dots breathing in turn, and the word */
|
|
176
|
+
.pm-sechead .pm-ghlook { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; font-size: 11px; color: var(--faint); animation: pm-fade .4s var(--ease) both .15s; }
|
|
177
|
+
.pm-ghlook .dots { display: inline-flex; gap: 3px; }
|
|
178
|
+
.pm-ghlook .dots i { width: 4px; height: 4px; border-radius: 50%; background: var(--accent); opacity: .25; animation: pm-breathe 1.2s ease-in-out infinite; }
|
|
179
|
+
.pm-ghlook .dots i:nth-child(2) { animation-delay: .16s; }
|
|
180
|
+
.pm-ghlook .dots i:nth-child(3) { animation-delay: .32s; }
|
|
181
|
+
@keyframes pm-breathe { 0%, 70%, 100% { opacity: .25; transform: none; } 35% { opacity: .9; transform: translateY(-1.5px); } }
|
|
182
|
+
@keyframes pm-fade { from { opacity: 0; } }
|
|
183
|
+
/* its cards when they come: in where the ghosts were, one after another */
|
|
184
|
+
.pm-arrive .pm-card { animation: pm-arrive .42s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--i, 0) * 40ms); }
|
|
185
|
+
@keyframes pm-arrive { from { opacity: 0; transform: translateY(4px); } }
|
|
186
|
+
|
|
187
|
+
.pm-note { margin: 0; padding: 4px 2px; font-size: 12px; color: var(--muted); }
|
|
188
|
+
.pm-note.bad { color: var(--red); }
|
|
189
|
+
.pm-note.warn { display: flex; align-items: flex-start; gap: 6px; padding: 8px 10px; border-radius: 8px; background: var(--amber-soft); color: var(--fg); line-height: 1.5; }
|
|
190
|
+
.pm-note.warn svg { flex: none; margin-top: 2px; color: var(--amber); }
|
|
191
|
+
.pm-empty { margin: 24px 4px; font-size: 12.5px; color: var(--red); }
|
|
192
|
+
|
|
193
|
+
/* a package the market doesn't list. It floats at the foot of the view
|
|
194
|
+
while the cards scroll under it (0x3108 on X: with many plugins it was
|
|
195
|
+
found only at the very end), on a strip of the page's own colour that
|
|
196
|
+
reaches into the gaps round it and the view's padding below; at the end
|
|
197
|
+
of the list it is back in its place, above the registry line. The strip
|
|
198
|
+
is the box's ::before, which a sticky box paints over its own border, so
|
|
199
|
+
the dashed border is drawn by its ::after. The strip takes the pointer, so
|
|
200
|
+
a press on it never reaches a card hidden under it */
|
|
201
|
+
.pm-manual { position: sticky; bottom: 0; z-index: 2; display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 12px; border: 1px solid transparent; flex-wrap: wrap; --bleed-l: 12px; }
|
|
202
|
+
body.window .pm-manual { --bleed-l: 16px; }
|
|
203
|
+
.pm-manual::before { content: ""; position: absolute; z-index: -1; top: -11px; bottom: -13px; left: calc(-1 * var(--bleed-l)); right: calc(var(--bar, 0px) - 12px); background: var(--bg); }
|
|
204
|
+
.pm-manual::after { content: ""; position: absolute; inset: -1px; pointer-events: none; border-radius: inherit; border: 1px dashed var(--line); }
|
|
205
|
+
/* a card reached with Tab stops above the box, not under it */
|
|
206
|
+
#view-plugins { scroll-padding-bottom: 76px; }
|
|
207
|
+
.pm-mlabel { font-size: 12px; color: var(--muted); }
|
|
208
|
+
.pm-registry { display: flex; align-items: center; gap: 8px; padding: 4px 12px 0; flex-wrap: wrap; font-size: 12px; min-width: 0; }
|
|
209
|
+
.pm-reg-url { min-width: 0; overflow-wrap: anywhere; font-size: 12px; }
|
|
210
|
+
.pm-reg-from { color: var(--muted); min-width: 0; overflow-wrap: anywhere; }
|
|
211
|
+
.pm-reg-err { flex-basis: 100%; color: var(--red); }
|
|
212
|
+
.pm-minput { flex: 1; min-width: 180px; height: 26px; padding: 0 9px; border-radius: 7px; border: 1px solid var(--line); background: var(--card); color: var(--fg); font: var(--code-style, normal) var(--code-weight, 400) 12px var(--code-font, var(--code)); font-stretch: var(--code-stretch, 100%); outline: none; }
|
|
213
|
+
.pm-minput:focus { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent); }
|
|
214
|
+
/* the system's folder picker, beside the field it fills */
|
|
215
|
+
.pm-browse { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; flex: none; padding: 0; border-radius: 7px; border: 1px solid var(--line); background: var(--card); color: var(--muted); cursor: pointer; transition: color .14s var(--ease), border-color .14s var(--ease); }
|
|
216
|
+
.pm-browse:hover:not(:disabled) { color: var(--fg); border-color: var(--faint); }
|
|
217
|
+
.pm-browse:disabled { opacity: .5; cursor: default; }
|
|
218
|
+
|
|
219
|
+
/* Installed */
|
|
220
|
+
.pm-listhead { margin: 0 0 -10px; padding: 0 2px; }
|
|
221
|
+
/* the plugins with an update, above the list: the sidebar's dot, named */
|
|
222
|
+
.pm-updates { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; padding: 9px 10px 9px 12px; border-radius: 10px; background: var(--accent-soft); font-size: 12px; line-height: 1.35; }
|
|
223
|
+
.pm-updates .grow { flex: 1; min-width: 0; overflow-wrap: anywhere; }
|
|
224
|
+
.pm-updates .pm-dot { flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
|
|
225
|
+
.pm-updates .pm-up { flex: none; }
|
|
226
|
+
.pm-list .row { min-height: 54px; padding: 8px 10px 8px 12px; gap: 11px; cursor: default; transition: background .14s var(--ease); }
|
|
227
|
+
.pm-list .row:hover { background: var(--card-2); }
|
|
228
|
+
.pm-list .row + .row { border-top: 1px solid var(--line-2); }
|
|
229
|
+
.pm-row .pm-logo { width: 32px; height: 32px; border-radius: 9px; }
|
|
230
|
+
.pm-row .pm-logo .ic { width: 18px; height: 18px; }
|
|
231
|
+
.pm-row .who { flex: 1; min-width: 0; }
|
|
232
|
+
.pm-row .name { display: flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 500; }
|
|
233
|
+
.pm-row .sub { display: flex; align-items: center; flex-wrap: wrap; gap: 0 2px; margin-top: 2px; font-size: 11.5px; color: var(--muted); }
|
|
234
|
+
.pm-row .sub.bad { color: var(--red); display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
235
|
+
.pm-row .sub .sep { color: var(--faint); }
|
|
236
|
+
.pm-sub { display: inline-flex; align-items: center; gap: 5px; }
|
|
237
|
+
.pm-sub .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--faint); }
|
|
238
|
+
.pm-sub.in .dot { background: var(--green); }
|
|
239
|
+
.pm-opts { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
|
|
240
|
+
.pm-opts textarea {
|
|
241
|
+
width: 100%; box-sizing: border-box; resize: vertical; padding: 8px 10px; border-radius: 8px;
|
|
242
|
+
border: 1px solid var(--line); background: var(--card); color: var(--fg); font: var(--code-style, normal) var(--code-weight, 400) 12px/1.5 var(--code-font, var(--code)); font-stretch: var(--code-stretch, 100%); tab-size: 2; outline: none;
|
|
243
|
+
}
|
|
244
|
+
.pm-opts textarea:focus { border-color: var(--accent); }
|
|
245
|
+
.pm-opts-err { font-size: 11.5px; color: var(--red); }
|
|
246
|
+
.pm-opts-err:empty { display: none; }
|
|
247
|
+
.pm-opts-bar { display: flex; align-items: center; gap: 2px; }
|
|
248
|
+
.pm-opts-bar > span { flex: 1; min-width: 0; font-size: 11.5px; color: var(--muted); }
|
|
249
|
+
.pm-row .val { display: flex; align-items: center; gap: 2px; flex: none; }
|
|
250
|
+
.pm-row.off .who, .pm-row.off .pm-logo { opacity: .5; }
|
|
251
|
+
.pm-foot { display: flex; align-items: center; gap: 8px; padding: 0 4px; font-size: 11px; color: var(--faint); }
|
|
252
|
+
.pm-none { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 44px 16px; text-align: center; }
|
|
253
|
+
.pm-none b { font-size: 13.5px; font-weight: 600; margin-top: 4px; }
|
|
254
|
+
.pm-none p { margin: 0 0 6px; font-size: 12px; color: var(--muted); max-width: 320px; line-height: 1.5; }
|
|
255
|
+
|
|
256
|
+
/* a plugin's page */
|
|
257
|
+
.modal .editor.pm-detail.framed > .ehead { min-height: 76px; gap: 12px; }
|
|
258
|
+
.modal .editor.pm-detail.framed > .ebody { display: block; padding: 0; }
|
|
259
|
+
.pm-dhead .pm-name b { font-size: 15px; }
|
|
260
|
+
.pm-dhead .pm-by { font-size: 11.5px; }
|
|
261
|
+
.pm-dact .pm-act { height: 28px; min-width: 80px; border-radius: 14px; }
|
|
262
|
+
.pm-dbody { display: flex; flex-direction: column; gap: 12px; padding: 14px 18px 18px; }
|
|
263
|
+
.pm-dsum { margin: 0; font-size: 13px; line-height: 1.5; color: var(--fg); }
|
|
264
|
+
.pm-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 1px; border-radius: 10px; overflow: hidden; background: var(--line-2); border: 1px solid var(--line-2); }
|
|
265
|
+
.pm-fact { display: flex; flex-direction: column; gap: 2px; padding: 8px 11px; background: var(--card); min-width: 0; }
|
|
266
|
+
.pm-fact .k { font-size: 10.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
|
|
267
|
+
.pm-fact .v { font-size: 12.5px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
|
|
268
|
+
.pm-links { display: flex; gap: 6px; flex-wrap: wrap; }
|
|
269
|
+
.pm-link { display: inline-flex; align-items: center; gap: 4px; height: 24px; padding: 0 9px; border-radius: 7px; background: var(--pill); color: var(--fg-2); font-size: 11.5px; text-decoration: none; }
|
|
270
|
+
.pm-link:hover { background: var(--pill-hover); color: var(--fg); }
|
|
271
|
+
.pm-readme { border-top: 1px solid var(--line-2); padding-top: 12px; min-height: 60px; }
|
|
272
|
+
/* the README's skeleton: strings the bird bounces down (bounceLoader) */
|
|
273
|
+
.pm-bounce { position: relative; height: 108px; }
|
|
274
|
+
.pm-bounce[data-gone] { position: absolute; z-index: 2; pointer-events: none; }
|
|
275
|
+
.pm-bounce > svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; transition: opacity .3s ease-out; }
|
|
276
|
+
.pm-bounce[data-gone] > svg { opacity: 0; }
|
|
277
|
+
.pm-bounce path { fill: none; stroke: var(--skel, var(--pill)); stroke-width: 10; stroke-linecap: round; transition: stroke .35s ease-out; }
|
|
278
|
+
.pm-bounce path[data-lit] { stroke: color-mix(in srgb, var(--accent) 18%, var(--skel, var(--pill))); }
|
|
279
|
+
|
|
280
|
+
/* a README */
|
|
281
|
+
.pm-md { font-size: 12.5px; line-height: 1.6; color: var(--fg-2); overflow-wrap: anywhere; }
|
|
282
|
+
.pm-md > :first-child { margin-top: 0; }
|
|
283
|
+
.pm-md h3, .pm-md h4, .pm-md h5, .pm-md h6 { color: var(--fg); margin: 16px 0 6px; line-height: 1.3; text-wrap: balance; }
|
|
284
|
+
.pm-md h3 { font-size: 15px; font-weight: 650; }
|
|
285
|
+
.pm-md h4 { font-size: 13.5px; font-weight: 650; }
|
|
286
|
+
.pm-md h5, .pm-md h6 { font-size: 12.5px; font-weight: 600; }
|
|
287
|
+
.pm-md p { margin: 0 0 9px; }
|
|
288
|
+
.pm-md ul, .pm-md ol { margin: 0 0 9px; padding-left: 20px; }
|
|
289
|
+
.pm-md li + li { margin-top: 2px; }
|
|
290
|
+
.pm-md a { color: var(--accent); text-decoration: none; }
|
|
291
|
+
.pm-md a:hover { text-decoration: underline; }
|
|
292
|
+
.pm-md code { font: var(--code-style, normal) var(--code-weight, 400) 11.5px var(--code-font, var(--code)); font-stretch: var(--code-stretch, 100%); padding: 1px 4px; border-radius: 4px; background: var(--pill); color: var(--fg); }
|
|
293
|
+
.pm-md pre { margin: 0 0 10px; padding: 9px 11px; border-radius: 8px; background: var(--card-2); border: 1px solid var(--line-2); overflow-x: auto; }
|
|
294
|
+
.pm-md pre code { padding: 0; background: none; font-size: 11.5px; line-height: 1.35; white-space: pre; } /* close enough for a box drawn in │ and ─ to join */
|
|
295
|
+
.pm-md blockquote { margin: 0 0 9px; padding: 7px 11px; border-radius: 8px; background: var(--card-2); color: var(--fg-2); }
|
|
296
|
+
.pm-md hr { border: 0; border-top: 1px solid var(--line-2); margin: 12px 0; }
|
|
297
|
+
.pm-table { overflow-x: auto; margin: 0 0 10px; }
|
|
298
|
+
.pm-md table { border-collapse: collapse; font-size: 12px; }
|
|
299
|
+
.pm-md th, .pm-md td { padding: 5px 9px; border: 1px solid var(--line-2); text-align: left; vertical-align: top; }
|
|
300
|
+
.pm-md th { background: var(--card-2); font-weight: 600; color: var(--fg); }
|
|
301
|
+
|
|
302
|
+
/* the add sheet's row to Plugins */
|
|
303
|
+
.tile.more-plugins { color: var(--accent); }
|
|
304
|
+
.tile.more-plugins .puzzle { flex: none; width: 18px; height: 18px; display: grid; place-items: center; }
|
|
305
|
+
.tile.more-plugins > svg { flex: none; opacity: .7; }
|
|
306
|
+
.tile.more-plugins:hover { background: var(--accent-soft); }
|
|
307
|
+
|
|
308
|
+
@media (max-width: 560px) {
|
|
309
|
+
.pm-head { flex-wrap: wrap; }
|
|
310
|
+
.pm-find { width: 100%; order: 3; }
|
|
311
|
+
.pm-ghfind { max-width: 100%; }
|
|
312
|
+
.pm-art { display: none; }
|
|
313
|
+
}
|
|
314
|
+
@media (prefers-reduced-motion: reduce) {
|
|
315
|
+
.pm-card { transition: none; }
|
|
316
|
+
.pm-card.ghost .sk, .pm-ghlook, .pm-ghlook .dots i, .pm-arrive .pm-card { animation: none; }
|
|
317
|
+
.pm-ghlook .dots i { opacity: .5; }
|
|
318
|
+
}
|
|
319
|
+
.pm-tools > .pm-tools-flip { flex: none; margin-left: auto; padding: 0 2px; }
|