This repository contains the LESS variables and mixins used by zm-x-web
and Zimbra X Zimlets.
npm install @zimbra/x-ui
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';
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 yourzm-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