Socket
Socket
Sign inDemoInstall

mx-design-tokens

Package Overview
Dependencies
Maintainers
2
Versions
55
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mx-design-tokens - npm Package Compare versions

Comparing version 9.0.1 to 10.0.0

dist/core.js

83

dist/index.js

@@ -6,6 +6,10 @@ "use strict";

});
exports.dark = exports.light = exports.buildTheme = exports.targets = void 0;
exports.dark = exports.light = exports.buildTheme = exports.themes = exports.targets = void 0;
var _core = _interopRequireDefault(require("./tokens/core"));
var _core = _interopRequireDefault(require("./core"));
var _mods = require("./mods");
var _utils = require("./utils");
var _backgroundColor = _interopRequireDefault(require("./tokens/backgroundColor"));

@@ -27,10 +31,6 @@

var _zIndex = _interopRequireDefault(require("./tokens/zIndex"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var targets = {

@@ -42,34 +42,55 @@ REACT: 'react',

exports.targets = targets;
var themes = {
LIGHT: 'light',
DARK: 'dark'
};
exports.themes = themes;
var buildTheme = function buildTheme(themeName) {
var getSectionTokens = function getSectionTokens() {
var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : themes.LIGHT;
var base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _core["default"];
return {
BackgroundColor: _backgroundColor["default"][theme](base),
BorderColor: _borderColor["default"][theme](base),
BorderRadius: _borderRadius["default"][theme](base),
BoxShadow: _boxShadow["default"][theme](base),
LetterSpacing: _letterSpacing["default"][theme](base),
FontSize: _fontSize["default"][theme](base),
Spacing: _spacing["default"][theme](base),
TextColor: _textColor["default"][theme](base),
ZIndex: _zIndex["default"][theme](base)
};
};
var buildTheme = function buildTheme() {
var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : themes.LIGHT;
var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : targets.REACT;
var customColors = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var customFonts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
var tokenOverrides = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
// core token changes propagate down
var baseCore = Object.assign({}, _core["default"]);
var baseLeaf = getSectionTokens(theme);
var baseParts = (0, _utils.splitTokens)(tokenOverrides, baseCore, baseLeaf);
var updatedCore = (0, _utils.collapseTokens)(baseParts.updatedTokens.core);
var mergedCore = (0, _utils.deepMerge)(baseCore, updatedCore);
var customCore = (0, _mods.applyTargetModifications)(target, mergedCore);
var customLeaf = getSectionTokens(theme, customCore);
var customBoth = (0, _utils.deepMerge)(customCore, customLeaf); // leaf token changes take priority over core token changes
var customCore = _objectSpread(_objectSpread({}, _core["default"]), {}, {
Color: _objectSpread(_objectSpread({}, _core["default"].Color), customColors),
Font: _objectSpread(_objectSpread({}, _core["default"].Font), customFonts)
var mergedLeaf = {};
var leafChanges = baseParts.updatedTokens.leaf;
leafChanges.map(function (l) {
mergedLeaf = (0, _utils.deepMerge)(mergedLeaf, l);
});
var builtCore = {};
Object.keys(customCore).forEach(function (coreKey) {
var value = typeof customCore[coreKey] === 'function' ? customCore[coreKey](target) : customCore[coreKey];
builtCore[coreKey] = value;
var newChanges = baseParts.updatedTokens["new"];
newChanges.map(function (n) {
mergedLeaf = (0, _utils.deepMerge)(mergedLeaf, n);
});
return _objectSpread(_objectSpread({}, builtCore), {}, {
BackgroundColor: _backgroundColor["default"][themeName](builtCore),
BorderColor: _borderColor["default"][themeName](builtCore),
BorderRadius: _objectSpread(_objectSpread({}, _core["default"].BorderRadius), _borderRadius["default"][themeName](builtCore)),
BoxShadow: _objectSpread(_objectSpread({}, _core["default"].BoxShadow), _boxShadow["default"][themeName](builtCore)),
LetterSpacing: _letterSpacing["default"][themeName](builtCore),
FontSize: _objectSpread(_objectSpread({}, _core["default"].FontSize), _fontSize["default"][themeName](builtCore)),
Spacing: _objectSpread(_objectSpread({}, _core["default"].Spacing), _spacing["default"][themeName](builtCore)),
TextColor: _textColor["default"][themeName](builtCore)
});
var builtTokens = (0, _utils.deepMerge)(customBoth, mergedLeaf);
return builtTokens;
};
exports.buildTheme = buildTheme;
var light = buildTheme('light');
var light = buildTheme(themes.LIGHT);
exports.light = light;
var dark = buildTheme('dark');
var dark = buildTheme(themes.DARK);
exports.dark = dark;

@@ -15,3 +15,3 @@ "use strict";

var light = function light(core) {
return {
return _objectSpread(_objectSpread({}, core.BorderRadius), {}, {
// Button

@@ -25,3 +25,3 @@ Button: core.BorderRadius.Medium,

// Chip
Chip: core.BorderRadius.Small,
Chip: core.BorderRadius.XLarge,
// Container

@@ -41,3 +41,3 @@ Container: core.BorderRadius.Medium,

Tooltip: core.BorderRadius.Medium
};
});
};

@@ -44,0 +44,0 @@

@@ -15,3 +15,3 @@ "use strict";

var light = function light(core) {
return {
return _objectSpread(_objectSpread({}, core.FontSize), {}, {
// Button

@@ -38,3 +38,3 @@ Button: core.FontSize.Body,

TooltipText: core.FontSize.ParagraphSmall
};
});
};

@@ -41,0 +41,0 @@

@@ -15,3 +15,3 @@ "use strict";

var light = function light(core) {
return {
return _objectSpread(_objectSpread({}, core.Spacing), {}, {
// Button

@@ -60,3 +60,3 @@ ButtonPadding: core.Spacing.Small,

TooltipPadding: core.Spacing.Small
};
});
};

@@ -63,0 +63,0 @@

@@ -100,3 +100,3 @@ "use strict";

// Dropdown
DropdownMenuItemActive: core.Color.White,
DropdownMenuItemActive: core.Color.NeutralWhite,
// Chip

@@ -103,0 +103,0 @@ ChipDefault: core.Color.NeutralWhite,

@@ -8,5 +8,5 @@ "use strict";

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -13,0 +13,0 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

{
"name": "mx-design-tokens",
"version": "9.0.1",
"version": "10.0.0",
"description": "Design Tokens",

@@ -10,6 +10,3 @@ "main": "dist/index.js",

},
"files": [
"dist",
"json"
],
"files": ["dist"],
"repository": {

@@ -16,0 +13,0 @@ "type": "git",

# MX Design Tokens
A very simple utility for sharing themed styling information.
A simple utility for sharing themed styling information.

@@ -16,3 +16,3 @@ ## Installation

```
import { light, dark, targets } from 'mx-design-tokens'
import { light, dark } from 'mx-design-tokens'
```

@@ -25,3 +25,13 @@

const theme = buildTheme('light', targets.REACT, { Primary300: '#876543' })
const myCustomOverrides = {
"Color": {
"Brand300": "green"
},
"Custom": {
"ButtonHeight": 42,
"InputText": "lime"
}
}
const greenTheme = buildTheme('light', 'react', myCustomOverrides)
```

@@ -42,13 +52,24 @@

[CLICK HERE](docs/tokens.md) for a list of all the current tokens available with default colors from the light theme.
| Token Output Types | Description |
| :---------------------------------------------------------------------------------------- | :----- |
| [Markdown](https://github.com/mxenabled/mx-design-tokens/blob/master/dist/output/md/tokens.md) | documentation for [light theme tokens](https://github.com/mxenabled/mx-design-tokens/blob/master/dist/output/md/tokens.md#-light-theme-tokens) |
| &nbsp; | documentation for [dark theme tokens](https://github.com/mxenabled/mx-design-tokens/blob/master/dist/output/md/tokens.md#-dark-theme-tokens) theme tokens |
| [JSON - React Web Apps](https://github.com/mxenabled/mx-design-tokens/blob/master/dist/output/json/light.json) |
| [SCSS - Sass / Rails Apps](https://github.com/mxenabled/mx-design-tokens/blob/master/dist/output/scss/light.scss) |
| [CSS - Other Web Apps](https://github.com/mxenabled/mx-design-tokens/blob/master/dist/output/css/light.css) |
| JSON - React Native Apps (_work in progress..._) |
| JSON - Mobile OS Apps (_work in progress..._) |
## Generate files from Tokens
| Command | Description |
| -------------------- | --------------------------------------------------------------------------- |
| `npm run build:docs` | Update the markdown for viewing the [tokens](docs/tokens.md) |
| `npm run build:json` | Compile static JSON tokens for development |
| `npm run build:scss` | Compile static SCSS files for projects using [Sass](https://sass-lang.com/) |
| `npm run build:css` | Compile static CSS variables for use in any web project |
| `npm run build:all` | Builds everything above in one easy step |
| Command | Description |
| :------------------- | :------------------------------------------------------------------------------------------------------- |
| | |
| `npm run build:all` | Builds everything in one easy step |
| | |
| `npm run build` | Compile `src` files out to the `dist` folder |
| `npm run build:docs` | Compile markdown documentation for [viewing all the tokens](https://github.com/mxenabled/mx-design-tokens/blob/master/dist/output/md/tokens.md) |
| `npm run build:json` | Compile static [JSON](https://www.json.org/) files to use as style objects in React Web Apps |
| `npm run build:scss` | Compile static [SCSS](https://sass-lang.com/) variables to use in Sass / Rails Apps |
| `npm run build:css` | Compile static [CSS](https://www.w3.org/Style/CSS/Overview.en.html) variables for use in any web project |

@@ -55,0 +76,0 @@ ## Publishing to NPM

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc