@haxtheweb/create 10.0.4 → 10.0.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/README.md +109 -38
- package/dist/create.js +25 -8
- package/dist/docs/hax.1 +37 -3
- package/dist/lib/micro-frontend-registry.js +6 -6
- package/dist/lib/programs/audit.js +929 -0
- package/dist/lib/programs/site.js +2 -2
- package/dist/lib/programs/webcomponent.js +1 -0
- package/dist/templates/sitetheme/base-theme.js +158 -15
- package/dist/templates/sitetheme/flex-theme.js +1 -1
- package/dist/templates/sitetheme/sidebar-theme.js +1 -1
- package/dist/templates/webcomponent/hax/_dddignore +37 -0
- package/package.json +2 -2
|
@@ -0,0 +1,929 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.auditCommandDetected = auditCommandDetected;
|
|
7
|
+
var _nodeFs = require("node:fs");
|
|
8
|
+
var _nodePath = _interopRequireDefault(require("node:path"));
|
|
9
|
+
var _picocolors = _interopRequireDefault(require("picocolors"));
|
|
10
|
+
var p = _interopRequireWildcard(require("@clack/prompts"));
|
|
11
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
/**
|
|
15
|
+
* @description Runs the audit command, to be called when `hax audit` command is run
|
|
16
|
+
*/
|
|
17
|
+
function auditCommandDetected(commandRun) {
|
|
18
|
+
const PROJECT_ROOT = process.cwd();
|
|
19
|
+
p.intro(`${_picocolors.default.bgBlack(` 🚀 Auditing DDD Compliance: ${_picocolors.default.underline(_picocolors.default.bold(_picocolors.default.yellow(PROJECT_ROOT)))} `)}`);
|
|
20
|
+
let dddignore = dddignoreInterpreter(PROJECT_ROOT);
|
|
21
|
+
if (commandRun.options.debug) {
|
|
22
|
+
p.intro(`${_picocolors.default.bgBlack(_picocolors.default.white(` 🚧 Debug: displaying .dddignore contents `))}`);
|
|
23
|
+
console.table(dddignore);
|
|
24
|
+
}
|
|
25
|
+
auditNavigator(PROJECT_ROOT, dddignore);
|
|
26
|
+
p.outro(`
|
|
27
|
+
🎉 Process Completed
|
|
28
|
+
|
|
29
|
+
📘 For more information about DDD variables and capabilities: ${_picocolors.default.underline(_picocolors.default.cyan(`https://haxtheweb.org/documentation/ddd`))}
|
|
30
|
+
`);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* @description Gets items from dddignore with a hierarchy (.dddignore affects folders below it, never above it)
|
|
35
|
+
* @returns Array of objects detailing what directories, files, and file extensions to ignore
|
|
36
|
+
*/
|
|
37
|
+
function dddignoreInterpreter(root) {
|
|
38
|
+
let list = [];
|
|
39
|
+
(0, _nodeFs.readdirSync)(root).forEach(item => {
|
|
40
|
+
const FULL_PATH = _nodePath.default.join(root, item);
|
|
41
|
+
if (item !== "node_modules" && item !== ".git" && item !== "dist" && item !== "public" && (0, _nodeFs.statSync)(FULL_PATH).isDirectory()) {
|
|
42
|
+
// Directory
|
|
43
|
+
list = list.concat(dddignoreInterpreter(FULL_PATH));
|
|
44
|
+
} else if (item === ".dddignore") {
|
|
45
|
+
// File
|
|
46
|
+
let lines = (0, _nodeFs.readFileSync)(FULL_PATH, 'utf-8').split('\n').filter(Boolean);
|
|
47
|
+
lines.forEach(line => {
|
|
48
|
+
let trimmed = line.trim();
|
|
49
|
+
if (line.includes('#') && !line.startsWith('#')) {
|
|
50
|
+
// Inline comment support
|
|
51
|
+
let removeComment = trimmed.split('#')[0];
|
|
52
|
+
trimmed = removeComment.trim();
|
|
53
|
+
}
|
|
54
|
+
if (!trimmed.startsWith('#')) {
|
|
55
|
+
let type = "file";
|
|
56
|
+
if (trimmed.startsWith('/') || trimmed.startsWith('\\')) {
|
|
57
|
+
trimmed = trimmed.substring(1);
|
|
58
|
+
type = "directory";
|
|
59
|
+
} else if (trimmed.startsWith('*')) {
|
|
60
|
+
trimmed = trimmed.substring(1);
|
|
61
|
+
type = "extension";
|
|
62
|
+
}
|
|
63
|
+
list.push({
|
|
64
|
+
"highestPath": root,
|
|
65
|
+
"name": trimmed,
|
|
66
|
+
"type": type
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
if (list.length !== 0) {
|
|
73
|
+
return list;
|
|
74
|
+
} else {
|
|
75
|
+
return [];
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* @description Navigate through file pathes, auditing any file that is not in the .dddignore
|
|
81
|
+
*/
|
|
82
|
+
function auditNavigator(root, dddignore) {
|
|
83
|
+
(0, _nodeFs.readdirSync)(root).forEach(item => {
|
|
84
|
+
const FULL_PATH = _nodePath.default.join(root, item);
|
|
85
|
+
if (item !== "node_modules" && item !== ".git" && item !== "dist" && item !== "public" && (0, _nodeFs.statSync)(FULL_PATH).isDirectory()) {
|
|
86
|
+
// Directory Navigator
|
|
87
|
+
if (dddignore.length !== 0) {
|
|
88
|
+
const IGNORE_DIRECTORY = dddignore.some(ignore => root.startsWith(ignore.highestPath) && item === ignore.name && ignore.type === "directory");
|
|
89
|
+
if (!IGNORE_DIRECTORY) {
|
|
90
|
+
auditNavigator(FULL_PATH, dddignore);
|
|
91
|
+
}
|
|
92
|
+
} else {
|
|
93
|
+
auditNavigator(FULL_PATH, dddignore);
|
|
94
|
+
}
|
|
95
|
+
} else {
|
|
96
|
+
// If file does not match criteria to be ignored (both ext. and file), then audit permitted
|
|
97
|
+
if (item !== "node_modules" && item !== ".git" && item !== "dist" && item !== "public") {
|
|
98
|
+
if (dddignore.length !== 0) {
|
|
99
|
+
const IGNORE_EXTENSION = dddignore.some(ignore => root.startsWith(ignore.highestPath) && item.endsWith(ignore.name) && ignore.type === "extension");
|
|
100
|
+
if (!IGNORE_EXTENSION) {
|
|
101
|
+
const IGNORE_FILE = dddignore.some(ignore => root.startsWith(ignore.highestPath) && ignore.name === item && ignore.type === "file");
|
|
102
|
+
if (!IGNORE_FILE) {
|
|
103
|
+
auditFile(FULL_PATH, item);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
} else {
|
|
107
|
+
auditFile(FULL_PATH, item);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* @description Audits component line by line to suggest CSS changes
|
|
116
|
+
* @param fileLocation Full file path of file to be audited
|
|
117
|
+
*/
|
|
118
|
+
function auditFile(fileLocation, fileName) {
|
|
119
|
+
let data = [];
|
|
120
|
+
p.intro(`\n ${_picocolors.default.bgBlue(_picocolors.default.white(` 🪄 Auditing: ${fileName} `))}`);
|
|
121
|
+
let lines = (0, _nodeFs.readFileSync)(fileLocation, 'utf-8').split('\n');
|
|
122
|
+
const COLOR_PROPERTIES = ["accent-color", "background-color", "border-color", "border-bottom-color", "border-left-color", "border-right-color", "border-top-color", "caret-color", "color"];
|
|
123
|
+
const SPACING_PROPERTIES = [
|
|
124
|
+
// Margin properties
|
|
125
|
+
"margin", "margin-top", "margin-right", "margin-bottom", "margin-left", "margin-inline", "margin-inline-start", "margin-inline-end", "margin-block", "margin-block-start", "margin-block-end",
|
|
126
|
+
// Padding properties
|
|
127
|
+
"padding", "padding-top", "padding-right", "padding-bottom", "padding-left", "padding-inline", "padding-inline-start", "padding-inline-end", "padding-block", "padding-block-start", "padding-block-end",
|
|
128
|
+
// Gap properties
|
|
129
|
+
"gap", "row-gap", "column-gap",
|
|
130
|
+
// Spacing properties
|
|
131
|
+
"word-spacing", "border-spacing",
|
|
132
|
+
// Indent and offset properties
|
|
133
|
+
"text-indent", "top", "right", "bottom", "left", "inset", "inset-block", "inset-block-start", "inset-block-end", "inset-inline", "inset-inline-start", "inset-inline-end"];
|
|
134
|
+
const BORDER_SHORTHANDS = ["border", "outline", "border-top", "border-right", "border-bottom", "border-left", "column-rule"];
|
|
135
|
+
const BORDER_THICKNESS_PROPERTIES = ["border-width", "border-top-width", "border-right-width", "border-bottom-width", "border-left-width", "border-block-width", "border-block-start-width", "border-block-end-width", "border-inline-width", "border-inline-start-width", "border-inline-end-width", "outline-width", "column-rule-width"];
|
|
136
|
+
const RADIUS_PROPERTIES = ["border-radius",
|
|
137
|
+
// Individual corners
|
|
138
|
+
"border-top-left-radius", "border-top-right-radius", "border-bottom-left-radius", "border-bottom-right-radius",
|
|
139
|
+
// Shorthand variations
|
|
140
|
+
"border-top-radius", "border-right-radius", "border-bottom-radius", "border-left-radius"];
|
|
141
|
+
lines.forEach(line => {
|
|
142
|
+
let trimmed = line.trim();
|
|
143
|
+
if (trimmed.includes(':') && trimmed.endsWith(';')) {
|
|
144
|
+
let [lineProperty, lineAttribute] = trimmed.split(":").map(item => item?.trim());
|
|
145
|
+
lineProperty = lineProperty.toLowerCase();
|
|
146
|
+
lineAttribute = lineAttribute.replace(';', '');
|
|
147
|
+
|
|
148
|
+
// Check border shorthands
|
|
149
|
+
if (BORDER_SHORTHANDS.includes(lineProperty) && !lineAttribute.includes("ddd")) {
|
|
150
|
+
data.push({
|
|
151
|
+
"Line Number": lines.indexOf(line) + 1,
|
|
152
|
+
"CSS Property": lineProperty,
|
|
153
|
+
"Current Attribute": lineAttribute,
|
|
154
|
+
"Suggested Replacement Attribute": helpAuditBorderShorthands(lineAttribute)
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// Check border thicknesses
|
|
159
|
+
if (BORDER_THICKNESS_PROPERTIES.includes(lineProperty) && !lineAttribute.includes("ddd")) {
|
|
160
|
+
data.push({
|
|
161
|
+
"Line Number": lines.indexOf(line) + 1,
|
|
162
|
+
"CSS Property": lineProperty,
|
|
163
|
+
"Current Attribute": lineAttribute,
|
|
164
|
+
"Suggested Replacement Attribute": helpAuditBorderThickness(lineAttribute)
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// Check box shadows
|
|
169
|
+
if (lineProperty === "box-shadow" && !lineAttribute.includes("ddd")) {
|
|
170
|
+
data.push({
|
|
171
|
+
"Line Number": lines.indexOf(line) + 1,
|
|
172
|
+
"CSS Property": lineProperty,
|
|
173
|
+
"Current Attribute": lineAttribute,
|
|
174
|
+
"Suggested Replacement Attribute": helpAuditBoxShadow(lineAttribute)
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
// Check colors
|
|
179
|
+
if (COLOR_PROPERTIES.includes(lineProperty) && !lineAttribute.includes("ddd")) {
|
|
180
|
+
data.push({
|
|
181
|
+
"Line Number": lines.indexOf(line) + 1,
|
|
182
|
+
"CSS Property": lineProperty,
|
|
183
|
+
"Current Attribute": lineAttribute,
|
|
184
|
+
"Suggested Replacement Attribute": helpAuditColors(lineAttribute)
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// Check font family
|
|
189
|
+
if (lineProperty === "font-family" && !lineAttribute.includes("ddd")) {
|
|
190
|
+
data.push({
|
|
191
|
+
"Line Number": lines.indexOf(line) + 1,
|
|
192
|
+
"CSS Property": lineProperty,
|
|
193
|
+
"Current Attribute": lineAttribute,
|
|
194
|
+
"Suggested Replacement Attribute": helpAuditFontFamily(lineAttribute)
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
// Check font size
|
|
199
|
+
if (lineProperty === "font-size" && !lineAttribute.includes("ddd")) {
|
|
200
|
+
data.push({
|
|
201
|
+
"Line Number": lines.indexOf(line) + 1,
|
|
202
|
+
"CSS Property": lineProperty,
|
|
203
|
+
"Current Attribute": lineAttribute,
|
|
204
|
+
"Suggested Replacement Attribute": helpAuditFontSize(lineAttribute)
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// Check font weight
|
|
209
|
+
if (lineProperty === "font-weight" && !lineAttribute.includes("ddd")) {
|
|
210
|
+
data.push({
|
|
211
|
+
"Line Number": lines.indexOf(line) + 1,
|
|
212
|
+
"CSS Property": lineProperty,
|
|
213
|
+
"Current Attribute": lineAttribute,
|
|
214
|
+
"Suggested Replacement Attribute": helpAuditFontWeight(lineAttribute)
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
// Check letter spacing
|
|
219
|
+
if (lineProperty === "letter-spacing" && !lineAttribute.includes("ddd")) {
|
|
220
|
+
data.push({
|
|
221
|
+
"Line Number": lines.indexOf(line) + 1,
|
|
222
|
+
"CSS Property": lineProperty,
|
|
223
|
+
"Current Attribute": lineAttribute,
|
|
224
|
+
"Suggested Replacement Attribute": helpAuditLetterSpacing(lineAttribute)
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
// Check line height spacing
|
|
229
|
+
if (lineProperty === "line-height" && !lineAttribute.includes("ddd")) {
|
|
230
|
+
data.push({
|
|
231
|
+
"Line Number": lines.indexOf(line) + 1,
|
|
232
|
+
"CSS Property": lineProperty,
|
|
233
|
+
"Current Attribute": lineAttribute,
|
|
234
|
+
"Suggested Replacement Attribute": helpAuditLineHeight(lineAttribute)
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
// Check radius
|
|
239
|
+
if (RADIUS_PROPERTIES.includes(lineProperty) && !lineAttribute.includes("ddd")) {
|
|
240
|
+
data.push({
|
|
241
|
+
"Line Number": lines.indexOf(line) + 1,
|
|
242
|
+
"CSS Property": lineProperty,
|
|
243
|
+
"Current Attribute": lineAttribute,
|
|
244
|
+
"Suggested Replacement Attribute": helpAuditRadius(lineAttribute)
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// Check spacing
|
|
249
|
+
if (SPACING_PROPERTIES.includes(lineProperty) && !lineAttribute.includes("ddd")) {
|
|
250
|
+
data.push({
|
|
251
|
+
"Line Number": lines.indexOf(line) + 1,
|
|
252
|
+
"CSS Property": lineProperty,
|
|
253
|
+
"Current Attribute": lineAttribute,
|
|
254
|
+
"Suggested Replacement Attribute": helpAuditSpacing(lineAttribute)
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
if (data.length !== 0) {
|
|
260
|
+
console.table(data);
|
|
261
|
+
} else {
|
|
262
|
+
p.note("No changes needed!");
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
// ! Audit Helpers
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* @description Audits border related CSS properties based on preset borders and thicknesses
|
|
270
|
+
* @param border Pre-audit CSS border value
|
|
271
|
+
*/
|
|
272
|
+
function helpAuditBorderShorthands(borderPreset) {
|
|
273
|
+
if (borderPreset.includes('px')) {
|
|
274
|
+
borderPreset = borderPreset.trim();
|
|
275
|
+
borderPreset = Number(borderPreset.charAt(0));
|
|
276
|
+
if (borderPreset <= 1) {
|
|
277
|
+
return "--ddd-border-xs"; // 1px solid greyish
|
|
278
|
+
} else if (borderPreset > 1 && borderPreset <= 2) {
|
|
279
|
+
return "--ddd-border-sm"; // 2px solid greyish
|
|
280
|
+
} else if (borderPreset > 2 && borderPreset <= 3) {
|
|
281
|
+
return "--ddd-border-md"; // 3px solid greyish
|
|
282
|
+
} else if (borderPreset > 3) {
|
|
283
|
+
return "--ddd-border-lg"; // 4px solid greyish
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
return "No available suggestions. Check DDD documentation.";
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* @description Audits border related CSS properties
|
|
291
|
+
* @param borderThickness Pre-audited CSS border thickness
|
|
292
|
+
*/
|
|
293
|
+
function helpAuditBorderThickness(borderThickness) {
|
|
294
|
+
if (borderThickness.includes("px")) {
|
|
295
|
+
borderThickness = Number(borderThickness.replace("px", ""));
|
|
296
|
+
if (borderThickness <= 1) {
|
|
297
|
+
return "--ddd-border-size-xs"; // 1px
|
|
298
|
+
} else if (borderThickness > 1 && borderThickness <= 2) {
|
|
299
|
+
return "--ddd-border-size-sm"; // 2px
|
|
300
|
+
} else if (borderThickness > 2 && borderThickness <= 3) {
|
|
301
|
+
return "--ddd-border-size-md"; // 3px
|
|
302
|
+
} else if (borderThickness > 3) {
|
|
303
|
+
return "--ddd-border-size-lg"; // 4px
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
return "No available suggestions. Check DDD documentation.";
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* @description Audits border related CSS properties
|
|
311
|
+
* @param boxShadow Pre-audited CSS box-shadow attribute
|
|
312
|
+
*/
|
|
313
|
+
function helpAuditBoxShadow(boxShadow) {
|
|
314
|
+
if (boxShadow.includes('px')) {
|
|
315
|
+
const SMALL = [" 1px", " 2px", " 3px", " 4px"];
|
|
316
|
+
const MEDIUM = [" 5px", " 6px", " 7px", " 8px"];
|
|
317
|
+
const LARGE = [" 9px", " 10px", " 11px", " 12px"];
|
|
318
|
+
const EXTRA_LARGE = [" 13px", " 14px", " 15px", " 16px"];
|
|
319
|
+
const HAS_SMALL = SMALL.some(i => boxShadow.includes(i));
|
|
320
|
+
const HAS_MEDIUM = MEDIUM.some(i => boxShadow.includes(i));
|
|
321
|
+
const HAS_LARGE = LARGE.some(i => boxShadow.includes(i));
|
|
322
|
+
const HAS_EXTRA_LARGE = EXTRA_LARGE.some(i => boxShadow.includes(i));
|
|
323
|
+
if (boxShadow.includes("0px") && !HAS_SMALL && !HAS_MEDIUM && !HAS_LARGE && !HAS_EXTRA_LARGE) {
|
|
324
|
+
return "--ddd-boxShadow-0"; // 0px
|
|
325
|
+
} else if (HAS_SMALL) {
|
|
326
|
+
return "--ddd-boxShadow-sm"; // 4px
|
|
327
|
+
} else if (HAS_MEDIUM) {
|
|
328
|
+
return "--ddd-boxShadow-md"; // 8px
|
|
329
|
+
} else if (HAS_LARGE) {
|
|
330
|
+
return "--ddd-boxShadow-lg"; // 12px
|
|
331
|
+
} else {
|
|
332
|
+
return "--ddd-boxShadow-xl";
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
return "No available suggestions. Check DDD documentation.";
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* @description Audits color related CSS properties based on the CSS preset colors
|
|
340
|
+
* @param color CSS preset color
|
|
341
|
+
*/
|
|
342
|
+
function helpAuditColors(color) {
|
|
343
|
+
switch (color.toLowerCase()) {
|
|
344
|
+
case "aliceblue":
|
|
345
|
+
return "--ddd-theme-default-slateLight";
|
|
346
|
+
case "antiquewhite":
|
|
347
|
+
return "--ddd-theme-default-roarLight";
|
|
348
|
+
case "aqua":
|
|
349
|
+
return "--ddd-theme-default-skyBlue";
|
|
350
|
+
case "aquamarine":
|
|
351
|
+
return "--ddd-theme-default-creekTeal";
|
|
352
|
+
case "azure":
|
|
353
|
+
return "--ddd-theme-default-creekMaxLight";
|
|
354
|
+
case "beige":
|
|
355
|
+
return "--ddd-theme-default-alertUrgent";
|
|
356
|
+
case "bisque":
|
|
357
|
+
return "--ddd-theme-default-alertUrgent";
|
|
358
|
+
case "black":
|
|
359
|
+
return "--ddd-theme-default-coalyGray";
|
|
360
|
+
case "blanchedalmond":
|
|
361
|
+
return "--ddd-theme-default-alertUrgent";
|
|
362
|
+
case "blue":
|
|
363
|
+
return "--ddd-theme-default-beaverBlue";
|
|
364
|
+
case "blueviolet":
|
|
365
|
+
return "--ddd-theme-default-athertonViolet";
|
|
366
|
+
case "brown":
|
|
367
|
+
return "--ddd-theme-default-landgrantBrown";
|
|
368
|
+
case "burlywood":
|
|
369
|
+
return "--ddd-theme-default-shrineTan";
|
|
370
|
+
case "cadetblue":
|
|
371
|
+
return "--ddd-theme-default-creekTeal";
|
|
372
|
+
case "chartreuse":
|
|
373
|
+
return "--ddd-theme-default-futureLime";
|
|
374
|
+
case "chocolate":
|
|
375
|
+
return "--ddd-theme-default-warning";
|
|
376
|
+
case "coral":
|
|
377
|
+
return "--ddd-theme-default-discoveryCoral";
|
|
378
|
+
case "cornflowerblue":
|
|
379
|
+
return "--ddd-theme-default-accent";
|
|
380
|
+
case "cornsilk":
|
|
381
|
+
return "--ddd-theme-default-roarLight";
|
|
382
|
+
case "crimson":
|
|
383
|
+
return "--ddd-theme-default-original87Pink";
|
|
384
|
+
case "cyan":
|
|
385
|
+
return "--ddd-theme-default-skyBlue";
|
|
386
|
+
case "darkblue":
|
|
387
|
+
return "--ddd-theme-default-nittanyNavy";
|
|
388
|
+
case "darkcyan":
|
|
389
|
+
return "--ddd-theme-default-creekTeal";
|
|
390
|
+
case "darkgoldenrod":
|
|
391
|
+
return "--ddd-theme-default-roarGolden";
|
|
392
|
+
case "darkgray":
|
|
393
|
+
return "--ddd-theme-default-limestoneGray";
|
|
394
|
+
case "darkgrey":
|
|
395
|
+
return "--ddd-theme-default-limestoneGray";
|
|
396
|
+
case "darkgreen":
|
|
397
|
+
return "--ddd-theme-default-success";
|
|
398
|
+
case "darkkhaki":
|
|
399
|
+
return "--ddd-theme-default=alertAllClear";
|
|
400
|
+
case "darkmagenta":
|
|
401
|
+
return "--ddd-theme-default-wonderPurple";
|
|
402
|
+
case "darkolivegreen":
|
|
403
|
+
return "--ddd-theme-default-forestGreen";
|
|
404
|
+
case "darkorange":
|
|
405
|
+
return "--ddd-theme-default-inventOrange";
|
|
406
|
+
case "darkorchid":
|
|
407
|
+
return "--ddd-theme-default-athertonViolet";
|
|
408
|
+
case "darkred":
|
|
409
|
+
return "--ddd-theme-default-error";
|
|
410
|
+
case "darksalmon":
|
|
411
|
+
return "--ddd-theme-default-discoveryCoral";
|
|
412
|
+
case "darkseagreen":
|
|
413
|
+
return "--ddd-theme-default-alertAllClear";
|
|
414
|
+
case "darkslateblue":
|
|
415
|
+
return "--ddd-theme-default-beaverBlue";
|
|
416
|
+
case "darkslategray":
|
|
417
|
+
return "--ddd-theme-default-slateGray";
|
|
418
|
+
case "darkslategrey":
|
|
419
|
+
return "--ddd-theme-default-slateGray";
|
|
420
|
+
case "darkturquoise":
|
|
421
|
+
return "--ddd-theme-default-link";
|
|
422
|
+
case "darkviolet":
|
|
423
|
+
return "--ddd-theme-default-wonderPurple";
|
|
424
|
+
case "deeppink":
|
|
425
|
+
return "--ddd-theme-default-original87Pink";
|
|
426
|
+
case "deepskyblue":
|
|
427
|
+
return "--ddd-theme-default-skyBlue";
|
|
428
|
+
case "dimgray":
|
|
429
|
+
return "--ddd-theme-default-limestoneGray";
|
|
430
|
+
case "dimgrey":
|
|
431
|
+
return "--ddd-theme-default-limestoneGray";
|
|
432
|
+
case "dodgerblue":
|
|
433
|
+
return "--ddd-theme-default-link";
|
|
434
|
+
case "firebrick":
|
|
435
|
+
return "--ddd-theme-default-error";
|
|
436
|
+
case "floralwhite":
|
|
437
|
+
return "--ddd-theme-default-warningLight";
|
|
438
|
+
case "forestgreen":
|
|
439
|
+
return "--ddd-theme-default-forestGreen";
|
|
440
|
+
case "fuchsia":
|
|
441
|
+
return "--ddd-theme-default-athertonViolet";
|
|
442
|
+
case "gainsboro":
|
|
443
|
+
return "--ddd-theme-default-limestoneGray";
|
|
444
|
+
case "ghostwhite":
|
|
445
|
+
return "--ddd-theme-default-shrineLight";
|
|
446
|
+
case "gold":
|
|
447
|
+
return "--ddd-theme-default-keystoneYellow";
|
|
448
|
+
case "goldenrod":
|
|
449
|
+
return "--ddd-theme-default-roarGolden";
|
|
450
|
+
case "gray":
|
|
451
|
+
return "--ddd-theme-default-limestoneGray";
|
|
452
|
+
case "grey":
|
|
453
|
+
return "--ddd-theme-default-limestoneGray";
|
|
454
|
+
case "green":
|
|
455
|
+
return "--ddd-theme-default-forestGreen";
|
|
456
|
+
case "greenyellow":
|
|
457
|
+
return "--ddd-theme-default-futureLime";
|
|
458
|
+
case "honeydew":
|
|
459
|
+
return "--ddd-theme-default-infoLight";
|
|
460
|
+
case "hotpink":
|
|
461
|
+
return "--ddd-theme-default-discoveryCoral";
|
|
462
|
+
case "indianred":
|
|
463
|
+
return "--ddd-theme-default-original87Pink";
|
|
464
|
+
case "indigo":
|
|
465
|
+
return "--ddd-theme-default-wonderPurple";
|
|
466
|
+
case "ivory":
|
|
467
|
+
return "--ddd-theme-default-roarMaxLight";
|
|
468
|
+
case "khaki":
|
|
469
|
+
return "--ddd-theme-default-alertUrgent";
|
|
470
|
+
case "lavender":
|
|
471
|
+
return "--ddd-theme-default-alertNonEmergency";
|
|
472
|
+
case "lavenderblush":
|
|
473
|
+
return "--ddd-theme-default-alertImmediate";
|
|
474
|
+
case "lawngreen":
|
|
475
|
+
return "--ddd-theme-default-futureLime";
|
|
476
|
+
case "lemonchiffon":
|
|
477
|
+
return "--ddd-theme-default-alertUrgent";
|
|
478
|
+
case "lightblue":
|
|
479
|
+
return "--ddd-theme-default-accent";
|
|
480
|
+
case "lightcoral":
|
|
481
|
+
return "--ddd-theme-default-discoveryCoral";
|
|
482
|
+
case "lightcyan":
|
|
483
|
+
return "--ddd-theme-default-skyLight";
|
|
484
|
+
case "lightgoldenrodyellow":
|
|
485
|
+
return "--ddd-theme-default-alertUrgent";
|
|
486
|
+
case "lightgray":
|
|
487
|
+
return "--ddd-theme-default-limestoneGray";
|
|
488
|
+
case "lightgrey":
|
|
489
|
+
return "--ddd-theme-default-limestoneGray";
|
|
490
|
+
case "lightgreen":
|
|
491
|
+
return "--ddd-theme-default-opportunityGreen";
|
|
492
|
+
case "lightpink":
|
|
493
|
+
return "--ddd-theme-default-discoveryCoral";
|
|
494
|
+
case "lightsalmon":
|
|
495
|
+
return "--ddd-theme-default-discoveryCoral";
|
|
496
|
+
case "lightseagreen":
|
|
497
|
+
return "--ddd-theme-default-creekTeal";
|
|
498
|
+
case "lightskyblue":
|
|
499
|
+
return "--ddd-theme-default-skyLight";
|
|
500
|
+
case "lightslategray":
|
|
501
|
+
return "--ddd-theme-default-slateLight";
|
|
502
|
+
case "lightslategrey":
|
|
503
|
+
return "--ddd-theme-default-slateLight";
|
|
504
|
+
case "lightsteelblue":
|
|
505
|
+
return "--ddd-theme-default-alertNonEmergency";
|
|
506
|
+
case "lightyellow":
|
|
507
|
+
return "--ddd-theme-default-alertAllClear";
|
|
508
|
+
case "lime":
|
|
509
|
+
return "--ddd-theme-default-futureLime";
|
|
510
|
+
case "limegreen":
|
|
511
|
+
return "--ddd-theme-default-opportunityGreen";
|
|
512
|
+
case "linen":
|
|
513
|
+
return "--ddd-theme-default-warningLight";
|
|
514
|
+
case "magenta":
|
|
515
|
+
return "--ddd-theme-default-athertonViolet";
|
|
516
|
+
case "maroon":
|
|
517
|
+
return "--ddd-theme-default-error";
|
|
518
|
+
case "mediumaquamarine":
|
|
519
|
+
return "--ddd-theme-default-creekTeal";
|
|
520
|
+
case "mediumblue":
|
|
521
|
+
return "--ddd-theme-default-link80";
|
|
522
|
+
case "mediumorchid":
|
|
523
|
+
return "--ddd-theme-default-athertonViolet";
|
|
524
|
+
case "mediumpurple":
|
|
525
|
+
return "--ddd-theme-default-athertonViolet";
|
|
526
|
+
case "mediumseagreen":
|
|
527
|
+
return "--ddd-theme-default-forestGreen";
|
|
528
|
+
case "mediumslateblue":
|
|
529
|
+
return "--ddd-theme-default-beaverBlue";
|
|
530
|
+
case "mediumspringgreen":
|
|
531
|
+
return "-ddd-theme-default-futureLime";
|
|
532
|
+
case "mediumturquoise":
|
|
533
|
+
return "--ddd-theme-default-accent";
|
|
534
|
+
case "mediumvioletred":
|
|
535
|
+
return "--ddd-theme-default-original87Pink";
|
|
536
|
+
case "midnightblue":
|
|
537
|
+
return "--ddd-theme-default-potentialMidnight";
|
|
538
|
+
case "mintcream":
|
|
539
|
+
return "--ddd-theme-default-skyMaxLight";
|
|
540
|
+
case "mistyrose":
|
|
541
|
+
return "--ddd-theme-default-errorLight";
|
|
542
|
+
case "moccasin":
|
|
543
|
+
return "--ddd-theme-default-alertUrgent";
|
|
544
|
+
case "navajowhite":
|
|
545
|
+
return "--ddd-theme-default-alertUrgent";
|
|
546
|
+
case "navy":
|
|
547
|
+
return "--ddd-theme-default-nittanyNavy";
|
|
548
|
+
case "oldlace":
|
|
549
|
+
return "--ddd-theme-default-warningLight";
|
|
550
|
+
case "olive":
|
|
551
|
+
return "--ddd-theme-default-forestGreen";
|
|
552
|
+
case "olivedrab":
|
|
553
|
+
return "--ddd-theme-default-success";
|
|
554
|
+
case "orange":
|
|
555
|
+
return "--ddd-theme-default-inventOrange";
|
|
556
|
+
case "orangered":
|
|
557
|
+
return "--ddd-theme-default-inventOrange";
|
|
558
|
+
case "orchid":
|
|
559
|
+
return "--ddd-theme-default-athertonViolet";
|
|
560
|
+
case "palegoldenrod":
|
|
561
|
+
return "--ddd-theme-default-alertUrgent";
|
|
562
|
+
case "palegreen":
|
|
563
|
+
return "--ddd-theme-default-futureLime";
|
|
564
|
+
case "paleturquoise":
|
|
565
|
+
return "--ddd-theme-default-creekLight";
|
|
566
|
+
case "palevioletred":
|
|
567
|
+
return "--ddd-theme-default-alertImmediate";
|
|
568
|
+
case "papayawhip":
|
|
569
|
+
return "--ddd-theme-default-alertUrgent";
|
|
570
|
+
case "peachpuff":
|
|
571
|
+
return "--ddd-theme-default-alertUrgent";
|
|
572
|
+
case "peru":
|
|
573
|
+
return "--ddd-theme-default-roarGolden";
|
|
574
|
+
case "pink":
|
|
575
|
+
return "--ddd-theme-default-alertImmediate";
|
|
576
|
+
case "plum":
|
|
577
|
+
return "--ddd-theme-default-athertonViolet";
|
|
578
|
+
case "powderblue":
|
|
579
|
+
return "--ddd-theme-default-creekLight";
|
|
580
|
+
case "purple":
|
|
581
|
+
return "--ddd-theme-default-wonderPurple";
|
|
582
|
+
case "rebeccapurple":
|
|
583
|
+
return "--ddd-theme-default-athertonViolet";
|
|
584
|
+
case "red":
|
|
585
|
+
return "--ddd-theme-default-original87Pink";
|
|
586
|
+
case "rosybrown":
|
|
587
|
+
return "--ddd-theme-default-shrineTan";
|
|
588
|
+
case "royalblue":
|
|
589
|
+
return "--ddd-theme-default-skyBlue";
|
|
590
|
+
case "saddlebrown":
|
|
591
|
+
return "--ddd-theme-default-landgrantBrown";
|
|
592
|
+
case "salmon":
|
|
593
|
+
return "--ddd-theme-default-discoveryCoral";
|
|
594
|
+
case "sandybrown":
|
|
595
|
+
return "--ddd-theme-default-shrineTan";
|
|
596
|
+
case "seagreen":
|
|
597
|
+
return "--ddd-theme-default-forestGreen";
|
|
598
|
+
case "seashell":
|
|
599
|
+
return "--ddd-theme-default-roarLight";
|
|
600
|
+
case "sienna":
|
|
601
|
+
return "--ddd-theme-default-warning";
|
|
602
|
+
case "silver":
|
|
603
|
+
return "--ddd-theme-default-limestoneGray";
|
|
604
|
+
case "skyblue":
|
|
605
|
+
return "--ddd-theme-default-pughBlue";
|
|
606
|
+
case "slateblue":
|
|
607
|
+
return "--ddd-theme-default-athertonViolet";
|
|
608
|
+
case "slategray":
|
|
609
|
+
return "--ddd-theme-default-limestoneGray";
|
|
610
|
+
case "slategrey":
|
|
611
|
+
return "--ddd-theme-default-limestoneGray";
|
|
612
|
+
case "snow":
|
|
613
|
+
return "--ddd-theme-default-white";
|
|
614
|
+
case "springgreen":
|
|
615
|
+
return "--ddd-theme-default-futureLime";
|
|
616
|
+
case "steelblue":
|
|
617
|
+
return "--ddd-theme-default-link";
|
|
618
|
+
case "tan":
|
|
619
|
+
return "--ddd-theme-default-shrineTan";
|
|
620
|
+
case "teal":
|
|
621
|
+
return "--ddd-theme-default-creekTeal";
|
|
622
|
+
case "thistle":
|
|
623
|
+
return "--ddd-theme-default-athertonViolet";
|
|
624
|
+
case "tomato":
|
|
625
|
+
return "--ddd-theme-default-discoveryCoral";
|
|
626
|
+
case "transparent":
|
|
627
|
+
return "--ddd-theme-default-potential0";
|
|
628
|
+
case "turquoise":
|
|
629
|
+
return "--ddd-theme-default-skyBlue";
|
|
630
|
+
case "violet":
|
|
631
|
+
return "--ddd-theme-default-athertonViolet";
|
|
632
|
+
case "wheat":
|
|
633
|
+
return "--ddd-theme-default-alertUrgent";
|
|
634
|
+
case "white":
|
|
635
|
+
return "--ddd-theme-default-white";
|
|
636
|
+
case "whiteSmoke":
|
|
637
|
+
return "--ddd-theme-default-shrineLight";
|
|
638
|
+
case "yellow":
|
|
639
|
+
return "--ddd-theme-default-globalNeon";
|
|
640
|
+
case "yellowGreen":
|
|
641
|
+
return "--ddd-theme-default-forestGreen";
|
|
642
|
+
default:
|
|
643
|
+
return "No available suggestions. Check DDD documentation.";
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
/**
|
|
648
|
+
* @description Audits font-family CSS property
|
|
649
|
+
* @param fontFamily Pre-audit CSS font-family value
|
|
650
|
+
*/
|
|
651
|
+
function helpAuditFontFamily(fontFamily) {
|
|
652
|
+
fontFamily = fontFamily.toLowerCase();
|
|
653
|
+
if (fontFamily.includes('roboto') || fontFamily.includes('franklin gothic medium') || fontFamily.includes('tahoma') || fontFamily.includes('sans-serif')) {
|
|
654
|
+
return "--ddd-font-primary";
|
|
655
|
+
} else if (fontFamily.includes('roboto slab') || fontFamily.includes('serif')) {
|
|
656
|
+
return "--ddd-font-secondary";
|
|
657
|
+
} else if (fontFamily.includes('roboto condensed')) {
|
|
658
|
+
return "--ddd-font-navigation";
|
|
659
|
+
}
|
|
660
|
+
return "--ddd-font-primary";
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
/**
|
|
664
|
+
* @description Audits font-size CSS property
|
|
665
|
+
* @param fontSize Pre-audit CSS font-size value
|
|
666
|
+
*/
|
|
667
|
+
function helpAuditFontSize(fontSize) {
|
|
668
|
+
if (fontSize.includes('px')) {
|
|
669
|
+
fontSize = Number(fontSize.replace('px', ''));
|
|
670
|
+
if (fontSize <= 16) {
|
|
671
|
+
return "--ddd-font-size-4xs"; // 16px
|
|
672
|
+
} else if (fontSize > 16 || fontSize <= 18) {
|
|
673
|
+
return "--ddd-font-size-3xs"; // 18px
|
|
674
|
+
} else if (fontSize > 18 || fontSize <= 20) {
|
|
675
|
+
return "--ddd-font-size-xxs"; // 20px
|
|
676
|
+
} else if (fontSize > 20 || fontSize <= 22) {
|
|
677
|
+
return "--ddd-font-size-xs"; // 22px
|
|
678
|
+
} else if (fontSize > 22 || fontSize <= 24) {
|
|
679
|
+
return "--ddd-font-size-s"; // 24px
|
|
680
|
+
} else if (fontSize > 24 && fontSize <= 28) {
|
|
681
|
+
return "--ddd-font-size-ms"; // 28px
|
|
682
|
+
} else if (fontSize > 28 && fontSize <= 32) {
|
|
683
|
+
return "--ddd=font-size-m"; // 32px
|
|
684
|
+
} else if (fontSize > 32 && fontSize <= 36) {
|
|
685
|
+
return "--ddd-font-size-ml"; // 36px
|
|
686
|
+
} else if (fontSize > 36 && fontSize <= 42) {
|
|
687
|
+
return "--ddd-font-size-l"; // 40px
|
|
688
|
+
} else if (fontSize > 42 && fontSize <= 52) {
|
|
689
|
+
return "--ddd-font-size-xl"; // 48px
|
|
690
|
+
} else if (fontSize > 52 && fontSize <= 60) {
|
|
691
|
+
return "--ddd-font-size-xxl"; // 56px
|
|
692
|
+
} else if (fontSize > 60 && fontSize <= 68) {
|
|
693
|
+
return "--ddd-font-size-3xl"; // 64px
|
|
694
|
+
} else if (fontSize > 68 && fontSize <= 76) {
|
|
695
|
+
return "--ddd-font-size-4xl"; // 72px
|
|
696
|
+
} else if (fontSize > 76 && fontSize <= 120) {
|
|
697
|
+
return "--ddd-font-size-type1-s"; // 80px
|
|
698
|
+
} else if (fontSize > 120 && fontSize <= 170) {
|
|
699
|
+
return "--ddd-font-size-type1-m"; // 150px
|
|
700
|
+
} else if (fontSize > 170) {
|
|
701
|
+
return "--ddd-font-size-type1-l"; // 200px
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
return "No available suggestions. Check DDD documentation.";
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
/**
|
|
708
|
+
* @description Audits font-weight CSS property
|
|
709
|
+
* @param fontWeight Pre-audit CSS font-weight value
|
|
710
|
+
*/
|
|
711
|
+
function helpAuditFontWeight(fontWeight) {
|
|
712
|
+
const REGEX = /\d+/;
|
|
713
|
+
const IS_NUM = fontWeight.match(REGEX);
|
|
714
|
+
if (IS_NUM) {
|
|
715
|
+
fontWeight = Number(IS_NUM[0]);
|
|
716
|
+
if (fontWeight <= 300) {
|
|
717
|
+
return "--ddd-font-weight-light"; // 300
|
|
718
|
+
} else if (fontWeight > 300 && fontWeight <= 400) {
|
|
719
|
+
return "--ddd-font-weight-regular"; // 400
|
|
720
|
+
} else if (fontWeight > 400 && fontWeight <= 500) {
|
|
721
|
+
return "--ddd-font-weight-medium"; // 500
|
|
722
|
+
} else if (fontWeight > 500 && fontWeight <= 700) {
|
|
723
|
+
return "--ddd-font-size-bold"; // 700
|
|
724
|
+
} else if (fontWeight > 700) {
|
|
725
|
+
return "--ddd-font-size-black"; // 900
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
switch (fontWeight.toLowerCase()) {
|
|
729
|
+
case "lighter":
|
|
730
|
+
return "--ddd-font-weight-light";
|
|
731
|
+
// 300
|
|
732
|
+
case "normal":
|
|
733
|
+
return "--ddd-font-weight-regular";
|
|
734
|
+
// 400
|
|
735
|
+
case "bold":
|
|
736
|
+
return "--ddd-font-weight-bold";
|
|
737
|
+
// 700
|
|
738
|
+
case "bolder":
|
|
739
|
+
return "--ddd-font-weight-black";
|
|
740
|
+
// 900
|
|
741
|
+
default:
|
|
742
|
+
return "No available suggestions. Check DDD documentation.";
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
/**
|
|
747
|
+
* @description Audits letter-spacing CSS property
|
|
748
|
+
* @param letterSpacing Pre-audit CSS letter-spacing value
|
|
749
|
+
*/
|
|
750
|
+
function helpAuditLetterSpacing(letterSpacing) {
|
|
751
|
+
if (letterSpacing.includes('px')) {
|
|
752
|
+
letterSpacing = letterSpacing.replace('px', '');
|
|
753
|
+
if (letterSpacing <= 0.08) {
|
|
754
|
+
return "--ddd-ls-16-sm"; // 0.08px
|
|
755
|
+
} else if (letterSpacing > 0.08 && letterSpacing <= 0.09) {
|
|
756
|
+
return "--ddd-ls-18-sm"; // 0.09px
|
|
757
|
+
} else if (letterSpacing > 0.09 & letterSpacing <= 0.1) {
|
|
758
|
+
return "--ddd-ls-20-sm"; // 0.1px
|
|
759
|
+
} else if (letterSpacing > 0.1 && letterSpacing <= 0.11) {
|
|
760
|
+
return "--ddd-ls-22-sm"; // 0.11px
|
|
761
|
+
} else if (letterSpacing > 0.11 && letterSpacing <= 0.12) {
|
|
762
|
+
return "--ddd-ls-24-sm"; // 0.12px
|
|
763
|
+
} else if (letterSpacing > 0.12 && letterSpacing <= 0.14) {
|
|
764
|
+
return "--ddd-ls-28-sm"; // 0.14px
|
|
765
|
+
} else if (letterSpacing > 0.14 && letterSpacing <= 0.16) {
|
|
766
|
+
return "--ddd-ls-32-sm"; // 0.16px
|
|
767
|
+
} else if (letterSpacing > 0.16 && letterSpacing <= 0.18) {
|
|
768
|
+
return "--ddd-ls-36-sm"; // 0.18px
|
|
769
|
+
} else if (letterSpacing > 0.18 && letterSpacing <= 0.2) {
|
|
770
|
+
return "--ddd-ls-40-sm"; // 0.2px
|
|
771
|
+
} else if (letterSpacing > 0.2 && letterSpacing <= 0.24) {
|
|
772
|
+
return "--ddd-ls-48-sm"; // 0.24px
|
|
773
|
+
} else if (letterSpacing > 0.24 && letterSpacing <= 0.27) {
|
|
774
|
+
return "--ddd-ls-18-lg"; // 0.27px
|
|
775
|
+
} else if (letterSpacing > 0.27 && letterSpacing <= 0.28) {
|
|
776
|
+
return "--ddd-ls-56-sm"; // 0.28px
|
|
777
|
+
} else if (letterSpacing > 0.28 && letterSpacing <= 0.3) {
|
|
778
|
+
return "--ddd-ls-20-lg"; // 0.3px
|
|
779
|
+
} else if (letterSpacing > 0.3 && letterSpacing <= 0.32) {
|
|
780
|
+
return "--ddd-ls-64-sm"; // 0.32px
|
|
781
|
+
} else if (letterSpacing > 0.32 && letterSpacing <= 0.33) {
|
|
782
|
+
return "--ddd-ls-22-lg"; // 0.33px
|
|
783
|
+
} else if (letterSpacing > 0.33 && letterSpacing <= 0.36) {
|
|
784
|
+
return "--ddd-ls-24-lg"; // 0.36px
|
|
785
|
+
} else if (letterSpacing > 0.36 && letterSpacing <= 0.42) {
|
|
786
|
+
return "--ddd-ls-28-lg"; // 0.42px
|
|
787
|
+
} else if (letterSpacing > 0.42 && letterSpacing <= 0.48) {
|
|
788
|
+
return "--ddd-ls-32-lg"; // 0.48px
|
|
789
|
+
} else if (letterSpacing > 0.48 && letterSpacing <= 0.54) {
|
|
790
|
+
return "--ddd-ls-36-lg"; // 0.54px
|
|
791
|
+
} else if (letterSpacing > 0.54 && letterSpacing <= 0.6) {
|
|
792
|
+
return "--ddd-ls-40-lg"; // 0.6px
|
|
793
|
+
} else if (letterSpacing > 0.6 && letterSpacing <= 0.72) {
|
|
794
|
+
return "--ddd-ls-48-lg"; // 0.72px
|
|
795
|
+
} else if (letterSpacing > 0.72 && letterSpacing <= 0.84) {
|
|
796
|
+
return "--ddd-ls-56-lg"; // 0.84px
|
|
797
|
+
} else if (letterSpacing > 0.84 && letterSpacing <= 0.96) {
|
|
798
|
+
return "--ddd-ls-64-lg"; // 0.96px
|
|
799
|
+
} else if (letterSpacing > 0.96) {
|
|
800
|
+
return "--ddd-ls-72-lg"; // 1.08px
|
|
801
|
+
}
|
|
802
|
+
}
|
|
803
|
+
return "No available suggestions. Check DDD documentation.";
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
/**
|
|
807
|
+
* @description Audits line-height CSS property
|
|
808
|
+
* @param lineHeight Pre-audit CSS line-height value
|
|
809
|
+
*/
|
|
810
|
+
function helpAuditLineHeight(lineHeight) {
|
|
811
|
+
if (lineHeight.includes('%')) {
|
|
812
|
+
lineHeight = lineHeight.replace('%', '');
|
|
813
|
+
if (lineHeight <= 120) {
|
|
814
|
+
return "--ddd-lh-120"; // 120%
|
|
815
|
+
} else if (lineHeight > 120 && lineHeight <= 140) {
|
|
816
|
+
return "--ddd-lh-140"; // 140%
|
|
817
|
+
} else if (lineHeight > 140) {
|
|
818
|
+
return "--ddd-lh-150"; // 150%
|
|
819
|
+
}
|
|
820
|
+
}
|
|
821
|
+
return "No available suggestions. Check DDD documentation.";
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
/**
|
|
825
|
+
* @description Audits radius related CSS properties based on px and % values
|
|
826
|
+
* @param radius Pre-audit CSS radius value
|
|
827
|
+
*/
|
|
828
|
+
function helpAuditRadius(radius) {
|
|
829
|
+
if (radius.includes("px")) {
|
|
830
|
+
radius = Number(radius.replace("px", ""));
|
|
831
|
+
if (radius === 0) {
|
|
832
|
+
return "--ddd-radius-0"; // 0px
|
|
833
|
+
} else if (radius > 0 && radius <= 4) {
|
|
834
|
+
return "--ddd-radius-xs"; // 4px
|
|
835
|
+
} else if (radius > 4 && radius <= 8) {
|
|
836
|
+
return "--ddd-radius-sm"; // 8px
|
|
837
|
+
} else if (radius > 8 && radius <= 12) {
|
|
838
|
+
return "--ddd-radius-md"; // 12px
|
|
839
|
+
} else if (radius > 12 && radius <= 16) {
|
|
840
|
+
return "--ddd-radius-lg"; // 16px
|
|
841
|
+
} else if (radius > 16 && radius <= 20) {
|
|
842
|
+
return "--ddd-radius-xl"; // 20px
|
|
843
|
+
} else if (radius > 20) {
|
|
844
|
+
return "--ddd-radius-rounded"; // 100px
|
|
845
|
+
}
|
|
846
|
+
} else if (radius.includes("%")) {
|
|
847
|
+
radius = Number(radius.replace("%", ""));
|
|
848
|
+
if (radius === 100) {
|
|
849
|
+
return "--ddd-radius-circle"; // 100%
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
return "No available suggestions. Check DDD documentation.";
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
/**
|
|
856
|
+
* @description Audits spacing related CSS properties based on px values
|
|
857
|
+
* @param spacing Pre-audit CSS spacing value
|
|
858
|
+
*/
|
|
859
|
+
function helpAuditSpacing(spacing) {
|
|
860
|
+
if (spacing.includes('px')) {
|
|
861
|
+
spacing = Number(spacing.replace('px', ''));
|
|
862
|
+
if (spacing === 0) {
|
|
863
|
+
return "--ddd-spacing-0"; // 0px
|
|
864
|
+
} else if (spacing > 0 && spacing <= 4) {
|
|
865
|
+
return "--ddd-spacing-1"; // 4px
|
|
866
|
+
} else if (spacing > 4 && spacing <= 8) {
|
|
867
|
+
return "--ddd-spacing-2"; // 8px
|
|
868
|
+
} else if (spacing > 8 && spacing <= 12) {
|
|
869
|
+
return "--ddd-spacing-3"; // 12px
|
|
870
|
+
} else if (spacing > 12 && spacing <= 16) {
|
|
871
|
+
return "--ddd-spacing-4"; // 16px
|
|
872
|
+
} else if (spacing > 16 && spacing <= 20) {
|
|
873
|
+
return "--ddd-spacing-5"; // 20px
|
|
874
|
+
} else if (spacing > 20 && spacing <= 24) {
|
|
875
|
+
return "--ddd-spacing-6"; // 24px
|
|
876
|
+
} else if (spacing > 24 && spacing <= 28) {
|
|
877
|
+
return "--ddd-spacing-7"; // 28px
|
|
878
|
+
} else if (spacing > 28 && spacing <= 32) {
|
|
879
|
+
return "--ddd-spacing-8"; // 32px
|
|
880
|
+
} else if (spacing > 32 && spacing <= 36) {
|
|
881
|
+
return "--ddd-spacing-9"; // 36px
|
|
882
|
+
} else if (spacing > 36 && spacing <= 40) {
|
|
883
|
+
return "--ddd-spacing-10"; // 40px
|
|
884
|
+
} else if (spacing > 40 && spacing <= 44) {
|
|
885
|
+
return "--ddd-spacing-11"; // 44px
|
|
886
|
+
} else if (spacing > 44 && spacing <= 48) {
|
|
887
|
+
return "--ddd-spacing-12"; // 48px
|
|
888
|
+
} else if (spacing > 48 && spacing <= 52) {
|
|
889
|
+
return "--ddd-spacing-13"; // 52px
|
|
890
|
+
} else if (spacing > 52 && spacing <= 56) {
|
|
891
|
+
return "--ddd-spacing-14"; // 56px
|
|
892
|
+
} else if (spacing > 56 && spacing <= 60) {
|
|
893
|
+
return "--ddd-spacing-15"; // 60px
|
|
894
|
+
} else if (spacing > 60 && spacing <= 64) {
|
|
895
|
+
return "--ddd-spacing-16"; // 64px
|
|
896
|
+
} else if (spacing > 64 && spacing <= 68) {
|
|
897
|
+
return "--ddd-spacing-17"; // 68px
|
|
898
|
+
} else if (spacing > 68 && spacing <= 72) {
|
|
899
|
+
return "--ddd-spacing-18"; // 72px
|
|
900
|
+
} else if (spacing > 72 && spacing <= 76) {
|
|
901
|
+
return "--ddd-spacing-19"; // 76px
|
|
902
|
+
} else if (spacing > 76 && spacing <= 80) {
|
|
903
|
+
return "--ddd-spacing-20"; // 80px
|
|
904
|
+
} else if (spacing > 80 && spacing <= 84) {
|
|
905
|
+
return "--ddd-spacing-21"; // 84px
|
|
906
|
+
} else if (spacing > 84 && spacing <= 88) {
|
|
907
|
+
return "--ddd-spacing-22"; // 88px
|
|
908
|
+
} else if (spacing > 88 && spacing <= 92) {
|
|
909
|
+
return "--ddd-spacing-23"; // 92px
|
|
910
|
+
} else if (spacing > 92 && spacing <= 96) {
|
|
911
|
+
return "--ddd-spacing-24"; // 96px
|
|
912
|
+
} else if (spacing > 96 && spacing <= 100) {
|
|
913
|
+
return "--ddd-spacing-25"; // 100px
|
|
914
|
+
} else if (spacing > 100 && spacing <= 104) {
|
|
915
|
+
return "--ddd-spacing-26"; // 104px
|
|
916
|
+
} else if (spacing > 104 && spacing <= 108) {
|
|
917
|
+
return "--ddd-spacing-27"; // 108px
|
|
918
|
+
} else if (spacing > 108 && spacing <= 112) {
|
|
919
|
+
return "--ddd-spacing-28"; // 112px
|
|
920
|
+
} else if (spacing > 112 && spacing <= 116) {
|
|
921
|
+
return "--ddd-spacing-29"; // 116px
|
|
922
|
+
} else if (spacing > 116) {
|
|
923
|
+
return "--ddd-spacing-30"; // 120px
|
|
924
|
+
}
|
|
925
|
+
} else if (spacing == 0) {
|
|
926
|
+
return "--ddd-spacing-0"; // 0px
|
|
927
|
+
}
|
|
928
|
+
return "No available suggestions. Check DDD documentation.";
|
|
929
|
+
}
|