@dialpad/dialtone-css 8.80.0-next.3 → 8.80.0-next.5
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/lib/build/js/dialtone_migrate_chip_interactive/index.mjs +367 -0
- package/lib/build/js/dialtone_migrate_chip_interactive/test.mjs +244 -0
- package/lib/build/js/dialtone_migrate_scrollbar_always/index.mjs +225 -0
- package/lib/build/less/components/box.less +2 -0
- package/lib/build/less/components/link.less +14 -19
- package/lib/build/less/components/notice.less +1 -1
- package/lib/build/less/components/rich-text-editor.less +24 -0
- package/lib/build/less/components/scrollbar.less +22 -0
- package/lib/build/less/dialtone.less +7 -0
- package/lib/dist/dialtone-default-theme.css +334 -293
- package/lib/dist/dialtone-default-theme.min.css +1 -1
- package/lib/dist/dialtone-docs.json +1 -1
- package/lib/dist/dialtone.css +50 -15
- package/lib/dist/dialtone.min.css +1 -1
- package/lib/dist/js/dialtone_migrate_chip_interactive/index.mjs +367 -0
- package/lib/dist/js/dialtone_migrate_chip_interactive/test.mjs +244 -0
- package/lib/dist/js/dialtone_migrate_scrollbar_always/index.mjs +225 -0
- package/lib/dist/tokens/tokens-101-dark.css +141 -135
- package/lib/dist/tokens/tokens-101-light.css +164 -158
- package/lib/dist/tokens/tokens-102-dark.css +141 -135
- package/lib/dist/tokens/tokens-102-light.css +164 -158
- package/lib/dist/tokens/tokens-103-dark.css +141 -135
- package/lib/dist/tokens/tokens-103-light.css +164 -158
- package/lib/dist/tokens/tokens-104-dark.css +141 -135
- package/lib/dist/tokens/tokens-104-light.css +164 -158
- package/lib/dist/tokens/tokens-105-dark.css +141 -135
- package/lib/dist/tokens/tokens-105-light.css +164 -158
- package/lib/dist/tokens/tokens-106-dark.css +141 -135
- package/lib/dist/tokens/tokens-106-light.css +164 -158
- package/lib/dist/tokens/tokens-107-dark.css +141 -135
- package/lib/dist/tokens/tokens-107-light.css +164 -158
- package/lib/dist/tokens/tokens-108-dark.css +141 -135
- package/lib/dist/tokens/tokens-108-light.css +164 -158
- package/lib/dist/tokens/tokens-109-dark.css +141 -135
- package/lib/dist/tokens/tokens-109-light.css +164 -158
- package/lib/dist/tokens/tokens-110-dark.css +141 -135
- package/lib/dist/tokens/tokens-110-light.css +164 -158
- package/lib/dist/tokens/tokens-111-dark.css +141 -135
- package/lib/dist/tokens/tokens-111-light.css +164 -158
- package/lib/dist/tokens/tokens-112-dark.css +141 -135
- package/lib/dist/tokens/tokens-112-light.css +164 -158
- package/lib/dist/tokens/tokens-113-dark.css +141 -135
- package/lib/dist/tokens/tokens-113-light.css +164 -158
- package/lib/dist/tokens/tokens-114-dark.css +141 -135
- package/lib/dist/tokens/tokens-114-light.css +164 -158
- package/lib/dist/tokens/tokens-115-dark.css +141 -135
- package/lib/dist/tokens/tokens-115-light.css +164 -158
- package/lib/dist/tokens/tokens-116-dark.css +141 -135
- package/lib/dist/tokens/tokens-116-light.css +164 -158
- package/lib/dist/tokens/tokens-117-dark.css +141 -135
- package/lib/dist/tokens/tokens-117-light.css +164 -158
- package/lib/dist/tokens/tokens-118-dark.css +141 -135
- package/lib/dist/tokens/tokens-118-light.css +164 -158
- package/lib/dist/tokens/tokens-119-dark.css +141 -135
- package/lib/dist/tokens/tokens-119-light.css +164 -158
- package/lib/dist/tokens/tokens-120-dark.css +141 -135
- package/lib/dist/tokens/tokens-120-light.css +164 -158
- package/lib/dist/tokens/tokens-121-dark.css +141 -135
- package/lib/dist/tokens/tokens-121-light.css +164 -158
- package/lib/dist/tokens/tokens-122-dark.css +141 -135
- package/lib/dist/tokens/tokens-122-light.css +164 -158
- package/lib/dist/tokens/tokens-123-dark.css +141 -135
- package/lib/dist/tokens/tokens-123-light.css +164 -158
- package/lib/dist/tokens/tokens-124-dark.css +141 -135
- package/lib/dist/tokens/tokens-124-light.css +164 -158
- package/lib/dist/tokens/tokens-125-dark.css +141 -135
- package/lib/dist/tokens/tokens-125-light.css +164 -158
- package/lib/dist/tokens/tokens-126-dark.css +141 -135
- package/lib/dist/tokens/tokens-126-light.css +164 -158
- package/lib/dist/tokens/tokens-127-dark.css +141 -135
- package/lib/dist/tokens/tokens-127-light.css +164 -158
- package/lib/dist/tokens/tokens-128-dark.css +141 -135
- package/lib/dist/tokens/tokens-128-light.css +164 -158
- package/lib/dist/tokens/tokens-129-dark.css +141 -135
- package/lib/dist/tokens/tokens-129-light.css +164 -158
- package/lib/dist/tokens/tokens-130-dark.css +141 -135
- package/lib/dist/tokens/tokens-130-light.css +164 -158
- package/lib/dist/tokens/tokens-131-dark.css +141 -135
- package/lib/dist/tokens/tokens-131-light.css +164 -158
- package/lib/dist/tokens/tokens-132-dark.css +141 -135
- package/lib/dist/tokens/tokens-132-light.css +164 -158
- package/lib/dist/tokens/tokens-133-dark.css +141 -135
- package/lib/dist/tokens/tokens-133-light.css +164 -158
- package/lib/dist/tokens/tokens-134-dark.css +141 -135
- package/lib/dist/tokens/tokens-134-light.css +164 -158
- package/lib/dist/tokens/tokens-135-dark.css +141 -135
- package/lib/dist/tokens/tokens-135-light.css +164 -158
- package/lib/dist/tokens/tokens-136-dark.css +141 -135
- package/lib/dist/tokens/tokens-136-light.css +164 -158
- package/lib/dist/tokens/tokens-137-dark.css +141 -135
- package/lib/dist/tokens/tokens-137-light.css +164 -158
- package/lib/dist/tokens/tokens-aegean-dark.css +164 -158
- package/lib/dist/tokens/tokens-aegean-light.css +184 -178
- package/lib/dist/tokens/tokens-base-dark.css +98 -98
- package/lib/dist/tokens/tokens-base-light.css +98 -98
- package/lib/dist/tokens/tokens-botany-dark.css +149 -143
- package/lib/dist/tokens/tokens-botany-light.css +171 -165
- package/lib/dist/tokens/tokens-buttercream-dark.css +148 -142
- package/lib/dist/tokens/tokens-buttercream-light.css +171 -165
- package/lib/dist/tokens/tokens-ceruleo-dark.css +164 -158
- package/lib/dist/tokens/tokens-ceruleo-light.css +184 -178
- package/lib/dist/tokens/tokens-contrast-high-dark.css +3 -3
- package/lib/dist/tokens/tokens-contrast-high-light.css +10 -10
- package/lib/dist/tokens/tokens-debug-dp.css +28 -22
- package/lib/dist/tokens/tokens-dp-dark.css +166 -160
- package/lib/dist/tokens/tokens-dp-light.css +186 -180
- package/lib/dist/tokens/tokens-expressive-dark.css +163 -157
- package/lib/dist/tokens/tokens-expressive-light.css +186 -180
- package/lib/dist/tokens/tokens-expressive-sm-dark.css +163 -157
- package/lib/dist/tokens/tokens-expressive-sm-light.css +186 -180
- package/lib/dist/tokens/tokens-high-desert-dark.css +144 -138
- package/lib/dist/tokens/tokens-high-desert-light.css +164 -158
- package/lib/dist/tokens/tokens-melon-dark.css +145 -139
- package/lib/dist/tokens/tokens-melon-light.css +165 -159
- package/lib/dist/tokens/tokens-plum-dark.css +153 -147
- package/lib/dist/tokens/tokens-plum-light.css +164 -158
- package/lib/dist/tokens/tokens-prota-deuter-dark.css +292 -262
- package/lib/dist/tokens/tokens-prota-deuter-light.css +315 -285
- package/lib/dist/tokens/tokens-sunflower-dark.css +154 -148
- package/lib/dist/tokens/tokens-sunflower-light.css +174 -168
- package/lib/dist/tokens/tokens-tmo-dark.css +165 -159
- package/lib/dist/tokens/tokens-tmo-light.css +185 -179
- package/lib/dist/tokens/tokens-trita-dark.css +239 -197
- package/lib/dist/tokens/tokens-trita-light.css +263 -221
- package/lib/dist/tokens/tokens-verdant-haze-dark.css +144 -138
- package/lib/dist/tokens/tokens-verdant-haze-light.css +164 -158
- package/lib/dist/tokens-docs.json +1 -1
- package/package.json +11 -4
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Migration script for v-dt-scrollbar :never → :always rename.
|
|
5
|
+
*
|
|
6
|
+
* DLT-3158 The `:never` directive argument was renamed to `:always` to reflect
|
|
7
|
+
* its actual meaning (always show the scrollbar, never auto-hide it).
|
|
8
|
+
* The `DtBox` `scrollbar="never"` prop value is similarly renamed to
|
|
9
|
+
* `scrollbar="always"`.
|
|
10
|
+
*
|
|
11
|
+
* This script:
|
|
12
|
+
* - Replaces `v-dt-scrollbar:never` with `v-dt-scrollbar:always` in .vue and .html files.
|
|
13
|
+
* - Replaces `scrollbar="never"` with `scrollbar="always"` (DtBox prop) in .vue files.
|
|
14
|
+
* - Replaces `:scrollbar="'never'"` and `scrollbar='never'` variants in .vue files.
|
|
15
|
+
*
|
|
16
|
+
* Usage:
|
|
17
|
+
* npx dialtone-migrate-scrollbar-always [options]
|
|
18
|
+
*
|
|
19
|
+
* Options:
|
|
20
|
+
* --cwd <path> Working directory (default: cwd)
|
|
21
|
+
* --dry-run Show changes without applying them
|
|
22
|
+
* --yes Apply all changes without prompting
|
|
23
|
+
* --help Show help
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
import fs from 'fs/promises';
|
|
27
|
+
import { realpathSync } from 'node:fs';
|
|
28
|
+
import path from 'path';
|
|
29
|
+
import readline from 'readline';
|
|
30
|
+
import { fileURLToPath } from 'node:url';
|
|
31
|
+
|
|
32
|
+
// ---------------------------------------------------------------------------
|
|
33
|
+
// Transform
|
|
34
|
+
// ---------------------------------------------------------------------------
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Apply all renames to a single file's content.
|
|
38
|
+
* Returns the transformed string (may be identical to input if no matches).
|
|
39
|
+
*/
|
|
40
|
+
export function transformContent (content) {
|
|
41
|
+
return content
|
|
42
|
+
// v-dt-scrollbar:never → v-dt-scrollbar:always
|
|
43
|
+
.replace(/v-dt-scrollbar:never\b/g, 'v-dt-scrollbar:always')
|
|
44
|
+
// DtBox scrollbar prop: match the entire opening <dt-box>/<DtBox> tag, rewrite only within it
|
|
45
|
+
.replace(/<(dt-box|DtBox)\b[\s\S]*?>/g, tag =>
|
|
46
|
+
tag
|
|
47
|
+
// scrollbar="never" → scrollbar="always" (unbound prop only; negative lookbehind excludes :scrollbar="never")
|
|
48
|
+
.replace(/(?<!:)\bscrollbar="never"/g, 'scrollbar="always"')
|
|
49
|
+
// scrollbar='never' → scrollbar='always' (unbound prop only)
|
|
50
|
+
.replace(/(?<!:)\bscrollbar='never'/g, 'scrollbar=\'always\'')
|
|
51
|
+
// :scrollbar="'never'" → :scrollbar="'always'"
|
|
52
|
+
.replace(/:scrollbar="'never'"/g, ':scrollbar="\'always\'"')
|
|
53
|
+
// :scrollbar="\"never\"" → :scrollbar="\"always\""
|
|
54
|
+
.replace(/:scrollbar='"never"'/g, ':scrollbar=\'"always"\''),
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// ---------------------------------------------------------------------------
|
|
59
|
+
// File walker
|
|
60
|
+
// ---------------------------------------------------------------------------
|
|
61
|
+
|
|
62
|
+
function isIgnoredPath (fullPath, ignore) {
|
|
63
|
+
const segments = fullPath.split(path.sep);
|
|
64
|
+
return ignore.some(ig => {
|
|
65
|
+
if (ig.includes('/')) {
|
|
66
|
+
const parts = ig.split('/');
|
|
67
|
+
for (let i = 0; i + parts.length <= segments.length; i++) {
|
|
68
|
+
if (parts.every((p, j) => segments[i + j] === p)) return true;
|
|
69
|
+
}
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
return segments.includes(ig);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
async function findFiles (dir, extensions, ignore = []) {
|
|
77
|
+
const results = [];
|
|
78
|
+
async function walk (currentDir) {
|
|
79
|
+
let entries;
|
|
80
|
+
try {
|
|
81
|
+
entries = await fs.readdir(currentDir, { withFileTypes: true });
|
|
82
|
+
} catch {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
for (const entry of entries) {
|
|
86
|
+
const fullPath = path.join(currentDir, entry.name);
|
|
87
|
+
if (isIgnoredPath(fullPath, ignore)) continue;
|
|
88
|
+
if (entry.isDirectory()) {
|
|
89
|
+
await walk(fullPath);
|
|
90
|
+
} else if (entry.isFile() && extensions.some(ext => entry.name.endsWith(ext))) {
|
|
91
|
+
results.push(fullPath);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
await walk(dir);
|
|
96
|
+
return results;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// ---------------------------------------------------------------------------
|
|
100
|
+
// CLI plumbing
|
|
101
|
+
// ---------------------------------------------------------------------------
|
|
102
|
+
|
|
103
|
+
function printHelp () {
|
|
104
|
+
console.log(`
|
|
105
|
+
Usage: npx dialtone-migrate-scrollbar-always [options]
|
|
106
|
+
|
|
107
|
+
Renames the v-dt-scrollbar ":never" directive argument to ":always" (DLT-3158).
|
|
108
|
+
Also renames the DtBox scrollbar="never" prop value to scrollbar="always".
|
|
109
|
+
|
|
110
|
+
Options:
|
|
111
|
+
--cwd <path> Working directory (default: cwd)
|
|
112
|
+
--dry-run Show changes without applying them
|
|
113
|
+
--yes Apply all changes without prompting
|
|
114
|
+
--help Show help
|
|
115
|
+
|
|
116
|
+
Examples:
|
|
117
|
+
npx dialtone-migrate-scrollbar-always
|
|
118
|
+
npx dialtone-migrate-scrollbar-always --dry-run
|
|
119
|
+
npx dialtone-migrate-scrollbar-always --cwd ./src
|
|
120
|
+
npx dialtone-migrate-scrollbar-always --yes
|
|
121
|
+
`);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
function parseArgs (args) {
|
|
125
|
+
const cwdIndex = args.indexOf('--cwd');
|
|
126
|
+
return {
|
|
127
|
+
help: args.includes('--help'),
|
|
128
|
+
dryRun: args.includes('--dry-run'),
|
|
129
|
+
autoYes: args.includes('--yes'),
|
|
130
|
+
cwd: cwdIndex !== -1 && args[cwdIndex + 1]
|
|
131
|
+
? path.resolve(args[cwdIndex + 1])
|
|
132
|
+
: process.cwd(),
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
async function prompt (question) {
|
|
137
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
138
|
+
return new Promise(resolve => {
|
|
139
|
+
rl.question(question, answer => {
|
|
140
|
+
rl.close();
|
|
141
|
+
resolve(answer.trim().toLowerCase());
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
async function scanFiles (cwd) {
|
|
147
|
+
const extensions = ['.vue', '.html'];
|
|
148
|
+
const ignore = ['node_modules', 'dist', '.git', '.vuepress/public', '.vuepress/.temp', '.vuepress/.cache', 'storybook-static'];
|
|
149
|
+
const files = await findFiles(cwd, extensions, ignore);
|
|
150
|
+
|
|
151
|
+
const changes = [];
|
|
152
|
+
|
|
153
|
+
for (const file of files) {
|
|
154
|
+
const content = await fs.readFile(file, 'utf8');
|
|
155
|
+
const transformed = transformContent(content);
|
|
156
|
+
if (transformed !== content) {
|
|
157
|
+
changes.push({ file, content, transformed });
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
return changes;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
async function applyChanges (changes, autoYes) {
|
|
165
|
+
if (!autoYes) {
|
|
166
|
+
const answer = await prompt('\nApply changes? (y/N) ');
|
|
167
|
+
if (answer !== 'y' && answer !== 'yes') {
|
|
168
|
+
console.log('Cancelled.');
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
for (const { file, transformed } of changes) {
|
|
173
|
+
await fs.writeFile(file, transformed, 'utf8');
|
|
174
|
+
}
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
function printChangeSummary (changes, cwd) {
|
|
179
|
+
console.log(`\nFound changes in ${changes.length} file(s):\n`);
|
|
180
|
+
for (const { file } of changes) {
|
|
181
|
+
console.log(` ${path.relative(cwd, file)}`);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
async function main () {
|
|
186
|
+
const opts = parseArgs(process.argv.slice(2));
|
|
187
|
+
if (opts.help) {
|
|
188
|
+
printHelp();
|
|
189
|
+
process.exit(0);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
console.log(`\nScanning ${opts.cwd} for v-dt-scrollbar:never and scrollbar="never" usages...`);
|
|
193
|
+
|
|
194
|
+
const changes = await scanFiles(opts.cwd);
|
|
195
|
+
|
|
196
|
+
if (changes.length === 0) {
|
|
197
|
+
console.log('No usages found. Nothing to migrate.');
|
|
198
|
+
process.exit(0);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
printChangeSummary(changes, opts.cwd);
|
|
202
|
+
|
|
203
|
+
if (opts.dryRun) {
|
|
204
|
+
console.log('\n--dry-run: No files were modified.');
|
|
205
|
+
process.exit(0);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
const applied = await applyChanges(changes, opts.autoYes);
|
|
209
|
+
if (applied) console.log(`\nMigrated ${changes.length} file(s).\n`);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
const isDirectRun = (() => {
|
|
213
|
+
try {
|
|
214
|
+
return realpathSync(process.argv[1]) === fileURLToPath(import.meta.url);
|
|
215
|
+
} catch {
|
|
216
|
+
return false;
|
|
217
|
+
}
|
|
218
|
+
})();
|
|
219
|
+
|
|
220
|
+
if (isDirectRun) {
|
|
221
|
+
main().catch(err => {
|
|
222
|
+
console.error(err);
|
|
223
|
+
process.exit(1);
|
|
224
|
+
});
|
|
225
|
+
}
|
|
@@ -99,6 +99,7 @@
|
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
+
|
|
102
103
|
// ============================================================================
|
|
103
104
|
// $ VALUE LISTS
|
|
104
105
|
// ----------------------------------------------------------------------------
|
|
@@ -140,6 +141,7 @@
|
|
|
140
141
|
// Padding cascade: specific → axis → shorthand → 0
|
|
141
142
|
padding-block: var(--box-pbs, var(--box-pbl, var(--box-p, 0))) var(--box-pbe, var(--box-pbl, var(--box-p, 0)));
|
|
142
143
|
padding-inline: var(--box-pis, var(--box-pi, var(--box-p, 0))) var(--box-pie, var(--box-pi, var(--box-p, 0)));
|
|
144
|
+
|
|
143
145
|
}
|
|
144
146
|
|
|
145
147
|
// ============================================================================
|
|
@@ -52,7 +52,6 @@
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
&:active {
|
|
55
|
-
// --link-text-decoration: underline;
|
|
56
55
|
color: var(--link-color-default);
|
|
57
56
|
}
|
|
58
57
|
|
|
@@ -191,36 +190,32 @@
|
|
|
191
190
|
&--inverted-mention {
|
|
192
191
|
--link-color-default: var(--dt-color-link-primary-inverted);
|
|
193
192
|
--link-color-default-hover: var(--dt-color-link-primary-inverted-hover);
|
|
194
|
-
--link-text-decoration: none;
|
|
195
193
|
--link-padding: 0 var(--dt-spacing-25);
|
|
196
|
-
--link-background-color:
|
|
194
|
+
--link-background-color: var(--dt-color-link-mention-inverted-background);
|
|
197
195
|
|
|
198
196
|
line-height: var(--dt-font-line-height-200);
|
|
199
|
-
border-radius: var(--dt-size-radius-
|
|
197
|
+
border-radius: var(--dt-size-radius-300);
|
|
198
|
+
|
|
199
|
+
&:hover {
|
|
200
|
+
--link-background-color: var(--dt-color-link-mention-inverted-background-hover);
|
|
201
|
+
}
|
|
200
202
|
}
|
|
201
203
|
|
|
202
204
|
// $$ MENTION
|
|
203
205
|
// ----------------------------------------------------------------------------
|
|
204
|
-
// Styling
|
|
205
|
-
//
|
|
206
|
+
// Styling for @mention links (e.g. @brad.paugh). Displays as a pill-shaped
|
|
207
|
+
// background using brand surface tokens. Background changes on hover.
|
|
206
208
|
&--mention {
|
|
207
|
-
--link-
|
|
208
|
-
--link-
|
|
209
|
-
--link-
|
|
209
|
+
--link-color-default: var(--dt-color-link-mention);
|
|
210
|
+
--link-color-default-hover: var(--dt-color-link-mention-hover);
|
|
211
|
+
--link-padding: var(--dt-spacing-1) var(--dt-spacing-25);
|
|
212
|
+
--link-background-color: var(--dt-color-link-mention-background);
|
|
210
213
|
|
|
211
214
|
line-height: var(--dt-font-line-height-200);
|
|
212
|
-
border-radius: var(--dt-size-radius-
|
|
215
|
+
border-radius: var(--dt-size-radius-300);
|
|
213
216
|
|
|
214
217
|
&:hover {
|
|
215
|
-
--link-
|
|
216
|
-
--link-background-color: oklch(from var(--dt-color-surface-brand-strong) l c h /0.25);
|
|
217
|
-
|
|
218
|
-
text-underline-offset: var(--dt-spacing-25);
|
|
219
|
-
text-decoration-thickness: var(--dt-size-border-100);
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
&:active {
|
|
223
|
-
--link-background-color: oklch(from var(--dt-color-surface-brand-strong) l c h /0.1);
|
|
218
|
+
--link-background-color: var(--dt-color-link-mention-background-hover);
|
|
224
219
|
}
|
|
225
220
|
}
|
|
226
221
|
}
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
.d-notice.d-notice--important,
|
|
115
115
|
.d-banner.d-banner--important,
|
|
116
116
|
.d-toast.d-toast--important {
|
|
117
|
-
--notice-color-background: var(--dt-color-surface-
|
|
117
|
+
--notice-color-background: var(--dt-color-surface-primary-inverted);
|
|
118
118
|
--notice-color-text: var(--dt-color-foreground-primary-inverted);
|
|
119
119
|
--notice-color-icon: var(--notice-color-text);
|
|
120
120
|
--notice-color-shadow: transparent;
|
|
@@ -41,10 +41,34 @@
|
|
|
41
41
|
list-style-type: disc;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
ul ul > li {
|
|
45
|
+
list-style-type: circle;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
ul ul ul > li {
|
|
49
|
+
list-style-type: square;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
ul ul ul ul > li {
|
|
53
|
+
list-style-type: disc;
|
|
54
|
+
}
|
|
55
|
+
|
|
44
56
|
ol > li {
|
|
45
57
|
list-style-type: decimal;
|
|
46
58
|
}
|
|
47
59
|
|
|
60
|
+
ol ol > li {
|
|
61
|
+
list-style-type: lower-alpha;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
ol ol ol > li {
|
|
65
|
+
list-style-type: lower-roman;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
ol ol ol ol > li {
|
|
69
|
+
list-style-type: decimal;
|
|
70
|
+
}
|
|
71
|
+
|
|
48
72
|
blockquote {
|
|
49
73
|
margin-inline-start: 0;
|
|
50
74
|
padding-inline-start: var(--dt-spacing-100);
|
|
@@ -30,6 +30,28 @@
|
|
|
30
30
|
opacity: var(--dt-opacity-1100);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
+
|
|
34
|
+
// Track offsets via CSS custom properties set by v-dt-scrollbar directive.
|
|
35
|
+
// The base rules (0,3,0) beat OS's non-cornerless rules (0,1,0).
|
|
36
|
+
// The cornerless overrides (0,4,0) beat OS's cornerless rules (0,3,0) which reset
|
|
37
|
+
// top/bottom on vertical and left/right on horizontal — regardless of import order.
|
|
38
|
+
&.os-scrollbar-vertical {
|
|
39
|
+
inset-block-start: var(--dt-scrollbar-offset-block-start, 0);
|
|
40
|
+
inset-inline-end: var(--dt-scrollbar-offset-inline-end, 0);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&.os-scrollbar-vertical.os-scrollbar-cornerless {
|
|
44
|
+
inset-block: var(--dt-scrollbar-offset-block-start, 0) var(--dt-scrollbar-offset-block-end, 0);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
&.os-scrollbar-horizontal {
|
|
48
|
+
inset-block-end: var(--dt-scrollbar-offset-block-end, 0);
|
|
49
|
+
inset-inline-start: var(--dt-scrollbar-offset-inline-start, 0);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
&.os-scrollbar-horizontal.os-scrollbar-cornerless {
|
|
53
|
+
inset-inline: var(--dt-scrollbar-offset-inline-start, 0) var(--dt-scrollbar-offset-inline-end, 0);
|
|
54
|
+
}
|
|
33
55
|
}
|
|
34
56
|
}
|
|
35
57
|
|
|
@@ -133,3 +133,10 @@
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
|
+
|
|
137
|
+
@layer dialtone.utilities {
|
|
138
|
+
/*
|
|
139
|
+
[data-dt-brand="prota-deuter"] { --dt-color-surface-info-opaque: oklch(from var(--dt-color-blue-300) l c h / 0.5) !important; }
|
|
140
|
+
[data-dt-brand="prota-deuter"][data-dt-mode="dark"] { --dt-color-surface-info-opaque: oklch(from var(--dt-color-blue-300) l c h / 0.6) !important; }
|
|
141
|
+
*/
|
|
142
|
+
}
|