diff --git a/cypress/e2e/14-mapping.cy.ts b/cypress/e2e/14-mapping.cy.ts index ef3b3aeb60..af39f6898b 100644 --- a/cypress/e2e/14-mapping.cy.ts +++ b/cypress/e2e/14-mapping.cy.ts @@ -80,14 +80,14 @@ describe('Data mapping', () => { .parameterExpressionPreview('value') .should('include.text', '0') .invoke('css', 'color') - .should('equal', 'rgb(125, 125, 135)'); + .should('equal', 'rgb(113, 116, 122)'); ndv.getters.inputTbodyCell(2, 0).realHover(); ndv.getters .parameterExpressionPreview('value') .should('include.text', '1') .invoke('css', 'color') - .should('equal', 'rgb(125, 125, 135)'); + .should('equal', 'rgb(113, 116, 122)'); ndv.actions.execute(); @@ -96,14 +96,14 @@ describe('Data mapping', () => { .parameterExpressionPreview('value') .should('include.text', '0') .invoke('css', 'color') - .should('equal', 'rgb(125, 125, 135)'); // todo update color + .should('equal', 'rgb(113, 116, 122)'); // todo update color ndv.getters.outputTbodyCell(2, 0).realHover(); ndv.getters .parameterExpressionPreview('value') .should('include.text', '1') .invoke('css', 'color') - .should('equal', 'rgb(125, 125, 135)'); + .should('equal', 'rgb(113, 116, 122)'); }); it('maps expressions from json view', () => { diff --git a/cypress/e2e/18-user-management.cy.ts b/cypress/e2e/18-user-management.cy.ts index 8c714eaa6c..dcf32fd678 100644 --- a/cypress/e2e/18-user-management.cy.ts +++ b/cypress/e2e/18-user-management.cy.ts @@ -1,5 +1,5 @@ import { INSTANCE_MEMBERS, INSTANCE_OWNER } from '../constants'; -import { SettingsUsersPage, WorkflowPage } from '../pages'; +import { MainSidebar, SettingsSidebar, SettingsUsersPage, WorkflowPage } from '../pages'; import { PersonalSettingsPage } from '../pages/settings-personal'; /** @@ -25,6 +25,8 @@ const updatedPersonalData = { const usersSettingsPage = new SettingsUsersPage(); const workflowPage = new WorkflowPage(); const personalSettingsPage = new PersonalSettingsPage(); +const settingsSidebar = new SettingsSidebar(); +const mainSidebar = new MainSidebar(); describe('User Management', { disableAutoLogin: true }, () => { before(() => cy.enableFeature('sharing')); @@ -55,6 +57,21 @@ describe('User Management', { disableAutoLogin: true }, () => { usersSettingsPage.getters.userActionsToggle(INSTANCE_MEMBERS[1].email).should('exist'); }); + it('should be able to change theme', () => { + personalSettingsPage.actions.loginAndVisit(INSTANCE_OWNER.email, INSTANCE_OWNER.password); + + personalSettingsPage.actions.changeTheme('Dark'); + cy.get('body').should('have.attr', 'data-theme', 'dark'); + settingsSidebar.actions.back(); + mainSidebar.getters.logo().should('have.attr', 'src', '/n8n-dev-logo-dark-mode.svg'); + + cy.visit(personalSettingsPage.url); + personalSettingsPage.actions.changeTheme('Light'); + cy.get('body').should('have.attr', 'data-theme', 'light'); + settingsSidebar.actions.back(); + mainSidebar.getters.logo().should('have.attr', 'src', '/n8n-dev-logo.svg'); + }); + it('should delete user and their data', () => { usersSettingsPage.actions.loginAndVisit(INSTANCE_OWNER.email, INSTANCE_OWNER.password, true); usersSettingsPage.actions.opedDeleteDialog(INSTANCE_MEMBERS[0].email); diff --git a/cypress/pages/settings-personal.ts b/cypress/pages/settings-personal.ts index 79cf58c752..716625beb5 100644 --- a/cypress/pages/settings-personal.ts +++ b/cypress/pages/settings-personal.ts @@ -20,8 +20,15 @@ export class PersonalSettingsPage extends BasePage { saveSettingsButton: () => cy.getByTestId('save-settings-button'), enableMfaButton: () => cy.getByTestId('enable-mfa-button'), disableMfaButton: () => cy.getByTestId('disable-mfa-button'), + themeSelector: () => cy.getByTestId('theme-select'), + selectOptionsVisible: () => cy.get('.el-select-dropdown:visible .el-select-dropdown__item'), }; actions = { + changeTheme: (theme: 'System default' | 'Dark' | 'Light') => { + this.getters.themeSelector().click(); + this.getters.selectOptionsVisible().should('have.length', 3); + this.getters.selectOptionsVisible().contains(theme).click(); + }, loginAndVisit: (email: string, password: string) => { cy.signin({ email, password }); cy.visit(this.url); diff --git a/cypress/pages/sidebar/main-sidebar.ts b/cypress/pages/sidebar/main-sidebar.ts index 1559d3da65..5b134648ea 100644 --- a/cypress/pages/sidebar/main-sidebar.ts +++ b/cypress/pages/sidebar/main-sidebar.ts @@ -13,6 +13,7 @@ export class MainSidebar extends BasePage { credentials: () => this.getters.menuItem('Credentials'), executions: () => this.getters.menuItem('Executions'), userMenu: () => cy.get('div[class="action-dropdown-container"]'), + logo: () => cy.getByTestId('n8n-logo'), }; actions = { goToSettings: () => { diff --git a/packages/design-system/.storybook/preview.js b/packages/design-system/.storybook/preview.js index 49708b358a..8991fa4a0a 100644 --- a/packages/design-system/.storybook/preview.js +++ b/packages/design-system/.storybook/preview.js @@ -45,10 +45,6 @@ export const parameters = { name: '--color-background-light', value: 'var(--color-background-light)', }, - { - name: '--color-background-lighter', - value: 'var(--color-background-lighter)', - }, { name: '--color-background-xlight', value: 'var(--color-background-xlight)', @@ -66,7 +62,7 @@ export const parameters = { }, options: { storySort: { - order: ['Docs', 'Styleguide', 'Atoms', 'Modules'], + order: ['Docs', 'Styleguide', ['Colors Primitives', 'Colors Tokens', 'Font', 'Spacing', 'Border'], 'Atoms', 'Modules'], }, }, }; diff --git a/packages/design-system/src/components/N8nAvatar/Avatar.vue b/packages/design-system/src/components/N8nAvatar/Avatar.vue index 56ff8880e4..a8f49733c0 100644 --- a/packages/design-system/src/components/N8nAvatar/Avatar.vue +++ b/packages/design-system/src/components/N8nAvatar/Avatar.vue @@ -89,7 +89,7 @@ export default defineComponent({ position: absolute; font-size: var(--font-size-2xs); font-weight: var(--font-weight-bold); - color: var(--color-text-xlight); + color: var(--color-avatar-font); text-shadow: 0px 1px 6px rgba(25, 11, 9, 0.3); } diff --git a/packages/design-system/src/components/N8nButton/Button.scss b/packages/design-system/src/components/N8nButton/Button.scss index 32024e3c7f..7458dc6377 100644 --- a/packages/design-system/src/components/N8nButton/Button.scss +++ b/packages/design-system/src/components/N8nButton/Button.scss @@ -26,23 +26,72 @@ @include utils-user-select(none); - &:hover { - color: $button-hover-color unquote($important); - border-color: $button-hover-border-color unquote($important); - background-color: $button-hover-background-color unquote($important); + // Solution for a inside button + & a { + color: $button-font-color unquote($important); } - &:focus { - border-color: $button-focus-outline-color unquote($important); - outline: $focus-outline-width solid $button-focus-outline-color unquote($important); + &:hover { + color: $button-hover-font-color unquote($important); + border-color: $button-hover-border-color unquote($important); + background-color: $button-hover-background-color unquote($important); + + & a { + color: $button-hover-font-color unquote($important); + } } &:active, &.active { - color: $button-active-color unquote($important); + color: $button-active-font-color unquote($important); border-color: $button-active-border-color unquote($important); background-color: $button-active-background-color unquote($important); outline: none; + + & a { + color: $button-active-font-color unquote($important); + } + } + + &:focus { + color: $button-focus-font-color unquote($important); + border-color: $button-focus-border-color unquote($important); + background-color: $button-focus-background-color unquote($important); + outline: $focus-outline-width solid $button-focus-outline-color unquote($important); + + & a { + color: $button-focus-font-color unquote($important); + } + } + + &.disabled { + &, + &:hover, + &:active, + &:focus { + color: $button-disabled-font-color; + border-color: $button-disabled-border-color; + background-color: $button-disabled-background-color; + + & a { + color: $button-disabled-font-color; + } + } + } + + .loading { + &, + &:hover, + &:active, + &:focus { + color: $button-loading-font-color; + border-color: $button-loading-border-color; + background-color: $button-loading-background-color; + + & a { + color: $button-loading-font-color; + } + } } &::-moz-focus-inner { @@ -65,17 +114,109 @@ } @mixin n8n-button-secondary { - --button-color: var(--color-primary); - --button-border-color: var(--color-primary); - --button-background-color: var(--color-background-xlight); + --button-font-color: var(--color-button-secondary-font); + --button-border-color: var(--color-button-secondary-border); + --button-background-color: var(--color-button-secondary-background); - --button-active-background-color: var(--color-primary-tint-2); - --button-active-color: var(--color-primary); - --button-active-border-color: var(--color-primary); + --button-hover-font-color: var(--color-button-secondary-hover-active-focus-font); + --button-hover-border-color: var(--color-button-secondary-hover-active-border); + --button-hover-background-color: var(--color-button-secondary-hover-background); - --button-hover-background-color: var(--color-primary-tint-3); - --button-hover-color: var(--color-primary); - --button-hover-border-color: var(--color-primary); + --button-active-font-color: var(--color-button-secondary-hover-active-focus-font); + --button-active-border-color: var(--color-button-secondary-hover-active-border); + --button-active-background-color: var(--color-button-secondary-active-background); - --button-focus-outline-color: var(--color-primary-tint-1); + --button-focus-font-color: var(--color-button-secondary-hover-active-focus-font); + --button-focus-border-color: var(--color-button-secondary-border); + --button-focus-background-color: var(--color-button-secondary-background); + --button-focus-outline-color: var(--color-button-secondary-focus-outline); + + --button-disabled-font-color: var(--color-button-secondary-disabled-font); + --button-disabled-border-color: var(--color-button-secondary-disabled-border); + --button-disabled-background-color: var(--color-button-secondary-background); + + --button-loading-font-color: var(--color-button-secondary-loading-font); + --button-loading-border-color: var(--color-button-secondary-loading-border); + --button-loading-background-color: var(--color-button-secondary-loading-background); +} + +@mixin n8n-button-success { + --button-font-color: var(--color-button-success-font); + --button-border-color: var(--color-success); + --button-background-color: var(--color-success); + + --button-hover-font-color: var(--color-button-success-font); + --button-hover-border-color: var(--color-success-shade-1); + --button-hover-background-color: var(--color-success-shade-1); + + --button-active-font-color: var(--color-button-success-font); + --button-active-border-color: var(--color-success-shade-1); + --button-active-background-color: var(--color-success-shade-1); + + --button-focus-font-color: var(--color-button-success-font); + --button-focus-border-color: var(--color-success); + --button-focus-background-color: var(--color-success); + --button-focus-outline-color: var(--color-success-light); + + --button-disabled-font-color: var(--color-button-success-disabled-font); + --button-disabled-border-color: var(--color-success-tint-1); + --button-disabled-background-color: var(--color-success-tint-1); + + --button-loading-font-color: var(--color-button-success-font); + --button-loading-border-color: var(--color-success); + --button-loading-background-color: var(--color-success); +} + +@mixin n8n-button-warning { + --button-font-color: var(--color-button-warning-font); + --button-border-color: var(--color-warning); + --button-background-color: var(--color-warning); + + --button-hover-font-color: var(--color-button-warning-font); + --button-hover-border-color: var(--color-warning-shade-1); + --button-hover-background-color: var(--color-warning-shade-1); + + --button-active-font-color: var(--color-button-warning-font); + --button-active-border-color: var(--color-warning-shade-1); + --button-active-background-color: var(--color-warning-shade-1); + + --button-focus-font-color: var(--color-button-warning-font); + --button-focus-border-color: var(--color-warning); + --button-focus-background-color: var(--color-warning); + --button-focus-outline-color: var(--color-warning-tint-1); + + --button-disabled-font-color: var(--color-button-warning-disabled-font); + --button-disabled-border-color: var(--color-warning-tint-1); + --button-disabled-background-color: var(--color-warning-tint-1); + + --button-loading-font-color: var(--color-button-warning-font); + --button-loading-border-color: var(--color-warning); + --button-loading-background-color: var(--color-warning); +} + +@mixin n8n-button-danger { + --button-font-color: var(--color-button-danger-font); + --button-border-color: var(--color-danger); + --button-background-color: var(--color-danger); + + --button-hover-font-color: var(--color-button-danger-font); + --button-hover-border-color: var(--color-danger-shade-1); + --button-hover-background-color: var(--color-danger-shade-1); + + --button-active-font-color: var(--color-button-danger-font); + --button-active-border-color: var(--color-danger-shade-1); + --button-active-background-color: var(--color-danger-shade-1); + + --button-focus-font-color: var(--color-button-danger-font); + --button-focus-border-color: var(--color-danger); + --button-focus-background-color: var(--color-danger); + --button-focus-outline-color: var(--color-danger-tint-1); + + --button-disabled-font-color: var(--color-button-danger-disabled-font); + --button-disabled-border-color: var(--color-danger-tint-1); + --button-disabled-background-color: var(--color-danger-tint-1); + + --button-loading-font-color: var(--color-button-danger-font); + --button-loading-border-color: var(--color-danger); + --button-loading-background-color: var(--color-danger); } diff --git a/packages/design-system/src/components/N8nButton/Button.vue b/packages/design-system/src/components/N8nButton/Button.vue index a0bd861e2c..346b33d68d 100644 --- a/packages/design-system/src/components/N8nButton/Button.vue +++ b/packages/design-system/src/components/N8nButton/Button.vue @@ -136,84 +136,19 @@ $loading-overlay-background-color: rgba(255, 255, 255, 0); } .tertiary { - font-weight: var(--font-weight-bold) !important; - - --button-background-color: var(--color-background-xlight); - --button-color: var(--color-text-dark); - --button-border-color: var(--color-neutral-850); - - --button-active-background-color: var(--color-primary-tint-2); - --button-active-color: var(--color-primary); - --button-active-border-color: var(--color-primary); - - --button-hover-background-color: var(--color-neutral-950); - --button-hover-color: var(--color-text-dark); - --button-hover-border-color: var(--color-neutral-800); - - --button-focus-outline-color: hsla( - var(--color-neutral-h), - var(--color-neutral-s), - var(--color-neutral-l), - 0.2 - ); + @include n8n-button-secondary; } .success { - --button-background-color: var(--color-success); - --button-color: var(--color-text-xlight); - --button-border-color: var(--color-success); - - --button-active-background-color: var(--color-success-350); - --button-active-border-color: var(--color-success-350); - - --button-hover-background-color: var(--color-success-450); - --button-hover-border-color: var(--color-success-450); - - --button-focus-outline-color: hsla( - var(--color-success-h), - var(--color-success-s), - var(--color-success-l), - 0.33 - ); + @include n8n-button-success; } .warning { - --button-background-color: var(--color-warning); - --button-color: var(--color-text-xlight); - --button-border-color: var(--color-warning); - - --button-active-background-color: var(--color-warning-500); - --button-active-border-color: var(--color-warning-500); - - --button-hover-background-color: var(--color-warning-650); - --button-hover-border-color: var(--color-warning-650); - - --button-focus-outline-color: hsla( - var(--color-warning-h), - var(--color-warning-s), - var(--color-warning-l), - 0.33 - ); + @include n8n-button-warning; } .danger { - --button-background-color: var(--color-danger); - --button-color: var(--color-text-xlight); - --button-border-color: var(--color-danger); - --button-active-color: var(--color-text-xlight); - - --button-active-background-color: var(--color-danger-600); - --button-active-border-color: var(--color-danger-600); - - --button-hover-background-color: var(--color-danger-700); - --button-hover-border-color: var(--color-danger-700); - - --button-focus-outline-color: hsla( - var(--color-danger-h), - var(--color-danger-s), - var(--color-danger-l), - 0.33 - ); + @include n8n-button-danger; } /** @@ -285,85 +220,98 @@ $loading-overlay-background-color: rgba(255, 255, 255, 0); /** * Modifiers */ - .outline { - --button-color: var(--color-primary); --button-background-color: transparent; --button-disabled-background-color: transparent; - --button-active-background-color: transparent; &.primary { - --button-color: var(--color-primary); - --button-border-color: var(--color-primary); - --button-active-background-color: var(--color-primary); - } - - &.tertiary { - --button-color: var(--color-text-dark); + --button-font-color: var(--color-primary); + --button-disabled-font-color: var(--color-primary-tint-1); + --button-disabled-border-color: var(--color-primary-tint-1); + --button-disabled-background-color: transparent; } &.success { - --button-color: var(--color-success); + --button-font-color: var(--color-success); --button-border-color: var(--color-success); + --button-hover-border-color: var(--color-success); + --button-hover-background-color: var(--color-success); --button-active-background-color: var(--color-success); + --button-disabled-font-color: var(--color-success-light); + --button-disabled-border-color: var(--color-success-light); + --button-disabled-background-color: transparent; } &.warning { - --button-color: var(--color-warning); + --button-font-color: var(--color-warning); --button-border-color: var(--color-warning); + --button-hover-border-color: var(--color-warning); + --button-hover-background-color: var(--color-warning); --button-active-background-color: var(--color-warning); + --button-disabled-font-color: var(--color-warning-tint-1); + --button-disabled-border-color: var(--color-warning-tint-1); + --button-disabled-background-color: transparent; } &.danger { - --button-color: var(--color-danger); + --button-font-color: var(--color-danger); --button-border-color: var(--color-danger); + --button-hover-border-color: var(--color-danger); + --button-hover-background-color: var(--color-danger); --button-active-background-color: var(--color-danger); + --button-disabled-font-color: var(--color-danger-tint-1); + --button-disabled-border-color: var(--color-danger-tint-1); + --button-disabled-background-color: transparent; } } .text { - --button-color: var(--color-text-light); + --button-font-color: var(--color-text-button-secondary-font); --button-border-color: transparent; --button-background-color: transparent; - --button-active-color: var(--color-text-light); - --button-active-background-color: transparent; - --button-active-border-color: transparent; - --button-hover-color: var(--color-text-light); - --button-hover-background-color: transparent; --button-hover-border-color: transparent; + --button-hover-background-color: transparent; + --button-active-border-color: transparent; + --button-active-background-color: transparent; + --button-focus-border-color: transparent; + --button-focus-background-color: transparent; + --button-disabled-border-color: transparent; + --button-disabled-background-color: transparent; - &.primary { - --button-color: var(--color-primary); - --button-active-color: var(--color-primary); - --button-hover-color: var(--color-primary); + &:focus { + outline: 0; } - &.secondary { - --button-color: var(--color-primary-tint-1); - --button-active-color: var(--color-primary-tint-1); - --button-hover-color: var(--color-primary-tint-1); + &.primary { + --button-font-color: var(--color-primary); + --button-hover-font-color: var(--color-primary-shade-1); + --button-active-font-color: var(--color-primary-shade-1); + --button-focus-font-color: var(--color-primary); + --button-disabled-font-color: var(--color-primary-tint-1); } &.success { - --button-color: var(--color-success); - --button-active-color: var(--color-success); - --button-hover-color: var(--color-success); - } - - &.tertiary { - --button-hover-color: var(--color-primary); + --button-font-color: var(--color-success); + --button-hover-font-color: var(--color-success-shade-1); + --button-active-font-color: var(--color-success-shade-1); + --button-focus-font-color: var(--color-success); + --button-disabled-font-color: var(--color-success-light); } &.warning { - --button-color: var(--color-warning); - --button-active-color: var(--color-warning); - --button-hover-color: var(--color-warning); + --button-font-color: var(--color-warning); + --button-hover-font-color: var(--color-warning-shade-1); + --button-active-font-color: var(--color-warning-shade-1); + --button-focus-font-color: var(--color-warning); + --button-disabled-font-color: var(--color-warning-tint-1); } &.danger { - --button-color: var(--color-danger); - --button-active-color: var(--color-danger); - --button-hover-color: var(--color-danger); + --button-font-color: var(--color-danger); + --button-hover-font-color: var(--color-danger-shade-1); + --button-active-font-color: var(--color-danger-shade-1); + --button-focus-font-color: var(--color-danger); + --button-disabled-font-color: var(--color-danger-tint-1); } &:hover { @@ -384,7 +332,6 @@ $loading-overlay-background-color: rgba(255, 255, 255, 0); right: -1px; bottom: -1px; border-radius: inherit; - background-color: $loading-overlay-background-color; } } @@ -395,9 +342,6 @@ $loading-overlay-background-color: rgba(255, 255, 255, 0); &:focus { cursor: not-allowed; background-image: none; - color: $button-disabled-font-color; - background-color: $button-disabled-background-color; - border-color: $button-disabled-border-color; } } diff --git a/packages/design-system/src/components/N8nCallout/Callout.vue b/packages/design-system/src/components/N8nCallout/Callout.vue index 639380773f..dfb98ab612 100644 --- a/packages/design-system/src/components/N8nCallout/Callout.vue +++ b/packages/design-system/src/components/N8nCallout/Callout.vue @@ -93,6 +93,9 @@ export default defineComponent({ border: var(--border-width-base) var(--border-style-base); align-items: center; line-height: var(--font-line-height-loose); + border-color: var(--color-callout-info-border); + background-color: var(--color-callout-info-background); + color: var(--color-callout-info-font); &.slim { line-height: var(--font-line-height-loose); @@ -111,27 +114,43 @@ export default defineComponent({ .info, .custom { - border-color: var(--color-foreground-base); - background-color: var(--color-foreground-xlight); - color: var(--color-info); -} + border-color: var(--color-callout-info-border); + background-color: var(--color-callout-info-background); + color: var(--color-callout-info-font); -.warning { - border-color: var(--color-warning-tint-1); - background-color: var(--color-warning-tint-2); - color: var(--color-warning); + .icon { + color: var(--color-callout-info-icon); + } } .success { - border-color: var(--color-success-tint-1); - background-color: var(--color-success-tint-2); - color: var(--color-success); + border-color: var(--color-callout-success-border); + background-color: var(--color-callout-success-background); + color: var(--color-callout-success-font); + + .icon { + color: var(--color-callout-success-icon); + } +} + +.warning { + border-color: var(--color-callout-warning-border); + background-color: var(--color-callout-warning-background); + color: var(--color-callout-warning-font); + + .icon { + color: var(--color-callout-warning-icon); + } } .danger { - border-color: var(--color-danger-tint-1); - background-color: var(--color-danger-tint-2); - color: var(--color-danger); + border-color: var(--color-callout-danger-border); + background-color: var(--color-callout-danger-background); + color: var(--color-callout-danger-font); + + .icon { + color: var(--color-callout-danger-icon); + } } .icon { @@ -142,8 +161,12 @@ export default defineComponent({ .secondary { font-size: var(--font-size-2xs); font-weight: var(--font-weight-bold); - color: var(--color-secondary); - background-color: var(--color-secondary-tint-3); - border-color: var(--color-secondary-tint-1); + border-color: var(--color-callout-secondary-border); + background-color: var(--color-callout-secondary-background); + color: var(--color-callout-secondary-font); + + .icon { + color: var(--color-callout-secondary-icon); + } } diff --git a/packages/design-system/src/components/N8nLink/Link.vue b/packages/design-system/src/components/N8nLink/Link.vue index 998fd63190..472e7db77a 100644 --- a/packages/design-system/src/components/N8nLink/Link.vue +++ b/packages/design-system/src/components/N8nLink/Link.vue @@ -50,12 +50,13 @@ export default defineComponent({ diff --git a/packages/design-system/src/components/N8nNotice/Notice.vue b/packages/design-system/src/components/N8nNotice/Notice.vue index 105280a103..93a34cc810 100644 --- a/packages/design-system/src/components/N8nNotice/Notice.vue +++ b/packages/design-system/src/components/N8nNotice/Notice.vue @@ -95,7 +95,7 @@ export default defineComponent({ .notice { font-size: var(--font-size-2xs); display: flex; - color: var(--custom-font-black); + color: var(--color-notice-font); margin: var(--notice-margin, var(--spacing-s) 0); padding: var(--spacing-2xs); background-color: var(--background-color); @@ -111,8 +111,8 @@ export default defineComponent({ } .warning { - --border-color: var(--color-warning-tint-1); - --background-color: var(--color-warning-tint-2); + --border-color: var(--color-notice-warning-border); + --background-color: var(--color-notice-warning-background); } .danger { diff --git a/packages/design-system/src/components/N8nTag/Tag.vue b/packages/design-system/src/components/N8nTag/Tag.vue index 95ba1f7dfc..29849d1223 100644 --- a/packages/design-system/src/components/N8nTag/Tag.vue +++ b/packages/design-system/src/components/N8nTag/Tag.vue @@ -29,11 +29,7 @@ export default defineComponent({ transition: background-color 0.3s ease; &:hover { - background-color: hsl( - var(--color-background-base-h), - var(--color-background-base-s), - calc(var(--color-background-base-l) - 4%) - ); + background-color: var(--color-background-medium); } } diff --git a/packages/design-system/src/components/N8nText/Text.vue b/packages/design-system/src/components/N8nText/Text.vue index ab5e949bbe..7599828431 100644 --- a/packages/design-system/src/components/N8nText/Text.vue +++ b/packages/design-system/src/components/N8nText/Text.vue @@ -129,7 +129,7 @@ export default defineComponent({ } .danger { - color: var(--color-danger); + color: var(--color-text-danger); } .success { diff --git a/packages/design-system/src/css/_primitives.scss b/packages/design-system/src/css/_primitives.scss new file mode 100644 index 0000000000..348d10f1c9 --- /dev/null +++ b/packages/design-system/src/css/_primitives.scss @@ -0,0 +1,347 @@ +// Primitive Colors +// Primitive colors shouldn't be used directly in components an other UI elements. +// They can be only mapped to tokens. +// Tokens should be used instead in components an other UI elements + +@mixin primitives { + // Gray + --prim-gray-h: 220; + --prim-gray-s: 30%; + + --prim-gray-820: hsl(var(--prim-gray-h), 1%, 18%); + --prim-gray-800: hsl(var(--prim-gray-h), 1%, 20%); + --prim-gray-740: hsl(var(--prim-gray-h), 2%, 26%); + --prim-gray-670: hsl(var(--prim-gray-h), 2%, 33%); + --prim-gray-540: hsl(var(--prim-gray-h), 4%, 46%); + --prim-gray-490: hsl(var(--prim-gray-h), 3%, 51%); + --prim-gray-420: hsl(var(--prim-gray-h), 4%, 58%); + --prim-gray-320: hsl(var(--prim-gray-h), 10%, 68%); + --prim-gray-200: hsl(var(--prim-gray-h), 18%, 80%); + --prim-gray-120: hsl(var(--prim-gray-h), 25%, 88%); + --prim-gray-70: hsl(var(--prim-gray-h), 32%, 93%); + --prim-gray-40: hsl(var(--prim-gray-h), 40%, 96%); + --prim-gray-10: hsl(var(--prim-gray-h), 47%, 99%); + --prim-gray-0-alpha-075: hsla(var(--prim-gray-h), 50%, 100%, 0.75); + --prim-gray-0-alpha-025: hsla(var(--prim-gray-h), 50%, 100%, 0.25); + --prim-gray-0: hsl(var(--prim-gray-h), 50%, 100%); + + // Color Primary + --prim-color-primary-h: 7; + --prim-color-primary-s: 100%; + --prim-color-primary-l: 68%; + + --prim-color-primary-shade-100: hsl( + var(--prim-color-primary-h), + calc(var(--prim-color-primary-s) - 15%), + calc(var(--prim-color-primary-l) - 10%) + ); + --prim-color-primary: hsl( + var(--prim-color-primary-h), + var(--prim-color-primary-s), + var(--prim-color-primary-l) + ); + --prim-color-primary-alpha-04: hsla( + var(--prim-color-primary-h), + var(--prim-color-primary-s), + var(--prim-color-primary-l), + 0.4 + ); + --prim-color-primary-tint-100: hsl( + var(--prim-color-primary-h), + var(--prim-color-primary-s), + calc(var(--prim-color-primary-l) + 10%) + ); + --prim-color-primary-tint-200: hsl( + var(--prim-color-primary-h), + var(--prim-color-primary-s), + calc(var(--prim-color-primary-l) + 20%) + ); + --prim-color-primary-tint-250: hsl( + var(--prim-color-primary-h), + var(--prim-color-primary-s), + calc(var(--prim-color-primary-l) + 25%) + ); + --prim-color-primary-tint-300: hsl( + var(--prim-color-primary-h), + var(--prim-color-primary-s), + calc(var(--prim-color-primary-l) + 30%) + ); + + // Color Secondary + --prim-color-secondary-h: 247; + --prim-color-secondary-s: 49%; + --prim-color-secondary-l: 53%; + + --prim-color-secondary-shade-100: hsl( + var(--prim-color-secondary-h), + var(--prim-color-secondary-s), + calc(var(--prim-color-secondary-l) - 10%) + ); + --prim-color-secondary: hsl( + var(--prim-color-secondary-h), + var(--prim-color-secondary-s), + var(--prim-color-secondary-l) + ); + --prim-color-secondary-alpha-025: hsla( + var(--prim-color-secondary-h), + var(--prim-color-secondary-s), + var(--prim-color-secondary-l), + 0.25 + ); + --prim-color-secondary-tint-100: hsl( + var(--prim-color-secondary-h), + var(--prim-color-secondary-s), + calc(var(--prim-color-secondary-l) + 10%) + ); + --prim-color-secondary-tint-200: hsl( + var(--prim-color-secondary-h), + var(--prim-color-secondary-s), + calc(var(--prim-color-secondary-l) + 20%) + ); + --prim-color-secondary-tint-300: hsl( + var(--prim-color-secondary-h), + var(--prim-color-secondary-s), + calc(var(--prim-color-secondary-l) + 30%) + ); + --prim-color-secondary-tint-400: hsl( + var(--prim-color-secondary-h), + var(--prim-color-secondary-s), + calc(var(--prim-color-secondary-l) + 40%) + ); + + // Color Alternate A + --prim-color-alt-a-h: 150; + --prim-color-alt-a-s: 60%; + --prim-color-alt-a-l: 40%; + + --prim-color-alt-a-shade-100: hsl( + var(--prim-color-alt-a-h), + var(--prim-color-alt-a-s), + calc(var(--prim-color-alt-a-l) - 10%) + ); + --prim-color-alt-a: hsl( + var(--prim-color-alt-a-h), + var(--prim-color-alt-a-s), + var(--prim-color-alt-a-l) + ); + --prim-color-alt-a-alpha-025: hsl( + var(--prim-color-alt-a-h), + var(--prim-color-alt-a-s), + var(--prim-color-alt-a-l), + 0.25 + ); + --prim-color-alt-a-tint-300: hsl( + var(--prim-color-alt-a-h), + var(--prim-color-alt-a-s), + calc(var(--prim-color-alt-a-l) + 30%) + ); + --prim-color-alt-a-tint-400: hsl( + var(--prim-color-alt-a-h), + var(--prim-color-alt-a-s), + calc(var(--prim-color-alt-a-l) + 40%) + ); + --prim-color-alt-a-tint-500: hsl( + var(--prim-color-alt-a-h), + var(--prim-color-alt-a-s), + calc(var(--prim-color-alt-a-l) + 50%) + ); + --prim-color-alt-a-tint-550: hsl( + var(--prim-color-alt-a-h), + var(--prim-color-alt-a-s), + calc(var(--prim-color-alt-a-l) + 55%) + ); + + // Color Alternate B + --prim-color-alt-b-h: 36; + --prim-color-alt-b-s: 77%; + --prim-color-alt-b-l: 57%; + + --prim-color-alt-b-shade-100: hsl( + var(--prim-color-alt-b-h), + var(--prim-color-alt-b-s), + calc(var(--prim-color-alt-b-l) - 10%) + ); + --prim-color-alt-b: hsl( + var(--prim-color-alt-b-h), + var(--prim-color-alt-b-s), + var(--prim-color-alt-b-l) + ); + --prim-color-alt-b-alpha-02: hsla( + var(--prim-color-alt-b-h), + var(--prim-color-alt-b-s), + var(--prim-color-alt-b-l), + 0.2 + ); + --prim-color-alt-b-tint-250: hsl( + var(--prim-color-alt-b-h), + var(--prim-color-alt-b-s), + calc(var(--prim-color-alt-b-l) + 25%) + ); + --prim-color-alt-b-tint-400: hsl( + var(--prim-color-alt-b-h), + var(--prim-color-alt-b-s), + calc(var(--prim-color-alt-b-l) + 40%) + ); + + // Color Alternate C + --prim-color-alt-c-h: 355; + --prim-color-alt-c-s: 83%; + --prim-color-alt-c-l: 52%; + + --prim-color-alt-c-shade-100: hsl( + var(--prim-color-alt-c-h), + var(--prim-color-alt-c-s), + calc(var(--prim-color-alt-c-l) - 10%) + ); + --prim-color-alt-c: hsl( + var(--prim-color-alt-c-h), + var(--prim-color-alt-c-s), + var(--prim-color-alt-c-l) + ); + --prim-color-alt-c-alpha-02: hsl( + var(--prim-color-alt-c-h), + var(--prim-color-alt-c-s), + var(--prim-color-alt-c-l), + 0.2 + ); + --prim-color-alt-c-tint-150: hsl( + var(--prim-color-alt-c-h), + var(--prim-color-alt-c-s), + calc(var(--prim-color-alt-c-l) + 15%) + ); + --prim-color-alt-c-tint-250: hsl( + var(--prim-color-alt-c-h), + var(--prim-color-alt-c-s), + calc(var(--prim-color-alt-c-l) + 25%) + ); + --prim-color-alt-c-tint-400: hsl( + var(--prim-color-alt-c-h), + var(--prim-color-alt-c-s), + calc(var(--prim-color-alt-c-l) + 40%) + ); + --prim-color-alt-c-tint-450: hsl( + var(--prim-color-alt-c-h), + var(--prim-color-alt-c-s), + calc(var(--prim-color-alt-c-l) + 45%) + ); + + // Color Alternate D + --prim-color-alt-d-h: 46; + --prim-color-alt-d-s: 100%; + --prim-color-alt-d-l: 92%; + + --prim-color-alt-d-shade-150: hsl( + var(--prim-color-alt-d-h), + var(--prim-color-alt-d-s), + calc(var(--prim-color-alt-d-l) - 15%) + ); + --prim-color-alt-d: hsl( + var(--prim-color-alt-d-h), + var(--prim-color-alt-d-s), + var(--prim-color-alt-d-l) + ); + + // Color Alternate E + --prim-color-alt-e-h: 210; + --prim-color-alt-e-s: 67%; + --prim-color-alt-e-l: 57%; + + --prim-color-alt-e-shade-150: hsl( + var(--prim-color-alt-e-h), + var(--prim-color-alt-e-s), + calc(var(--prim-color-alt-e-l) - 15%) + ); + --prim-color-alt-e-shade-100: hsl( + var(--prim-color-alt-e-h), + var(--prim-color-alt-e-s), + calc(var(--prim-color-alt-e-l) - 10%) + ); + --prim-color-alt-e: hsl( + var(--prim-color-alt-e-h), + var(--prim-color-alt-e-s), + var(--prim-color-alt-e-l) + ); + --prim-color-alt-e-alpha-04: hsla( + var(--prim-color-alt-e-h), + var(--prim-color-alt-e-s), + var(--prim-color-alt-e-l), + 0.4 + ); + + // Color Alternate F + --prim-color-alt-f-h: 72; + --prim-color-alt-f-s: 100%; + --prim-color-alt-f-l: 27%; + + --prim-color-alt-f: hsl( + var(--prim-color-alt-f-h), + var(--prim-color-alt-f-s), + var(--prim-color-alt-f-l) + ); + + --prim-color-alt-f-tint-150: hsl( + var(--prim-color-alt-f-h), + var(--prim-color-alt-f-s), + calc(var(--prim-color-alt-f-l) + 15%) + ); + + // Color Alternate G + --prim-color-alt-g-h: 276; + --prim-color-alt-g-s: 31%; + --prim-color-alt-g-l: 50%; + + --prim-color-alt-g: hsl( + var(--prim-color-alt-g-h), + var(--prim-color-alt-g-s), + var(--prim-color-alt-g-l) + ); + + --prim-color-alt-g-tint-150: hsl( + var(--prim-color-alt-g-h), + var(--prim-color-alt-g-s), + calc(var(--prim-color-alt-g-l) + 15%) + ); + + // Color Alternate H + --prim-color-alt-h-h: 184; + --prim-color-alt-h-s: 44%; + --prim-color-alt-h-l: 43%; + + --prim-color-alt-h: hsl( + var(--prim-color-alt-h-h), + var(--prim-color-alt-h-s), + var(--prim-color-alt-h-l) + ); + + // Color Alternate I + --prim-color-alt-i-h: 147; + --prim-color-alt-i-s: 83%; + --prim-color-alt-i-l: 44%; + + --prim-color-alt-i: hsl( + var(--prim-color-alt-i-h), + var(--prim-color-alt-i-s), + var(--prim-color-alt-i-l) + ); + + // Color Alternate J + --prim-color-alt-j-h: 247; + --prim-color-alt-j-s: 10%; + --prim-color-alt-j-l: 30%; + + --prim-color-alt-j: hsl( + var(--prim-color-alt-j-h), + var(--prim-color-alt-j-s), + var(--prim-color-alt-j-l) + ); + --prim-color-alt-j-alpha-075: hsla( + var(--prim-color-alt-j-h), + var(--prim-color-alt-j-s), + var(--prim-color-alt-j-l), + 0.75 + ); +} + +:root { + @include primitives; +} diff --git a/packages/design-system/src/css/_tokens.dark.scss b/packages/design-system/src/css/_tokens.dark.scss index 671eeead71..5771a88a98 100644 --- a/packages/design-system/src/css/_tokens.dark.scss +++ b/packages/design-system/src/css/_tokens.dark.scss @@ -1,334 +1,151 @@ @use 'sass:math'; @mixin theme { - --color-primary-h: 7; - --color-primary-s: 90%; - --color-primary-l: 68%; - --color-primary: hsl(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l)); + // Primary tokens - --color-primary-tint-1-l: 18%; - --color-primary-tint-1: hsl( - var(--color-primary-h), - var(--color-primary-s), - var(--color-primary-tint-1-l) - ); + // Text + --color-text-dark: var(--prim-gray-40); + --color-text-base: var(--prim-gray-200); + --color-text-light: var(--prim-gray-320); + --color-text-lighter: var(--prim-gray-740); + --color-text-xlight: var(--prim-gray-820); + --color-text-danger: var(--prim-color-alt-c-tint-150); - --color-primary-tint-2-l: 9%; - --color-primary-tint-2: hsl( - var(--color-primary-h), - var(--color-primary-s), - var(--color-primary-tint-2-l) - ); + // Foreground + --color-foreground-xdark: var(--prim-gray-200); + --color-foreground-dark: var(--prim-gray-420); + --color-foreground-base: var(--prim-gray-670); + --color-foreground-light: var(--prim-gray-740); + --color-foreground-xlight: var(--prim-gray-820); - --color-primary-tint-3-l: 3%; - --color-primary-tint-3: hsl( - var(--color-primary-h), - var(--color-primary-s), - var(--color-primary-tint-3-l) - ); + // Background + --color-background-dark: var(--prim-gray-70); + --color-background-medium: var(--prim-gray-540); + --color-background-base: var(--prim-gray-670); + --color-background-light: var(--prim-gray-820); + --color-background-xlight: var(--prim-gray-740); - --color-primary-shade-1-l: 89%; - --color-primary-shade-1: hsl( - var(--color-primary-h), - var(--color-primary-s), - var(--color-primary-shade-1-l) - ); + // Secondary tokens - --color-secondary-h: 247; - --color-secondary-s: 100%; - --color-secondary-l: 55%; - --color-secondary: hsl( - var(--color-secondary-h), - var(--color-secondary-s), - var(--color-secondary-l) - ); + // Canvas + --color-canvas-background: var(--prim-gray-820); + --color-canvas-dot: var(--prim-gray-670); + --color-canvas-read-only-line: var(--prim-gray-800); + --color-canvas-node-background: var(--prim-gray-40); + --color-canvas-node-pinned-border: var(--prim-color-secondary-tint-100); + --color-canvas-selected: var(--prim-gray-0-alpha-025); + --node-type-main-color: var(--prim-gray-420); - --color-success-h: 150; - --color-success-s: 74%; - --color-success-l: 60%; - --color-success: hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l)); + // Expressions + --color-valid-resolvable-foreground: var(--prim-color-alt-a-tint-300); + --color-valid-resolvable-background: var(--prim-color-alt-a-alpha-025); + --color-invalid-resolvable-foreground: var(--prim-color-alt-c-tint-250); + --color-invalid-resolvable-background: var(--prim-color-alt-c-alpha-02); + --color-expression-editor-background: var(--prim-gray-800); + --color-expression-syntax-example: var(--prim-gray-670); - --color-success-tint-1-l: 12%; - --color-success-tint-1: hsl( - var(--color-success-h), - var(--color-success-s), - var(--color-success-tint-1-l) - ); + // Code + --color-code-tags-string: var(--prim-color-alt-f-tint-150); + --color-code-tags-primitive: var(--prim-color-alt-b-shade-100); + --color-code-tags-keyword: var(--prim-color-alt-g-tint-150); + --color-code-tags-operator: var(--prim-color-alt-h); + --color-code-tags-variable: var(--prim-color-primary-tint-100); + --color-code-tags-definition: var(--prim-color-alt-e); + --color-json-default: var(--prim-color-secondary-tint-200); + --color-json-null: var(--prim-color-alt-c-tint-150); + --color-json-boolean: var(--prim-color-alt-a); + --color-json-number: var(--prim-color-alt-a); + --color-json-string: var(--prim-color-secondary-tint-200); + --color-json-key: var(--prim-gray-670); + --color-json-brackets: var(--prim-gray-670); + --color-json-brackets-hover: var(--prim-color-alt-e); + --color-json-line: var(--prim-gray-200); + --color-json-highlight: var(--prim-gray-70); + --color-code-background: var(--prim-gray-800); + --color-code-background-readonly: var(--prim-gray-740); + --color-code-lineHighlight: var(--prim-gray-740); + --color-code-foreground: var(--prim-gray-70); + --color-code-caret: var(--prim-gray-10); + --color-code-selection: var(--prim-color-alt-e-alpha-04); + --color-code-gutterBackground: var(--prim-gray-670); + --color-code-gutterForeground: var(--prim-gray-320); + --color-code-tags-comment: var(--prim-gray-200); - --color-success-tint-2-l: 3%; - --color-success-tint-2: hsl( - var(--color-success-h), - var(--color-success-s), - var(--color-success-tint-2-l) - ); + // Variables + --color-variables-usage-font: var(--prim-color-alt-a-tint-300); + --color-variables-usage-syntax-bg: var(--prim-color-alt-a-alpha-025); - --color-warning-h: 36; - --color-warning-s: 77%; - --color-warning-l: 43%; - --color-warning: hsl(var(--color-warning-h), var(--color-warning-s), var(--color-warning-l)); + // Button primary + --color-button-primary-disabled-font: var(--prim-gray-0-alpha-025); + --color-button-primary-disabled-border: transparent; + --color-button-primary-disabled-background: var(--prim-color-primary-alpha-04); - --color-warning-tint-1-l: 12%; - --color-warning-tint-1: hsl( - var(--color-warning-h), - var(--color-warning-s), - var(--color-warning-tint-1-l) - ); + // Button secondary + --color-button-secondary-border: var(--prim-gray-420); - --color-warning-tint-2-l: 4%; - --color-warning-tint-2: hsl( - var(--color-warning-h), - var(--color-warning-s), - var(--color-warning-tint-2-l) - ); + // Text button + --color-text-button-secondary-font: var(--prim-gray-320); - --color-danger-h: 0; - --color-danger-s: 88%; - --color-danger-l: 35%; - --color-danger: hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l)); + // Table + --color-table-header-background: var(--prim-gray-740); + --color-table-row-background: var(--prim-gray-820); + --color-table-row-even-background: var(--prim-gray-800); + --color-table-row-hover-background: var(--prim-gray-740); - --color-danger-tint-1-l: 8%; - --color-danger-tint-1: hsl( - var(--color-danger-h), - var(--color-danger-s), - var(--color-danger-tint-1-l) - ); + // Notification + --color-notification-background: var(--prim-gray-740); - --color-danger-tint-2-l: 3%; - --color-danger-tint-2: hsl( - var(--color-danger-h), - var(--color-danger-s), - var(--color-danger-tint-2-l) - ); + // NDV + --color-run-data-background: var(--prim-gray-800); + --color-ndv-droppable-parameter: var(--prim-color-primary); + --color-ndv-back-font: var(--prim-gray-0); + --color-ndv-ouptut-error-font: var(--prim-color-alt-c-tint-150); - --color-info-h: 220; - --color-info-s: 4%; - --color-info-l: 82%; - --color-info: hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l)); + // Notice + --color-notice-warning-border: var(--prim-color-alt-b-tint-250); + --color-notice-warning-background: var(--prim-color-alt-b-alpha-02); + --color-notice-font: var(--prim-gray-0); - --color-info-tint-1-l: 12%; - --color-info-tint-1: hsl(var(--color-info-h), var(--color-info-s), var(--color-info-tint-1-l)); + // Callout + --color-callout-info-border: var(--prim-gray-420); + --color-callout-info-background: var(--prim-gray-740); + --color-callout-info-font: var(--prim-gray-0); + --color-callout-success-border: var(--color-success); + --color-callout-success-background: var(--prim-color-alt-a-alpha-025); + --color-callout-success-font: var(--prim-gray-0); + --color-callout-warning-border: var(--color-warning); + --color-callout-warning-background: var(--prim-color-alt-b-alpha-02); + --color-callout-warning-font: var(--prim-gray-0); + --color-callout-danger-border: var(--color-danger); + --color-callout-danger-background: var(--prim-color-alt-c-alpha-02); + --color-callout-danger-font: var(--prim-gray-0); + --color-callout-secondary-border: var(--color-secondary); + --color-callout-secondary-background: var(--prim-color-secondary-alpha-025); + --color-callout-secondary-font: var(--prim-gray-0); - --color-info-tint-2-l: 4%; - --color-info-tint-2: hsl(var(--color-info-h), var(--color-info-s), var(--color-info-tint-2-l)); + // Dialog + --color-dialog-overlay-background: var(--prim-color-alt-j-alpha-075); + --color-dialog-overlay-background-dark: var(--prim-color-alt-j-alpha-075); - --color-text-dark-h: 0; - --color-text-dark-s: 0%; - --color-text-dark-l: 100%; - --color-text-dark: hsl( - var(--color-text-dark-h), - var(--color-text-dark-s), - var(--color-text-dark-l) - ); + // Avatar + --color-avatar-font: var(--prim-gray-0); - --color-text-base-h: 240; - --color-text-base-s: 4%; - --color-text-base-l: 70%; - --color-text-base: hsl( - var(--color-text-base-h), - var(--color-text-base-s), - var(--color-text-base-l) - ); + // Value Survey + --color-value-survey-background: var(--prim-gray-740); + --color-value-survey-font: var(--prim-gray-0); - --color-text-light-h: 220; - --color-text-light-s: 4%; - --color-text-light-l: 82%; - --color-text-light: hsl( - var(--color-text-light-h), - var(--color-text-light-s), - var(--color-text-light-l) - ); + --border-color-base: var(--color-foreground-base); + --border-color-light: var(--color-foreground-light); - --color-text-lighter-h: 222; - --color-text-lighter-s: 17%; - --color-text-lighter-l: 92%; - --color-text-lighter: hsl( - var(--color-text-lighter-h), - var(--color-text-lighter-s), - var(--color-text-lighter-l) - ); + --border-base: var(--border-width-base) var(--border-style-base) var(--color-foreground-base); +} - --color-text-xlight-h: 0; - --color-text-xlight-s: 0%; - --color-text-xlight-l: 10%; - --color-text-xlight: hsl( - var(--color-text-xlight-h), - var(--color-text-xlight-s), - var(--color-text-xlight-l) - ); - - --color-foreground-base-h: 220; - --color-foreground-base-s: 20%; - --color-foreground-base-l: 30%; - --color-foreground-base: hsl( - var(--color-foreground-base-h), - var(--color-foreground-base-s), - var(--color-foreground-base-l) - ); - - --color-foreground-light-h: 0; - --color-foreground-light-s: 0%; - --color-foreground-light-l: 7%; - --color-foreground-light: hsl( - var(--color-foreground-light-h), - var(--color-foreground-light-s), - var(--color-foreground-light-l) - ); - - --color-foreground-xlight-h: 0; - --color-foreground-xlight-s: 0%; - --color-foreground-xlight-l: 10%; - --color-foreground-xlight: hsl( - var(--color-foreground-xlight-h), - var(--color-foreground-xlight-s), - var(--color-foreground-xlight-l) - ); - - --color-background-dark-h: 0; - --color-background-dark-s: 0%; - --color-background-dark-l: 100%; - --color-background-dark: hsl( - var(--color-background-dark-h), - var(--color-background-dark-s), - var(--color-background-dark-l) - ); - - --color-background-base-h: 0; - --color-background-base-s: 0%; - --color-background-base-l: 10%; - --color-background-base: hsl( - var(--color-background-base-h), - var(--color-background-base-s), - var(--color-background-base-l) - ); - - --color-background-light-h: 220; - --color-background-light-s: 10%; - --color-background-light-l: 15%; - --color-background-light: hsl( - var(--color-background-light-h), - var(--color-background-light-s), - var(--color-background-light-l) - ); - - --color-background-lighter-h: 0; - --color-background-lighter-s: 0%; - --color-background-lighter-l: 36%; - --color-background-lighter: hsl( - var(--color-background-lighter-h), - var(--color-background-lighter-s), - var(--color-background-lighter-l) - ); - - --color-background-xlight-h: 240; - --color-background-xlight-s: 4%; - --color-background-xlight-l: 19%; - --color-background-xlight: hsl( - var(--color-background-xlight-h), - var(--color-background-xlight-s), - var(--color-background-xlight-l) - ); - - --color-canvas-dot-h: 204; - --color-canvas-dot-s: 15.6%; - --color-canvas-dot-l: 87.5%; - --color-canvas-dot: hsl( - var(--color-canvas-dot-h), - var(--color-canvas-dot-s), - var(--color-canvas-dot-l) - ); - - --color-canvas-background-h: 200; - --color-canvas-background-s: 10%; - --color-canvas-background-l: 10%; - --color-canvas-background: hsl( - var(--color-canvas-background-h), - var(--color-canvas-background-s), - var(--color-canvas-background-l) - ); - - --color-sticky-default-background-h: 46; - --color-sticky-default-background-s: 100%; - --color-sticky-default-background-l: 12%; - --color-sticky-default-background: hsl( - var(--color-sticky-default-background-h), - var(--color-sticky-default-background-s), - var(--color-sticky-default-background-l) - ); - - --color-sticky-default-border-h: 43; - --color-sticky-default-border-s: 75%; - --color-sticky-default-border-l: 80%; - --color-sticky-default-border: hsl( - var(--color-sticky-default-border-h), - var(--color-sticky-default-border-s), - var(--color-sticky-default-border-l) - ); - - --color-json-default: #5045a1; - --color-json-null: var(--color-danger); - --color-json-boolean: #1d8ce0; - --color-json-number: #1d8ce0; - --color-json-string: #726b9f; - --color-json-key: var(--color-text-dark); - --color-json-brackets: var(--color-text-dark); - --color-json-brackets-hover: #1890ff; - --color-json-line: #bfcbd9; - --color-json-highlight: #dcdfea; - - --color-code-background: #222020; - --color-code-background-readonly: #323230; - --color-code-foreground: #f8f8f2; - --color-code-caret: #f8f8f0; - --color-code-selection: #312b25; - --color-code-gutterBackground: #2d2a26; - --color-code-gutterForeground: #818080; - --color-code-lineHighlight: #312b25; - --color-code-tags-comment: #6272a4; - --color-code-tags-string: #f1fa8c; - --color-code-tags-primitive: #bd93f9; - --color-code-tags-keyword: #ff79c6; - --color-code-tags-operator: #ff79c6; - --color-code-tags-variable: #ea6465; - --color-code-tags-definition: #368da5; - - // Generated Color Shades from 50 to 950 - // Not yet used in design system - @each $color in ('neutral', 'success', 'warning', 'danger') { - @each $shade - in ( - 50, - 100, - 150, - 200, - 250, - 300, - 350, - 400, - 450, - 500, - 550, - 600, - 650, - 700, - 750, - 800, - 850, - 900, - 950 - ) - { - --color-#{$color}-#{$shade}-l: #{math.div($shade, 10)}#{'%'}; - --color-#{$color}-#{$shade}: hsl( - var(--color-#{$color}-h), - var(--color-#{$color}-s), - var(--color-#{$color}-#{$shade}-l) - ); - } - } +body[data-theme='dark'] { + @include theme; } @media (prefers-color-scheme: dark) { - body.theme-dark-beta { + body:not([data-theme]) { @include theme; } } diff --git a/packages/design-system/src/css/_tokens.scss b/packages/design-system/src/css/_tokens.scss index 1e8762c851..cc58b86128 100644 --- a/packages/design-system/src/css/_tokens.scss +++ b/packages/design-system/src/css/_tokens.scss @@ -1,403 +1,233 @@ @use 'sass:math'; @mixin theme { - --color-primary-h: 6.9; - --color-primary-s: 100%; - --color-primary-l: 67.6%; - --color-primary: hsl(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l)); + --color-primary-h: var(--prim-color-primary-h); + --color-primary-s: var(--prim-color-primary-s); + --color-primary-l: 68%; - --color-primary-tint-1-l: 88%; - --color-primary-tint-1: hsl( - var(--color-primary-h), - var(--color-primary-s), - var(--color-primary-tint-1-l) - ); + // Primary tokens - --color-primary-tint-2-l: 94.5%; - --color-primary-tint-2: hsl( - var(--color-primary-h), - var(--color-primary-s), - var(--color-primary-tint-2-l) - ); + // Primary + --color-primary-shade-1: var(--prim-color-primary-shade-100); + --color-primary: var(--prim-color-primary); + --color-primary-tint-1: var(--prim-color-primary-tint-200); + --color-primary-tint-2: var(--prim-color-primary-tint-250); + --color-primary-tint-3: var(--prim-color-primary-tint-300); - --color-primary-tint-3-l: 96.9%; - --color-primary-tint-3: hsl( - var(--color-primary-h), - var(--color-primary-s), - var(--color-primary-tint-3-l) - ); + // Secondary + --color-secondary-shade-1: var(--prim-color-secondary-shade-100); + --color-secondary: var(--prim-color-secondary); + --color-secondary-tint-1: var(--prim-color-secondary-tint-300); + --color-secondary-tint-3: var(--prim-color-secondary-tint-400); - --color-primary-shade-1-l: 57.6%; - --color-primary-shade-1: hsl( - var(--color-primary-h), - var(--color-primary-s), - var(--color-primary-shade-1-l) - ); + // Success + --color-success-shade-1: var(--prim-color-alt-a-shade-100); + --color-success: var(--prim-color-alt-a); + --color-success-light: var(--prim-color-alt-a-tint-300); + --color-success-light-2: var(--prim-color-alt-a-tint-400); + --color-success-tint-1: var(--prim-color-alt-a-tint-500); + --color-success-tint-2: var(--prim-color-alt-a-tint-550); - --color-primary-shade-2-l: 23%; - --color-primary-shade-2: hsl( - var(--color-primary-h), - var(--color-primary-s), - var(--color-primary-shade-2-l) - ); + // Warning + --color-warning-shade-1: var(--prim-color-alt-b-shade-100); + --color-warning: var(--prim-color-alt-b); + --color-warning-tint-1: var(--prim-color-alt-b-tint-250); + --color-warning-tint-2: var(--prim-color-alt-b-tint-400); - --color-avatar-accent-1-h: 40; - --color-avatar-accent-1-s: 15.3%; - --color-avatar-accent-1-l: 88.4%; - --color-avatar-accent-1: hsl( - var(--color-avatar-accent-1-h), - var(--color-avatar-accent-1-s), - var(--color-avatar-accent-1-l) - ); + // Danger + --color-danger-shade-1: var(--prim-color-alt-c-shade-100); + --color-danger: var(--prim-color-alt-c); + --color-danger-tint-1: var(--prim-color-alt-c-tint-400); + --color-danger-tint-2: var(--prim-color-alt-c-tint-450); - --color-avatar-accent-2-h: 212; - --color-avatar-accent-2-s: 71%; - --color-avatar-accent-2-l: 48.6%; - --color-avatar-accent-2: hsl( - var(--color-avatar-accent-2-h), - var(--color-avatar-accent-2-s), - var(--color-avatar-accent-2-l) - ); + // Text + --color-text-dark: var(--prim-gray-740); + --color-text-base: var(--prim-gray-540); + --color-text-light: var(--prim-gray-420); + --color-text-lighter: var(--prim-gray-120); + --color-text-xlight: var(--prim-gray-0); + --color-text-danger: var(--prim-color-alt-c); - --color-secondary-h: 247; - --color-secondary-s: 49%; - --color-secondary-l: 53%; - --color-secondary: hsl( - var(--color-secondary-h), - var(--color-secondary-s), - var(--color-secondary-l) - ); + // Foreground + --color-foreground-xdark: var(--prim-gray-490); + --color-foreground-dark: var(--prim-gray-200); + --color-foreground-base: var(--prim-gray-120); + --color-foreground-light: var(--prim-gray-70); + --color-foreground-xlight: var(--prim-gray-0); - --color-secondary-tint-1-l: 85%; - --color-secondary-tint-1: hsl( - var(--color-secondary-h), - var(--color-secondary-s), - var(--color-secondary-tint-1-l) - ); + // Background + --color-background-dark: var(--prim-gray-820); + --color-background-medium: var(--prim-gray-120); + --color-background-base: var(--prim-gray-40); + --color-background-light: var(--prim-gray-10); + --color-background-xlight: var(--prim-gray-0); - --color-secondary-tint-2-l: 92%; - --color-secondary-tint-2: hsl( - var(--color-secondary-h), - var(--color-secondary-s), - var(--color-secondary-tint-2-l) - ); + // Secondary tokens - --color-secondary-tint-3-l: 95%; - --color-secondary-tint-3: hsl( - var(--color-secondary-h), - var(--color-secondary-s), - var(--color-secondary-tint-3-l) - ); + // Canvas + --color-canvas-background: var(--prim-gray-10); + --color-canvas-dot: var(--prim-gray-120); + --color-canvas-read-only-line: var(--prim-gray-40); + --color-canvas-node-background: var(--prim-gray-0); + --color-canvas-node-pinned-border: var(--color-secondary); + --color-canvas-selected: var(--prim-gray-70); + --node-type-main-color: var(--prim-gray-490); - --color-secondary-tint-4-l: 98%; - --color-secondary-tint-4: hsl( - var(--color-secondary-h), - var(--color-secondary-s), - var(--color-secondary-tint-4-l) - ); + // Sticky + --color-sticky-default-background: var(--prim-color-alt-d); + --color-sticky-default-border: var(--prim-color-alt-d-shade-150); + --color-sticky-font: var(--prim-gray-740); - --color-success-h: 150.4; - --color-success-s: 60%; - --color-success-l: 40.4%; - --color-success: hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l)); + // Expressions + --color-valid-resolvable-foreground: var(--prim-color-alt-a); + --color-valid-resolvable-background: var(--prim-color-alt-a-tint-500); + --color-invalid-resolvable-foreground: var(--prim-color-alt-c); + --color-invalid-resolvable-background: var(--prim-color-alt-c-tint-450); + --color-expression-editor-background: var(--prim-gray-0); + --color-expression-syntax-example: var(--prim-gray-40); - --color-success-tint-1-l: 90%; - --color-success-tint-1: hsl( - var(--color-success-h), - var(--color-success-s), - var(--color-success-tint-1-l) - ); + // Code + --color-code-tags-string: var(--prim-color-alt-f); + --color-code-tags-primitive: var(--prim-color-alt-b-shade-100); + --color-code-tags-keyword: var(--prim-color-alt-g); + --color-code-tags-operator: var(--prim-color-alt-h); + --color-code-tags-variable: var(--prim-color-alt-c-shade-100); + --color-code-tags-definition: var(--prim-color-alt-e-shade-150); + --color-json-default: var(--prim-color-secondary-shade-100); + --color-json-null: var(--prim-color-alt-c); + --color-json-boolean: var(--prim-color-alt-a); + --color-json-number: var(--prim-color-alt-a); + --color-json-string: var(--prim-color-secondary-shade-100); + --color-json-key: var(--prim-gray-670); + --color-json-brackets: var(--prim-gray-670); + --color-json-brackets-hover: var(--prim-color-alt-e); + --color-json-line: var(--prim-gray-200); + --color-json-highlight: var(--prim-gray-70); + --color-code-background: var(--prim-gray-0); + --color-code-background-readonly: var(--prim-gray-40); + --color-code-lineHighlight: var(--prim-gray-40); + --color-code-foreground: var(--prim-gray-670); + --color-code-caret: var(--prim-gray-420); + --color-code-selection: var(--prim-gray-120); + --color-code-gutterBackground: var(--prim-gray-0); + --color-code-gutterForeground: var(--prim-gray-320); + --color-code-tags-comment: var(--prim-gray-420); + --color-autocomplete-selected-background: var(--prim-color-alt-e); + --color-autocomplete-selected-font: var(--prim-gray-0); - --color-success-tint-2-l: 94.9%; - --color-success-tint-2: hsl( - var(--color-success-h), - var(--color-success-s), - var(--color-success-tint-2-l) - ); + // Variables + --color-variables-usage-font: var(--color-success); + --color-variables-usage-syntax-bg: var(--color-success-tint-2); - --color-success-light-h: 150; - --color-success-light-s: 54%; - --color-success-light-l: 70%; - --color-success-light: hsl( - var(--color-success-light-h), - var(--color-success-light-s), - var(--color-success-light-l) - ); + // Button primary + --color-button-primary-font: var(--prim-gray-0); + --color-button-primary-border: var(--prim-color-primary); + --color-button-primary-background: var(--prim-color-primary); + --color-button-primary-hover-active-border: var(--prim-color-primary-shade-100); + --color-button-primary-hover-active-background: var(--prim-color-primary-shade-100); + --color-button-primary-focus-outline: var(--prim-color-primary-tint-200); + --color-button-primary-disabled-font: var(--prim-gray-0-alpha-075); + --color-button-primary-disabled-border: var(--prim-color-primary-tint-200); + --color-button-primary-disabled-background: var(--prim-color-primary-tint-200); - --color-warning-h: 36; - --color-warning-s: 77%; - --color-warning-l: 57%; - --color-warning: hsl(var(--color-warning-h), var(--color-warning-s), var(--color-warning-l)); + // Button secondary + --color-button-secondary-font: var(--prim-gray-670); + --color-button-secondary-border: var(--prim-gray-320); + --color-button-secondary-background: var(--prim-gray-0); + --color-button-secondary-hover-active-focus-font: var(--prim-color-primary); + --color-button-secondary-hover-active-border: var(--prim-color-primary); + --color-button-secondary-hover-background: var(--prim-color-primary-tint-300); + --color-button-secondary-active-background: var(--prim-color-primary-tint-250); + --color-button-secondary-focus-outline: var(--prim-gray-120); + --color-button-secondary-disabled-font: var(--prim-gray-200); + --color-button-secondary-disabled-border: var(--prim-gray-200); - --color-warning-tint-1-h: 35; - --color-warning-tint-1-s: 77%; - --color-warning-tint-1-l: 84%; - --color-warning-tint-1: hsl( - var(--color-warning-h), - var(--color-warning-s), - var(--color-warning-tint-1-l) - ); + // Button success, warning, danger + --color-button-success-font: var(--prim-gray-0); + --color-button-success-disabled-font: var(--prim-gray-0-alpha-075); + --color-button-warning-font: var(--color-text-xlight); + --color-button-warning-disabled-font: var(--prim-gray-0-alpha-075); + --color-button-danger-font: var(--color-text-xlight); + --color-button-danger-disabled-font: var(--prim-gray-0-alpha-075); - --color-warning-tint-2-h: 34; - --color-warning-tint-2-s: 80%; - --color-warning-tint-2-l: 96%; - --color-warning-tint-2: hsl( - var(--color-warning-tint-2-h), - var(--color-warning-tint-2-s), - var(--color-warning-tint-2-l) - ); + // Text button + --color-text-button-secondary-font: var(--prim-gray-670); - --color-danger-h: 355; - --color-danger-s: 83%; - --color-danger-l: 52%; - --color-danger: hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l)); + // Node Creator Button + --color-button-node-creator-border-font: var(--prim-gray-540); + --color-button-node-creator-hover-border-font: var(--prim-color-primary); + --color-button-node-creator-background: var(--prim-gray-0); - --color-danger-tint-1-l: 93.9%; - --color-danger-tint-1: hsl( - var(--color-danger-h), - var(--color-danger-s), - var(--color-danger-tint-1-l) - ); - --color-danger-tint-2-l: 96.9%; - --color-danger-tint-2: hsl( - var(--color-danger-h), - var(--color-danger-s), - var(--color-danger-tint-2-l) - ); + // Table + --color-table-header-background: var(--color-background-base); + --color-table-row-background: var(--color-background-xlight); + --color-table-row-even-background: var(--color-background-light); + --color-table-row-hover-background: var(--color-primary-tint-3); - --color-info-h: 220; - --color-info-s: 4%; - --color-info-l: 58%; - --color-info: hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l)); + // Notification + --color-notification-background: var(--color-background-xlight); - --color-info-tint-1-l: 88%; - --color-info-tint-1: hsl(var(--color-info-h), var(--color-info-s), var(--color-info-tint-1-l)); - --color-info-tint-2-l: 96%; - --color-info-tint-2: hsl(var(--color-info-h), var(--color-info-s), var(--color-info-tint-2-l)); + // Execution card + --execution-card-border-success: var(--prim-color-alt-a-tint-300); + --execution-card-border-error: var(--prim-color-alt-c-tint-250); + --execution-card-border-waiting: var(--prim-color-secondary-tint-300); + --execution-card-border-running: var(--prim-color-alt-b-tint-250); + --execution-card-border-unknown: var(--prim-gray-120); - --color-grey-h: 228; - --color-grey-s: 10%; - --color-grey-l: 80%; - --color-grey: hsl(var(--color-grey-h), var(--color-grey-s), var(--color-grey-l)); + // NDV + --color-run-data-background: var(--color-background-base); + --color-ndv-droppable-parameter: var(--color-secondary); + --color-ndv-back-font: var(--prim-gray-0); + --color-ndv-ouptut-error-font: var(--prim-color-alt-c); - --color-light-grey-h: 220; - --color-light-grey-s: 20%; - --color-light-grey-l: 88%; - --color-light-grey: hsl( - var(--color-light-grey-h), - var(--color-light-grey-s), - var(--color-light-grey-l) - ); + // Notice + --color-notice-warning-border: var(--color-warning-tint-1); + --color-notice-warning-background: var(--color-warning-tint-2); + --color-notice-font: var(--color-text-base); - --color-neutral-h: 228; - --color-neutral-s: 10%; - --color-neutral-l: 50%; - --color-neutral: hsl(var(--color-neutral-h), var(--color-neutral-s), var(--color-neutral-l)); + // Callout + --color-callout-info-border: var(--color-foreground-base); + --color-callout-info-background: var(--color-foreground-xlight); + --color-callout-info-font: var(--color-info); + --color-callout-info-icon: var(--color-info); + --color-callout-success-border: var(--color-success-light-2); + --color-callout-success-background: var(--color-success-tint-2); + --color-callout-success-font: var(--color-success); + --color-callout-success-icon: var(--color-success); + --color-callout-warning-border: var(--color-warning-tint-1); + --color-callout-warning-background: var(--color-warning-tint-2); + --color-callout-warning-font: var(--color-warning); + --color-callout-warning-icon: var(--color-warning); + --color-callout-danger-border: var(--color-danger-tint-1); + --color-callout-danger-background: var(--color-danger-tint-2); + --color-callout-danger-font: var(--color-danger); + --color-callout-danger-icon: var(--color-danger); + --color-callout-secondary-border: var(--color-secondary-tint-1); + --color-callout-secondary-background: var(--color-secondary-tint-3); + --color-callout-secondary-font: var(--color-secondary); + --color-callout-secondary-icon: var(--color-secondary); - --color-text-dark-h: 0; - --color-text-dark-s: 0%; - --color-text-dark-l: 33.3%; - --color-text-dark: hsl( - var(--color-text-dark-h), - var(--color-text-dark-s), - var(--color-text-dark-l) - ); + // Dialog + --color-dialog-overlay-background: var(--prim-gray-0-alpha-075); + --color-dialog-overlay-background-dark: var(--prim-color-alt-j-alpha-075); - --color-text-base-h: 240; - --color-text-base-s: 4%; - --color-text-base-l: 51%; - --color-text-base: hsl( - var(--color-text-base-h), - var(--color-text-base-s), - var(--color-text-base-l) - ); + // Avatar + --color-avatar-font: var(--color-text-xlight); - --color-text-light-h: 220; - --color-text-light-s: 4.2%; - --color-text-light-l: 58.2%; - --color-text-light: hsl( - var(--color-text-light-h), - var(--color-text-light-s), - var(--color-text-light-l) - ); + // Value Survey + --color-value-survey-background: var(--prim-gray-740); + --color-value-survey-font: var(--prim-gray-0); - --color-text-lighter-h: 222; - --color-text-lighter-s: 16.7%; - --color-text-lighter-l: 88.2%; - --color-text-lighter: hsl( - var(--color-text-lighter-h), - var(--color-text-lighter-s), - var(--color-text-lighter-l) - ); - - --color-text-xlight-h: 0; - --color-text-xlight-s: 0%; - --color-text-xlight-l: 100%; - --color-text-xlight: hsl( - var(--color-text-xlight-h), - var(--color-text-xlight-s), - var(--color-text-xlight-l) - ); - - --color-foreground-xdark-h: 220; - --color-foreground-xdark-s: 7.4%; - --color-foreground-xdark-l: 52.5%; - --color-foreground-xdark: hsl( - var(--color-foreground-xdark-h), - var(--color-foreground-xdark-s), - var(--color-foreground-xdark-l) - ); - - --color-foreground-dark-h: 228; - --color-foreground-dark-s: 9.6%; - --color-foreground-dark-l: 79.6%; - --color-foreground-dark: hsl( - var(--color-foreground-dark-h), - var(--color-foreground-dark-s), - var(--color-foreground-dark-l) - ); - - --color-foreground-base-h: 220; - --color-foreground-base-s: 20%; - --color-foreground-base-l: 88.2%; - --color-foreground-base: hsl( - var(--color-foreground-base-h), - var(--color-foreground-base-s), - var(--color-foreground-base-l) - ); - - --color-foreground-light-h: 0; - --color-foreground-light-s: 0%; - --color-foreground-light-l: 93.3%; - --color-foreground-light: hsl( - var(--color-foreground-light-h), - var(--color-foreground-light-s), - var(--color-foreground-light-l) - ); - - --color-foreground-xlight-h: 0; - --color-foreground-xlight-s: 0%; - --color-foreground-xlight-l: 100%; - --color-foreground-xlight: hsl( - var(--color-foreground-xlight-h), - var(--color-foreground-xlight-s), - var(--color-foreground-xlight-l) - ); - - --color-background-dark-h: 240; - --color-background-dark-s: 4.2%; - --color-background-dark-l: 18.8%; - --color-background-dark: hsl( - var(--color-background-dark-h), - var(--color-background-dark-s), - var(--color-background-dark-l) - ); - - --color-background-base-h: 220; - --color-background-base-s: 30%; - --color-background-base-l: 96.1%; - --color-background-base: hsl( - var(--color-background-base-h), - var(--color-background-base-s), - var(--color-background-base-l) - ); - - --color-background-light-h: 220; - --color-background-light-s: 60%; - --color-background-light-l: 99%; - --color-background-light: hsl( - var(--color-background-light-h), - var(--color-background-light-s), - var(--color-background-light-l) - ); - - --color-background-lighter-h: 252; - --color-background-lighter-s: 71.4%; - --color-background-lighter-l: 98.6%; - --color-background-lighter: hsl( - var(--color-background-lighter-h), - var(--color-background-lighter-s), - var(--color-background-lighter-l) - ); - - --color-background-xlight-h: 0; - --color-background-xlight-s: 0%; - --color-background-xlight-l: 100%; - --color-background-xlight: hsl( - var(--color-background-xlight-h), - var(--color-background-xlight-s), - var(--color-background-xlight-l) - ); - - --color-canvas-dot-h: 204; - --color-canvas-dot-s: 15.6%; - --color-canvas-dot-l: 87.5%; - --color-canvas-dot: hsl( - var(--color-canvas-dot-h), - var(--color-canvas-dot-s), - var(--color-canvas-dot-l) - ); - - --color-canvas-background-h: 260; - --color-canvas-background-s: 100%; - --color-canvas-background-l: 99.4%; - --color-canvas-background: hsl( - var(--color-canvas-background-h), - var(--color-canvas-background-s), - var(--color-canvas-background-l) - ); - - --color-json-default: #5045a1; - --color-json-null: var(--color-danger); - --color-json-boolean: var(--color-success); - --color-json-number: var(--color-success); - --color-json-string: #5045a1; - --color-json-key: var(--color-text-dark); - --color-json-brackets: var(--color-text-dark); - --color-json-brackets-hover: #1890ff; - --color-json-line: #bfcbd9; - --color-json-highlight: #e2e5ee; - - --color-sticky-default-background-h: 46; - --color-sticky-default-background-s: 100%; - --color-sticky-default-background-l: 92%; - --color-sticky-default-background: hsl( - var(--color-sticky-default-background-h), - var(--color-sticky-default-background-s), - var(--color-sticky-default-background-l) - ); - - --color-sticky-default-border-h: 43; - --color-sticky-default-border-s: 75%; - --color-sticky-default-border-l: 80%; - --color-sticky-default-border: hsl( - var(--color-sticky-default-border-h), - var(--color-sticky-default-border-s), - var(--color-sticky-default-border-l) - ); - - --color-code-background: #ffffff; - --color-code-background-readonly: #f5f2f0; - --color-code-foreground: #4d4d4c; - --color-code-caret: #aeafad; - --color-code-selection: #d6d6d6; - --color-code-gutterBackground: #ffffff; - --color-code-gutterForeground: #4d4d4c80; - --color-code-lineHighlight: #efefef; - --color-code-tags-comment: #8e908c; - --color-code-tags-string: #718c00; - --color-code-tags-primitive: #f5871f; - --color-code-tags-keyword: #8959a8; - --color-code-tags-operator: #3e999f; - --color-code-tags-variable: #c82829; - --color-code-tags-definition: #4271ae; - - --color-expression-editor-background: #fff; - --color-valid-resolvable-foreground: #29a568; - --color-valid-resolvable-background: #e1f3d8; - --color-invalid-resolvable-foreground: #f45959; - --color-invalid-resolvable-background: #fef0f0; - --color-expression-syntax-example: #f0f0f0; + // Various + --color-avatar-accent-1: var(--prim-gray-120); + --color-avatar-accent-2: var(--prim-color-alt-e-shade-100); + --color-info: var(--prim-gray-420); + --color-info-tint-1: var(--prim-gray-120); + --color-info-tint-2: var(--prim-gray-40); + --color-grey: var(--prim-gray-200); + --color-light-grey: var(--prim-gray-120); + --color-neutral: var(--prim-gray-490); + --color-switch: var(--prim-color-alt-i); // Generated Color Shades from 50 to 950 // Not yet used in design system diff --git a/packages/design-system/src/css/common/var.scss b/packages/design-system/src/css/common/var.scss index 24ea1e8cad..6b81927a9d 100644 --- a/packages/design-system/src/css/common/var.scss +++ b/packages/design-system/src/css/common/var.scss @@ -21,162 +21,36 @@ $color-transition-base: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); $color-white: var(--color-foreground-xlight); $color-black: var(--color-foreground-dark); -$color-primary-light-1: function.lightness( - --color-primary-h, - --color-primary-s, - --color-primary-l, - 4% -); -$color-primary-light-2: function.lightness( - --color-primary-h, - --color-primary-s, - --color-primary-l, - 8% -); -$color-primary-light-3: function.lightness( - --color-primary-h, - --color-primary-s, - --color-primary-l, - 12% -); -$color-primary-light-4: function.lightness( - --color-primary-h, - --color-primary-s, - --color-primary-l, - 16% -); -$color-primary-light-5: function.lightness( - --color-primary-h, - --color-primary-s, - --color-primary-l, - 20% -); -$color-primary-light-6: function.lightness( - --color-primary-h, - --color-primary-s, - --color-primary-l, - 24% -); -$color-primary-light-7: function.lightness( - --color-primary-h, - --color-primary-s, - --color-primary-l, - 28% -); -$color-primary-light-8: function.lightness( - --color-primary-h, - --color-primary-s, - --color-primary-l, - 32% -); -$color-primary-light-9: function.lightness( - --color-primary-h, - --color-primary-s, - --color-primary-l, - 36% -); -$color-primary-light: function.lightness( - --color-primary-h, - --color-primary-s, - --color-primary-l, - 30% -); -$color-primary-lighter: function.lightness( - --color-primary-h, - --color-primary-s, - --color-primary-l, - 34% -); +$color-primary-light-1: var(--color-primary); +$color-primary-light-2: var(--prim-color-primary-tint-100); // ! TODO Token should be used here +$color-primary-light-3: var(--prim-color-primary-tint-100); // ! TODO Token should be used here +$color-primary-light-4: var(--color-primary-tint-1); +$color-primary-light-5: var(--color-primary-tint-1); +$color-primary-light-6: var(--color-primary-tint-2); +$color-primary-light-9: var(--color-primary-tint-3); +$color-primary-light: var(--color-primary-tint-3); +$color-primary-lighter: var(--color-primary-tint-3); -$color-primary-shade-1: function.lightness( - --color-primary-h, - --color-primary-s, - --color-primary-l, - -(10) -); +$color-success-light-1: var(--color-success); +$color-success-light: var(--color-success-light); +$color-success-lighter: var(--color-success-tint-1); -$color-success-light-1: function.lightness( - --color-success-h, - --color-success-s, - --color-success-l, - 4% -); -$color-success-light-3: function.lightness( - --color-success-h, - --color-success-s, - --color-success-l, - 12% -); -$color-success-light-5: function.lightness( - --color-success-h, - --color-success-s, - --color-success-l, - 20% -); -$color-success-light: function.lightness( - --color-success-h, - --color-success-s, - --color-success-l, - 41% -); -$color-success-lighter: function.lightness( - --color-success-h, - --color-success-s, - --color-success-l, - 48% -); +$color-warning-light-1: var(--color-warning); +$color-warning-light-3: var(--color-warning-tint-1); +$color-warning-light-5: var(--color-warning-tint-1); +$color-warning-light: var(--color-warning-tint-2); +$color-warning-lighter: var(--color-warning-tint-2); -$color-warning-light-1: function.lightness( - --color-warning-h, - --color-warning-s, - --color-warning-l, - 4% -); -$color-warning-light-3: function.lightness( - --color-warning-h, - --color-warning-s, - --color-warning-l, - 12% -); -$color-warning-light-5: function.lightness( - --color-warning-h, - --color-warning-s, - --color-warning-l, - 20% -); -$color-warning-light: function.lightness( - --color-warning-h, - --color-warning-s, - --color-warning-l, - 34% -); -$color-warning-lighter: function.lightness( - --color-warning-h, - --color-warning-s, - --color-warning-l, - 40% -); - -$color-danger-light-1: function.lightness(--color-danger-h, --color-danger-s, --color-danger-l, 4%); -$color-danger-light-3: function.lightness( - --color-danger-h, - --color-danger-s, - --color-danger-l, - 12% -); -$color-danger-light-5: function.lightness( - --color-danger-h, - --color-danger-s, - --color-danger-l, - 20% -); -$color-danger-light: function.lightness(--color-danger-h, --color-danger-s, --color-danger-l, 24%); +$color-danger-light-1: var(--color-danger); +$color-danger-light-3: var(--prim-color-alt-c-tint-150); // ! TODO Token should be used here +$color-danger-light-5: var(--prim-color-alt-c-tint-150); // ! TODO Token should be used here +$color-danger-light: var(--color-danger-tint-1); $color-danger-lighter: var(--color-danger-tint-2); -$color-info-light-1: function.lightness(--color-info-h, --color-info-s, --color-info-l, 4%); -$color-info-light-3: function.lightness(--color-info-h, --color-info-s, --color-info-l, 12%); -$color-info-light-5: function.lightness(--color-info-h, --color-info-s, --color-info-l, 20%); -$color-info-lighter: function.lightness(--color-info-h, --color-info-s, --color-info-l, 39%); +$color-info-light-1: var(-color-info); +$color-info-light-3: var(--prim-gray-320); // ! TODO Token should be used here +$color-info-light-5: var(--prim-gray-200); // ! TODO Token should be used here +$color-info-lighter: var(--color-info-tint-2); // Background /// color|1|Background Color|4 @@ -184,8 +58,9 @@ $background-color-base: var(--color-background-base); /* Link -------------------------- */ -$link-color: $color-primary-light-2; -$link-hover-color: var(--color-primary); +$link-color: var(--color-primary); +$link-color-hover: var(--color-primary-shade-1); +$link-color-active: var(--color-primary-shade-1); /* Border -------------------------- */ @@ -234,7 +109,7 @@ $font-size-extra-small: var(--font-size-2xs); $font-weight-primary: var(--font-weight-regular); /// fontLineHeight|1|Line Height|2 $font-line-height-primary: 24px; -$font-color-disabled-base: #bbb; +$font-color-disabled-base: var(--color-text-light); /* z-index -------------------------- */ @@ -264,12 +139,12 @@ $checkbox-input-width: 14px; /// borderRadius||Border|2 $checkbox-border-radius: var(--border-radius-small); /// color||Color|0 -$checkbox-background-color: $color-white; +$checkbox-background-color: var(--color-background-xlight); $checkbox-input-border: var(--border-base); /// color||Color|0 $checkbox-disabled-border-color: var(--border-color-base); -$checkbox-disabled-input-fill: #edf2fc; +$checkbox-disabled-input-fill: var(--color-background-base); $checkbox-disabled-icon-color: var(--color-text-lighter); $checkbox-disabled-checked-input-fill: var(--border-color-light); @@ -310,7 +185,7 @@ $checkbox-bordered-mini-height: 28px; /// color||Color|0 $checkbox-button-checked-background-color: var(--color-primary); /// color||Color|0 -$checkbox-button-checked-font-color: $color-white; +$checkbox-button-checked-font-color: var(--color-text-xlight); /// color||Color|0 $checkbox-button-checked-border-color: var(--color-primary); @@ -327,12 +202,12 @@ $radio-input-width: 14px; /// borderRadius||Border|2 $radio-input-border-radius: $border-radius-circle; /// color||Color|0 -$radio-input-background-color: $color-white; +$radio-input-background-color: var(--color-background-xlight); $radio-input-border: var(--border-base); /// color||Color|0 $radio-input-border-color: var(--border-color-base); /// color||Color|0 -$radio-icon-color: $color-white; +$radio-icon-color: var(--color-text-xlight); $radio-disabled-input-border-color: $disabled-border-base; $radio-disabled-input-fill: $disabled-fill-base; @@ -347,7 +222,7 @@ $radio-checked-font-color: var(--color-primary); /// color||Color|0 $radio-checked-input-border-color: var(--color-primary); /// color||Color|0 -$radio-checked-input-background-color: $color-white; +$radio-checked-input-background-color: var(--color-background-xlight); /// color||Color|0 $radio-checked-icon-color: var(--color-primary); @@ -373,7 +248,7 @@ $radio-button-font-size: $font-size-base; /// color||Color|0 $radio-button-checked-background-color: var(--color-primary); /// color||Color|0 -$radio-button-checked-font-color: $color-white; +$radio-button-checked-font-color: var(--color-background-xlight); /// color||Color|0 $radio-button-checked-border-color: var(--color-primary); $radio-button-disabled-checked-fill: var(--border-color-light); @@ -395,7 +270,7 @@ $select-input-font-size: 14px; $select-option-color: var(--color-text-dark); $select-option-disabled-color: var(--color-text-lighter); -$select-option-disabled-background: $color-white; +$select-option-disabled-background: var(--color-background-xlight); /// height||Other|4 $select-option-height: 34px; $select-option-hover-background: $background-color-base; @@ -468,7 +343,7 @@ $messagebox-danger-color: var(--color-danger); -------------------------- */ $message-shadow: $box-shadow-base; $message-min-width: 380px; -$message-background-color: #edf2fc; +$message-background-color: var(--color-background-base); $message-padding: 16px 16px 16px 20px; /// color||Color|0 $message-close-icon-color: var(--color-text-lighter); @@ -585,7 +460,7 @@ $cascader-menu-shadow: $box-shadow-light; $cascader-node-background-hover: $background-color-base; $cascader-node-color-disabled: var(--color-text-lighter); $cascader-color-empty: var(--color-text-lighter); -$cascader-tag-background: #f0f2f5; +$cascader-tag-background: var(--color-background-base); /* Group -------------------------- */ @@ -599,7 +474,7 @@ $group-title-width: 66px; /* Tab -------------------------- */ $tab-font-size: $font-size-base; -$tab-border-line: 1px solid #e4e4e4; +$tab-border-line: 1px solid var(--color-foreground-base); $tab-header-color-active: var(--color-text-light); $tab-header-color-hover: var(--color-text-dark); $tab-header-color: var(--color-text-dark); @@ -612,14 +487,10 @@ $tab-vertical-header-count-fill: var(--color-text-light); /* Button -------------------------- */ $button-font-size: var(--button-font-size, var(--font-size-s)); - $button-padding-vertical: var(--button-padding-vertical, var(--spacing-xs)); $button-padding-horizontal: var(--button-padding-horizontal, var(--spacing-m)); - $button-border-radius: var(--button-border-radius, 4px); -$button-border-color: var(--button-border-color, var(--color-primary)); - /// fontSize||Font|1 $button-medium-font-size: $font-size-base; /// borderRadius||Border|2 @@ -644,42 +515,91 @@ $button-mini-padding-vertical: 7px; /// padding||Spacing|3 $button-mini-padding-horizontal: 15px; -$button-font-color: var(--button-color, var(--color-text-xlight)); -$button-background-color: var(--button-background-color, var(--color-primary)); +// All buttons colors (defaults to primary buttons style). +// Default +$button-font-color: var(--button-font-color, var(--color-button-primary-font)); +$button-border-color: var(--button-border-color, var(--color-button-primary-border)); +$button-background-color: var(--button-background-color, var(--color-button-primary-background)); -$button-active-color: var(--button-active-color, var(--color-text-xlight)); -$button-active-border-color: var(--button-active-border-color, var(--color-primary-shade-1)); -$button-active-background-color: var( - --button-active-background-color, - var(--color-primary-shade-1) +// Hover +$button-hover-font-color: var(--button-hover-font-color, var(--color-button-primary-font)); +$button-hover-border-color: var( + --button-hover-border-color, + var(--color-button-primary-hover-active-border) +); +$button-hover-background-color: var( + --button-hover-background-color, + var(--color-button-primary-hover-active-background) ); -$button-focus-outline-color: var(--button-focus-outline-color, var(--color-primary-tint-1)); +// Active +$button-active-font-color: var(--button-active-font-color, var(--color-button-primary-font)); +$button-active-border-color: var( + --button-active-border-color, + var(--color-button-primary-hover-active-border) +); +$button-active-background-color: var( + --button-active-background-color, + var(--color-button-primary-hover-active-background) +); -$button-hover-color: var(--button-hover-color, var(--color-text-xlight)); -$button-hover-border-color: var(--button-hover-border-color, var(--color-primary-shade-1)); -$button-hover-background-color: var(--button-hover-background-color, var(--color-primary-shade-1)); +// Focus +$button-focus-font-color: var(--button-focus-font-color, var(--color-button-primary-font)); +$button-focus-border-color: var(--button-focus-border-color, var(--color-button-primary-border)); +$button-focus-background-color: var( + --button-focus-background-color, + var(--color-button-primary-background) +); +$button-focus-outline-color: var( + --button-focus-outline-color, + var(--color-button-primary-focus-outline) +); + +// Disabled +$button-disabled-font-color: var( + --button-disabled-font-color, + var(--color-button-primary-disabled-font) +); +$button-disabled-border-color: var( + --button-disabled-border-color, + var(--color-button-primary-disabled-border) +); +$button-disabled-background-color: var( + --button-disabled-background-color, + var(--color-button-primary-disabled-background) +); + +// Loading +$button-loading-font-color: var(--button-loading-font-color, var(--color-button-primary-font)); +$button-loading-border-color: var( + --button-loading-border-color, + var(--color-button-primary-border) +); +$button-loading-background-color: var( + --button-loading-background-color, + var(--color-button-primary-background) +); /// color||Color|0 -$button-default-font-color: var(--color-text-dark); +$button-default-font-color: var(--color-text-dark); // ! Actually used by checkbox /// color||Color|0 -$button-default-background-color: $color-white; +$button-default-background-color: $color-white; // ! Actually used by checkbox /// color||Color|0 -$button-default-border-color: var(--border-color-base); +// $button-default-border-color: var(--border-color-base); // ! Never used /// color||Color|0 -$button-disabled-font-color: var(--button-disabled-color, var(--color-text-dark)); +// $button-disabled-font-color: var(--button-disabled-color, var(--color-text-dark)); /// color||Color|0 -$button-disabled-background-color: var(--button-disabled-background-color, var(--color-light-grey)); +// $button-disabled-background-color: var(--button-disabled-background-color, var(--color-light-grey)); /// color||Color|0 -$button-disabled-border-color: var(--button-disabled-border-color, var(--color-light-grey)); +// $button-disabled-border-color: var(--button-disabled-border-color, var(--color-light-grey)); /// color||Color|0 -$button-primary-border-color: var(--color-primary); +$button-primary-border-color: $button-border-color; // var(--color-primary); /// color||Color|0 -$button-primary-font-color: $color-white; +$button-primary-font-color: $button-font-color; // $color-white; /// color||Color|0 -$button-primary-background-color: var(--color-primary); +$button-primary-background-color: $button-background-color; // var(--color-primary); /// color||Color|0 $button-success-border-color: var(--color-success); /// color||Color|0 @@ -716,7 +636,7 @@ $cascader-height: 200px; /* Switch -------------------------- */ /// color||Color|0 -$switch-on-color: #13ce66; +$switch-on-color: var(--color-switch); /// color||Color|0 $switch-off-color: var(--color-text-light); /// fontSize||Font|1 @@ -749,8 +669,9 @@ $table-font-color: var(--color-text-dark); /// color||Color|0 $table-header-font-color: var(--color-text-light); /// color||Color|0 -$table-row-hover-background-color: $background-color-base; +$table-row-hover-background-color: var(--color-table-row-hover-background); $table-current-row-background-color: $color-primary-light-9; +$table-row-striped-background-color: var(--color-table-row-even-background); /// color||Color|0 $table-header-background-color: $color-white; $table-fixed-box-shadow: 0 0 10px rgba(0, 0, 0, 0.12); @@ -780,7 +701,7 @@ $pagination-hover-color: var(--color-primary); /* Popup -------------------------- */ /// color||Color|0 -$popup-modal-background-color: hsla(247, 14%, 30%, 0.75); +$popup-modal-background-color: var(--color-dialog-overlay-background); /// opacity||Other|1 $popup-modal-opacity: 0.65; @@ -844,7 +765,7 @@ $tree-expand-icon-color: var(--color-text-lighter); /* Dropdown -------------------------- */ $dropdown-menu-box-shadow: $box-shadow-light; -$dropdown-menuItem-hover-fill: $color-primary-light-9; +$dropdown-menuItem-hover-fill: var(--color-background-xlight); $dropdown-menuItem-hover-color: $link-color; /* Badge @@ -934,7 +855,7 @@ $datepicker-off-font-color: var(--color-text-lighter); $datepicker-header-font-color: var(--color-text-dark); $datepicker-icon-color: var(--color-text-dark); $datepicker-border-color: $disabled-border-base; -$datepicker-inner-border-color: #e4e4e4; +$datepicker-inner-border-color: var(--color-foreground-base); /// color||Color|0 $datepicker-inrange-background-color: var(--border-color-light); /// color||Color|0 @@ -1074,7 +995,7 @@ $link-info-font-color: var(--color-info); /// border||Other|4 $calendar-border: $table-border; /// color||Other|4 -$calendar-selected-background-color: #f2f8fe; +$calendar-selected-background-color: var(--color-background-base); $calendar-cell-width: 85px; /* Form @@ -1087,7 +1008,7 @@ $form-label-font-size: $font-size-base; /// color||Color|0 $avatar-font-color: var(--color-text-xlight); /// color||Color|0 -$avatar-background-color: #c0c4cc; +$avatar-background-color: var(--color-foreground-dark); /// fontSize||Font Size|1 $avatar-text-font-size: 14px; /// fontSize||Font Size|1 diff --git a/packages/design-system/src/css/index.scss b/packages/design-system/src/css/index.scss index ab30109386..c37709df1b 100644 --- a/packages/design-system/src/css/index.scss +++ b/packages/design-system/src/css/index.scss @@ -1,3 +1,4 @@ +@use './primitives.scss'; @use './tokens.scss'; @use './tokens.dark.scss' as dark; @use './reset.scss'; diff --git a/packages/design-system/src/css/notification.scss b/packages/design-system/src/css/notification.scss index d2dc68dd65..9ddd12ef9e 100644 --- a/packages/design-system/src/css/notification.scss +++ b/packages/design-system/src/css/notification.scss @@ -9,7 +9,7 @@ box-sizing: border-box; border: 1px solid var.$notification-border-color; position: fixed; - background-color: var.$color-white; + background-color: var(--color-notification-background); box-shadow: var.$notification-shadow; transition: opacity 0.3s, diff --git a/packages/design-system/src/css/radio-button.scss b/packages/design-system/src/css/radio-button.scss index 8cf3b3ae5f..c90cc7473e 100644 --- a/packages/design-system/src/css/radio-button.scss +++ b/packages/design-system/src/css/radio-button.scss @@ -12,11 +12,11 @@ line-height: 1; white-space: nowrap; vertical-align: middle; - background: var.$button-default-background-color; + background: var.$radio-input-background-color; border: var(--border-base); font-weight: var(--font-weight-bold); border-left: 0; - color: var.$button-default-font-color; + color: var.$radio-font-color; -webkit-appearance: none; text-align: center; box-sizing: border-box; diff --git a/packages/design-system/src/css/skeleton.scss b/packages/design-system/src/css/skeleton.scss index d0dda993f5..3a0266e92c 100644 --- a/packages/design-system/src/css/skeleton.scss +++ b/packages/design-system/src/css/skeleton.scss @@ -40,6 +40,7 @@ -ms-flex-pack: center; justify-content: center; border-radius: 8px !important; + color: var(--color-foreground-dark); } .el-skeleton__image svg { @@ -58,11 +59,16 @@ linear, left top, right top, - color-stop(25%, #f2f2f2), - color-stop(37%, #e6e6e6), - color-stop(63%, #f2f2f2) + color-stop(25%, var(--color-background-base)), + color-stop(37%, var(--color-background-medium)), + color-stop(63%, var(--color-background-base)) + ); + background: linear-gradient( + 90deg, + var(--color-background-base) 25%, + var(--color-background-medium) 37%, + var(--color-background-base) 63% ); - background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); background-size: 400% 100%; -webkit-animation: el-skeleton-loading 1.4s ease infinite; animation: el-skeleton-loading 1.4s ease infinite; diff --git a/packages/design-system/src/css/table.scss b/packages/design-system/src/css/table.scss index b3cde7744c..ba3efdaf9c 100644 --- a/packages/design-system/src/css/table.scss +++ b/packages/design-system/src/css/table.scss @@ -489,7 +489,7 @@ & .el-table__body { & tr.el-table__row--striped { td { - background: #fafafa; + background: var.$table-row-striped-background-color; } &.current-row td { diff --git a/packages/design-system/src/css/tag.scss b/packages/design-system/src/css/tag.scss index 47d740fd4e..a1634b5d4a 100644 --- a/packages/design-system/src/css/tag.scss +++ b/packages/design-system/src/css/tag.scss @@ -2,9 +2,9 @@ @use './common/var'; @mixin genTheme() { - background-color: var.$color-primary-lighter; - border-color: var.$color-primary-light-5; - color: var.$color-primary-light-1; + border-color: var(--color-callout-info-border); + background-color: var(--color-callout-info-background); + color: var(--color-callout-info-font); font-weight: var(--font-weight-regular); @include mixins.when(hit) { @@ -20,14 +20,20 @@ } &.el-tag--info { - background-color: var.$color-info-lighter; - border-color: var.$color-info-light-5; - color: var.$color-info-light-3; + border-color: var(--color-callout-info-border); + background-color: var(--color-callout-info-background); + color: var(--color-callout-info-font); + border-width: 1px; + border-style: solid; @include mixins.when(hit) { border-color: var.$tag-info-color; } + .svg-inline--fa { + color: var(--color-callout-info-icon); + } + .el-tag__close { color: var.$color-info-light-1; &:hover { @@ -38,9 +44,15 @@ } &.el-tag--success { - background-color: var(--color-success-tint-2); - border-color: var(--color-success-tint-1); - color: var(--color-success); + border-color: var(--color-callout-success-border); + background-color: var(--color-callout-success-background); + color: var(--color-callout-success-font); + border-width: 1px; + border-style: solid; + + .svg-inline--fa { + color: var(--color-callout-success-icon); + } @include mixins.when(hit) { border-color: var.$tag-success-color; @@ -56,14 +68,20 @@ } &.el-tag--warning { - background-color: var.$color-warning-lighter; - border-color: var.$color-warning-light-5; - color: var.$color-warning-light-3; + border-color: var(--color-callout-warning-border); + background-color: var(--color-callout-warning-background); + color: var(--color-callout-warning-font); + border-width: 1px; + border-style: solid; @include mixins.when(hit) { border-color: var.$tag-warning-color; } + .svg-inline--fa { + color: var(--color-callout-warning-icon); + } + .el-tag__close { color: var.$color-warning-light-1; &:hover { @@ -74,14 +92,20 @@ } &.el-tag--danger { - background-color: var.$color-danger-lighter; - border-color: var.$color-danger-light-5; - color: var.$color-danger-light-3; + border-color: var(--color-callout-danger-border); + background-color: var(--color-callout-danger-background); + color: var(--color-callout-danger-font); + border-width: 1px; + border-style: solid; @include mixins.when(hit) { border-color: var.$tag-danger-color; } + .svg-inline--fa { + color: var(--color-callout-danger-icon); + } + .el-tag__close { color: var.$color-danger-light-1; &:hover { diff --git a/packages/design-system/src/css/upload.scss b/packages/design-system/src/css/upload.scss index 89bc1c997f..0479771400 100644 --- a/packages/design-system/src/css/upload.scss +++ b/packages/design-system/src/css/upload.scss @@ -195,7 +195,7 @@ .el-upload-list__item-name:hover, .el-upload-list__item-name:focus { - color: var.$link-hover-color; + color: var.$link-color-hover; cursor: pointer; } diff --git a/packages/design-system/src/styleguide/ColorCircles.vue b/packages/design-system/src/styleguide/ColorCircles.vue index 5901e5366b..e8efc3d9a7 100644 --- a/packages/design-system/src/styleguide/ColorCircles.vue +++ b/packages/design-system/src/styleguide/ColorCircles.vue @@ -3,7 +3,7 @@