Madgex Design System
A work-in progress Design System for building a UI for Madgex products.
Usage
NOTE: Right now you'll need to be authenticated on npm under the Madgex account.
npm install @madgex/design-system --save
Importing styles
You'll need to import the Madgex DS styles into your project scss file.
Use the DS tokens to change DS variables.
e.g. import the Madgex DS to your Sass file & overload variables:
$mds-color-primary: #ff0000;
$mds-size-font-md: 20px;
@import 'node_modules/@madgex/design-system/src/scss/index.scss';
If you're wanting to use the Madgex DS components from a hapi.js+vision+Nunjucks setup you'll need to include the Madgex DS in the Nunjucks pathing:
engines: {
njk: {
compile: (src, options) => {
const template = Nunjucks.compile(src, options.environment);
return (context) => {
return template.render(context);
};
},
prepare: (options, next) => {
options.compileOptions.environment = Nunjucks.configure(
[
Path.join(options.path),
'node_modules/@madgex/design-system/',
'node_modules/@madgex/design-system/src/',
'node_modules/@madgex/design-system/src/components/',
],
{ watch: false }
);
return next();
},
},
},
Then you should be able to use components as such:
{% extends "template.njk" %} {# a base template is available in the DS #}
{% from "button/_macro.njk" import Button %} {# load the DS button component #}
{% block content %}
<p>My new project homepage</p>
{# Use the Madgex DS button! #}
{{
Button({
text: 'Click me!'
})
}}
{% endblock %}
Note you'll need the scss for the component styles.
Releases
With every commit to master
the build server attempts to create a new version using semantic-release and deploys to npm as @madgex/design-system.