@crowdin/themes-converter
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

Crowdin theme converter

This module is designed to generate styles for Crowdin Editor themes.

const { convert } = require('@crowdin/themes-converter');

const theme = {
    primaryAccent: "#6494ed", 
    base: {
        baseBackground: "#21252b", 
        stringStatus: {
            translated: "#5b89c6",
            approved: "#6dc271",
        },
        highlights: {
            placeholderColor: "#afff8a", 
            placeholderBg: "#74827A", 
            tagColor: "#bfc3a0", 
            tagBg: "#626550", 
            nonePrintableCharacterColor: "#3eb17f", 
            findAndReplaceHighlightBg: "#8A6800", 
        },
    },
    accents: {
        info: {
            accentColor: "#35a1ff", 
        },
        danger: {
            accentColor: "#fa644a", 
        },
        warning: {
            accentColor: "#cc9a06", 
        },
        success: {
            accentColor: "#74bb02", 
        },
    },
};

const styles =  convert(theme);

Full theme config:

{
    'primaryAccent': '', // Links, Primary buttons, Inputs, radio, checkbox and textarea focuses,
    'base': {
        'baseBackground': '', // base background color for all ui elements
        'cardsBackground': '', // Cards backgrounds, shadows, Popovers, borders etc
        'typeface': {
            'baseColor': '', // Fonts, Icons, if empty - generated from automaticaly based on baseBackgroundColor
            'bodyColor': '', 
            'mutedColor': '',
            'disabledColor': '',
            'iconsColor': '',
        },
        'commonUi': {
            'headerBackground': '', // header background color
            'subHeaderBackground': '', // subheader background color
            'mainContentBackground': '', // area under source strings (e.g. left panel in Comfortale View)
            'checkedStringBackground': '', // background for checked strings in mainContentBackground
            'mainMenuBackground': '', // main menu background color
        },
        'stringStatus': { // progresses, string statuses
            'translated': '',
            'approved': '',
            'notTranslated': '',
            'hidden': '',
        },
        'highlights': {
            'placeholderColor': '',
            'placeholderBg': '',
            'tagColor': '',
            'tagColorHover': '',
            'tagBg': '',
            'tagBgHover': '',
            'nonePrintableCharacterColor': '',
            'findAndReplaceHighlightBg': '', // --crowdin-find-replace-highlight-bg  highlight for found items
        },
    },
    'accents': {
        'info': {
            'accentColor': '', // Info typeface and borders color
            'backgroundColor': '', // --crowdin-info: Info alerts, badges, tips etc
        },
        'danger': {
            'accentColor': '', // Danger typeface and borders color
            'backgroundColor': '', // --crowdin-danger: Danger alerts, badges, tips etc
        },
        'warning': {
            'accentColor': '', // Warning typeface and borders color
            'backgroundColor': '', // --crowdin-warning: Warning alerts, badges, tips etc
        },
        'success': {
            'accentColor': '', // Success typeface and borders color
            'backgroundColor': '', // --crowdin-success: Success alerts, badges, tips etc
        },
    },
    'button': {
        'default': {
            'btnColor': '',
            'btnHoverColor': '',
            'btnBorder': '',
            'btnHoverBorder': '',
            'btnActiveBorder': '',
            'btnDisabledBorder': '',
            'btnBg': '',
            'btnHoverBg': '',
            'btnActiveBg': '',
            'btnDisabledBg': '',
            'btnModalBorder': '', // modal buttons may have different borders
        },
        'primary': {
            'btnColor': '',
            'btnBorder': '',
            'btnBg': '',
            'btnHoverBg': '',
            'btnActiveBg': '',
        },
        'danger': {
            'btnBg': '',
            'btnHoverBg': '', //hover & active
            'btnBorder': '',
            'btnHoverBorder': '',
        },
        'icon': {
            'btnBg': '',
            'btnBorder': '',
            'btnHoverBorder': '',
            'btnActiveBorder': '',
        },
    }
}

Advanced Background Customization

Certain properties within our theming configuration are designed to support a wide array of CSS background values. This includes not only standard and custom colors but also more complex definitions such as gradients, images, and other CSS background properties.

  'base.commonUi.headerBackground',
  'base.commonUi.subHeaderBackground',
  'base.commonUi.mainContentBackground',
  'base.commonUi.mainMenuBackground',

Readme

Keywords

none

Package Sidebar

Install

npm i @crowdin/themes-converter

Weekly Downloads

71

Version

1.0.2

License

ISC

Unpacked Size

34 kB

Total Files

8

Last publish

Collaborators

  • taras.prosvirov
  • serhiydmytryshyn
  • andrii.bodnar