vault backup: 2026-08-26 17:23:27

This commit is contained in:
2026-08-26 17:23:27 +08:00
parent d88c70d1c5
commit 90061b5521
39 changed files with 16512 additions and 5490 deletions
@@ -0,0 +1,172 @@
[
{
"id": "builtin-autopair-input",
"trigger": "[(《「『“”‘’《]",
"replacement": "const p={'【':'【$0】','':'$0','《':'《$0》','「':'「$0」','『':'『$0』','“':'“$0”','”':'“$0”','':'$0','':'$0','《':'《$0》'}; return p[leftMatches[0]];",
"options": "rF",
"priority": 10,
"description": "输入全角括号/引号时自动补全配对"
},
{
"id": "builtin-autopair-jump",
"trigger": "《》|“”|““|‘’|‘‘|()",
"trigger_right": "》|”||",
"replacement": "const map = {\n \"《》\": [\"》\", \"《》\"],\n \"()\": [\"\", \"()\"],\n \"“”\": [\"”\", \"“”\"],\n \"““\": [\"”\", \"“”\"],\n \"‘’\": [\"\", \"‘’\"],\n \"‘‘\": [\"\", \"‘’\"]\n}\nif(map[leftMatches[0]][0]==rightMatches[0]){\n return map[leftMatches[0]][1];\n}\nreturn undefined;",
"options": "rF",
"priority": 5,
"description": "输入右侧配对符号时自动跳过,避免重复插入"
},
{
"id": "builtin-autopair-delete",
"trigger": "[【(《「『“‘]",
"trigger_right": "[】)》」』”’]",
"replacement": "const p={'【':'】','':'','《':'》','「':'」','『':'』','“':'”','':''}; return p[leftMatches[0]]===rightMatches[0] ? '' : undefined;",
"options": "drF",
"priority": 10,
"description": "删除全角括号/引号时同时删除配对"
},
{
"id": "builtin-conv-backtick",
"trigger": "··",
"replacement": "`$0`",
"priority": 10,
"description": "连续中文间隔号 ·· 转行内代码"
},
{
"id": "builtin-conv-codeblock",
"trigger": "(?<=^|\\n)([ \\t]*)`·",
"trigger_right": "`",
"replacement": "[[1]]```$0\n[[1]]```",
"options": "r",
"priority": 10,
"description": "行内代码中继续输入 · 升级为代码块"
},
{
"id": "builtin-conv-formula",
"trigger": "(¥¥|¥¥|\\$¥|\\$¥|\\$\\$)",
"trigger_right": "\\$?",
"replacement": "return rightMatches[0] === '$' ? '$$\\n$0\\n$$' : '$$0$';",
"options": "rF",
"priority": 10,
"description": "¥/$ 符号组合转行内或块级公式"
},
{
"id": "builtin-conv-linestart",
"trigger": "(^|\\n)([》、])",
"replacement": "const m = {'》': '[[1]]> $0', '、': '[[1]]/$0'}; return m[leftMatches[2]];",
"options": "rF",
"priority": 10,
"description": "行首 》 转引用标记、行首 、 转斜杠"
},
{
"id": "builtin-conv-hw2fw",
"trigger": "([一-龥぀-ゟ゠-ヿ가-힯])([,.:?!;(])",
"trigger_right": "\\)?",
"replacement": "const m={',':'','.':'。','?':'','!':'',':':'',';':'','(':'$0'}; return leftMatches[1] + m[leftMatches[2]];",
"options": "rF",
"priority": 15,
"enabled": false,
"description": "CJK字符后半角标点转全角"
},
{
"id": "builtin-fw2hw-double",
"trigger": "([。!;,:?》|(《])\\1",
"trigger_right": "[)》]?",
"replacement": "const p={'':['','($0)'],'《':['》','<$0']};\nconst m={'。':'.$0','':'!$0','':';$0','':',$0','':':$0','':'?$0','》':'>$0','':'|$0','':'($0)','《':'<$0'};\nconst c=leftMatches[1],r=rightMatches[0]||'',e=p[c]; \nreturn e&&e[0]===r?e[1]:m[c];",
"options": "rF",
"priority": 3,
"description": "连续输入两个相同全角标点转对应半角"
},
{
"id": "builtin-del-inline-formula",
"trigger": "$",
"trigger_right": "$",
"replacement": "",
"options": "d",
"priority": 30,
"description": "删除行内公式 $...$ 配对"
},
{
"id": "builtin-del-highlight",
"trigger": "==",
"trigger_right": "==",
"replacement": "",
"options": "d",
"priority": 30,
"description": "删除高亮 ==...== 配对"
},
{
"id": "builtin-del-block-formula",
"trigger": "$$\n",
"trigger_right": "\n$$",
"replacement": "",
"options": "d",
"priority": 30,
"description": "删除块级公式 $$...$$ 配对"
},
{
"id": "builtin-del-codeblock",
"trigger": "(?<=^|\\n)([ \\t]*)```",
"trigger_right": "[ \\t]*\\n([ \\t]*)```",
"replacement": "[[1]]",
"options": "dr",
"priority": 30,
"description": "快速删除空代码块"
},
{
"id": "builtin-del-wikilink",
"trigger": " ?!?\\[\\[[^\\n\\[\\]]*\\]\\]",
"replacement": "",
"options": "dr",
"priority": 30,
"description": "快速删除双链及嵌入(![[]]"
},
{
"id": "builtin-sel-wrap-backtick",
"trigger": "·",
"replacement": "`${0:${SEL}}`",
"options": "s",
"priority": 40,
"description": "选中文字后输入 · 包裹为行内代码"
},
{
"id": "builtin-sel-wrap-symbols",
"trigger": "【¥¥",
"replacement": "const m={'¥': ['$', '$'], '¥': ['$', '$'], '【': ['[', ']']}; \nreturn m[key][0] + '${0:${SEL}}' + m[key][1];",
"options": "sF",
"priority": 40,
"description": "选中文字后输入 【/¥/¥ 包裹为 []/$$"
},
{
"id": "builtin-sel-wrap-quotes",
"trigger": "“”‘’",
"replacement": "const m={'“': ['“','”'], '”': ['“','”'], '': ['',''], '': ['','']}; return m[key][0] + '${0:${SEL}}' + m[key][1];",
"options": "sF",
"priority": 40,
"description": "选中文字后输入全角引号,配对引号包裹"
},
{
"id": "builtin-sel-wrap-cjk-brackets",
"trigger": "《(",
"replacement": "const m={'《': ['《','》'], '': ['','']}; return m[key][0] + '${0:${SEL}}' + m[key][1];",
"options": "sF",
"priority": 40,
"description": "选中文字后输入《(,配对括号包裹"
},
{
"id": "builtin-quote-convert",
"trigger": "((?:^|\\n)\\s*>*) ?[>》]",
"replacement": "[[1]]> $0",
"options": "r",
"priority": 50,
"description": "输入 > 或 》 转为 Markdown 引用标记"
},
{
"id": "builtin-quote-space",
"trigger": "((?:^|\\n)\\s*>+)([^ >》]+)",
"replacement": "[[1]] [[2]]$0",
"options": "r",
"priority": 50,
"description": "引用标记 > 后自动补空格"
}
]
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "easy-typing-obsidian",
"name": "Easy Typing",
"version": "5.5.15",
"version": "6.0.9",
"minAppVersion": "0.15.0",
"description": "This plugin aims to enhance and optimize the editing experience in Obsidian",
"author": "yaozhuwa",
+909 -2
View File
@@ -17,5 +17,912 @@ span[class="easy-typing-cursor-widget"] {
}
@keyframes blink {
50% { opacity: 0; }
}
50% {
opacity: 0;
}
}
/* ========== Settings Tab Navigation ========== */
.et-settings-shell {
display: flex;
flex-direction: column;
gap: 18px;
padding: 6px 0 16px;
}
.et-settings-hero {
padding: 18px 22px;
border-radius: 18px;
border: 1px solid color-mix(in srgb, var(--background-modifier-border) 88%, transparent);
background: linear-gradient(135deg, color-mix(in srgb, var(--background-primary) 84%, var(--interactive-accent) 16%), var(--background-primary));
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}
.et-settings-hero-main h1 {
margin: 0;
}
.et-settings-hero-meta {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 6px;
margin-top: 8px;
color: var(--text-muted);
}
.et-settings-hero-link {
font-weight: 600;
}
.et-settings-nav {
display: flex;
gap: 0;
margin: 0;
padding: 0 6px;
border-bottom: 2px solid var(--background-modifier-border);
flex-wrap: wrap;
}
.et-settings-tab-btn {
padding: 8px 18px;
border: none;
background: transparent;
cursor: pointer;
font-size: var(--font-ui-small);
color: var(--text-muted);
margin: 0 0 -2px;
border-bottom: 2px solid transparent;
transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
border-radius: 8px 8px 0 0;
text-align: center;
width: auto;
}
.et-settings-tab-btn:hover {
color: var(--text-normal);
background-color: var(--background-modifier-hover);
}
.et-settings-tab-btn.et-settings-tab-active {
color: var(--text-accent);
border-bottom-color: var(--text-accent);
background: color-mix(in srgb, var(--interactive-accent) 10%, var(--background-primary));
font-weight: var(--font-semibold);
}
.et-settings-content {
min-width: 0;
}
.et-settings-tab-panel.et-settings-tab-hidden {
display: none;
}
.et-settings-tab-panel {
display: flex;
flex-direction: column;
gap: 16px;
}
.et-settings-section {
border-radius: 18px;
border: 1px solid color-mix(in srgb, var(--background-modifier-border) 88%, transparent);
background: color-mix(in srgb, var(--background-primary) 95%, var(--background-secondary));
overflow: hidden;
}
.et-settings-section-header {
display: flex;
align-items: flex-start;
justify-content: space-between;
flex-wrap: wrap;
gap: 16px;
padding: 18px 20px 12px;
border-bottom: 1px solid color-mix(in srgb, var(--background-modifier-border) 88%, transparent);
background: color-mix(in srgb, var(--background-secondary) 42%, var(--background-primary));
}
.et-settings-section-heading {
min-width: 0;
flex: 1 1 220px;
}
.et-settings-section-header h3 {
margin: 0;
padding: 0;
border: none;
color: var(--text-normal);
font-size: var(--font-ui-medium);
}
.et-settings-section-desc {
margin-top: 6px;
margin-bottom: 0;
}
.et-settings-section-actions {
display: flex;
align-items: center;
gap: 8px;
flex-shrink: 0;
flex-wrap: wrap;
justify-content: flex-end;
align-self: flex-start;
margin-left: auto;
max-width: 100%;
}
.et-settings-section-actions>* {
flex: 0 0 auto;
}
.et-settings-section-body {
padding: 8px 20px 8px;
}
.et-settings-section-body>.setting-item:first-child {
border-top: none;
}
.et-settings-section-body .setting-item {
padding-top: 14px;
padding-bottom: 14px;
}
.et-settings-note {
white-space: pre-wrap;
margin: 6px 0 6px;
padding: 12px 14px;
border-radius: 12px;
border: 1px solid color-mix(in srgb, var(--background-modifier-border) 88%, transparent);
background: color-mix(in srgb, var(--background-secondary) 62%, var(--background-primary));
}
.et-settings-disabled {
opacity: 0.58;
}
.et-settings-disabled .setting-item-control {
filter: saturate(0.65);
}
.et-settings-disabled a {
pointer-events: none;
}
.et-setting-full-width {
display: grid;
grid-template-columns: minmax(0, 1fr);
}
.et-setting-full-width .setting-item-info {
width: 100%;
max-width: none;
}
.et-setting-full-width .setting-item-control {
width: 100%;
margin-top: 10px;
}
.et-inline-form-setting {
display: flex;
flex-wrap: wrap;
gap: 14px;
align-items: start;
}
.et-inline-form-setting .setting-item-info {
padding-right: 0;
flex: 0 1 220px;
min-width: 150px;
}
.et-inline-form-setting .setting-item-control {
display: flex;
flex-wrap: wrap;
gap: 8px;
width: 100%;
flex: 1 1 320px;
min-width: min(320px, 100%);
}
.et-inline-form-setting .setting-item-control>* {
flex: 1 1 140px;
}
.et-inline-form-setting .setting-item-control button {
flex: 0 0 auto;
}
.et-settings-textarea {
width: 100%;
min-height: 96px;
resize: vertical;
border-radius: 12px;
padding: 10px 12px;
line-height: 1.6;
}
.et-settings-textarea-compact {
min-height: 120px;
}
.et-settings-textarea-tall {
min-height: 280px;
}
.et-section-action-btn {
white-space: nowrap;
}
.et-section-icon-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: 10px;
}
/* ========== Rule Type Tags ========== */
.et-rule-type-tag {
display: inline-block;
padding: 1px 6px;
border-radius: 4px;
font-size: 11px;
font-weight: 600;
margin-right: 2px;
vertical-align: middle;
}
.et-rule-scope-tag {
display: inline-block;
padding: 1px 6px;
border-radius: 4px;
font-size: 11px;
font-weight: 600;
margin-right: 2px;
vertical-align: middle;
}
.et-rule-scope-code {
background-color: rgba(59, 130, 246, 0.12);
color: #3b82f6;
border: 1px solid rgba(59, 130, 246, 0.24);
font-family: var(--font-monospace);
}
.et-rule-scope-formula {
background: linear-gradient(135deg, rgba(99, 102, 241, 0.16), rgba(168, 85, 247, 0.12));
color: #7c3aed;
border: 1px solid rgba(124, 58, 237, 0.26);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
.et-rule-type-input {
background-color: rgba(76, 175, 80, 0.15);
color: #4caf50;
border: 1px solid rgba(76, 175, 80, 0.3);
}
.et-rule-type-delete {
background-color: rgba(244, 67, 54, 0.15);
color: #f44336;
border: 1px solid rgba(244, 67, 54, 0.3);
}
.et-rule-type-selectkey {
background-color: rgba(255, 152, 0, 0.15);
color: #ff9800;
border: 1px solid rgba(255, 152, 0, 0.3);
}
.et-rule-type-fn {
background-color: rgba(156, 39, 176, 0.15);
color: #9c27b0;
border: 1px solid rgba(156, 39, 176, 0.3);
}
/* Rule Trigger Mode Tag */
.et-rule-trigger-mode {
display: inline-block;
padding: 1px 5px;
border-radius: 4px;
font-size: 10px;
font-weight: 500;
margin-right: 2px;
vertical-align: middle;
cursor: pointer;
user-select: none;
transition: background-color 0.15s ease, color 0.15s ease;
}
.et-trigger-mode-auto {
background-color: rgba(158, 158, 158, 0.15);
color: var(--text-muted);
border: 1px solid rgba(158, 158, 158, 0.3);
}
.et-trigger-mode-tab {
background-color: rgba(255, 152, 0, 0.15);
color: #ff9800;
border: 1px solid rgba(255, 152, 0, 0.3);
}
.et-rule-trigger-mode:hover {
filter: brightness(1.2);
}
/* Rule Drag and Drop */
.et-rule-drag-handle {
display: flex;
align-items: center;
justify-content: center;
cursor: grab;
color: var(--text-faint);
padding: 1px 0;
margin-right: 0;
width: 14px;
border-radius: 4px;
flex-shrink: 0;
}
.et-rule-drag-handle:hover {
color: var(--text-muted);
background-color: var(--background-modifier-hover);
}
.et-rule-drag-handle:active {
cursor: grabbing;
}
.et-rule-dragging {
opacity: 0.4;
}
.et-rule-drag-over-top {
box-shadow: 0 2px 0 0 var(--interactive-accent) inset;
}
.et-rule-drag-over-bottom {
box-shadow: 0 -2px 0 0 var(--interactive-accent) inset;
}
.et-rule-item .setting-item-name {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 2px;
white-space: normal;
overflow: visible;
text-overflow: unset;
}
.et-rule-item .setting-item-info {
min-width: 0;
}
.et-rule-item .setting-item-control {
flex-shrink: 0;
}
.et-rule-preview-text {
flex: 1 1 auto;
min-width: 0;
line-height: 1.4;
margin-left: 2px;
}
.et-deleted-rules summary {
cursor: pointer;
color: var(--text-muted);
font-size: var(--font-ui-small);
margin-top: 8px;
}
.et-deleted-rules .setting-item {
opacity: 0.7;
}
/* Function editor in rule modal */
.et-fn-editor-label {
display: block;
font-size: var(--font-ui-small);
color: var(--text-normal);
margin-bottom: 6px;
font-weight: var(--font-semibold);
}
/* Rule edit modal groups */
.et-modal-group {
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
padding: 4px 16px 12px;
margin-bottom: 16px;
}
.et-modal-group-title {
font-size: var(--font-ui-small);
font-weight: var(--font-semibold);
color: var(--text-muted);
padding: 8px 0 2px;
}
.et-modal-group .setting-item:last-child {
border-bottom: none;
}
.et-modal-group .et-modal-option-row {
padding: 8px 0;
min-height: unset;
}
.et-modal-group .et-modal-option-row .setting-item-name {
font-size: var(--font-ui-small);
color: var(--text-muted);
}
.et-fn-editor-container {
width: 100%;
}
.et-fn-editor-container .cm-editor {
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
}
.et-fn-editor-container .cm-editor.cm-focused {
border-color: var(--interactive-accent);
}
/* JS syntax highlighting in function editor */
.et-hl-keyword {
color: #c678dd;
}
.et-hl-string {
color: #98c379;
}
.et-hl-comment {
color: var(--text-faint);
font-style: italic;
}
.et-hl-number {
color: #d19a66;
}
/* ========== Language Pair Capsule UI ========== */
.et-lang-pair-capsules {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 12px;
}
.et-lang-pair-capsule {
display: inline-flex;
align-items: center;
gap: 2px;
padding: 3px 6px 3px 12px;
border-radius: 16px;
font-size: var(--font-ui-small);
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
color: var(--text-normal);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
/* Slight elevation */
transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.et-lang-pair-capsule:hover {
border-color: var(--interactive-accent);
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08);
transform: translateY(-1px);
}
.et-capsule-remove {
appearance: none;
-webkit-appearance: none;
border: none;
background: transparent;
cursor: pointer;
font-size: 14px;
line-height: 1;
color: var(--text-muted);
margin-left: 2px;
border-radius: 50%;
width: 18px;
height: 18px;
display: flex;
align-items: center;
justify-content: center;
transition: background-color 0.2s ease, color 0.2s ease;
}
.et-capsule-remove:disabled {
cursor: default;
}
.et-capsule-remove:hover {
color: var(--text-on-accent);
background-color: var(--text-error);
}
.et-pair-selector-row {
margin-bottom: 6px;
}
.et-custom-scripts {
margin-bottom: 12px;
}
.et-custom-scripts .setting-item {
border: none;
padding: 4px 0;
}
/* ========== Settings UI Buttons ========== */
.et-reset-btn {
transition: transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1),
box-shadow 0.2s ease,
background-color 0.2s ease,
color 0.2s ease;
border: 1px solid var(--background-modifier-border);
}
.et-reset-btn:hover {
background-color: rgba(220, 53, 69, 0.08);
/* Subtle red tint */
border-color: rgba(220, 53, 69, 0.3);
color: var(--text-error);
box-shadow: 0 2px 6px rgba(220, 53, 69, 0.1);
}
.et-reset-btn:active {
transform: scale(0.95);
background-color: rgba(220, 53, 69, 0.15);
}
/* ========== Rule Edit Modal: Pill Bar ========== */
.et-rule-edit-modal .modal-content {
padding-top: 18px;
}
.et-rule-edit-modal-content {
display: flex;
flex-direction: column;
gap: 14px;
}
/* .et-rule-edit-modal {
width: min(580px, calc(100vw - 32px));
} */
.et-rule-edit-header {
padding: 4px 2px 0;
}
.et-rule-edit-title {
margin: 0;
font-size: 1.35em;
line-height: 1.25;
letter-spacing: -0.01em;
}
.et-rule-edit-title:focus,
.et-rule-edit-title:focus-visible {
outline: none;
}
.et-pill-bar {
display: flex;
align-items: stretch;
gap: 10px;
padding: 0;
flex-wrap: wrap;
}
.et-pill-section {
display: inline-flex;
align-items: center;
gap: 10px;
padding: 8px 10px;
border-radius: 14px;
background: color-mix(in srgb, var(--background-secondary) 92%, var(--background-primary));
border: 1px solid var(--background-modifier-border);
flex-wrap: wrap;
}
.et-pill-options {
display: inline-flex;
align-items: stretch;
gap: 0;
padding: 3px;
border-radius: 11px;
background: var(--background-primary);
border: 1px solid color-mix(in srgb, var(--background-modifier-border) 88%, transparent);
position: relative;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
flex-wrap: wrap;
max-width: 100%;
}
.et-rule-edit-modal button.et-pill:not(.clickable-icon) {
position: relative;
z-index: 1;
padding: 7px 14px;
border-radius: 8px;
border: 0;
background: transparent !important;
background-color: transparent !important;
appearance: none;
-webkit-appearance: none;
box-shadow: none !important;
background-image: none !important;
cursor: pointer;
font-size: 12px;
color: color-mix(in srgb, var(--text-muted) 82%, var(--background-modifier-border));
line-height: 1.5;
font-weight: 500;
transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
white-space: nowrap;
}
.et-rule-edit-modal button.et-pill:not(.clickable-icon)+.et-pill::before {
content: '';
position: absolute;
left: 0;
top: 22%;
width: 1px;
height: 56%;
background: color-mix(in srgb, var(--background-modifier-border) 82%, transparent);
transition: opacity 0.18s ease;
}
.et-rule-edit-modal button.et-pill:not(.clickable-icon):hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.et-rule-edit-modal button.et-pill:not(.clickable-icon):focus {
outline: none;
}
.et-rule-edit-modal button.et-pill:not(.clickable-icon):focus-visible {
outline: 2px solid color-mix(in srgb, var(--interactive-accent) 72%, white);
outline-offset: 1px;
}
.et-rule-edit-modal button.et-pill.et-pill-active:not(.clickable-icon) {
background: linear-gradient(180deg,
color-mix(in srgb, var(--interactive-accent) 32%, var(--background-primary)),
color-mix(in srgb, var(--interactive-accent) 18%, var(--background-primary)));
background-color: color-mix(in srgb, var(--interactive-accent) 18%, var(--background-primary)) !important;
color: color-mix(in srgb, var(--text-normal) 88%, black);
font-weight: 600;
box-shadow: none !important;
}
.et-rule-edit-modal button.et-pill.et-pill-active:not(.clickable-icon)::before,
.et-rule-edit-modal button.et-pill.et-pill-active:not(.clickable-icon)+.et-pill::before {
opacity: 0;
}
.et-rule-edit-modal button.et-pill.et-pill-active:not(.clickable-icon)::after {
content: '';
position: absolute;
inset: 0;
border-radius: inherit;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.24),
inset 0 0 0 1px color-mix(in srgb, var(--background-modifier-border) 72%, white),
0 1px 2px rgba(0, 0, 0, 0.1);
pointer-events: none;
}
.et-pill-group-label {
font-size: 11px;
color: var(--text-faint);
margin-left: 2px;
margin-right: 2px;
user-select: none;
font-weight: 600;
letter-spacing: 0.02em;
white-space: nowrap;
}
/* ========== Rule Edit Modal: Group Header + Pill Chip ========== */
.et-modal-group-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 8px 0 2px;
}
.et-modal-group-header .et-modal-group-title {
padding: 0;
}
.et-pill-chip {
display: inline-flex;
align-items: center;
gap: 5px;
padding: 2px 8px 2px 10px;
border-radius: 10px;
border: 1px solid var(--background-modifier-border);
background: none;
cursor: pointer;
font-size: 12px;
color: var(--text-muted);
user-select: none;
transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.et-pill-chip::after {
content: '';
display: inline-block;
width: 8px;
height: 8px;
border-radius: 50%;
border: 1.5px solid var(--text-faint);
flex-shrink: 0;
transition: background-color 0.15s ease, border-color 0.15s ease;
}
.et-pill-chip:hover {
border-color: var(--text-muted);
}
.et-pill-chip:hover::after {
border-color: var(--text-muted);
}
.et-pill-chip.et-pill-chip-active {
color: var(--text-normal);
border-color: var(--text-muted);
}
.et-pill-chip.et-pill-chip-active::after {
background-color: var(--text-muted);
border-color: var(--text-muted);
}
.et-scope-setting .setting-item-control {
flex: 1 1 auto;
min-width: 0;
}
.et-scope-options {
display: flex;
flex-wrap: wrap;
gap: 8px;
width: auto;
margin-left: auto;
justify-content: flex-end;
}
/* ========== Rule Edit Modal: Compact Spacing ========== */
.et-hidden {
display: none !important;
}
.et-rule-edit-modal .modal-close-button {
top: 14px;
right: 14px;
}
.et-replacement-setting {
display: grid;
grid-template-columns: 1fr;
}
.et-replacement-setting .setting-item-info {
display: none;
}
.et-replacement-setting .setting-item-control {
margin-top: 0;
}
.et-replacement-textarea {
width: 100%;
min-height: 96px;
resize: vertical;
border-radius: 10px;
padding: 10px 12px;
line-height: 1.5;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04);
}
.et-replacement-hint {
margin-top: -2px;
margin-bottom: 4px;
white-space: pre-line;
font-size: 12px;
line-height: 1.5;
color: var(--text-muted);
}
.et-fn-hint {
margin-top: 6px;
margin-bottom: 4px;
font-size: 12px;
font-family: var(--font-monospace);
white-space: pre-line;
line-height: 1.6;
color: var(--text-muted);
}
.et-rule-edit-modal .setting-item {
padding-top: 12px;
padding-bottom: 12px;
}
.et-rule-edit-modal .et-modal-group {
padding: 6px 18px 10px;
margin-bottom: 0;
border-radius: 14px;
background: linear-gradient(180deg, color-mix(in srgb, var(--background-secondary) 72%, transparent), color-mix(in srgb, var(--background-primary) 92%, transparent));
border-color: color-mix(in srgb, var(--background-modifier-border) 90%, transparent);
box-shadow: 0 10px 28px rgba(0, 0, 0, 0.04);
}
.et-rule-edit-modal .et-modal-group:hover {
border-color: color-mix(in srgb, var(--interactive-accent) 24%, var(--background-modifier-border));
}
/* ========== Rule Edit Modal: Input Optimizations ========== */
.et-rule-edit-modal .et-modal-group .setting-item-control {
flex-grow: 2;
}
.et-rule-edit-modal [data-field="trigger"] input,
.et-rule-edit-modal [data-field="triggerRight"] input,
.et-rule-edit-modal [data-field="scopeLanguage"] input,
.et-rule-edit-modal input[type="number"],
.et-rule-edit-modal .setting-item input[type="text"] {
font-family: var(--font-monospace);
border-radius: 10px;
min-height: 36px;
padding-left: 10px;
padding-right: 10px;
}
.et-rule-edit-modal .setting-item-info {
padding-right: 18px;
}
.et-rule-edit-modal .setting-item-name {
font-weight: 600;
}
.et-rule-edit-modal .setting-item-description {
line-height: 1.5;
}
.et-fn-editor-container .cm-editor {
border: 1px solid var(--background-modifier-border);
border-radius: 12px;
overflow: hidden;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04);
}
.et-fn-editor-container .cm-scroller {
min-height: 160px;
}
.et-rule-edit-footer {
display: flex;
justify-content: flex-end;
padding-top: 2px;
}
.et-rule-edit-save {
min-width: 120px;
border-radius: 10px;
box-shadow: 0 10px 24px color-mix(in srgb, var(--interactive-accent) 18%, transparent);
}
@@ -0,0 +1 @@
[]