@dialpad/dialtone-css 1.0.0
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/CHANGELOG.json +1 -0
- package/LICENSE.md +21 -0
- package/README.md +64 -0
- package/lib/build/favicons/dialpad/favicon-beta-notification__512.png +0 -0
- package/lib/build/favicons/dialpad/favicon-beta__512.png +0 -0
- package/lib/build/favicons/dialpad/favicon-csr__512.png +0 -0
- package/lib/build/favicons/dialpad/favicon-notification__512.png +0 -0
- package/lib/build/favicons/dialpad/favicon-staging-notification__512.png +0 -0
- package/lib/build/favicons/dialpad/favicon-staging__512.png +0 -0
- package/lib/build/favicons/dialpad/favicon__512.png +0 -0
- package/lib/build/favicons/favicon-dialtone__512.png +0 -0
- package/lib/build/favicons/uberconference/favicon-uberconference__512.png +0 -0
- package/lib/build/fonts/Archivo-Bold.woff2 +0 -0
- package/lib/build/fonts/Archivo-Regular.woff2 +0 -0
- package/lib/build/fonts/Archivo-SemiBold.woff2 +0 -0
- package/lib/build/fonts/ArchivoExpanded-SemiBold.woff2 +0 -0
- package/lib/build/fonts/ArchivoSemiExpanded-Medium.woff2 +0 -0
- package/lib/build/fonts/ArchivoSemiExpanded-SemiBold.woff2 +0 -0
- package/lib/build/js/dialtone_health_check/deprecated_icons.cjs +105 -0
- package/lib/build/js/dialtone_health_check/index.cjs +82 -0
- package/lib/build/js/dialtone_health_check/non_dialtone_properties.cjs +44 -0
- package/lib/build/js/dialtone_migration_helper/configs/box-shadows.mjs +19 -0
- package/lib/build/js/dialtone_migration_helper/configs/colors.mjs +69 -0
- package/lib/build/js/dialtone_migration_helper/configs/fonts.mjs +49 -0
- package/lib/build/js/dialtone_migration_helper/configs/size-and-space.mjs +124 -0
- package/lib/build/js/dialtone_migration_helper/helpers.mjs +212 -0
- package/lib/build/js/dialtone_migration_helper/index.mjs +135 -0
- package/lib/build/less/components/avatar.less +169 -0
- package/lib/build/less/components/badge.less +139 -0
- package/lib/build/less/components/banner.less +77 -0
- package/lib/build/less/components/breadcrumbs.less +88 -0
- package/lib/build/less/components/button.less +554 -0
- package/lib/build/less/components/card.less +56 -0
- package/lib/build/less/components/chip.less +192 -0
- package/lib/build/less/components/codeblock.less +26 -0
- package/lib/build/less/components/collapsible.less +33 -0
- package/lib/build/less/components/combobox.less +28 -0
- package/lib/build/less/components/datepicker.less +146 -0
- package/lib/build/less/components/emoji-picker.less +223 -0
- package/lib/build/less/components/forms.less +153 -0
- package/lib/build/less/components/icon.less +63 -0
- package/lib/build/less/components/image-viewer.less +35 -0
- package/lib/build/less/components/input.less +321 -0
- package/lib/build/less/components/item-layout.less +53 -0
- package/lib/build/less/components/keyboard-shortcut.less +39 -0
- package/lib/build/less/components/link.less +130 -0
- package/lib/build/less/components/list-group.less +48 -0
- package/lib/build/less/components/list-item-group.less +17 -0
- package/lib/build/less/components/modal.less +340 -0
- package/lib/build/less/components/notice.less +171 -0
- package/lib/build/less/components/pagination.less +41 -0
- package/lib/build/less/components/popover.less +99 -0
- package/lib/build/less/components/presence.less +60 -0
- package/lib/build/less/components/radio-checkbox.less +278 -0
- package/lib/build/less/components/root-layout.less +125 -0
- package/lib/build/less/components/selects.less +152 -0
- package/lib/build/less/components/skeleton.less +101 -0
- package/lib/build/less/components/stack.less +129 -0
- package/lib/build/less/components/tab-panel.less +15 -0
- package/lib/build/less/components/table.less +118 -0
- package/lib/build/less/components/tabs.less +219 -0
- package/lib/build/less/components/toast.less +120 -0
- package/lib/build/less/components/toggle.less +173 -0
- package/lib/build/less/components/tooltip.less +267 -0
- package/lib/build/less/dialtone-globals.less +45 -0
- package/lib/build/less/dialtone-reset.less +362 -0
- package/lib/build/less/dialtone-variables.less +16 -0
- package/lib/build/less/dialtone.less +71 -0
- package/lib/build/less/themes/default.less +83 -0
- package/lib/build/less/themes/example.less +89 -0
- package/lib/build/less/utilities/backgrounds.less +139 -0
- package/lib/build/less/utilities/borders.less +196 -0
- package/lib/build/less/utilities/colors.less +122 -0
- package/lib/build/less/utilities/effects.less +210 -0
- package/lib/build/less/utilities/flex.less +227 -0
- package/lib/build/less/utilities/grid.less +244 -0
- package/lib/build/less/utilities/interactivity.less +69 -0
- package/lib/build/less/utilities/layout.less +146 -0
- package/lib/build/less/utilities/lint-staged.config.cjs +5 -0
- package/lib/build/less/utilities/sizing.less +152 -0
- package/lib/build/less/utilities/spacing.less +107 -0
- package/lib/build/less/utilities/typography.less +300 -0
- package/lib/build/less/variables/layout.less +19 -0
- package/lib/build/less/variables/sizes.less +64 -0
- package/lib/build/less/variables/typography.less +46 -0
- package/lib/build/less/variables/visual-styles.less +77 -0
- package/lib/build/svg/spot/blank-space.svg +35 -0
- package/lib/build/svg/spot/browser-list-callout.svg +27 -0
- package/lib/build/svg/spot/browser-table-graph.svg +37 -0
- package/lib/build/svg/spot/female-laptop-typing.svg +21 -0
- package/lib/build/svg/spot/file-upload.svg +50 -0
- package/lib/build/svg/spot/male-laptop-typing.svg +24 -0
- package/lib/build/svg/spot/mind.svg +58 -0
- package/lib/build/svg/spot/publish.svg +54 -0
- package/lib/build/svg/spot/vector-vortex.svg +53 -0
- package/lib/build/svg/spot/wireless-screenshare.svg +30 -0
- package/lib/dist/css/dialtone.css +18711 -0
- package/lib/dist/css/dialtone.min.css +1 -0
- package/lib/dist/fonts/Archivo-Bold.woff2 +0 -0
- package/lib/dist/fonts/Archivo-Regular.woff2 +0 -0
- package/lib/dist/fonts/Archivo-SemiBold.woff2 +0 -0
- package/lib/dist/fonts/ArchivoExpanded-SemiBold.woff2 +0 -0
- package/lib/dist/fonts/ArchivoSemiExpanded-Medium.woff2 +0 -0
- package/lib/dist/fonts/ArchivoSemiExpanded-SemiBold.woff2 +0 -0
- package/lib/dist/js/dialtone_health_check/deprecated_icons.cjs +105 -0
- package/lib/dist/js/dialtone_health_check/index.cjs +82 -0
- package/lib/dist/js/dialtone_health_check/non_dialtone_properties.cjs +44 -0
- package/lib/dist/js/dialtone_migration_helper/configs/box-shadows.mjs +19 -0
- package/lib/dist/js/dialtone_migration_helper/configs/colors.mjs +69 -0
- package/lib/dist/js/dialtone_migration_helper/configs/fonts.mjs +49 -0
- package/lib/dist/js/dialtone_migration_helper/configs/size-and-space.mjs +124 -0
- package/lib/dist/js/dialtone_migration_helper/helpers.mjs +212 -0
- package/lib/dist/js/dialtone_migration_helper/index.mjs +135 -0
- package/lib/dist/svg/spot/blank-space.svg +1 -0
- package/lib/dist/svg/spot/browser-list-callout.svg +1 -0
- package/lib/dist/svg/spot/browser-table-graph.svg +1 -0
- package/lib/dist/svg/spot/female-laptop-typing.svg +1 -0
- package/lib/dist/svg/spot/file-upload.svg +1 -0
- package/lib/dist/svg/spot/male-laptop-typing.svg +1 -0
- package/lib/dist/svg/spot/mind.svg +1 -0
- package/lib/dist/svg/spot/publish.svg +1 -0
- package/lib/dist/svg/spot/vector-vortex.svg +1 -0
- package/lib/dist/svg/spot/wireless-screenshare.svg +1 -0
- package/lib/dist/vue/spot/SpotBlankSpace.vue +3 -0
- package/lib/dist/vue/spot/SpotBrowserListCallout.vue +3 -0
- package/lib/dist/vue/spot/SpotBrowserTableGraph.vue +3 -0
- package/lib/dist/vue/spot/SpotFemaleLaptopTyping.vue +3 -0
- package/lib/dist/vue/spot/SpotFileUpload.vue +3 -0
- package/lib/dist/vue/spot/SpotMaleLaptopTyping.vue +3 -0
- package/lib/dist/vue/spot/SpotMind.vue +3 -0
- package/lib/dist/vue/spot/SpotPublish.vue +3 -0
- package/lib/dist/vue/spot/SpotVectorVortex.vue +3 -0
- package/lib/dist/vue/spot/SpotWirelessScreenshare.vue +3 -0
- package/package.json +115 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/* eslint-disable complexity */
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const iconRegex = /.*@dialpad\/dialtone\/(vue\/.*|.+\.svg)/gim;
|
|
4
|
+
const brandIconsList = [
|
|
5
|
+
'IconAirtable',
|
|
6
|
+
'IconAmex',
|
|
7
|
+
'IconAppStoreBadge',
|
|
8
|
+
'IconApple',
|
|
9
|
+
'IconAsana',
|
|
10
|
+
'IconBrandDialpadMeetings',
|
|
11
|
+
'IconBrandDialpad',
|
|
12
|
+
'IconBullhorn',
|
|
13
|
+
'IconClockify',
|
|
14
|
+
'IconCopperCrm',
|
|
15
|
+
'IconDialpadAi',
|
|
16
|
+
'IconDinersClub',
|
|
17
|
+
'IconDiscover',
|
|
18
|
+
'IconEvernote',
|
|
19
|
+
'IconFacebook',
|
|
20
|
+
'IconFreshsalesCrm',
|
|
21
|
+
'IconFront',
|
|
22
|
+
'IconGmail',
|
|
23
|
+
'IconGoogleBusinessMessaging',
|
|
24
|
+
'IconGoogleCalendar',
|
|
25
|
+
'IconGoogleDocs',
|
|
26
|
+
'IconGoogleDrive',
|
|
27
|
+
'IconGoogleGlyph',
|
|
28
|
+
'IconGreenhouse',
|
|
29
|
+
'IconHighfive',
|
|
30
|
+
'IconHubspot',
|
|
31
|
+
'IconInstagram',
|
|
32
|
+
'IconIntercom',
|
|
33
|
+
'IconJcb',
|
|
34
|
+
'IconJiraServiceDesk',
|
|
35
|
+
'IconLineMessenger',
|
|
36
|
+
'IconLinkedin',
|
|
37
|
+
'IconMaestro',
|
|
38
|
+
'IconMastercard',
|
|
39
|
+
'IconMessenger',
|
|
40
|
+
'IconMicrosoftDynamics365',
|
|
41
|
+
'IconMicrosoftTeams',
|
|
42
|
+
'IconMicrosoft',
|
|
43
|
+
'IconMiro',
|
|
44
|
+
'IconMondayCom',
|
|
45
|
+
'IconOffice365',
|
|
46
|
+
'IconPipedrive',
|
|
47
|
+
'IconPlayStoreBadge',
|
|
48
|
+
'IconSalesforceGlyph',
|
|
49
|
+
'IconSalesforceLogo',
|
|
50
|
+
'IconServicenow',
|
|
51
|
+
'IconSlack',
|
|
52
|
+
'IconSnapchat',
|
|
53
|
+
'IconTelegram',
|
|
54
|
+
'IconTiktok',
|
|
55
|
+
'IconToggl',
|
|
56
|
+
'IconTwitter',
|
|
57
|
+
'IconUnionPay',
|
|
58
|
+
'IconViber',
|
|
59
|
+
'IconVisa',
|
|
60
|
+
'IconWeChat',
|
|
61
|
+
'IconWhatsapp',
|
|
62
|
+
'IconZendesk',
|
|
63
|
+
'IconZohoCrm',
|
|
64
|
+
'IconZohoDesk',
|
|
65
|
+
'IconZoho',
|
|
66
|
+
'IconZoom',
|
|
67
|
+
];
|
|
68
|
+
let totalIconsCount = 0;
|
|
69
|
+
|
|
70
|
+
function isBrandIcon (source) {
|
|
71
|
+
const iconName = source.split('/').pop().slice(0, -2);
|
|
72
|
+
return brandIconsList.includes(iconName);
|
|
73
|
+
}
|
|
74
|
+
const main = (files, noLineNumbers) => {
|
|
75
|
+
try {
|
|
76
|
+
for (const file of files) {
|
|
77
|
+
const data = fs.readFileSync(file, 'utf8');
|
|
78
|
+
const lines = data.split('\n');
|
|
79
|
+
let iconCount = 0;
|
|
80
|
+
|
|
81
|
+
for (const [lineNumber, line] of lines.entries()) {
|
|
82
|
+
const iconMatch = iconRegex.exec(line);
|
|
83
|
+
// If import doesn't match or is a brand or spot icon, continue
|
|
84
|
+
if (!iconMatch ||
|
|
85
|
+
iconMatch.input.includes('/brand/') ||
|
|
86
|
+
iconMatch.input.includes('/spot/') ||
|
|
87
|
+
isBrandIcon(iconMatch.input)) continue;
|
|
88
|
+
|
|
89
|
+
if (!noLineNumbers) {
|
|
90
|
+
console.log(`\tdeprecated icon usage found on line ${lineNumber + 1}: ${iconMatch.input}`);
|
|
91
|
+
}
|
|
92
|
+
iconCount++;
|
|
93
|
+
totalIconsCount++;
|
|
94
|
+
}
|
|
95
|
+
if (iconCount > 0) {
|
|
96
|
+
console.log(`${file}: ${iconCount} Deprecated icons found`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
console.log(`Found ${totalIconsCount} total deprecated icons usage in this directory.`);
|
|
100
|
+
} catch (err) {
|
|
101
|
+
console.error(err);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
module.exports = main;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/* Will search the files in the provided directory for any properties that are not set to dialtone values.
|
|
4
|
+
It does this by simply checking whether the property is set to a less @variable or CSS var such as var(--val).
|
|
5
|
+
It does not compare to an actual list of dialtone token values so it is not perfect, and sometimes gives false
|
|
6
|
+
positives. This will however give a pretty good idea of where dialtone values aren't being used that should.
|
|
7
|
+
|
|
8
|
+
Searches some key properties by default as shown in the defaultSearch array below. You are however not limited to
|
|
9
|
+
this, you can make this application search any css property you wish. See the below options or run this application
|
|
10
|
+
with the -h switch for more details. */
|
|
11
|
+
|
|
12
|
+
const path = require('path');
|
|
13
|
+
const fs = require('fs');
|
|
14
|
+
const { exit } = require('process');
|
|
15
|
+
const { docopt } = require('docopt');
|
|
16
|
+
const nonDialtoneProperties = require('./non_dialtone_properties');
|
|
17
|
+
const deprecatedIcons = require('./deprecated_icons');
|
|
18
|
+
|
|
19
|
+
const doc = `
|
|
20
|
+
Usage:
|
|
21
|
+
./dialtone_health_check <path> [options] (--icons|--properties) [<properties>]
|
|
22
|
+
|
|
23
|
+
Examples:
|
|
24
|
+
./dialtone_health_check <path> --ext=vue,js --no-line-numbers --icons
|
|
25
|
+
./dialtone_health_check <path> --ext=vue,js --properties color,background-color
|
|
26
|
+
./dialtone_health_check <path> --ext=vue,js --icons --properties color,background-color
|
|
27
|
+
|
|
28
|
+
Arguments:
|
|
29
|
+
<properties> CSS Properties to search. Default properties if list is not provided:
|
|
30
|
+
color,background-color,border-color,font-family
|
|
31
|
+
<path> The directory to recursively search all files in.
|
|
32
|
+
|
|
33
|
+
Options:
|
|
34
|
+
-p --properties Verify the usage of non-dialtone properties.
|
|
35
|
+
-i --icons Verify the status of icons migration.
|
|
36
|
+
-h --help Show this screen.
|
|
37
|
+
--ext=<ext> Filter by file extension. comma separate to filter multiple. ex: js,vue
|
|
38
|
+
--no-line-numbers Only output files and their total count, do not output individual instances and
|
|
39
|
+
their line number.
|
|
40
|
+
`;
|
|
41
|
+
const options = docopt(doc);
|
|
42
|
+
const extensionFilters = options['--ext']?.split(',') ?? [''];
|
|
43
|
+
const searchProperties = options['--properties'];
|
|
44
|
+
const properties = options['<properties>']?.split(',');
|
|
45
|
+
const noLineNumbers = options['--no-line-numbers'];
|
|
46
|
+
const searchIcons = options['--icons'];
|
|
47
|
+
const files = [];
|
|
48
|
+
|
|
49
|
+
function fromDir (startPath, fileExtension) {
|
|
50
|
+
if (!fs.existsSync(startPath)) {
|
|
51
|
+
console.error('Directory not found');
|
|
52
|
+
exit(1);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const results = [];
|
|
56
|
+
const files = fs.readdirSync(startPath);
|
|
57
|
+
for (let i = 0; i < files.length; i++) {
|
|
58
|
+
const filename = path.join(startPath, files[i]);
|
|
59
|
+
const stat = fs.lstatSync(filename);
|
|
60
|
+
if (stat.isDirectory()) {
|
|
61
|
+
results.push(...fromDir(filename, fileExtension)); // recurse
|
|
62
|
+
} else if (filename.endsWith(fileExtension)) {
|
|
63
|
+
results.push(filename);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return results;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
extensionFilters.forEach(extension => {
|
|
70
|
+
files.push(...fromDir(options['<path>'], extension));
|
|
71
|
+
});
|
|
72
|
+
if (files.length <= 0) {
|
|
73
|
+
console.error('No files found in directory');
|
|
74
|
+
exit(1);
|
|
75
|
+
}
|
|
76
|
+
if (!searchProperties && !searchIcons) {
|
|
77
|
+
console.error('You must set at least one flag [--icons|--properties]');
|
|
78
|
+
exit(1);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
searchProperties && nonDialtoneProperties(properties, files, noLineNumbers);
|
|
82
|
+
searchIcons && deprecatedIcons(files, noLineNumbers);
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const defaultSearch = [
|
|
3
|
+
'color',
|
|
4
|
+
'background-color',
|
|
5
|
+
'border-color',
|
|
6
|
+
'font-family',
|
|
7
|
+
];
|
|
8
|
+
let totalPropertiesCount = 0;
|
|
9
|
+
|
|
10
|
+
const main = (props = defaultSearch, files, noLineNumbers) => {
|
|
11
|
+
const regex = props.map(property => {
|
|
12
|
+
return new RegExp(`^\\s*${property}:\\s(?:(?!var\\(--))(?:(?!@)).*`, 'gm');
|
|
13
|
+
});
|
|
14
|
+
try {
|
|
15
|
+
for (const file of files) {
|
|
16
|
+
const data = fs.readFileSync(file, 'utf8');
|
|
17
|
+
const lines = data.split('\n');
|
|
18
|
+
let propertiesMatch;
|
|
19
|
+
let propertiesCount = 0;
|
|
20
|
+
|
|
21
|
+
for (const [lineNumber, line] of lines.entries()) {
|
|
22
|
+
regex.forEach(re => {
|
|
23
|
+
// eslint-disable-next-line no-cond-assign
|
|
24
|
+
while (propertiesMatch = re.exec(line)) {
|
|
25
|
+
if (!noLineNumbers) {
|
|
26
|
+
console.log(`\tnon-dialtone property found on line ${lineNumber + 1}: ${propertiesMatch}`);
|
|
27
|
+
}
|
|
28
|
+
propertiesCount++;
|
|
29
|
+
totalPropertiesCount++;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
if (propertiesCount > 0) {
|
|
34
|
+
console.log(`${file}: ${propertiesCount}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
console.log(`Found ${totalPropertiesCount} total ${props.join(', ')} \
|
|
38
|
+
CSS properties that are not dialtone in this directory.`);
|
|
39
|
+
} catch (err) {
|
|
40
|
+
console.error(err);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
module.exports = main;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
description:
|
|
3
|
+
'Updates dialtone 7 variables to dialtone 8 design tokens.\n' +
|
|
4
|
+
'- Replaces var(--bs-{kind}) with var(--dt-shadow-{kind})\n\t' +
|
|
5
|
+
'eg. var(--bs-sm) with var(--dt-shadow-small)\n' +
|
|
6
|
+
'- Replaces @bs-{kind} with var(--dt-shadow-{kind})\n\t' +
|
|
7
|
+
'eg. @bs-card with var(--dt-shadow-card)\n',
|
|
8
|
+
patterns: ['**/*.{css,less,scss,sass,styl,html,vue,md}'],
|
|
9
|
+
expressions: [
|
|
10
|
+
// CSS variables
|
|
11
|
+
{ from: /@bs-sm|var\(--bs-sm\)/gi, to: 'var(--dt-shadow-small)' },
|
|
12
|
+
{ from: /@bs-md|var\(--bs-md\)/gi, to: 'var(--dt-shadow-medium)' },
|
|
13
|
+
{ from: /@bs-lg|var\(--bs-lg\)/gi, to: 'var(--dt-shadow-large)' },
|
|
14
|
+
{ from: /@bs-xl|var\(--bs-xl\)/gi, to: 'var(--dt-shadow-extra-large)' },
|
|
15
|
+
{ from: /@bs-card|var\(--bs-card\)/gi, to: 'var(--dt-shadow-card)' },
|
|
16
|
+
{ from: /@bs-focus-ring|var\(--bs-focus-ring\)/gi, to: 'var(--dt-shadow-focus)' },
|
|
17
|
+
{ from: /@bs-focus-ring-inset|var\(--bs-focus-ring-inset\)/gi, to: 'var(--dt-shadow-focus-inset)' },
|
|
18
|
+
],
|
|
19
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
description:
|
|
3
|
+
'Updates dialtone 7 variables to dialtone 8 design tokens.\n' +
|
|
4
|
+
'- Replaces var(--{color}-{stop}) with var(--dt-color-{color}-{stop})\n\t' +
|
|
5
|
+
'eg. var(--black-200) with var(--dt-color-black-200)\n' +
|
|
6
|
+
'- Replaces @{color}-{stop} with var(--dt-color-{color}-{stop})\n\t' +
|
|
7
|
+
'eg. @red-100 with var(--dt-color-red-100)\n' +
|
|
8
|
+
'- Replaces var(--fc-{kind}) with var(--dt-color-foreground-{kind})\n\t' +
|
|
9
|
+
'eg. var(--fc-success-inverted) with var(--dt-color-foreground-success-inverted)\n',
|
|
10
|
+
patterns: ['**/*.{css,less,scss,sass,styl,html,vue,md}'],
|
|
11
|
+
expressions: [
|
|
12
|
+
// ------------------------------------------------------------ //
|
|
13
|
+
// Colors //
|
|
14
|
+
// ------------------------------------------------------------ //
|
|
15
|
+
// LESS variables
|
|
16
|
+
{
|
|
17
|
+
from: /@(black|purple|magenta|gold|green|red|blue|tan)(-[1-9]00)/g,
|
|
18
|
+
to: 'var(--dt-color-$1$2)',
|
|
19
|
+
},
|
|
20
|
+
// Neutral LESS variables
|
|
21
|
+
{
|
|
22
|
+
from: /@(white|black)/g,
|
|
23
|
+
to: 'var(--dt-color-neutral-$1)',
|
|
24
|
+
},
|
|
25
|
+
// CSS variables
|
|
26
|
+
{
|
|
27
|
+
from: /var\(--(black|purple|orange|magenta|gold|green|red|blue|tan)(-[1-9]00)(-(h|s|l|hsl))?\)/g,
|
|
28
|
+
to: 'var(--dt-color-$1$2$3)',
|
|
29
|
+
},
|
|
30
|
+
// Neutral CSS variables
|
|
31
|
+
{
|
|
32
|
+
from: /var\(--(white|black)(-(h|s|l|hsl))?\)/g,
|
|
33
|
+
to: 'var(--dt-color-neutral-$1$2)',
|
|
34
|
+
},
|
|
35
|
+
// Background colors
|
|
36
|
+
{
|
|
37
|
+
// eslint-disable-next-line max-len
|
|
38
|
+
from: /var\(--bgc-(primary|secondary|moderate|bold|strong|contrast|critical|success|warning|info)(-(subtle|opaque|subtle-opaque|strong))?\)/g,
|
|
39
|
+
to: 'var(--dt-color-surface-$1$2)',
|
|
40
|
+
},
|
|
41
|
+
// Special Background color cases
|
|
42
|
+
{
|
|
43
|
+
// eslint-disable-next-line max-len
|
|
44
|
+
from: /var\(--bgc-(error|danger)(-(subtle|opaque|subtle-opaque|strong))?\)/g,
|
|
45
|
+
to: 'var(--dt-color-surface-critical$2)',
|
|
46
|
+
},
|
|
47
|
+
// Border colors
|
|
48
|
+
{
|
|
49
|
+
// eslint-disable-next-line max-len
|
|
50
|
+
from: /var\(--bc-(default|subtle|moderate|bold|focus|critical|success|warning|brand|ai|accent)(-(inverted|subtle|strong|subtle-inverted|strong-inverted))?\)/g,
|
|
51
|
+
to: 'var(--dt-color-border-$1$2)',
|
|
52
|
+
},
|
|
53
|
+
// Font colors
|
|
54
|
+
{
|
|
55
|
+
// eslint-disable-next-line max-len
|
|
56
|
+
from: /var\(--fc-(primary|secondary|tertiary|muted|placeholder|disabled|critical|success|warning)(-(strong|inverted|strong-inverted))?\)/g,
|
|
57
|
+
to: 'var(--dt-color-foreground-$1$2)',
|
|
58
|
+
},
|
|
59
|
+
// Special Font color cases
|
|
60
|
+
{
|
|
61
|
+
from: /var\(--fc-(error|danger)(-(strong|inverted|strong-inverted))?\)/g,
|
|
62
|
+
to: 'var(--dt-color-foreground-critical$2)',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
from: /d-(fc|bc)-white/g,
|
|
66
|
+
to: 'd-$1-neutral-white',
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
description:
|
|
3
|
+
'Updates dialtone 7 variables to dialtone 8 design tokens.\n' +
|
|
4
|
+
'- Replaces var(--fs-{stop}) with var(--dt-font-size-{stop})\n\t' +
|
|
5
|
+
'eg. var(--fs-200) with var(--dt-font-size-200)\n' +
|
|
6
|
+
'- Replaces @fs-{stop} with var(--dt-font-size-{stop})\n\t' +
|
|
7
|
+
'eg. @fs-100-tv with var(--dt-font-size-100-tv)\n' +
|
|
8
|
+
'- Replaces var(--fw-{kind}) with var(--dt-font-weight-{kind})\n\t' +
|
|
9
|
+
'eg. var(--fw-medium) with var(--dt-font-weight-medium)\n' +
|
|
10
|
+
'- Replaces @fw-{kind} with var(--dt-font-weight-{kind})\n\t' +
|
|
11
|
+
'eg. @fw-semibold with var(--dt-font-weight-semi-bold)\n' +
|
|
12
|
+
'- Replaces var(--lh-{stop}) with var(--dt-font-line-height-{stop})\n\t' +
|
|
13
|
+
'eg. var(--lh-200) with var(--dt-font-line-height-200)\n' +
|
|
14
|
+
'- Replaces @lh-{stop} with var(--dt-font-line-height-{stop})\n\t' +
|
|
15
|
+
'eg. @lh-100 with var(--dt-font-line-height-100)\n' +
|
|
16
|
+
'- Replaces var(--ff-{kind}) with var(--dt-font-family-{kind})\n\t' +
|
|
17
|
+
'eg. var(--ff-mono) with var(--dt-font-family-mono)',
|
|
18
|
+
patterns: ['**/*.{css,less,scss,sass,styl,html,vue,md,json}'],
|
|
19
|
+
expressions: [
|
|
20
|
+
// ------------------------------------------------------------ //
|
|
21
|
+
// Fonts //
|
|
22
|
+
// ------------------------------------------------------------ //
|
|
23
|
+
// Size variables
|
|
24
|
+
{
|
|
25
|
+
from: /@fs(-[0-9]+)(-(mobile|tc8|tv))?|var\(--fs(-[0-9]+)(-(mobile|tc8|tv))?\)/g,
|
|
26
|
+
to: 'var(--dt-font-size$1$2$4$5)',
|
|
27
|
+
},
|
|
28
|
+
// Weight variables
|
|
29
|
+
{
|
|
30
|
+
from: /@fw-(normal|medium|bold)|var\(--fw-(normal|medium|bold)\)/g,
|
|
31
|
+
to: 'var(--dt-font-weight-$1$2)',
|
|
32
|
+
},
|
|
33
|
+
// Special weight case
|
|
34
|
+
{
|
|
35
|
+
from: /@fw-semibold|var\(--fw-semibold\)/g,
|
|
36
|
+
to: 'var(--dt-font-weight-semi-bold)',
|
|
37
|
+
},
|
|
38
|
+
// Line heights
|
|
39
|
+
{
|
|
40
|
+
from: /@lh(-[0-9]+)|var\(--lh(-[0-9]+)\)/g,
|
|
41
|
+
to: 'var(--dt-font-line-height$1$2)',
|
|
42
|
+
},
|
|
43
|
+
// Font family
|
|
44
|
+
{
|
|
45
|
+
from: /var\(--ff-(mono)\)/g,
|
|
46
|
+
to: 'var(--dt-font-family-$1)',
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
};
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
description:
|
|
3
|
+
'Updates dialtone 7 variables to dialtone 8 design tokens.\n' +
|
|
4
|
+
'- Replaces var(--{size}-{stop}) with var(--dt-size-{stop})\n\t' +
|
|
5
|
+
'eg. var(--size-200) with var(--dt-size-200)\n' +
|
|
6
|
+
'- Replaces @{size}{stop} with var(--dt-size-{stop})\n\t' +
|
|
7
|
+
'eg. @size4 with var(--dt-size-300)\n' +
|
|
8
|
+
'- Replaces @icon{size} with var(--dt-icon-size-{stop})\n\t' +
|
|
9
|
+
'eg. @icon12 with var(--dt-icon-size-100)\n' +
|
|
10
|
+
'- Replaces var(--su{stop}) with var(--dt-size-{stop})\n\t' +
|
|
11
|
+
'eg. var(--su0) with var(--dt-size-0)\n' +
|
|
12
|
+
'- Replaces @su{stop} with var(--dt-size-{stop})\n\t' +
|
|
13
|
+
'eg. @su8 with var(--dt-size-400)\n' +
|
|
14
|
+
'- Replaces var(--sun{stop}) with var(--dt-size-{stop}-negative)\n\t' +
|
|
15
|
+
'eg. var(--sun1) with var(--dt-size-100-negative)\n' +
|
|
16
|
+
'- Replaces var(--br{stop}) with var(--dt-size-radius-{stop})\n\t' +
|
|
17
|
+
'eg. var(--br4) with var(--dt-size-radius-300)\n' +
|
|
18
|
+
'- Replaces @br{stop} with var(--dt-size-radius-{stop})\n\t' +
|
|
19
|
+
'eg. @br-pill with var(--dt-size-radius-pill)\n',
|
|
20
|
+
patterns: ['**/*.{css,less,scss,sass,styl,html,vue,md}'],
|
|
21
|
+
expressions: [
|
|
22
|
+
// ------------------------------------------------------------ //
|
|
23
|
+
// Size and Space //
|
|
24
|
+
// ------------------------------------------------------------ //
|
|
25
|
+
{
|
|
26
|
+
from: /var\(--(size|space)(-[0-9]+)(-negative)?\)/gi,
|
|
27
|
+
to: 'var(--dt-$1$2$3)',
|
|
28
|
+
},
|
|
29
|
+
|
|
30
|
+
// Size LESS variables
|
|
31
|
+
{ from: /@size0\b|var\(--size0\)/g, to: 'var(--dt-size-0)' },
|
|
32
|
+
{ from: /@size1\b|var\(--size1\)/g, to: 'var(--dt-size-100)' },
|
|
33
|
+
{ from: /@size2\b|var\(--size2\)/g, to: 'var(--dt-size-200)' },
|
|
34
|
+
{ from: /@size4\b|var\(--size4\)/g, to: 'var(--dt-size-300)' },
|
|
35
|
+
{ from: /@size6\b|var\(--size6\)/g, to: 'var(--dt-size-350)' },
|
|
36
|
+
{ from: /@size8\b|var\(--size8\)/g, to: 'var(--dt-size-400)' },
|
|
37
|
+
{ from: /@size12\b|var\(--size12\)/g, to: 'var(--dt-size-450)' },
|
|
38
|
+
{ from: /@size16\b|var\(--size16\)/g, to: 'var(--dt-size-500)' },
|
|
39
|
+
{ from: /@size20\b|var\(--size20\)/g, to: 'var(--dt-size-525)' },
|
|
40
|
+
{ from: /@size24\b|var\(--size24\)/g, to: 'var(--dt-size-550)' },
|
|
41
|
+
{ from: /@size32\b|var\(--size32\)/g, to: 'var(--dt-size-600)' },
|
|
42
|
+
{ from: /@size42\b|var\(--size42\)/g, to: 'var(--dt-size-625)' },
|
|
43
|
+
{ from: /@size48\b|var\(--size48\)/g, to: 'var(--dt-size-650)' },
|
|
44
|
+
{ from: /@size64\b|var\(--size64\)/g, to: 'var(--dt-size-700)' },
|
|
45
|
+
{ from: /@size72\b|var\(--size72\)/g, to: 'var(--dt-size-720)' },
|
|
46
|
+
{ from: /@size84\b|var\(--size84\)/g, to: 'var(--dt-size-730)' },
|
|
47
|
+
{ from: /@size96\b|var\(--size96\)/g, to: 'var(--dt-size-750)' },
|
|
48
|
+
{ from: /@size102\b|var\(--size102\)/g, to: 'var(--dt-size-760)' },
|
|
49
|
+
{ from: /@size114\b|var\(--size114\)/g, to: 'var(--dt-size-775)' },
|
|
50
|
+
{ from: /@size128\b|var\(--size128\)/g, to: 'var(--dt-size-800)' },
|
|
51
|
+
{ from: /@size164\b|var\(--size164\)/g, to: 'var(--dt-size-825)' },
|
|
52
|
+
{ from: /@size216\b|var\(--size216\)/g, to: 'var(--dt-size-875)' },
|
|
53
|
+
{ from: /@size264\b|var\(--size264\)/g, to: 'var(--dt-size-905)' },
|
|
54
|
+
{ from: /@size332\b|var\(--size332\)/g, to: 'var(--dt-size-925)' },
|
|
55
|
+
{ from: /@size464\b|var\(--size464\)/g, to: 'var(--dt-size-975)' },
|
|
56
|
+
{ from: /@size512\b|var\(--size512\)/g, to: 'var(--dt-size-1000)' },
|
|
57
|
+
{ from: /@size628\b|var\(--size628\)/g, to: 'var(--dt-size-1020)' },
|
|
58
|
+
{ from: /@size764\b|var\(--size764\)/g, to: 'var(--dt-size-1040)' },
|
|
59
|
+
{ from: /@size828\b|var\(--size828\)/g, to: 'var(--dt-size-1060)' },
|
|
60
|
+
{ from: /@size912\b|var\(--size912\)/g, to: 'var(--dt-size-1080)' },
|
|
61
|
+
{ from: /@size1024\b|var\(--size1024\)/g, to: 'var(--dt-size-1100)' },
|
|
62
|
+
{ from: /@size1140\b|var\(--size1140\)/g, to: 'var(--dt-size-1115)' },
|
|
63
|
+
{ from: /@size1268\b|var\(--size1268\)/g, to: 'var(--dt-size-1120)' },
|
|
64
|
+
{ from: /@size1340\b|var\(--size1340\)/g, to: 'var(--dt-size-1130)' },
|
|
65
|
+
|
|
66
|
+
// Icon variables
|
|
67
|
+
{ from: /@icon12\b|var\(--icon12\)/g, to: 'var(--dt-icon-size-100)' },
|
|
68
|
+
{ from: /@icon14\b|var\(--icon14\)/g, to: 'var(--dt-icon-size-200)' },
|
|
69
|
+
{ from: /@icon16\b|var\(--icon16\)/g, to: 'var(--dt-size-500)' },
|
|
70
|
+
{ from: /@icon18\b|var\(--icon18\)/g, to: 'var(--dt-icon-size-300)' },
|
|
71
|
+
{ from: /@icon20\b|var\(--icon20\)/g, to: 'var(--dt-icon-size-400)' },
|
|
72
|
+
{ from: /@icon24\b|var\(--icon24\)/g, to: 'var(--dt-icon-size-500)' },
|
|
73
|
+
{ from: /@icon32\b|var\(--icon32\)/g, to: 'var(--dt-icon-size-600)' },
|
|
74
|
+
{ from: /@icon48\b|var\(--icon48\)/g, to: 'var(--dt-size-650)' },
|
|
75
|
+
{ from: /@icon64\b|var\(--icon64\)/g, to: 'var(--dt-size-700)' },
|
|
76
|
+
// Variable prefixed with negative, must go before positive spacing
|
|
77
|
+
{ from: /-@su1\b|-var\(--su1\)|[^-]var\(--sun1\)/g, to: 'var(--dt-space-100-negative)' },
|
|
78
|
+
{ from: /-@su2\b|-var\(--su2\)|[^-]var\(--sun2\)/g, to: 'var(--dt-space-200-negative)' },
|
|
79
|
+
{ from: /-@su4\b|-var\(--su4\)|[^-]var\(--sun4\)/g, to: 'var(--dt-space-300-negative)' },
|
|
80
|
+
{ from: /-@su6\b|-var\(--su6\)|[^-]var\(--sun6\)/g, to: 'var(--dt-space-350-negative)' },
|
|
81
|
+
{ from: /-@su8\b|-var\(--su8\)|[^-]var\(--sun8\)/g, to: 'var(--dt-space-400-negative)' },
|
|
82
|
+
{ from: /-@su12\b|-var\(--su12\)|[^-]var\(--sun12\)/g, to: 'var(--dt-space-450-negative)' },
|
|
83
|
+
{ from: /-@su16\b|-var\(--su16\)|[^-]var\(--sun16\)/g, to: 'var(--dt-space-500-negative)' },
|
|
84
|
+
{ from: /-@su24\b|-var\(--su24\)|[^-]var\(--sun24\)/g, to: 'var(--dt-space-550-negative)' },
|
|
85
|
+
{ from: /-@su32\b|-var\(--su32\)|[^-]var\(--sun32\)/g, to: 'var(--dt-space-600-negative)' },
|
|
86
|
+
{ from: /-@su48\b|-var\(--su48\)|[^-]var\(--sun48\)/g, to: 'var(--dt-space-650-negative)' },
|
|
87
|
+
{ from: /-@su64\b|-var\(--su64\)|[^-]var\(--sun64\)/g, to: 'var(--dt-space-700-negative)' },
|
|
88
|
+
{ from: /-@su72\b|-var\(--su72\)|[^-]var\(--sun72\)/g, to: 'var(--dt-space-720-negative)' },
|
|
89
|
+
{ from: /-@su84\b|-var\(--su84\)|[^-]var\(--sun84\)/g, to: 'var(--dt-space-730-negative)' },
|
|
90
|
+
{ from: /-@su96\b|-var\(--su96\)|[^-]var\(--sun96\)/g, to: 'var(--dt-space-750-negative)' },
|
|
91
|
+
{ from: /-@su102\b|-var\(--su102\)|[^-]var\(--sun102\)/g, to: 'var(--dt-space-760-negative)' },
|
|
92
|
+
{ from: /-@su114\b|-var\(--su114\)|[^-]var\(--sun114\)/g, to: 'var(--dt-space-775-negative)' },
|
|
93
|
+
{ from: /-@su128\b|-var\(--su128\)|[^-]var\(--sun128\)/g, to: 'var(--dt-space-800-negative)' },
|
|
94
|
+
// Positive spacing
|
|
95
|
+
{ from: /@su0\b|var\(--su0\)/g, to: 'var(--dt-space-0)' },
|
|
96
|
+
{ from: /@su1\b|var\(--su1\)/g, to: 'var(--dt-space-100)' },
|
|
97
|
+
{ from: /@su2\b|var\(--su2\)/g, to: 'var(--dt-space-200)' },
|
|
98
|
+
{ from: /@su4\b|var\(--su4\)/g, to: 'var(--dt-space-300)' },
|
|
99
|
+
{ from: /@su6\b|var\(--su6\)/g, to: 'var(--dt-space-350)' },
|
|
100
|
+
{ from: /@su8\b|var\(--su8\)/g, to: 'var(--dt-space-400)' },
|
|
101
|
+
{ from: /@su12\b|var\(--su12\)/g, to: 'var(--dt-space-450)' },
|
|
102
|
+
{ from: /@su16\b|var\(--su16\)/g, to: 'var(--dt-space-500)' },
|
|
103
|
+
{ from: /@su24\b|var\(--su24\)/g, to: 'var(--dt-space-550)' },
|
|
104
|
+
{ from: /@su32\b|var\(--su32\)/g, to: 'var(--dt-space-600)' },
|
|
105
|
+
{ from: /@su48\b|var\(--su48\)/g, to: 'var(--dt-space-650)' },
|
|
106
|
+
{ from: /@su64\b|var\(--su64\)/g, to: 'var(--dt-space-700)' },
|
|
107
|
+
{ from: /@su72\b|var\(--su72\)/g, to: 'var(--dt-space-720)' },
|
|
108
|
+
{ from: /@su84\b|var\(--su84\)/g, to: 'var(--dt-space-730)' },
|
|
109
|
+
{ from: /@su96\b|var\(--su96\)/g, to: 'var(--dt-space-750)' },
|
|
110
|
+
{ from: /@su102\b|var\(--su102\)/g, to: 'var(--dt-space-760)' },
|
|
111
|
+
{ from: /@su114\b|var\(--su114\)/g, to: 'var(--dt-space-775)' },
|
|
112
|
+
{ from: /@su128\b|var\(--su128\)/g, to: 'var(--dt-space-800)' },
|
|
113
|
+
// Border radius
|
|
114
|
+
{ from: /@br-(pill|circle)|var\(--br-(pill|circle)\)/g, to: 'var(--dt-size-radius-$1$2)' },
|
|
115
|
+
{ from: /@br0|var\(--br0\)/g, to: 'var(--dt-size-radius-0)' },
|
|
116
|
+
{ from: /@br2\b|var\(--br2\)/g, to: 'var(--dt-size-radius-200)' },
|
|
117
|
+
{ from: /@br4|var\(--br4\)/g, to: 'var(--dt-size-radius-300)' },
|
|
118
|
+
{ from: /@br8|var\(--br8\)/g, to: 'var(--dt-size-radius-400)' },
|
|
119
|
+
{ from: /@br12|var\(--br12\)/g, to: 'var(--dt-size-450)' },
|
|
120
|
+
{ from: /@br16|var\(--br16\)/g, to: 'var(--dt-size-radius-500)' },
|
|
121
|
+
{ from: /@br24|var\(--br24\)/g, to: 'var(--dt-size-550)' },
|
|
122
|
+
{ from: /@br32|var\(--br32\)/g, to: 'var(--dt-size-radius-600)' },
|
|
123
|
+
],
|
|
124
|
+
};
|