@zimbra/x-ui
This repository contains the LESS variables and mixins used by zm-x-web
and Zimbra X Zimlets.
Install
npm install @zimbra/x-ui
Usage
Requiring LESS variables (see variables.less):
// Gives access to @brand-primary, @icon-size-md, etc.
@import '~@zimbra/x-ui/refs.less';
Requiring Mixins (see helpers.less):
// Gives access to `fit`, `fill`, etc.
@import '~@zimbra/x-ui/helpers.less';
Requiring CSS Variables (recommended for Zimlets, see css-variables.less):
// Gives access to `--brand-primary`, `--brand-secondary`, etc.
@import '~@zimbra/x-ui/css-variables.less';
Updating the Icon font using icomoon
To support all platforms we require several versions of our icon font.
Updating the full set of files is easily accomplished by the use of the icomoon tool.
-
Check out the desired version of this repo.
-
Run the icomoon app in Chrome: https://icomoon.io/app
This will open to the Selection screen by default.
-
If you have a zimbra-icons
set from a previous iteration, Remove Set to start with a blank slate.
-
Click Import Icons then navigate to your checked out repo and open selection.json
.
A confirmation dialog will ask:
Your icon selection was loaded.
Would you like to load all the settings stored in your selection file?
Answer Yes, so that the existing codepoints for the icon font will be retained.
-
From the Hamburger menu for the imported zimbra-icons set, select Import to Set then navigate to and open the new icon svg file(s) that you want to add to the set.
-
To export as a font, first select all the glyps in the set. (Hamburger, Select all.)
Click on the Generate Font tab along the bottom of the display.
Review the resulting glyphs and metadata.
-
When you're happy with what you see, click the Download action that's now on the Font tab, to download zimbra-icons.zip
.
Update the repo with the contents of the zip file by running import-icomoon.sh.
-
Set environment variable ZM_X_UI_DIR
to point to your zm-x-ui
directory; the default is $HOME/github/Zimbra/zm-x-ui
$: export ZM_X_UI_DIR="$HOME/path/to/zm-x-ui"
-
Run script with path to zimbra-icon.zip
file as argument:
$: ./import-icomoon.sh ./path/to/zimbra-icon.zip
-
Regenerate icon variables:
$: npm run build
or
$: node generate-icon-variables