Merge pull request #8607 from ansible/ship-ui-next
Ship the new ui Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
@ -4,8 +4,6 @@ recursive-include awx *.mo
|
||||
recursive-include awx/static *
|
||||
recursive-include awx/templates *.html
|
||||
recursive-include awx/api/templates *.md *.html
|
||||
recursive-include awx/ui/templates *.html
|
||||
recursive-include awx/ui/static *
|
||||
recursive-include awx/ui_next/build *.html
|
||||
recursive-include awx/ui_next/build *
|
||||
recursive-include awx/playbooks *.yml
|
||||
|
||||
127
Makefile
@ -56,11 +56,6 @@ WHEEL_COMMAND ?= bdist_wheel
|
||||
SDIST_TAR_FILE ?= $(SDIST_TAR_NAME).tar.gz
|
||||
WHEEL_FILE ?= $(WHEEL_NAME)-py2-none-any.whl
|
||||
|
||||
# UI flag files
|
||||
UI_DEPS_FLAG_FILE = awx/ui/.deps_built
|
||||
UI_RELEASE_DEPS_FLAG_FILE = awx/ui/.release_deps_built
|
||||
UI_RELEASE_FLAG_FILE = awx/ui/.release_built
|
||||
|
||||
I18N_FLAG_FILE = .i18n_built
|
||||
|
||||
.PHONY: awx-link clean clean-tmp clean-venv requirements requirements_dev \
|
||||
@ -70,22 +65,6 @@ I18N_FLAG_FILE = .i18n_built
|
||||
ui-docker-machine ui-docker ui-release ui-devel \
|
||||
ui-test ui-deps ui-test-ci VERSION
|
||||
|
||||
# remove ui build artifacts
|
||||
clean-ui: clean-languages
|
||||
rm -rf awx/ui/static/
|
||||
rm -rf awx/ui/node_modules/
|
||||
rm -rf awx/ui/test/unit/reports/
|
||||
rm -rf awx/ui/test/spec/reports/
|
||||
rm -rf awx/ui/test/e2e/reports/
|
||||
rm -rf awx/ui/client/languages/
|
||||
rm -rf awx/ui_next/node_modules/
|
||||
rm -rf node_modules
|
||||
rm -rf awx/ui_next/coverage/
|
||||
rm -rf awx/ui_next/build/locales/_build/
|
||||
rm -f $(UI_DEPS_FLAG_FILE)
|
||||
rm -f $(UI_RELEASE_DEPS_FLAG_FILE)
|
||||
rm -f $(UI_RELEASE_FLAG_FILE)
|
||||
|
||||
clean-tmp:
|
||||
rm -rf tmp/
|
||||
|
||||
@ -480,107 +459,15 @@ else
|
||||
@echo No PO files
|
||||
endif
|
||||
|
||||
# generate UI .pot
|
||||
pot: $(UI_DEPS_FLAG_FILE)
|
||||
$(NPM_BIN) --prefix awx/ui run pot
|
||||
|
||||
# generate django .pot .po
|
||||
LANG = "en-us"
|
||||
messages:
|
||||
@if [ "$(VENV_BASE)" ]; then \
|
||||
. $(VENV_BASE)/awx/bin/activate; \
|
||||
fi; \
|
||||
$(PYTHON) manage.py makemessages -l $(LANG) --keep-pot
|
||||
|
||||
# generate l10n .json .mo
|
||||
languages: $(I18N_FLAG_FILE)
|
||||
|
||||
$(I18N_FLAG_FILE): $(UI_RELEASE_DEPS_FLAG_FILE)
|
||||
$(NPM_BIN) --prefix awx/ui run languages
|
||||
$(PYTHON) tools/scripts/compilemessages.py
|
||||
touch $(I18N_FLAG_FILE)
|
||||
|
||||
# End l10n TASKS
|
||||
# --------------------------------------
|
||||
|
||||
# UI RELEASE TASKS
|
||||
# --------------------------------------
|
||||
ui-release: $(UI_RELEASE_FLAG_FILE)
|
||||
|
||||
$(UI_RELEASE_FLAG_FILE): $(I18N_FLAG_FILE) $(UI_RELEASE_DEPS_FLAG_FILE)
|
||||
$(NPM_BIN) --prefix awx/ui run build-release
|
||||
touch $(UI_RELEASE_FLAG_FILE)
|
||||
|
||||
$(UI_RELEASE_DEPS_FLAG_FILE):
|
||||
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 $(NPM_BIN) --unsafe-perm --prefix awx/ui ci --no-save awx/ui
|
||||
touch $(UI_RELEASE_DEPS_FLAG_FILE)
|
||||
|
||||
# END UI RELEASE TASKS
|
||||
# --------------------------------------
|
||||
|
||||
# UI TASKS
|
||||
# --------------------------------------
|
||||
ui-deps: $(UI_DEPS_FLAG_FILE)
|
||||
|
||||
$(UI_DEPS_FLAG_FILE):
|
||||
@if [ -f ${UI_RELEASE_DEPS_FLAG_FILE} ]; then \
|
||||
rm -rf awx/ui/node_modules; \
|
||||
rm -f ${UI_RELEASE_DEPS_FLAG_FILE}; \
|
||||
fi; \
|
||||
$(NPM_BIN) --unsafe-perm --prefix awx/ui ci --no-save awx/ui
|
||||
touch $(UI_DEPS_FLAG_FILE)
|
||||
|
||||
ui-docker-machine: $(UI_DEPS_FLAG_FILE)
|
||||
$(NPM_BIN) --prefix awx/ui run ui-docker-machine -- $(MAKEFLAGS)
|
||||
|
||||
# Native docker. Builds UI and raises BrowserSync & filesystem polling.
|
||||
ui-docker: $(UI_DEPS_FLAG_FILE)
|
||||
$(NPM_BIN) --prefix awx/ui run ui-docker -- $(MAKEFLAGS)
|
||||
|
||||
# Builds UI with development UI without raising browser-sync or filesystem polling.
|
||||
ui-devel: $(UI_DEPS_FLAG_FILE)
|
||||
$(NPM_BIN) --prefix awx/ui run build-devel -- $(MAKEFLAGS)
|
||||
|
||||
ui-test: $(UI_DEPS_FLAG_FILE)
|
||||
$(NPM_BIN) --prefix awx/ui run test
|
||||
|
||||
ui-lint: $(UI_DEPS_FLAG_FILE)
|
||||
$(NPM_BIN) run --prefix awx/ui jshint
|
||||
$(NPM_BIN) run --prefix awx/ui lint
|
||||
|
||||
# A standard go-to target for API developers to use building the frontend
|
||||
ui: clean-ui ui-devel
|
||||
|
||||
ui-test-ci: $(UI_DEPS_FLAG_FILE)
|
||||
$(NPM_BIN) --prefix awx/ui run test:ci
|
||||
$(NPM_BIN) --prefix awx/ui run unit
|
||||
|
||||
jshint: $(UI_DEPS_FLAG_FILE)
|
||||
$(NPM_BIN) run --prefix awx/ui jshint
|
||||
$(NPM_BIN) run --prefix awx/ui lint
|
||||
|
||||
ui-zuul-lint-and-test:
|
||||
CHROMIUM_BIN=$(CHROMIUM_BIN) ./awx/ui/build/zuul_download_chromium.sh
|
||||
CHROMIUM_BIN=$(CHROMIUM_BIN) PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 $(NPM_BIN) --unsafe-perm --prefix awx/ui ci --no-save awx/ui
|
||||
CHROMIUM_BIN=$(CHROMIUM_BIN) $(NPM_BIN) run --prefix awx/ui jshint
|
||||
CHROMIUM_BIN=$(CHROMIUM_BIN) $(NPM_BIN) run --prefix awx/ui lint
|
||||
CHROME_BIN=$(CHROMIUM_BIN) $(NPM_BIN) --prefix awx/ui run test:ci
|
||||
CHROME_BIN=$(CHROMIUM_BIN) $(NPM_BIN) --prefix awx/ui run unit
|
||||
|
||||
# END UI TASKS
|
||||
# --------------------------------------
|
||||
|
||||
# UI NEXT TASKS
|
||||
# --------------------------------------
|
||||
|
||||
awx/ui_next/node_modules:
|
||||
$(NPM_BIN) --prefix awx/ui_next install
|
||||
|
||||
ui-release-next:
|
||||
mkdir -p awx/ui_next/build/static
|
||||
touch awx/ui_next/build/static/.placeholder
|
||||
ui-release: ui-devel
|
||||
|
||||
ui-devel-next: awx/ui_next/node_modules
|
||||
ui-devel: awx/ui_next/node_modules
|
||||
$(NPM_BIN) --prefix awx/ui_next run extract-strings
|
||||
$(NPM_BIN) --prefix awx/ui_next run compile-strings
|
||||
$(NPM_BIN) --prefix awx/ui_next run build
|
||||
@ -591,20 +478,18 @@ ui-devel-next: awx/ui_next/node_modules
|
||||
cp -r awx/ui_next/build/static/js/* awx/public/static/js
|
||||
cp -r awx/ui_next/build/static/media/* awx/public/static/media
|
||||
|
||||
clean-ui-next:
|
||||
clean-ui:
|
||||
rm -rf node_modules
|
||||
rm -rf awx/ui_next/node_modules
|
||||
rm -rf awx/ui_next/build
|
||||
|
||||
ui-zuul-lint-and-test: ui-next-zuul-lint-and-test
|
||||
ui-next-zuul-lint-and-test:
|
||||
$(NPM_BIN) --prefix awx/ui_next install
|
||||
$(NPM_BIN) run --prefix awx/ui_next lint
|
||||
$(NPM_BIN) run --prefix awx/ui_next prettier-check
|
||||
$(NPM_BIN) run --prefix awx/ui_next test
|
||||
|
||||
# END UI NEXT TASKS
|
||||
# --------------------------------------
|
||||
|
||||
# Build a pip-installable package into dist/ with a timestamped version number.
|
||||
dev_build:
|
||||
$(PYTHON) setup.py dev_build
|
||||
@ -613,10 +498,10 @@ dev_build:
|
||||
release_build:
|
||||
$(PYTHON) setup.py release_build
|
||||
|
||||
dist/$(SDIST_TAR_FILE): ui-release ui-release-next VERSION
|
||||
dist/$(SDIST_TAR_FILE): ui-release VERSION
|
||||
$(PYTHON) setup.py $(SDIST_COMMAND)
|
||||
|
||||
dist/$(WHEEL_FILE): ui-release ui-release-next
|
||||
dist/$(WHEEL_FILE): ui-release-next
|
||||
$(PYTHON) setup.py $(WHEEL_COMMAND)
|
||||
|
||||
sdist: dist/$(SDIST_TAR_FILE)
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
|
||||
import glob
|
||||
import json
|
||||
import os
|
||||
|
||||
from django.conf import settings
|
||||
@ -65,28 +64,6 @@ def test_python_and_js_licenses():
|
||||
ret[name] = { 'name': name, 'version': version}
|
||||
return ret
|
||||
|
||||
|
||||
def read_ui_requirements(path):
|
||||
def json_deps(jsondata):
|
||||
ret = {}
|
||||
deps = jsondata.get('dependencies',{})
|
||||
for key in deps.keys():
|
||||
key = key.lower()
|
||||
devonly = deps[key].get('dev',False)
|
||||
if not devonly:
|
||||
if key not in ret.keys():
|
||||
depname = key.replace('/','-')
|
||||
ret[depname] = {
|
||||
'name': depname,
|
||||
'version': deps[key]['version']
|
||||
}
|
||||
ret.update(json_deps(deps[key]))
|
||||
return ret
|
||||
|
||||
with open('%s/package-lock.json' % path) as f:
|
||||
jsondata = json.load(f)
|
||||
return json_deps(jsondata)
|
||||
|
||||
def remediate_licenses_and_requirements(licenses, requirements):
|
||||
errors = []
|
||||
items = list(licenses.keys())
|
||||
@ -113,12 +90,9 @@ def test_python_and_js_licenses():
|
||||
|
||||
base_dir = settings.BASE_DIR
|
||||
api_licenses = index_licenses('%s/../docs/licenses' % base_dir)
|
||||
ui_licenses = index_licenses('%s/../docs/licenses/ui' % base_dir)
|
||||
api_requirements = read_api_requirements('%s/../requirements' % base_dir)
|
||||
ui_requirements = read_ui_requirements('%s/ui' % base_dir)
|
||||
|
||||
errors = []
|
||||
errors += remediate_licenses_and_requirements(ui_licenses, ui_requirements)
|
||||
errors += remediate_licenses_and_requirements(api_licenses, api_requirements)
|
||||
if errors:
|
||||
raise Exception('Included licenses not consistent with requirements:\n%s' %
|
||||
|
||||
@ -91,7 +91,6 @@ USE_L10N = True
|
||||
USE_TZ = True
|
||||
|
||||
STATICFILES_DIRS = (
|
||||
os.path.join(BASE_DIR, 'ui', 'static'),
|
||||
os.path.join(BASE_DIR, 'ui_next', 'build', 'static'),
|
||||
os.path.join(BASE_DIR, 'static'),
|
||||
)
|
||||
@ -249,8 +248,6 @@ TEMPLATES = [
|
||||
'django.template.context_processors.static',
|
||||
'django.template.context_processors.tz',
|
||||
'django.contrib.messages.context_processors.messages',
|
||||
'awx.ui.context_processors.settings',
|
||||
'awx.ui.context_processors.version',
|
||||
'social_django.context_processors.backends',
|
||||
'social_django.context_processors.login_redirect',
|
||||
],
|
||||
|
||||
@ -1,19 +0,0 @@
|
||||
Gruntfile.js
|
||||
karma.*.js
|
||||
webpack.*.js
|
||||
nightwatch.*.js
|
||||
|
||||
etc
|
||||
coverage
|
||||
grunt-tasks
|
||||
node_modules
|
||||
po
|
||||
static
|
||||
templates
|
||||
|
||||
client/src/**/*.js
|
||||
client/assets/**/*.js
|
||||
test/spec/**/*.js
|
||||
|
||||
!client/src/app.start.js
|
||||
!client/src/vendor.js
|
||||
@ -1,72 +0,0 @@
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
root: true,
|
||||
extends: [
|
||||
'airbnb-base'
|
||||
],
|
||||
plugins: [
|
||||
'import',
|
||||
'disable'
|
||||
],
|
||||
settings: {
|
||||
'import/resolver': {
|
||||
webpack: {
|
||||
config: path.join(__dirname, 'build/webpack.development.js')
|
||||
}
|
||||
},
|
||||
'eslint-plugin-disable': {
|
||||
paths: {
|
||||
import: ['**/build/*.js']
|
||||
}
|
||||
}
|
||||
},
|
||||
env: {
|
||||
browser: true,
|
||||
node: true
|
||||
},
|
||||
globals: {
|
||||
angular: true,
|
||||
d3: true,
|
||||
$: true,
|
||||
_: true,
|
||||
codemirror: true,
|
||||
jsyaml: true,
|
||||
crypto: true
|
||||
},
|
||||
rules: {
|
||||
'arrow-parens': 'off',
|
||||
'comma-dangle': 'off',
|
||||
indent: ['error', 4, {
|
||||
SwitchCase: 1
|
||||
}],
|
||||
'max-len': ['error', {
|
||||
code: 100,
|
||||
ignoreStrings: true,
|
||||
ignoreTemplateLiterals: true,
|
||||
}],
|
||||
'no-continue': 'off',
|
||||
'no-debugger': 'off',
|
||||
'no-mixed-operators': 'off',
|
||||
'no-param-reassign': 'off',
|
||||
'no-plusplus': 'off',
|
||||
'no-underscore-dangle': 'off',
|
||||
'no-use-before-define': 'off',
|
||||
'no-multiple-empty-lines': ['error', { max: 1 }],
|
||||
'object-curly-newline': 'off',
|
||||
'space-before-function-paren': ['error', 'always'],
|
||||
'no-trailing-spaces': ['error'],
|
||||
'prefer-destructuring': ['error', {
|
||||
'VariableDeclarator': {
|
||||
'array': false,
|
||||
'object': true
|
||||
},
|
||||
'AssignmentExpression': {
|
||||
'array': false,
|
||||
'object': true
|
||||
}
|
||||
}, {
|
||||
'enforceForRenamedProperties': false
|
||||
}]
|
||||
}
|
||||
};
|
||||
@ -1,49 +0,0 @@
|
||||
{
|
||||
"browser": true,
|
||||
"node": true,
|
||||
"jquery": true,
|
||||
"esnext": true,
|
||||
"globalstrict": true,
|
||||
"curly": true,
|
||||
"immed": true,
|
||||
"latedef": "nofunc",
|
||||
"noarg": true,
|
||||
"nonew": true,
|
||||
"maxerr": 10000,
|
||||
"notypeof": true,
|
||||
"globals": {
|
||||
"$ENV": true,
|
||||
"require": true,
|
||||
"global": true,
|
||||
"beforeEach": false,
|
||||
"inject": false,
|
||||
"module": false,
|
||||
"angular":false,
|
||||
"alert":false,
|
||||
"$AnsibleConfig":true,
|
||||
"$basePath":true,
|
||||
"jsyaml":false,
|
||||
"_":false,
|
||||
"d3":false,
|
||||
"Donut3D":false,
|
||||
"nv":false,
|
||||
"it": false,
|
||||
"xit": false,
|
||||
"expect": false,
|
||||
"context": false,
|
||||
"describe": false,
|
||||
"moment": false,
|
||||
"spyOn": false,
|
||||
"jasmine": false,
|
||||
"dagre": false,
|
||||
"crypto": false
|
||||
},
|
||||
"strict": false,
|
||||
"quotmark": false,
|
||||
"trailing": true,
|
||||
"undef": true,
|
||||
"unused": true,
|
||||
"eqeqeq": true,
|
||||
"indent": 4,
|
||||
"newcap": false
|
||||
}
|
||||
@ -1 +0,0 @@
|
||||
progress=false
|
||||
@ -1,20 +0,0 @@
|
||||
module.exports = function(grunt) {
|
||||
// Load grunt tasks & configurations automatically from dir grunt/
|
||||
require('load-grunt-tasks')(grunt);
|
||||
// display task timings
|
||||
require('time-grunt')(grunt);
|
||||
|
||||
var options = {
|
||||
config: {
|
||||
src: './grunt-tasks/*.js'
|
||||
},
|
||||
pkg: grunt.file.readJSON('package.json')
|
||||
};
|
||||
|
||||
var configs = require('load-grunt-configs')(grunt, options);
|
||||
|
||||
// Project configuration.
|
||||
grunt.initConfig(configs);
|
||||
grunt.loadNpmTasks('grunt-newer');
|
||||
grunt.loadNpmTasks('grunt-angular-gettext');
|
||||
};
|
||||
103
awx/ui/README.md
@ -1,103 +0,0 @@
|
||||
# AWX UI
|
||||
|
||||
## Requirements
|
||||
- node.js 10.x LTS
|
||||
- npm >=6.x
|
||||
- bzip2, gcc-c++, git, make
|
||||
|
||||
## Development
|
||||
The API development server will need to be running. See [CONTRIBUTING.md](../../CONTRIBUTING.md).
|
||||
|
||||
```shell
|
||||
# Build ui for the devel environment - reachable at https://localhost:8043
|
||||
make ui-devel
|
||||
|
||||
# Alternatively, start the ui development server. While running, the ui will be reachable
|
||||
# at https://localhost:3000 and updated automatically when code changes.
|
||||
make ui-docker
|
||||
|
||||
# When using docker machine, use this command to start the ui development server instead.
|
||||
DOCKER_MACHINE_NAME=default make ui-docker-machine
|
||||
```
|
||||
|
||||
## Development with an external server
|
||||
If you normally run awx on an external host/server (in this example, `awx.local`),
|
||||
you'll need to reconfigure the webpack proxy slightly for `make ui-docker` to
|
||||
work:
|
||||
|
||||
```javascript
|
||||
/awx/settings/development.py
|
||||
+
|
||||
+CSRF_TRUSTED_ORIGINS = ['awx.local:8043']
|
||||
|
||||
awx/ui/build/webpack.watch.js
|
||||
- host: '127.0.0.1',
|
||||
+ host: '0.0.0.0',
|
||||
+ disableHostCheck: true,
|
||||
|
||||
/awx/ui/package.json
|
||||
@@ -7,7 +7,7 @@
|
||||
"config": {
|
||||
...
|
||||
+ "django_host": "awx.local"
|
||||
},
|
||||
```
|
||||
|
||||
## Testing
|
||||
```shell
|
||||
# run linters
|
||||
make jshint
|
||||
|
||||
# run unit tests
|
||||
make ui-test-ci
|
||||
|
||||
# run e2e tests - see awx/ui/test/e2e for more information
|
||||
npm --prefix awx/ui run e2e
|
||||
```
|
||||
**Note**: Unit tests are run on your host machine and not in the development containers.
|
||||
|
||||
## Adding dependencies
|
||||
```shell
|
||||
# add an exact development or build dependency
|
||||
npm install --prefix awx/ui --save-dev --save-exact dev-package@1.2.3
|
||||
|
||||
# add an exact production dependency
|
||||
npm install --prefix awx/ui --save --save-exact prod-package@1.23
|
||||
|
||||
# add the updated package.json and package-lock.json files to scm
|
||||
git add awx/ui/package.json awx/ui/package-lock.json
|
||||
```
|
||||
|
||||
## Removing dependencies
|
||||
```shell
|
||||
# remove a development or build dependency
|
||||
npm uninstall --prefix awx/ui --save-dev dev-package
|
||||
|
||||
# remove a production dependency
|
||||
npm uninstall --prefix awx/ui --save prod-package
|
||||
```
|
||||
|
||||
## Building for Production
|
||||
```shell
|
||||
# built files are placed in awx/ui/static
|
||||
make ui-release
|
||||
```
|
||||
|
||||
## Internationalization
|
||||
Application strings marked for translation are extracted and used to generate `.pot` files using the following command:
|
||||
```shell
|
||||
# extract strings and generate .pot files
|
||||
make pot
|
||||
```
|
||||
To include the translations in the development environment, we compile them prior to building the ui:
|
||||
```shell
|
||||
# remove any prior ui builds
|
||||
make clean-ui
|
||||
|
||||
# compile the .pot files to javascript files usable by the application
|
||||
make languages
|
||||
|
||||
# build the ui with translations included
|
||||
make ui-devel
|
||||
```
|
||||
**Note**: Python 3.6 is required to compile the `.pot` files.
|
||||
@ -2,3 +2,4 @@
|
||||
# All Rights Reserved.
|
||||
|
||||
default_app_config = 'awx.ui.apps.UIConfig'
|
||||
|
||||
|
||||
@ -7,3 +7,4 @@ class UIConfig(AppConfig):
|
||||
|
||||
name = 'awx.ui'
|
||||
verbose_name = _('UI')
|
||||
|
||||
|
||||
@ -1,235 +0,0 @@
|
||||
const path = require('path');
|
||||
|
||||
const webpack = require('webpack');
|
||||
const CleanWebpackPlugin = require('clean-webpack-plugin');
|
||||
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
const ExtractTextPlugin = require('extract-text-webpack-plugin');
|
||||
|
||||
const CLIENT_PATH = path.resolve(__dirname, '../client');
|
||||
const LIB_PATH = path.join(CLIENT_PATH, 'lib');
|
||||
const UI_PATH = path.resolve(__dirname, '..');
|
||||
|
||||
const ASSETS_PATH = path.join(CLIENT_PATH, 'assets');
|
||||
const COMPONENTS_PATH = path.join(LIB_PATH, 'components');
|
||||
const COVERAGE_PATH = path.join(UI_PATH, 'coverage');
|
||||
const FEATURES_PATH = path.join(CLIENT_PATH, 'features');
|
||||
const LANGUAGES_PATH = path.join(CLIENT_PATH, 'languages');
|
||||
const MODELS_PATH = path.join(LIB_PATH, 'models');
|
||||
const NODE_MODULES_PATH = path.join(UI_PATH, 'node_modules');
|
||||
const SERVICES_PATH = path.join(LIB_PATH, 'services');
|
||||
const SRC_PATH = path.join(CLIENT_PATH, 'src');
|
||||
const STATIC_PATH = path.join(UI_PATH, 'static');
|
||||
const TEST_PATH = path.join(UI_PATH, 'test');
|
||||
const THEME_PATH = path.join(LIB_PATH, 'theme');
|
||||
|
||||
const APP_ENTRY = path.join(SRC_PATH, 'app.js');
|
||||
const VENDOR_ENTRY = path.join(SRC_PATH, 'vendor.js');
|
||||
const INDEX_ENTRY = path.join(CLIENT_PATH, 'index.template.ejs');
|
||||
const INDEX_OUTPUT = path.join(UI_PATH, 'templates/ui/index.html');
|
||||
const INSTALL_RUNNING_ENTRY = path.join(CLIENT_PATH, 'installing.template.ejs');
|
||||
const INSTALL_RUNNING_OUTPUT = path.join(UI_PATH, 'templates/ui/installing.html');
|
||||
const THEME_ENTRY = path.join(LIB_PATH, 'theme', 'index.less');
|
||||
const OUTPUT = 'js/[name].[chunkhash].js';
|
||||
const CHUNKS = ['vendor', 'app'];
|
||||
|
||||
const VENDOR = VENDOR_ENTRY;
|
||||
const APP = [THEME_ENTRY, APP_ENTRY];
|
||||
|
||||
const base = {
|
||||
entry: {
|
||||
vendor: VENDOR,
|
||||
app: APP
|
||||
},
|
||||
output: {
|
||||
path: STATIC_PATH,
|
||||
publicPath: '',
|
||||
filename: OUTPUT
|
||||
},
|
||||
stats: {
|
||||
children: false,
|
||||
modules: false,
|
||||
chunks: false,
|
||||
excludeAssets: name => {
|
||||
const chunkNames = `(${CHUNKS.join('|')})`;
|
||||
const outputPattern = new RegExp(`${chunkNames}.[a-f0-9]+.(js|css)(|.map)$`, 'i');
|
||||
|
||||
return !outputPattern.test(name);
|
||||
}
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: {
|
||||
loader: 'istanbul-instrumenter-loader',
|
||||
options: { esModules: true }
|
||||
},
|
||||
enforce: 'pre',
|
||||
include: [
|
||||
/src\/network-ui\//
|
||||
]
|
||||
},
|
||||
{
|
||||
test: /\.js$/,
|
||||
loader: 'babel-loader',
|
||||
exclude: /node_modules/,
|
||||
options: {
|
||||
presets: [
|
||||
['env', {
|
||||
targets: {
|
||||
browsers: ['last 2 versions']
|
||||
}
|
||||
}]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
test: /\.css$/,
|
||||
use: ExtractTextPlugin.extract({
|
||||
use: {
|
||||
loader: 'css-loader',
|
||||
options: {
|
||||
url: false
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
{
|
||||
test: /lib\/theme\/index.less$/,
|
||||
use: ExtractTextPlugin.extract({
|
||||
use: ['css-loader', 'less-loader']
|
||||
})
|
||||
},
|
||||
{
|
||||
test: /\.html$/,
|
||||
use: ['ngtemplate-loader', 'html-loader'],
|
||||
include: [
|
||||
/lib\/components\//,
|
||||
/features\//,
|
||||
/src\//
|
||||
]
|
||||
},
|
||||
{
|
||||
test: /\.svg$/,
|
||||
use: ['ngtemplate-loader', 'html-loader'],
|
||||
include: [
|
||||
/lib\/components\//,
|
||||
/features\//,
|
||||
/src\//
|
||||
]
|
||||
},
|
||||
{
|
||||
test: /\.json$/,
|
||||
loader: 'json-loader',
|
||||
exclude: /node_modules/
|
||||
}
|
||||
]
|
||||
},
|
||||
plugins: [
|
||||
new webpack.ProvidePlugin({
|
||||
jsyaml: 'js-yaml',
|
||||
CodeMirror: 'codemirror',
|
||||
jsonlint: 'codemirror.jsonlint'
|
||||
}),
|
||||
new ExtractTextPlugin('css/[name].[chunkhash].css'),
|
||||
new CleanWebpackPlugin([STATIC_PATH, COVERAGE_PATH], {
|
||||
root: UI_PATH,
|
||||
verbose: false
|
||||
}),
|
||||
new CopyWebpackPlugin([
|
||||
{
|
||||
from: path.join(ASSETS_PATH, 'fontcustom/**/*'),
|
||||
to: path.join(STATIC_PATH, 'fonts/'),
|
||||
flatten: true
|
||||
},
|
||||
{
|
||||
from: path.join(NODE_MODULES_PATH, 'components-font-awesome/fonts/*'),
|
||||
to: path.join(STATIC_PATH, 'fonts/'),
|
||||
flatten: true
|
||||
},
|
||||
{
|
||||
from: path.join(ASSETS_PATH, 'custom-theme/images.new/*'),
|
||||
to: path.join(STATIC_PATH, 'images/'),
|
||||
flatten: true
|
||||
},
|
||||
{
|
||||
from: path.join(LANGUAGES_PATH, '*'),
|
||||
to: path.join(STATIC_PATH, 'languages'),
|
||||
flatten: true
|
||||
},
|
||||
{
|
||||
from: ASSETS_PATH,
|
||||
to: path.join(STATIC_PATH, 'assets')
|
||||
},
|
||||
{
|
||||
from: path.join(NODE_MODULES_PATH, 'angular-scheduler/lib/*.html'),
|
||||
to: path.join(STATIC_PATH, 'lib'),
|
||||
context: NODE_MODULES_PATH
|
||||
},
|
||||
{
|
||||
from: path.join(NODE_MODULES_PATH, 'angular-tz-extensions/tz/data/*'),
|
||||
to: path.join(STATIC_PATH, 'lib/'),
|
||||
context: NODE_MODULES_PATH
|
||||
},
|
||||
{
|
||||
from: path.join(SRC_PATH, '**/*.partial.html'),
|
||||
to: path.join(STATIC_PATH, 'partials/'),
|
||||
context: SRC_PATH
|
||||
},
|
||||
{
|
||||
from: path.join(SRC_PATH, 'partials', '*.html'),
|
||||
to: STATIC_PATH,
|
||||
context: SRC_PATH
|
||||
},
|
||||
{
|
||||
from: path.join(SRC_PATH, '*config.js'),
|
||||
to: STATIC_PATH,
|
||||
flatten: true
|
||||
}
|
||||
]),
|
||||
new HtmlWebpackPlugin({
|
||||
alwaysWriteToDisk: true,
|
||||
template: INDEX_ENTRY,
|
||||
filename: INDEX_OUTPUT,
|
||||
inject: false,
|
||||
chunks: CHUNKS,
|
||||
chunksSortMode: chunk => (chunk.names[0] === 'vendor' ? -1 : 1)
|
||||
}),
|
||||
new HtmlWebpackPlugin({
|
||||
alwaysWriteToDisk: true,
|
||||
template: INSTALL_RUNNING_ENTRY,
|
||||
filename: INSTALL_RUNNING_OUTPUT,
|
||||
inject: false,
|
||||
chunks: CHUNKS,
|
||||
chunksSortMode: chunk => (chunk.names[0] === 'vendor' ? -1 : 1)
|
||||
}),
|
||||
],
|
||||
resolve: {
|
||||
alias: {
|
||||
'~assets': ASSETS_PATH,
|
||||
'~components': COMPONENTS_PATH,
|
||||
'~features': FEATURES_PATH,
|
||||
'~models': MODELS_PATH,
|
||||
'~node_modules': NODE_MODULES_PATH,
|
||||
'~services': SERVICES_PATH,
|
||||
'~src': SRC_PATH,
|
||||
'~test': TEST_PATH,
|
||||
'~theme': THEME_PATH,
|
||||
'~ui': UI_PATH,
|
||||
d3$: '~node_modules/d3/d3.min.js',
|
||||
'codemirror.jsonlint$': '~node_modules/codemirror/addon/lint/json-lint.js',
|
||||
jquery: '~node_modules/jquery/dist/jquery.js',
|
||||
'jquery-resize$': '~node_modules/javascript-detect-element-resize/jquery.resize.js',
|
||||
select2$: '~node_modules/select2/dist/js/select2.full.min.js',
|
||||
'js-yaml$': '~node_modules/js-yaml/dist/js-yaml.min.js',
|
||||
'lr-infinite-scroll$': '~node_modules/lr-infinite-scroll/lrInfiniteScroll.js',
|
||||
'angular-tz-extensions$': '~node_modules/angular-tz-extensions/lib/angular-tz-extensions.js',
|
||||
'ng-toast-provider$': '~node_modules/ng-toast/src/scripts/provider.js',
|
||||
'ng-toast-directives$': '~node_modules/ng-toast/src/scripts/directives.js',
|
||||
'ng-toast$': '~node_modules/ng-toast/src/scripts/module.js'
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = base;
|
||||
@ -1,9 +0,0 @@
|
||||
const merge = require('webpack-merge');
|
||||
|
||||
const base = require('./webpack.base');
|
||||
|
||||
const development = {
|
||||
devtool: 'source-map'
|
||||
};
|
||||
|
||||
module.exports = merge(base, development);
|
||||
@ -1,28 +0,0 @@
|
||||
const path = require('path');
|
||||
|
||||
const merge = require('webpack-merge');
|
||||
const webpack = require('webpack');
|
||||
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
|
||||
const base = require('./webpack.base');
|
||||
|
||||
const CLIENT_PATH = path.resolve(__dirname, '../client');
|
||||
const UI_PATH = path.resolve(__dirname, '..');
|
||||
const CHUNKS = ['vendor', 'app'];
|
||||
|
||||
const production = {
|
||||
plugins: [
|
||||
new UglifyJSPlugin({
|
||||
compress: true,
|
||||
mangle: false
|
||||
}),
|
||||
new webpack.DefinePlugin({
|
||||
'process.env': {
|
||||
NODE_ENV: JSON.stringify('production')
|
||||
}
|
||||
})
|
||||
]
|
||||
};
|
||||
|
||||
module.exports = merge(base, production);
|
||||
@ -1,20 +0,0 @@
|
||||
const _ = require('lodash');
|
||||
const webpack = require('webpack');
|
||||
|
||||
const STATIC_URL = '/static/';
|
||||
|
||||
const development = require('./webpack.base');
|
||||
|
||||
const test = {
|
||||
devtool: 'cheap-source-map',
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
$basePath: STATIC_URL
|
||||
})
|
||||
]
|
||||
};
|
||||
|
||||
test.plugins = development.plugins.concat(test.plugins);
|
||||
|
||||
module.exports = _.merge(development, test);
|
||||
|
||||
@ -1,84 +0,0 @@
|
||||
const path = require('path');
|
||||
|
||||
const _ = require('lodash');
|
||||
const webpack = require('webpack');
|
||||
const merge = require('webpack-merge');
|
||||
const nodeObjectHash = require('node-object-hash');
|
||||
const HardSourceWebpackPlugin = require('hard-source-webpack-plugin');
|
||||
const HtmlWebpackHarddiskPlugin = require('html-webpack-harddisk-plugin');
|
||||
|
||||
const TARGET_PORT = _.get(process.env, 'npm_package_config_django_port', 8043);
|
||||
const TARGET_HOST = _.get(process.env, 'npm_package_config_django_host', 'https://localhost');
|
||||
const TARGET = `https://${TARGET_HOST}:${TARGET_PORT}`;
|
||||
const OUTPUT = 'js/[name].js';
|
||||
|
||||
const development = require('./webpack.development');
|
||||
|
||||
const watch = {
|
||||
cache: true,
|
||||
devtool: 'cheap-source-map',
|
||||
output: {
|
||||
filename: OUTPUT
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
enforce: 'pre',
|
||||
exclude: /node_modules/,
|
||||
loader: 'eslint-loader'
|
||||
}
|
||||
]
|
||||
},
|
||||
plugins: [
|
||||
new HtmlWebpackHarddiskPlugin(),
|
||||
new HardSourceWebpackPlugin({
|
||||
cacheDirectory: 'node_modules/.cache/hard-source/[confighash]',
|
||||
recordsPath: 'node_modules/.cache/hard-source/[confighash]/records.json',
|
||||
configHash: config => nodeObjectHash({ sort: false }).hash(config),
|
||||
environmentHash: {
|
||||
root: process.cwd(),
|
||||
directories: ['node_modules'],
|
||||
files: ['package.json']
|
||||
}
|
||||
}),
|
||||
new webpack.HotModuleReplacementPlugin()
|
||||
],
|
||||
devServer: {
|
||||
hot: true,
|
||||
inline: true,
|
||||
contentBase: path.resolve(__dirname, '..', 'static'),
|
||||
stats: 'minimal',
|
||||
publicPath: '/static/',
|
||||
host: '127.0.0.1',
|
||||
https: true,
|
||||
port: 3000,
|
||||
clientLogLevel: 'none',
|
||||
proxy: [{
|
||||
context: (pathname, req) => !(pathname === '/api/login/' && req.method === 'POST'),
|
||||
target: TARGET,
|
||||
secure: false,
|
||||
ws: false,
|
||||
bypass: req => req.originalUrl.includes('hot-update.json')
|
||||
},
|
||||
{
|
||||
context: '/api/login/',
|
||||
target: TARGET,
|
||||
secure: false,
|
||||
ws: false,
|
||||
headers: {
|
||||
Host: `localhost:${TARGET_PORT}`,
|
||||
Origin: TARGET,
|
||||
Referer: `${TARGET}/`
|
||||
}
|
||||
},
|
||||
{
|
||||
context: '/websocket',
|
||||
target: TARGET,
|
||||
secure: false,
|
||||
ws: true
|
||||
}]
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = merge(development, watch);
|
||||
@ -1,5 +0,0 @@
|
||||
REVISION=588429
|
||||
CHROMIUM_URL="https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/${REVISION}/chrome-linux.zip"
|
||||
|
||||
wget ${CHROMIUM_URL} -w 30 -t 6 -O /tmp/chrome-linux.zip
|
||||
unzip -o -d /tmp /tmp/chrome-linux.zip
|
||||
@ -1,202 +0,0 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 212 B |
|
Before Width: | Height: | Size: 206 B |
|
Before Width: | Height: | Size: 206 B |
|
Before Width: | Height: | Size: 208 B |
|
Before Width: | Height: | Size: 208 B |
|
Before Width: | Height: | Size: 206 B |
|
Before Width: | Height: | Size: 206 B |
|
Before Width: | Height: | Size: 208 B |
|
Before Width: | Height: | Size: 335 B |
|
Before Width: | Height: | Size: 326 B |
|
Before Width: | Height: | Size: 262 B |
|
Before Width: | Height: | Size: 332 B |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 372 B |
|
Before Width: | Height: | Size: 253 B |
|
Before Width: | Height: | Size: 292 B |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 212 B |
|
Before Width: | Height: | Size: 208 B |
|
Before Width: | Height: | Size: 208 B |
|
Before Width: | Height: | Size: 206 B |
|
Before Width: | Height: | Size: 206 B |
|
Before Width: | Height: | Size: 326 B |
|
Before Width: | Height: | Size: 262 B |
|
Before Width: | Height: | Size: 332 B |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 253 B |
|
Before Width: | Height: | Size: 292 B |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
@ -1,358 +0,0 @@
|
||||
.ui-helper-hidden{display:none;}
|
||||
.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;}
|
||||
.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none;}
|
||||
.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse;}
|
||||
.ui-helper-clearfix:after{clear:both;}
|
||||
.ui-helper-clearfix{min-height:0;}
|
||||
.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:alpha(opacity=0);}
|
||||
.ui-front{z-index:100;}
|
||||
.ui-state-disabled{cursor:default !important;}
|
||||
.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;}
|
||||
.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%;}
|
||||
.ui-resizable{position:relative;}
|
||||
.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;}
|
||||
.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none;}
|
||||
.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0;}
|
||||
.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0;}
|
||||
.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%;}
|
||||
.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%;}
|
||||
.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px;}
|
||||
.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px;}
|
||||
.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px;}
|
||||
.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px;}
|
||||
.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black;}
|
||||
.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;min-height:0;}
|
||||
.ui-accordion-header{font-weight:bold;}
|
||||
.ui-accordion .ui-accordion-icons{padding-left:2.2em;}
|
||||
.ui-accordion .ui-accordion-noicons{padding-left:.7em;}
|
||||
.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em;}
|
||||
.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px;}
|
||||
.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto;}
|
||||
.ui-autocomplete{position:absolute;top:0;left:0;cursor:default;}
|
||||
.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible;}
|
||||
.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none;}
|
||||
.ui-button-icon-only{width:2.2em;}
|
||||
button.ui-button-icon-only{width:2.4em;}
|
||||
.ui-button-icons-only{width:3.4em;}
|
||||
button.ui-button-icons-only{width:3.7em;}
|
||||
.ui-button .ui-button-text{display:block;line-height:normal;}
|
||||
.ui-button-text-only .ui-button-text{padding:.4em 1em;}
|
||||
.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px;}
|
||||
.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em;}
|
||||
.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em;}
|
||||
.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em;}
|
||||
input.ui-button{padding:.4em 1em;}
|
||||
.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px;}
|
||||
.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px;}
|
||||
.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em;}
|
||||
.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em;}
|
||||
.ui-buttonset{margin-right:7px;}
|
||||
.ui-buttonset .ui-button{margin-left:0;margin-right:-0.3em;}
|
||||
input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0;}
|
||||
.ui-datepicker{width:17em;padding:.2em .2em 0;display:none;}
|
||||
.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0;}
|
||||
.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em;}
|
||||
.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px;}
|
||||
.ui-datepicker .ui-datepicker-prev{left:2px;}
|
||||
.ui-datepicker .ui-datepicker-next{right:2px;}
|
||||
.ui-datepicker .ui-datepicker-prev-hover{left:1px;}
|
||||
.ui-datepicker .ui-datepicker-next-hover{right:1px;}
|
||||
.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px;}
|
||||
.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center;}
|
||||
.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0;}
|
||||
.ui-datepicker select.ui-datepicker-month-year{width:100%;}
|
||||
.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%;}
|
||||
.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em;}
|
||||
.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0;}
|
||||
.ui-datepicker td{border:0;padding:1px;}
|
||||
.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none;}
|
||||
.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0;}
|
||||
.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible;}
|
||||
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left;}
|
||||
.ui-datepicker.ui-datepicker-multi{width:auto;}
|
||||
.ui-datepicker-multi .ui-datepicker-group{float:left;}
|
||||
.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em;}
|
||||
.ui-datepicker-multi-2 .ui-datepicker-group{width:50%;}
|
||||
.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%;}
|
||||
.ui-datepicker-multi-4 .ui-datepicker-group{width:25%;}
|
||||
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0;}
|
||||
.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left;}
|
||||
.ui-datepicker-row-break{clear:both;width:100%;font-size:0;}
|
||||
.ui-datepicker-rtl{direction:rtl;}
|
||||
.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto;}
|
||||
.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto;}
|
||||
.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto;}
|
||||
.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto;}
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right;}
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left;}
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right;}
|
||||
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px;}
|
||||
.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0;}
|
||||
.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative;}
|
||||
.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis;}
|
||||
.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px;}
|
||||
.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto;}
|
||||
.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em;}
|
||||
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right;}
|
||||
.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer;}
|
||||
.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px;}
|
||||
.ui-draggable .ui-dialog-titlebar{cursor:move;}
|
||||
.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:none;}
|
||||
.ui-menu .ui-menu{margin-top:-3px;position:absolute;}
|
||||
.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);}
|
||||
.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0;}
|
||||
.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:normal;}
|
||||
.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px;}
|
||||
.ui-menu .ui-state-disabled{font-weight:normal;margin:.4em 0 .2em;line-height:1.5;}
|
||||
.ui-menu .ui-state-disabled a{cursor:default;}
|
||||
.ui-menu-icons{position:relative;}
|
||||
.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em;}
|
||||
.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em;}
|
||||
.ui-menu .ui-menu-icon{position:static;float:right;}
|
||||
.ui-progressbar{height:2em;text-align:left;overflow:hidden;}
|
||||
.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%;}
|
||||
.ui-progressbar .ui-progressbar-overlay{background:url("/static/images/animated-overlay.gif");height:100%;filter:alpha(opacity=25);opacity:0.25;}
|
||||
.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none;}
|
||||
.ui-slider{position:relative;text-align:left;}
|
||||
.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;}
|
||||
.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0;}
|
||||
.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit;}
|
||||
.ui-slider-horizontal{height:.8em;}
|
||||
.ui-slider-horizontal .ui-slider-handle{top:-0.3em;margin-left:-0.6em;}
|
||||
.ui-slider-horizontal .ui-slider-range{top:0;height:100%;}
|
||||
.ui-slider-horizontal .ui-slider-range-min{left:0;}
|
||||
.ui-slider-horizontal .ui-slider-range-max{right:0;}
|
||||
.ui-slider-vertical{width:.8em;height:100px;}
|
||||
.ui-slider-vertical .ui-slider-handle{left:-0.3em;margin-left:0;margin-bottom:-0.6em;}
|
||||
.ui-slider-vertical .ui-slider-range{left:0;width:100%;}
|
||||
.ui-slider-vertical .ui-slider-range-min{bottom:0;}
|
||||
.ui-slider-vertical .ui-slider-range-max{top:0;}
|
||||
.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle;}
|
||||
.ui-spinner-input{border:none;background:none;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px;}
|
||||
.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0;}
|
||||
.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none;}
|
||||
.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0;}
|
||||
.ui-spinner-up{top:0;}
|
||||
.ui-spinner-down{bottom:0;}
|
||||
.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px;}
|
||||
.ui-tabs{position:relative;padding:.2em;}
|
||||
.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0;}
|
||||
.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap;}
|
||||
.ui-tabs .ui-tabs-nav li a{float:left;padding:.5em 1em;text-decoration:none;}
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px;}
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-active a,.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text;}
|
||||
.ui-tabs .ui-tabs-nav li a,.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;}
|
||||
.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none;}
|
||||
.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa;}
|
||||
body .ui-tooltip{border-width:2px;}
|
||||
.ui-widget{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;}
|
||||
.ui-widget .ui-widget{font-size:1em;}
|
||||
.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{}
|
||||
.ui-widget-content{border:1px solid #a6c9e2;background:#fcfdfd url(/static/images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x;color:#36454F;font-weight:normal;}
|
||||
.ui-widget-content a{color:#0088cc;}
|
||||
.ui-widget-header{border:1px solid #a6c9e2;background:#ffffff url(/static/images/ui-bg_flat_50_ffffff_40x100.png) 50% 50% repeat-x;color:#36454F;font-weight:bold;}
|
||||
.ui-widget-header a{color:#36454F;}
|
||||
.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #a6c9e2;background:#ffffff url(/static/images/ui-bg_flat_100_ffffff_40x100.png) 50% 50% repeat-x;font-weight:bold;color:#0088cc;}
|
||||
.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#0088cc;text-decoration:none;}
|
||||
.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #e3e3e3;background:#e5e3e3 url(/static/images/ui-bg_flat_75_e5e3e3_40x100.png) 50% 50% repeat-x;font-weight:bold;color:#005580;}
|
||||
.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#005580;text-decoration:none;}
|
||||
.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #e3e3e3;background:#f5f5f5 url(/static/images/ui-bg_inset-hard_100_f5f5f5_1x100.png) 50% 50% repeat-x;font-weight:bold;color:#36454F;}
|
||||
.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#36454F;text-decoration:none;}
|
||||
.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fad42e;background:#fbec88 url(/static/images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x;color:#363636;}
|
||||
.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636;}
|
||||
.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(/static/images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a;}
|
||||
.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a;}
|
||||
.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a;}
|
||||
.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:normal;}
|
||||
.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:alpha(opacity=70);font-weight:bold;}
|
||||
.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:alpha(opacity=35);background-image:none;}
|
||||
.ui-state-disabled .ui-icon{filter:alpha(opacity=35);}
|
||||
.ui-icon{width:16px;height:16px;}
|
||||
.ui-icon,.ui-widget-content .ui-icon{background-image:url(/static/images/ui-icons_469bdd_256x240.png);}
|
||||
.ui-widget-header .ui-icon{background-image:url(/static/images/ui-icons_36454F_256x240.png);}
|
||||
.ui-state-default .ui-icon{background-image:url(/static/images/ui-icons_0088cc_256x240.png);}
|
||||
.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(/static/images/ui-icons_217bc0_256x240.png);}
|
||||
.ui-state-active .ui-icon{background-image:url(/static/images/ui-icons_36454F_256x240.png);}
|
||||
.ui-state-highlight .ui-icon{background-image:url(/static/images/ui-icons_2e83ff_256x240.png);}
|
||||
.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(/static/images/ui-icons_cd0a0a_256x240.png);}
|
||||
.ui-icon-blank{background-position:16px 16px;}
|
||||
.ui-icon-carat-1-n{background-position:0 0;}
|
||||
.ui-icon-carat-1-ne{background-position:-16px 0;}
|
||||
.ui-icon-carat-1-e{background-position:-32px 0;}
|
||||
.ui-icon-carat-1-se{background-position:-48px 0;}
|
||||
.ui-icon-carat-1-s{background-position:-64px 0;}
|
||||
.ui-icon-carat-1-sw{background-position:-80px 0;}
|
||||
.ui-icon-carat-1-w{background-position:-96px 0;}
|
||||
.ui-icon-carat-1-nw{background-position:-112px 0;}
|
||||
.ui-icon-carat-2-n-s{background-position:-128px 0;}
|
||||
.ui-icon-carat-2-e-w{background-position:-144px 0;}
|
||||
.ui-icon-triangle-1-n{background-position:0 -16px;}
|
||||
.ui-icon-triangle-1-ne{background-position:-16px -16px;}
|
||||
.ui-icon-triangle-1-e{background-position:-32px -16px;}
|
||||
.ui-icon-triangle-1-se{background-position:-48px -16px;}
|
||||
.ui-icon-triangle-1-s{background-position:-64px -16px;}
|
||||
.ui-icon-triangle-1-sw{background-position:-80px -16px;}
|
||||
.ui-icon-triangle-1-w{background-position:-96px -16px;}
|
||||
.ui-icon-triangle-1-nw{background-position:-112px -16px;}
|
||||
.ui-icon-triangle-2-n-s{background-position:-128px -16px;}
|
||||
.ui-icon-triangle-2-e-w{background-position:-144px -16px;}
|
||||
.ui-icon-arrow-1-n{background-position:0 -32px;}
|
||||
.ui-icon-arrow-1-ne{background-position:-16px -32px;}
|
||||
.ui-icon-arrow-1-e{background-position:-32px -32px;}
|
||||
.ui-icon-arrow-1-se{background-position:-48px -32px;}
|
||||
.ui-icon-arrow-1-s{background-position:-64px -32px;}
|
||||
.ui-icon-arrow-1-sw{background-position:-80px -32px;}
|
||||
.ui-icon-arrow-1-w{background-position:-96px -32px;}
|
||||
.ui-icon-arrow-1-nw{background-position:-112px -32px;}
|
||||
.ui-icon-arrow-2-n-s{background-position:-128px -32px;}
|
||||
.ui-icon-arrow-2-ne-sw{background-position:-144px -32px;}
|
||||
.ui-icon-arrow-2-e-w{background-position:-160px -32px;}
|
||||
.ui-icon-arrow-2-se-nw{background-position:-176px -32px;}
|
||||
.ui-icon-arrowstop-1-n{background-position:-192px -32px;}
|
||||
.ui-icon-arrowstop-1-e{background-position:-208px -32px;}
|
||||
.ui-icon-arrowstop-1-s{background-position:-224px -32px;}
|
||||
.ui-icon-arrowstop-1-w{background-position:-240px -32px;}
|
||||
.ui-icon-arrowthick-1-n{background-position:0 -48px;}
|
||||
.ui-icon-arrowthick-1-ne{background-position:-16px -48px;}
|
||||
.ui-icon-arrowthick-1-e{background-position:-32px -48px;}
|
||||
.ui-icon-arrowthick-1-se{background-position:-48px -48px;}
|
||||
.ui-icon-arrowthick-1-s{background-position:-64px -48px;}
|
||||
.ui-icon-arrowthick-1-sw{background-position:-80px -48px;}
|
||||
.ui-icon-arrowthick-1-w{background-position:-96px -48px;}
|
||||
.ui-icon-arrowthick-1-nw{background-position:-112px -48px;}
|
||||
.ui-icon-arrowthick-2-n-s{background-position:-128px -48px;}
|
||||
.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px;}
|
||||
.ui-icon-arrowthick-2-e-w{background-position:-160px -48px;}
|
||||
.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px;}
|
||||
.ui-icon-arrowthickstop-1-n{background-position:-192px -48px;}
|
||||
.ui-icon-arrowthickstop-1-e{background-position:-208px -48px;}
|
||||
.ui-icon-arrowthickstop-1-s{background-position:-224px -48px;}
|
||||
.ui-icon-arrowthickstop-1-w{background-position:-240px -48px;}
|
||||
.ui-icon-arrowreturnthick-1-w{background-position:0 -64px;}
|
||||
.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px;}
|
||||
.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px;}
|
||||
.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px;}
|
||||
.ui-icon-arrowreturn-1-w{background-position:-64px -64px;}
|
||||
.ui-icon-arrowreturn-1-n{background-position:-80px -64px;}
|
||||
.ui-icon-arrowreturn-1-e{background-position:-96px -64px;}
|
||||
.ui-icon-arrowreturn-1-s{background-position:-112px -64px;}
|
||||
.ui-icon-arrowrefresh-1-w{background-position:-128px -64px;}
|
||||
.ui-icon-arrowrefresh-1-n{background-position:-144px -64px;}
|
||||
.ui-icon-arrowrefresh-1-e{background-position:-160px -64px;}
|
||||
.ui-icon-arrowrefresh-1-s{background-position:-176px -64px;}
|
||||
.ui-icon-arrow-4{background-position:0 -80px;}
|
||||
.ui-icon-arrow-4-diag{background-position:-16px -80px;}
|
||||
.ui-icon-extlink{background-position:-32px -80px;}
|
||||
.ui-icon-newwin{background-position:-48px -80px;}
|
||||
.ui-icon-refresh{background-position:-64px -80px;}
|
||||
.ui-icon-shuffle{background-position:-80px -80px;}
|
||||
.ui-icon-transfer-e-w{background-position:-96px -80px;}
|
||||
.ui-icon-transferthick-e-w{background-position:-112px -80px;}
|
||||
.ui-icon-folder-collapsed{background-position:0 -96px;}
|
||||
.ui-icon-folder-open{background-position:-16px -96px;}
|
||||
.ui-icon-document{background-position:-32px -96px;}
|
||||
.ui-icon-document-b{background-position:-48px -96px;}
|
||||
.ui-icon-note{background-position:-64px -96px;}
|
||||
.ui-icon-mail-closed{background-position:-80px -96px;}
|
||||
.ui-icon-mail-open{background-position:-96px -96px;}
|
||||
.ui-icon-suitcase{background-position:-112px -96px;}
|
||||
.ui-icon-comment{background-position:-128px -96px;}
|
||||
.ui-icon-person{background-position:-144px -96px;}
|
||||
.ui-icon-print{background-position:-160px -96px;}
|
||||
.ui-icon-trash{background-position:-176px -96px;}
|
||||
.ui-icon-locked{background-position:-192px -96px;}
|
||||
.ui-icon-unlocked{background-position:-208px -96px;}
|
||||
.ui-icon-bookmark{background-position:-224px -96px;}
|
||||
.ui-icon-tag{background-position:-240px -96px;}
|
||||
.ui-icon-home{background-position:0 -112px;}
|
||||
.ui-icon-flag{background-position:-16px -112px;}
|
||||
.ui-icon-calendar{background-position:-32px -112px;}
|
||||
.ui-icon-cart{background-position:-48px -112px;}
|
||||
.ui-icon-pencil{background-position:-64px -112px;}
|
||||
.ui-icon-clock{background-position:-80px -112px;}
|
||||
.ui-icon-disk{background-position:-96px -112px;}
|
||||
.ui-icon-calculator{background-position:-112px -112px;}
|
||||
.ui-icon-zoomin{background-position:-128px -112px;}
|
||||
.ui-icon-zoomout{background-position:-144px -112px;}
|
||||
.ui-icon-search{background-position:-160px -112px;}
|
||||
.ui-icon-wrench{background-position:-176px -112px;}
|
||||
.ui-icon-gear{background-position:-192px -112px;}
|
||||
.ui-icon-heart{background-position:-208px -112px;}
|
||||
.ui-icon-star{background-position:-224px -112px;}
|
||||
.ui-icon-link{background-position:-240px -112px;}
|
||||
.ui-icon-cancel{background-position:0 -128px;}
|
||||
.ui-icon-plus{background-position:-16px -128px;}
|
||||
.ui-icon-plusthick{background-position:-32px -128px;}
|
||||
.ui-icon-minus{background-position:-48px -128px;}
|
||||
.ui-icon-minusthick{background-position:-64px -128px;}
|
||||
.ui-icon-close{background-position:-80px -128px;}
|
||||
.ui-icon-closethick{background-position:-96px -128px;}
|
||||
.ui-icon-key{background-position:-112px -128px;}
|
||||
.ui-icon-lightbulb{background-position:-128px -128px;}
|
||||
.ui-icon-scissors{background-position:-144px -128px;}
|
||||
.ui-icon-clipboard{background-position:-160px -128px;}
|
||||
.ui-icon-copy{background-position:-176px -128px;}
|
||||
.ui-icon-contact{background-position:-192px -128px;}
|
||||
.ui-icon-image{background-position:-208px -128px;}
|
||||
.ui-icon-video{background-position:-224px -128px;}
|
||||
.ui-icon-script{background-position:-240px -128px;}
|
||||
.ui-icon-alert{background-position:0 -144px;}
|
||||
.ui-icon-info{background-position:-16px -144px;}
|
||||
.ui-icon-notice{background-position:-32px -144px;}
|
||||
.ui-icon-help{background-position:-48px -144px;}
|
||||
.ui-icon-check{background-position:-64px -144px;}
|
||||
.ui-icon-bullet{background-position:-80px -144px;}
|
||||
.ui-icon-radio-on{background-position:-96px -144px;}
|
||||
.ui-icon-radio-off{background-position:-112px -144px;}
|
||||
.ui-icon-pin-w{background-position:-128px -144px;}
|
||||
.ui-icon-pin-s{background-position:-144px -144px;}
|
||||
.ui-icon-play{background-position:0 -160px;}
|
||||
.ui-icon-pause{background-position:-16px -160px;}
|
||||
.ui-icon-seek-next{background-position:-32px -160px;}
|
||||
.ui-icon-seek-prev{background-position:-48px -160px;}
|
||||
.ui-icon-seek-end{background-position:-64px -160px;}
|
||||
.ui-icon-seek-start{background-position:-80px -160px;}
|
||||
.ui-icon-seek-first{background-position:-80px -160px;}
|
||||
.ui-icon-stop{background-position:-96px -160px;}
|
||||
.ui-icon-eject{background-position:-112px -160px;}
|
||||
.ui-icon-volume-off{background-position:-128px -160px;}
|
||||
.ui-icon-volume-on{background-position:-144px -160px;}
|
||||
.ui-icon-power{background-position:0 -176px;}
|
||||
.ui-icon-signal-diag{background-position:-16px -176px;}
|
||||
.ui-icon-signal{background-position:-32px -176px;}
|
||||
.ui-icon-battery-0{background-position:-48px -176px;}
|
||||
.ui-icon-battery-1{background-position:-64px -176px;}
|
||||
.ui-icon-battery-2{background-position:-80px -176px;}
|
||||
.ui-icon-battery-3{background-position:-96px -176px;}
|
||||
.ui-icon-circle-plus{background-position:0 -192px;}
|
||||
.ui-icon-circle-minus{background-position:-16px -192px;}
|
||||
.ui-icon-circle-close{background-position:-32px -192px;}
|
||||
.ui-icon-circle-triangle-e{background-position:-48px -192px;}
|
||||
.ui-icon-circle-triangle-s{background-position:-64px -192px;}
|
||||
.ui-icon-circle-triangle-w{background-position:-80px -192px;}
|
||||
.ui-icon-circle-triangle-n{background-position:-96px -192px;}
|
||||
.ui-icon-circle-arrow-e{background-position:-112px -192px;}
|
||||
.ui-icon-circle-arrow-s{background-position:-128px -192px;}
|
||||
.ui-icon-circle-arrow-w{background-position:-144px -192px;}
|
||||
.ui-icon-circle-arrow-n{background-position:-160px -192px;}
|
||||
.ui-icon-circle-zoomin{background-position:-176px -192px;}
|
||||
.ui-icon-circle-zoomout{background-position:-192px -192px;}
|
||||
.ui-icon-circle-check{background-position:-208px -192px;}
|
||||
.ui-icon-circlesmall-plus{background-position:0 -208px;}
|
||||
.ui-icon-circlesmall-minus{background-position:-16px -208px;}
|
||||
.ui-icon-circlesmall-close{background-position:-32px -208px;}
|
||||
.ui-icon-squaresmall-plus{background-position:-48px -208px;}
|
||||
.ui-icon-squaresmall-minus{background-position:-64px -208px;}
|
||||
.ui-icon-squaresmall-close{background-position:-80px -208px;}
|
||||
.ui-icon-grip-dotted-vertical{background-position:0 -224px;}
|
||||
.ui-icon-grip-dotted-horizontal{background-position:-16px -224px;}
|
||||
.ui-icon-grip-solid-vertical{background-position:-32px -224px;}
|
||||
.ui-icon-grip-solid-horizontal{background-position:-48px -224px;}
|
||||
.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px;}
|
||||
.ui-icon-grip-diagonal-se{background-position:-80px -224px;}
|
||||
.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:5px;}
|
||||
.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:5px;}
|
||||
.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:5px;}
|
||||
.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:5px;}
|
||||
.ui-widget-overlay{background:#aaaaaa url(/static/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:alpha(opacity=30);}
|
||||
.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaaaaa url(/static/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:alpha(opacity=30);border-radius:8px;}
|
||||
|
Before Width: | Height: | Size: 5.3 KiB |
@ -1,70 +0,0 @@
|
||||
{
|
||||
"checksum": {
|
||||
"previous": "3dfbafd778b214fc5df2a64fe14fbfb30ba40e33282eedf0d98b5a613786db88",
|
||||
"current": "3dfbafd778b214fc5df2a64fe14fbfb30ba40e33282eedf0d98b5a613786db88"
|
||||
},
|
||||
"fonts": [
|
||||
"./fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.ttf",
|
||||
"./fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.svg",
|
||||
"./fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.woff",
|
||||
"./fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.eot"
|
||||
],
|
||||
"glyphs": {
|
||||
"activity-stream": {
|
||||
"codepoint": 61697,
|
||||
"source": "new_icons/activity-stream.svg"
|
||||
},
|
||||
"google": {
|
||||
"codepoint": 61698,
|
||||
"source": "new_icons/google.svg"
|
||||
},
|
||||
"launch": {
|
||||
"codepoint": 61699,
|
||||
"source": "new_icons/launch.svg"
|
||||
},
|
||||
"microsoft": {
|
||||
"codepoint": 61700,
|
||||
"source": "new_icons/microsoft.svg"
|
||||
},
|
||||
"saml-02": {
|
||||
"codepoint": 61701,
|
||||
"source": "new_icons/saml-02.svg"
|
||||
},
|
||||
"user": {
|
||||
"codepoint": 61702,
|
||||
"source": "new_icons/user.svg"
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"autowidth": false,
|
||||
"config": false,
|
||||
"css_selector": ".icon-{{glyph}}",
|
||||
"debug": false,
|
||||
"font_ascent": 448,
|
||||
"font_descent": 64,
|
||||
"font_design_size": 16,
|
||||
"font_em": 512,
|
||||
"font_name": "fontcustom",
|
||||
"force": false,
|
||||
"input": {
|
||||
"templates": "new_icons/",
|
||||
"vectors": "new_icons/"
|
||||
},
|
||||
"no_hash": false,
|
||||
"output": {
|
||||
"css": ".",
|
||||
"fonts": ".",
|
||||
"preview": "."
|
||||
},
|
||||
"preprocessor_path": null,
|
||||
"quiet": false,
|
||||
"templates": [
|
||||
"css",
|
||||
"preview"
|
||||
]
|
||||
},
|
||||
"templates": [
|
||||
"./fontcustom.css",
|
||||
"./fontcustom-preview.html"
|
||||
]
|
||||
}
|
||||
@ -1,293 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>fontcustom glyphs preview</title>
|
||||
|
||||
<style>
|
||||
/* Page Styles */
|
||||
|
||||
* {
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
background: #fff;
|
||||
color: #444;
|
||||
font: 16px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
a,
|
||||
a:visited {
|
||||
color: #888;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a:hover,
|
||||
a:focus { color: #000; }
|
||||
|
||||
header {
|
||||
border-bottom: 2px solid #ddd;
|
||||
margin-bottom: 20px;
|
||||
overflow: hidden;
|
||||
padding: 20px 0;
|
||||
}
|
||||
|
||||
header h1 {
|
||||
color: #888;
|
||||
float: left;
|
||||
font-size: 36px;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
header a {
|
||||
float: right;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.container {
|
||||
margin: 0 auto;
|
||||
max-width: 1200px;
|
||||
min-width: 960px;
|
||||
padding: 0 40px;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.glyph {
|
||||
border-bottom: 1px dotted #ccc;
|
||||
padding: 10px 0 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.preview-glyphs { vertical-align: bottom; }
|
||||
|
||||
.preview-scale {
|
||||
color: #888;
|
||||
font-size: 12px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.step {
|
||||
display: inline-block;
|
||||
line-height: 1;
|
||||
position: relative;
|
||||
width: 10%;
|
||||
}
|
||||
|
||||
.step .letters,
|
||||
.step i {
|
||||
-webkit-transition: opacity .3s;
|
||||
-moz-transition: opacity .3s;
|
||||
-ms-transition: opacity .3s;
|
||||
-o-transition: opacity .3s;
|
||||
transition: opacity .3s;
|
||||
}
|
||||
|
||||
.step:hover .letters { opacity: 1; }
|
||||
.step:hover i { opacity: .3; }
|
||||
|
||||
.letters {
|
||||
opacity: .3;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.characters-off .letters { display: none; }
|
||||
.characters-off .step:hover i { opacity: 1; }
|
||||
|
||||
|
||||
.size-12 { font-size: 12px; }
|
||||
|
||||
.size-14 { font-size: 14px; }
|
||||
|
||||
.size-16 { font-size: 16px; }
|
||||
|
||||
.size-18 { font-size: 18px; }
|
||||
|
||||
.size-21 { font-size: 21px; }
|
||||
|
||||
.size-24 { font-size: 24px; }
|
||||
|
||||
.size-36 { font-size: 36px; }
|
||||
|
||||
.size-48 { font-size: 48px; }
|
||||
|
||||
.size-60 { font-size: 60px; }
|
||||
|
||||
.size-72 { font-size: 72px; }
|
||||
|
||||
|
||||
.usage { margin-top: 10px; }
|
||||
|
||||
.usage input {
|
||||
font-family: monospace;
|
||||
margin-right: 3px;
|
||||
padding: 2px 5px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.usage .point { width: 150px; }
|
||||
|
||||
.usage .class { width: 250px; }
|
||||
|
||||
footer {
|
||||
color: #888;
|
||||
font-size: 12px;
|
||||
padding: 20px 0;
|
||||
}
|
||||
|
||||
/* Icon Font: fontcustom */
|
||||
|
||||
@font-face {
|
||||
font-family: "fontcustom";
|
||||
src: url("./fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.eot");
|
||||
src: url("./fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.eot?#iefix") format("embedded-opentype"),
|
||||
url("./fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.woff") format("woff"),
|
||||
url("./fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.ttf") format("truetype"),
|
||||
url("./fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.svg#fontcustom") format("svg");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
||||
@font-face {
|
||||
font-family: "fontcustom";
|
||||
src: url("./fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.svg#fontcustom") format("svg");
|
||||
}
|
||||
}
|
||||
|
||||
[data-icon]:before { content: attr(data-icon); }
|
||||
|
||||
[data-icon]:before,
|
||||
.icon-activity-stream:before,
|
||||
.icon-google:before,
|
||||
.icon-launch:before,
|
||||
.icon-microsoft:before,
|
||||
.icon-saml-02:before,
|
||||
.icon-user:before {
|
||||
display: inline-block;
|
||||
font-family: "fontcustom";
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
line-height: 1;
|
||||
text-decoration: inherit;
|
||||
text-rendering: optimizeLegibility;
|
||||
text-transform: none;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
.icon-activity-stream:before { content: "\f101"; }
|
||||
.icon-google:before { content: "\f102"; }
|
||||
.icon-launch:before { content: "\f103"; }
|
||||
.icon-microsoft:before { content: "\f104"; }
|
||||
.icon-saml-02:before { content: "\f105"; }
|
||||
.icon-user:before { content: "\f106"; }
|
||||
</style>
|
||||
|
||||
<!--[if lte IE 8]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
|
||||
|
||||
<script>
|
||||
function toggleCharacters() {
|
||||
var body = document.getElementsByTagName('body')[0];
|
||||
body.className = body.className === 'characters-off' ? '' : 'characters-off';
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="characters-off">
|
||||
<div id="page" class="container">
|
||||
<header>
|
||||
<h1>fontcustom contains 6 glyphs:</h1>
|
||||
<a onclick="toggleCharacters(); return false;" href="#">Toggle Preview Characters</a>
|
||||
</header>
|
||||
|
||||
|
||||
<div class="glyph">
|
||||
<div class="preview-glyphs">
|
||||
<span class="step size-12"><span class="letters">Pp</span><i id="icon-activity-stream" class="icon-activity-stream"></i></span><span class="step size-14"><span class="letters">Pp</span><i id="icon-activity-stream" class="icon-activity-stream"></i></span><span class="step size-16"><span class="letters">Pp</span><i id="icon-activity-stream" class="icon-activity-stream"></i></span><span class="step size-18"><span class="letters">Pp</span><i id="icon-activity-stream" class="icon-activity-stream"></i></span><span class="step size-21"><span class="letters">Pp</span><i id="icon-activity-stream" class="icon-activity-stream"></i></span><span class="step size-24"><span class="letters">Pp</span><i id="icon-activity-stream" class="icon-activity-stream"></i></span><span class="step size-36"><span class="letters">Pp</span><i id="icon-activity-stream" class="icon-activity-stream"></i></span><span class="step size-48"><span class="letters">Pp</span><i id="icon-activity-stream" class="icon-activity-stream"></i></span><span class="step size-60"><span class="letters">Pp</span><i id="icon-activity-stream" class="icon-activity-stream"></i></span><span class="step size-72"><span class="letters">Pp</span><i id="icon-activity-stream" class="icon-activity-stream"></i></span>
|
||||
</div>
|
||||
<div class="preview-scale">
|
||||
<span class="step">12</span><span class="step">14</span><span class="step">16</span><span class="step">18</span><span class="step">21</span><span class="step">24</span><span class="step">36</span><span class="step">48</span><span class="step">60</span><span class="step">72</span>
|
||||
</div>
|
||||
<div class="usage">
|
||||
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".icon-activity-stream" />
|
||||
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&#xf101;" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="glyph">
|
||||
<div class="preview-glyphs">
|
||||
<span class="step size-12"><span class="letters">Pp</span><i id="icon-google" class="icon-google"></i></span><span class="step size-14"><span class="letters">Pp</span><i id="icon-google" class="icon-google"></i></span><span class="step size-16"><span class="letters">Pp</span><i id="icon-google" class="icon-google"></i></span><span class="step size-18"><span class="letters">Pp</span><i id="icon-google" class="icon-google"></i></span><span class="step size-21"><span class="letters">Pp</span><i id="icon-google" class="icon-google"></i></span><span class="step size-24"><span class="letters">Pp</span><i id="icon-google" class="icon-google"></i></span><span class="step size-36"><span class="letters">Pp</span><i id="icon-google" class="icon-google"></i></span><span class="step size-48"><span class="letters">Pp</span><i id="icon-google" class="icon-google"></i></span><span class="step size-60"><span class="letters">Pp</span><i id="icon-google" class="icon-google"></i></span><span class="step size-72"><span class="letters">Pp</span><i id="icon-google" class="icon-google"></i></span>
|
||||
</div>
|
||||
<div class="preview-scale">
|
||||
<span class="step">12</span><span class="step">14</span><span class="step">16</span><span class="step">18</span><span class="step">21</span><span class="step">24</span><span class="step">36</span><span class="step">48</span><span class="step">60</span><span class="step">72</span>
|
||||
</div>
|
||||
<div class="usage">
|
||||
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".icon-google" />
|
||||
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&#xf102;" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="glyph">
|
||||
<div class="preview-glyphs">
|
||||
<span class="step size-12"><span class="letters">Pp</span><i id="icon-launch" class="icon-launch"></i></span><span class="step size-14"><span class="letters">Pp</span><i id="icon-launch" class="icon-launch"></i></span><span class="step size-16"><span class="letters">Pp</span><i id="icon-launch" class="icon-launch"></i></span><span class="step size-18"><span class="letters">Pp</span><i id="icon-launch" class="icon-launch"></i></span><span class="step size-21"><span class="letters">Pp</span><i id="icon-launch" class="icon-launch"></i></span><span class="step size-24"><span class="letters">Pp</span><i id="icon-launch" class="icon-launch"></i></span><span class="step size-36"><span class="letters">Pp</span><i id="icon-launch" class="icon-launch"></i></span><span class="step size-48"><span class="letters">Pp</span><i id="icon-launch" class="icon-launch"></i></span><span class="step size-60"><span class="letters">Pp</span><i id="icon-launch" class="icon-launch"></i></span><span class="step size-72"><span class="letters">Pp</span><i id="icon-launch" class="icon-launch"></i></span>
|
||||
</div>
|
||||
<div class="preview-scale">
|
||||
<span class="step">12</span><span class="step">14</span><span class="step">16</span><span class="step">18</span><span class="step">21</span><span class="step">24</span><span class="step">36</span><span class="step">48</span><span class="step">60</span><span class="step">72</span>
|
||||
</div>
|
||||
<div class="usage">
|
||||
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".icon-launch" />
|
||||
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&#xf103;" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="glyph">
|
||||
<div class="preview-glyphs">
|
||||
<span class="step size-12"><span class="letters">Pp</span><i id="icon-microsoft" class="icon-microsoft"></i></span><span class="step size-14"><span class="letters">Pp</span><i id="icon-microsoft" class="icon-microsoft"></i></span><span class="step size-16"><span class="letters">Pp</span><i id="icon-microsoft" class="icon-microsoft"></i></span><span class="step size-18"><span class="letters">Pp</span><i id="icon-microsoft" class="icon-microsoft"></i></span><span class="step size-21"><span class="letters">Pp</span><i id="icon-microsoft" class="icon-microsoft"></i></span><span class="step size-24"><span class="letters">Pp</span><i id="icon-microsoft" class="icon-microsoft"></i></span><span class="step size-36"><span class="letters">Pp</span><i id="icon-microsoft" class="icon-microsoft"></i></span><span class="step size-48"><span class="letters">Pp</span><i id="icon-microsoft" class="icon-microsoft"></i></span><span class="step size-60"><span class="letters">Pp</span><i id="icon-microsoft" class="icon-microsoft"></i></span><span class="step size-72"><span class="letters">Pp</span><i id="icon-microsoft" class="icon-microsoft"></i></span>
|
||||
</div>
|
||||
<div class="preview-scale">
|
||||
<span class="step">12</span><span class="step">14</span><span class="step">16</span><span class="step">18</span><span class="step">21</span><span class="step">24</span><span class="step">36</span><span class="step">48</span><span class="step">60</span><span class="step">72</span>
|
||||
</div>
|
||||
<div class="usage">
|
||||
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".icon-microsoft" />
|
||||
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&#xf104;" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="glyph">
|
||||
<div class="preview-glyphs">
|
||||
<span class="step size-12"><span class="letters">Pp</span><i id="icon-saml-02" class="icon-saml-02"></i></span><span class="step size-14"><span class="letters">Pp</span><i id="icon-saml-02" class="icon-saml-02"></i></span><span class="step size-16"><span class="letters">Pp</span><i id="icon-saml-02" class="icon-saml-02"></i></span><span class="step size-18"><span class="letters">Pp</span><i id="icon-saml-02" class="icon-saml-02"></i></span><span class="step size-21"><span class="letters">Pp</span><i id="icon-saml-02" class="icon-saml-02"></i></span><span class="step size-24"><span class="letters">Pp</span><i id="icon-saml-02" class="icon-saml-02"></i></span><span class="step size-36"><span class="letters">Pp</span><i id="icon-saml-02" class="icon-saml-02"></i></span><span class="step size-48"><span class="letters">Pp</span><i id="icon-saml-02" class="icon-saml-02"></i></span><span class="step size-60"><span class="letters">Pp</span><i id="icon-saml-02" class="icon-saml-02"></i></span><span class="step size-72"><span class="letters">Pp</span><i id="icon-saml-02" class="icon-saml-02"></i></span>
|
||||
</div>
|
||||
<div class="preview-scale">
|
||||
<span class="step">12</span><span class="step">14</span><span class="step">16</span><span class="step">18</span><span class="step">21</span><span class="step">24</span><span class="step">36</span><span class="step">48</span><span class="step">60</span><span class="step">72</span>
|
||||
</div>
|
||||
<div class="usage">
|
||||
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".icon-saml-02" />
|
||||
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&#xf105;" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="glyph">
|
||||
<div class="preview-glyphs">
|
||||
<span class="step size-12"><span class="letters">Pp</span><i id="icon-user" class="icon-user"></i></span><span class="step size-14"><span class="letters">Pp</span><i id="icon-user" class="icon-user"></i></span><span class="step size-16"><span class="letters">Pp</span><i id="icon-user" class="icon-user"></i></span><span class="step size-18"><span class="letters">Pp</span><i id="icon-user" class="icon-user"></i></span><span class="step size-21"><span class="letters">Pp</span><i id="icon-user" class="icon-user"></i></span><span class="step size-24"><span class="letters">Pp</span><i id="icon-user" class="icon-user"></i></span><span class="step size-36"><span class="letters">Pp</span><i id="icon-user" class="icon-user"></i></span><span class="step size-48"><span class="letters">Pp</span><i id="icon-user" class="icon-user"></i></span><span class="step size-60"><span class="letters">Pp</span><i id="icon-user" class="icon-user"></i></span><span class="step size-72"><span class="letters">Pp</span><i id="icon-user" class="icon-user"></i></span>
|
||||
</div>
|
||||
<div class="preview-scale">
|
||||
<span class="step">12</span><span class="step">14</span><span class="step">16</span><span class="step">18</span><span class="step">21</span><span class="step">24</span><span class="step">36</span><span class="step">48</span><span class="step">60</span><span class="step">72</span>
|
||||
</div>
|
||||
<div class="usage">
|
||||
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".icon-user" />
|
||||
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&#xf106;" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<footer>
|
||||
Made with love using <a href="http://fontcustom.com">Font Custom</a>.
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,51 +0,0 @@
|
||||
/*
|
||||
Icon Font: fontcustom
|
||||
*/
|
||||
|
||||
@font-face {
|
||||
font-family: "fontcustom";
|
||||
src: url("/static/fonts/fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.eot");
|
||||
src: url("/static/fonts/fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.eot?#iefix") format("embedded-opentype"),
|
||||
url("/static/fonts/fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.woff") format("woff"),
|
||||
url("/static/fonts/fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.ttf") format("truetype"),
|
||||
url("/static/fonts/fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.svg#fontcustom") format("svg");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
||||
@font-face {
|
||||
font-family: "fontcustom";
|
||||
src: url("/static/fonts/fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.svg#fontcustom") format("svg");
|
||||
}
|
||||
}
|
||||
|
||||
[data-icon]:before { content: attr(data-icon); }
|
||||
|
||||
[data-icon]:before,
|
||||
.icon-activity-stream:before,
|
||||
.icon-google:before,
|
||||
.icon-launch:before,
|
||||
.icon-microsoft:before,
|
||||
.icon-saml-02:before,
|
||||
.icon-user:before {
|
||||
display: inline-block;
|
||||
font-family: "fontcustom";
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
line-height: 1;
|
||||
text-decoration: inherit;
|
||||
text-rendering: optimizeLegibility;
|
||||
text-transform: none;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
.icon-activity-stream:before { content: "\f101"; }
|
||||
.icon-google:before { content: "\f102"; }
|
||||
.icon-launch:before { content: "\f103"; }
|
||||
.icon-microsoft:before { content: "\f104"; }
|
||||
.icon-saml-02:before { content: "\f105"; }
|
||||
.icon-user:before { content: "\f106"; }
|
||||
@ -1,76 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<!--
|
||||
2016-11-28: Created.
|
||||
-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>
|
||||
Created by FontForge 20120731 at Mon Nov 28 21:58:48 2016
|
||||
By Chris Church
|
||||
Created by Chris Church with FontForge 2.0 (http://fontforge.sf.net)
|
||||
</metadata>
|
||||
<defs>
|
||||
<font id="fontcustom" horiz-adv-x="512" >
|
||||
<font-face
|
||||
font-family="fontcustom"
|
||||
font-weight="500"
|
||||
font-stretch="normal"
|
||||
units-per-em="512"
|
||||
panose-1="2 0 6 3 0 0 0 0 0 0"
|
||||
ascent="448"
|
||||
descent="-64"
|
||||
bbox="0 -64 512 448.256"
|
||||
underline-thickness="25.6"
|
||||
underline-position="-51.2"
|
||||
unicode-range="U+0020-F106"
|
||||
/>
|
||||
<missing-glyph />
|
||||
<glyph glyph-name="space" unicode=" " horiz-adv-x="200"
|
||||
/>
|
||||
<glyph glyph-name="uniF105" unicode=""
|
||||
d="M512 192c0 -141.312 -114.688 -256 -256 -256s-256 114.688 -256 256c0 141.312 114.688 256 256 256s256 -114.688 256 -256zM356.608 170.496c-12.5439 16.3838 -36.0967 32.7676 -70.1445 49.1523c-25.8555 12.2871 -42.2402 20.9912 -49.1514 25.5996
|
||||
c-6.91211 4.86426 -12.0322 9.72754 -15.1045 14.8477s-4.86426 11.0078 -4.86426 17.9199c0 11.0088 3.83984 19.9688 11.7764 26.624c7.93555 6.91211 19.2002 10.2402 33.792 10.2402c12.2881 0 24.832 -1.53613 37.6318 -4.86426
|
||||
c12.7998 -3.07129 28.9277 -8.70312 48.3838 -16.6396l25.0879 60.1602c-18.9434 8.19141 -36.8633 14.5918 -54.0156 18.9443c-17.1523 4.35156 -35.3281 6.65527 -54.2725 6.65527c-38.6553 0 -68.8633 -9.21582 -90.8799 -27.6475
|
||||
c-22.0156 -18.4326 -32.7676 -44.0322 -32.7676 -76.2881c0 -17.1523 3.32812 -32.2559 9.98438 -45.0566c6.65527 -12.7998 15.6152 -24.0635 26.623 -33.792c11.2646 -9.72754 27.9043 -19.7119 50.1768 -30.208c23.8076 -11.2637 39.6797 -19.7119 47.3594 -24.8311
|
||||
c7.68066 -5.12012 13.5684 -10.4961 17.6641 -16.1289c4.09668 -5.63184 5.88867 -12.0312 5.88867 -19.1992c0 -12.8008 -4.6084 -22.5283 -13.5684 -28.9287c-8.95996 -6.39941 -22.0156 -9.72754 -39.168 -9.72754c-14.0801 0 -29.6963 2.30371 -46.8477 6.65625
|
||||
c-17.1523 4.60742 -37.8887 12.2881 -62.7207 23.2959v-71.6807c29.9521 -14.5918 64.5127 -22.0156 103.424 -22.0156c42.2402 0 75.2646 9.47168 99.0723 28.416c23.8086 18.9443 35.584 45.0557 35.584 78.0801c0 23.8076 -6.39941 43.7764 -18.9434 60.416z" />
|
||||
<glyph glyph-name="uniF102" unicode=""
|
||||
d="M512 192c0 -141.312 -114.688 -256 -256 -256s-256 114.688 -256 256c0 141.312 114.688 256 256 256s256 -114.688 256 -256zM104.96 269.568c20.7363 41.2158 57.8564 73.7275 100.864 88.832c38.6562 13.3115 81.9199 13.0557 120.319 -1.02441
|
||||
c21.5049 -7.93555 40.96 -20.2236 57.6006 -35.584c-5.63184 -6.14355 -11.7764 -11.7764 -17.4082 -17.6641c-10.752 -11.0078 -21.7598 -21.7598 -32.7676 -32.7676c-10.752 10.2393 -24.0645 18.1758 -38.4004 22.5273
|
||||
c-16.8955 5.12012 -35.0723 5.88867 -52.4795 2.04785c-19.9688 -4.35156 -38.6562 -14.8477 -53.248 -29.6953c-11.5205 -11.7764 -20.4805 -26.3682 -25.8564 -41.9844c-19.4561 15.1045 -38.9121 30.208 -58.624 45.3125zM105.216 109.568
|
||||
c19.4561 15.1035 38.9121 30.208 58.3682 45.3115c-7.67969 22.2725 -7.67969 47.1045 0 69.6318c-19.7119 15.1045 -39.168 30.208 -58.624 45.3125c-7.16797 -14.3359 -12.2881 -29.4404 -15.6162 -45.0566c-7.67969 -38.6553 -2.04785 -80.1279 15.8721 -115.199z
|
||||
M264.448 153.344c0.255859 23.2959 0.255859 46.3359 0.255859 69.8887h167.936c5.37598 -31.4883 4.35254 -64.2568 -4.60742 -94.9766c-8.19238 -28.1602 -23.8086 -54.2715 -45.3125 -74.2402c-18.9434 14.5928 -37.8877 29.4404 -56.832 44.0322
|
||||
c18.9443 12.7998 32 33.0244 35.8398 55.2959h-97.2793zM153.344 49.9199c19.2002 -15.3604 41.2158 -26.624 64.7686 -32.7676c29.6953 -7.93652 61.4395 -7.68066 91.3916 -1.02441c27.1357 6.14453 52.7363 19.2002 73.2158 38.1445
|
||||
c-18.9434 14.5918 -37.8877 29.4395 -56.832 44.0312c-11.7754 -7.93555 -25.3438 -13.0557 -39.4238 -15.6162c-14.0801 -2.30371 -28.6719 -2.81543 -42.4961 0c-14.0801 2.81641 -27.9033 8.7041 -39.6797 17.1523c-18.9443 13.3125 -33.2803 32.7686 -40.96 54.7842
|
||||
c-19.4561 -15.1045 -38.9121 -30.208 -58.3682 -45.3125c11.7764 -23.0391 28.416 -43.5195 48.3838 -59.3916z" />
|
||||
<glyph glyph-name="uniF103" unicode=""
|
||||
d="M512 436.224c0 -5.12012 -2.55957 -121.6 -77.5684 -196.607l-94.9756 -94.9766c7.93555 -22.0156 22.5283 -97.0234 -82.9443 -202.752l-0.511719 -0.511719c-1.53613 -1.79199 -3.58398 -2.55957 -5.63184 -2.81641h-2.04785
|
||||
c-2.04785 0.256836 -3.83984 1.02441 -5.37598 2.56055l-0.256836 0.255859c-2.81543 2.81641 -3.58398 7.16797 -1.79102 10.752c0.255859 0.768555 33.0234 68.3525 9.9834 104.192l-23.5518 -23.5527c-0.511719 -0.511719 -1.02441 -1.02344 -1.79199 -1.53516
|
||||
c-1.02441 -0.512695 -16.1279 -8.96094 -39.9365 -3.84082c-3.07129 -6.14355 -7.42383 -11.7754 -12.2881 -17.1514c-23.8076 -25.0879 -59.6475 -36.6084 -93.4395 -38.9121c-7.42383 -0.511719 -14.8477 -0.511719 -22.2725 0
|
||||
c-8.19141 0.511719 -15.6152 5.63184 -18.4316 13.5684c-2.04785 5.37598 -1.53613 12.5439 -1.53613 18.1758c0.255859 10.4961 1.02441 20.7354 3.07227 30.9756c3.32812 17.4082 9.21582 34.3037 18.1758 49.4082c8.44824 14.3359 20.2236 27.6484 35.0723 35.3281
|
||||
c-5.37598 23.8076 3.32812 39.168 3.83984 40.1914c0.511719 0.512695 1.02441 1.28027 1.53613 1.79199l23.5518 23.5527c-35.8398 23.04 -103.424 -9.72852 -104.191 -9.98438c-3.58496 -1.79199 -7.93652 -1.02344 -10.7529 1.79199
|
||||
c-0.511719 0.511719 -0.767578 0.768555 -1.02344 1.28027c-2.56055 3.83984 -2.30371 8.7041 1.02344 12.0322c105.984 105.728 181.248 91.1357 203.265 83.4561l94.9756 94.9756c65.792 65.792 163.328 76.0322 189.696 77.5684
|
||||
c3.83984 0.255859 6.14355 0.255859 6.65625 0.255859c0.767578 0 1.2793 0 2.04785 -0.255859c1.79199 -0.512695 3.32812 -1.28027 4.60742 -2.56055c1.79199 -1.79199 2.81641 -4.0957 2.81641 -6.65625zM162.304 22.7842
|
||||
c6.14453 1.53613 11.7764 3.83984 17.9199 6.14355c-14.5918 4.09668 -32.2559 13.8242 -51.4561 33.0244c-19.4551 19.4561 -28.9277 36.8643 -33.2793 51.7119c-5.88867 -15.1045 -9.47266 -30.4639 -11.7764 -46.3359
|
||||
c-1.28027 -9.21582 -2.04785 -18.4316 -2.55957 -27.9043c-0.255859 -4.0957 -0.512695 -8.19141 -0.512695 -12.2881c-0.255859 -2.81543 -0.255859 -6.91211 -0.255859 -9.72754c0 -1.28027 1.79199 -3.32812 3.32812 -3.32812
|
||||
c18.6885 -0.511719 37.6318 0.767578 56.0645 4.0957c7.67969 1.28027 15.1035 2.81641 22.5273 4.6084zM357.12 251.648c22.2715 0 40.4482 18.4316 40.4482 40.7031c0 22.2725 -18.1768 40.4482 -40.4482 40.4482c-22.2725 0 -40.4482 -18.4316 -40.4482 -40.7041
|
||||
c0 -22.2715 18.1758 -40.4473 40.4482 -40.4473z" />
|
||||
<glyph glyph-name="uniF106" unicode=""
|
||||
d="M256 445.44c140.032 0 253.44 -113.408 253.44 -253.44s-113.408 -253.44 -253.44 -253.44s-253.44 113.408 -253.44 253.44s113.408 253.44 253.44 253.44zM423.168 57.3438c29.6963 36.8643 47.6162 83.7119 47.6162 134.656
|
||||
c0 118.528 -96.2559 214.784 -214.784 214.784s-214.784 -96.2559 -214.784 -214.784c0 -49.6641 16.8965 -95.2324 45.0566 -131.584c25.3438 46.8477 60.416 56.5762 60.416 56.5762h21.7598c23.5518 0 42.752 19.2002 42.752 42.752v14.3359
|
||||
c-8.44824 10.2402 -15.1045 22.0156 -19.2002 34.5596c-0.767578 2.56055 -1.28027 5.63281 -3.58398 7.16797c-9.47168 7.68066 -12.0322 22.0166 -6.14355 32.5127c1.02344 2.04785 3.07129 3.83984 2.81543 6.39941c0 12.7998 -0.255859 25.6006 0 38.4004
|
||||
c0.511719 12.0322 3.32812 24.0635 10.2402 34.0479c7.67969 11.5195 19.9678 19.2002 33.2803 22.5283c15.1035 3.83984 31.2314 3.83984 46.5918 1.02344c12.0322 -2.30371 23.8076 -7.93555 32.5117 -16.8955c10.752 -11.2646 15.1045 -27.1367 15.3604 -42.2402
|
||||
v-37.6318c0 -1.79199 1.53613 -3.07227 2.30371 -4.6084c6.14355 -9.9834 4.6084 -23.8076 -3.58398 -32c-1.53613 -1.53613 -3.83984 -2.81543 -4.35156 -5.12012c-4.09668 -14.0801 -11.0088 -27.3916 -20.4805 -38.6553v-13.8242
|
||||
c0 -23.5518 19.2002 -42.752 42.752 -42.752h21.5039s36.6084 -10.2402 61.9521 -59.6484z" />
|
||||
<glyph glyph-name="uniF104" unicode=""
|
||||
d="M512 192c0 -141.312 -114.688 -256 -256 -256s-256 114.688 -256 256c0 141.312 114.688 256 256 256s256 -114.688 256 -256zM117.76 209.92v128h128v-128h-128zM268.8 209.92v128h128v-128h-128zM268.8 58.8799v128h128v-128h-128zM117.76 58.8799v128h128v-128h-128z
|
||||
" />
|
||||
<glyph glyph-name="uniF101" unicode=""
|
||||
d="M474.112 133.12h31.2314c-26.624 -113.152 -128 -197.12 -249.088 -197.12c-119.04 0 -218.88 81.1523 -247.552 190.976h84.9922c7.42383 0 13.8232 4.09668 15.6152 9.72852l23.8086 71.168l33.792 -155.904c1.53613 -6.91211 8.95996 -11.5195 17.1523 -11.0078
|
||||
c8.19141 0.768555 14.8477 6.65625 14.8477 13.3125v72.7031h45.0557c8.19238 0 14.8486 4.86426 16.1279 11.5205l25.3438 144.384l55.04 -251.392c1.28027 -6.40039 8.19238 -11.0078 15.6162 -11.0078h0.255859c7.68066 0 14.3359 4.60742 15.6162 10.752l24.832 104.703
|
||||
h12.5439l18.6885 -25.8555c3.07129 -4.0957 8.19141 -6.65625 13.5674 -6.65625s10.752 2.30469 13.8242 6.14453zM81.4082 153.6h-78.3359c-1.79199 12.5439 -2.81641 25.3447 -2.81641 38.4004c0 141.312 114.433 256.256 255.744 256.256s256 -114.688 256 -256
|
||||
c0 -11.0078 -0.767578 -21.7598 -2.04785 -32.2559h-44.7998c-5.37598 0 -10.4961 -2.55957 -13.5684 -6.14355l-8.95996 -11.7764l-10.2402 14.0801c-2.81543 3.83984 -8.19141 6.39941 -13.8242 6.39941h-34.8154c-7.93652 0 -14.5918 -4.60742 -15.8721 -10.752
|
||||
l-10.752 -45.8232l-57.0879 261.888c-1.28027 6.40039 -8.44824 11.5195 -16.1279 11.0078c-7.93652 -0.255859 -14.5918 -4.86426 -15.6162 -11.5195l-37.6318 -213.761h-48.1279c-1.53613 0 -3.32812 0 -4.86426 -0.511719l-25.3438 116.992
|
||||
c-1.53613 6.14355 -7.93652 10.4961 -15.3604 11.0078c-8.19238 0.768555 -14.0801 -3.83984 -16.1279 -9.98438z" />
|
||||
</font>
|
||||
</defs></svg>
|
||||
|
Before Width: | Height: | Size: 9.2 KiB |
@ -1,78 +0,0 @@
|
||||
{
|
||||
"checksum": {
|
||||
"previous": "d77a9996ed04d45b02f5c06874cd36db7f5daa9833b1a6c36bef7029a767a34f",
|
||||
"current": "d77a9996ed04d45b02f5c06874cd36db7f5daa9833b1a6c36bef7029a767a34f"
|
||||
},
|
||||
"fonts": [
|
||||
"..//fontcustom_d77a9996ed04d45b02f5c06874cd36db.ttf",
|
||||
"..//fontcustom_d77a9996ed04d45b02f5c06874cd36db.svg",
|
||||
"..//fontcustom_d77a9996ed04d45b02f5c06874cd36db.woff",
|
||||
"..//fontcustom_d77a9996ed04d45b02f5c06874cd36db.eot"
|
||||
],
|
||||
"glyphs": {
|
||||
"activity-stream": {
|
||||
"codepoint": 61698,
|
||||
"source": "./activity-stream.svg"
|
||||
},
|
||||
"google": {
|
||||
"codepoint": 61696,
|
||||
"source": "./google.svg"
|
||||
},
|
||||
"launch": {
|
||||
"codepoint": 61699,
|
||||
"source": "./launch.svg"
|
||||
},
|
||||
"launch-circle": {
|
||||
"codepoint": 61701,
|
||||
"source": "./launch-circle.svg"
|
||||
},
|
||||
"launch-new": {
|
||||
"codepoint": 61703,
|
||||
"source": "./launch-new.svg"
|
||||
},
|
||||
"launch2": {
|
||||
"codepoint": 61702,
|
||||
"source": "./launch2.svg"
|
||||
},
|
||||
"saml-02": {
|
||||
"codepoint": 61697,
|
||||
"source": "./saml-02.svg"
|
||||
},
|
||||
"user": {
|
||||
"codepoint": 61700,
|
||||
"source": "./user.svg"
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"autowidth": false,
|
||||
"config": false,
|
||||
"css_selector": ".icon-{{glyph}}",
|
||||
"debug": false,
|
||||
"font_ascent": 448,
|
||||
"font_descent": 64,
|
||||
"font_design_size": 16,
|
||||
"font_em": 512,
|
||||
"font_name": "fontcustom",
|
||||
"force": true,
|
||||
"input": {
|
||||
"templates": ".",
|
||||
"vectors": "."
|
||||
},
|
||||
"no_hash": false,
|
||||
"output": {
|
||||
"css": "../",
|
||||
"fonts": "../",
|
||||
"preview": "../"
|
||||
},
|
||||
"preprocessor_path": null,
|
||||
"quiet": false,
|
||||
"templates": [
|
||||
"css",
|
||||
"preview"
|
||||
]
|
||||
},
|
||||
"templates": [
|
||||
"../fontcustom.css",
|
||||
"../fontcustom-preview.html"
|
||||
]
|
||||
}
|
||||
@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 200 200" style="enable-background:new 0 0 200 200;" xml:space="preserve">
|
||||
<g>
|
||||
<path d="M185.2,123l-7.3,9.2c-1.2,1.5-3.3,2.4-5.4,2.4c-2.1,0-4.1-1-5.3-2.6l-7.3-10.1H155l-9.7,40.9c-0.5,2.4-3.1,4.2-6.1,4.2
|
||||
h-0.1c-2.9,0-5.6-1.8-6.1-4.3l-21.5-98.2l-9.9,56.4c-0.5,2.6-3.1,4.5-6.3,4.5H77.7v28.4c0,2.6-2.6,4.9-5.8,5.2
|
||||
c-3.2,0.2-6.1-1.6-6.7-4.3L52,93.8l-9.3,27.8c-0.7,2.2-3.2,3.8-6.1,3.8H3.4c11.2,42.9,50.2,74.6,96.7,74.6
|
||||
c47.3,0,86.9-32.8,97.3-77H185.2z"/>
|
||||
<path d="M31.8,115l15.4-45.9c0.8-2.4,3.1-4.2,6.3-3.9c2.9,0.2,5.4,1.9,6,4.3l9.9,45.7c0.6-0.2,1.3-0.2,1.9-0.2h18.8l14.7-83.5
|
||||
c0.4-2.6,3-4.4,6.1-4.5c3-0.2,5.8,1.8,6.3,4.3l22.3,102.3l4.2-17.9c0.5-2.4,3.1-4.2,6.2-4.2h13.6c2.2,0,4.3,1,5.4,2.5l4,5.5
|
||||
l3.5-4.6c1.2-1.4,3.2-2.4,5.3-2.4h17.5c0.5-4.1,0.8-8.3,0.8-12.6c0-55.2-44.8-100-100-100S0.1,44.8,0.1,100c0,5.1,0.4,10.1,1.1,15
|
||||
H31.8z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 200 200" style="enable-background:new 0 0 200 200;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#CCCCCC;}
|
||||
</style>
|
||||
<path class="st0" d="M200,100c0,55.2-44.8,100-100,100S0,155.2,0,100S44.8,0,100,0S200,44.8,200,100z M41,69.7
|
||||
c7.7,5.9,15.3,11.8,22.9,17.7C66,81.3,69.5,75.6,74,71c5.7-5.8,13-9.9,20.8-11.6c6.8-1.5,13.9-1.2,20.5,0.8c5.6,1.7,10.8,4.8,15,8.8
|
||||
c4.3-4.3,8.6-8.5,12.8-12.8c2.2-2.3,4.6-4.5,6.8-6.9c-6.5-6-14.1-10.8-22.5-13.9c-15-5.5-31.9-5.6-47-0.4
|
||||
C63.6,40.9,49.1,53.6,41,69.7z M41.1,132.2c7.6-5.9,15.2-11.8,22.8-17.7c-3-8.7-3-18.4,0-27.2c-7.7-5.9-15.3-11.8-22.9-17.7
|
||||
c-2.8,5.6-4.8,11.5-6.1,17.6C31.9,102.3,34.1,118.5,41.1,132.2z M103.3,115.1c12.7,0,25.4,0,38,0c-1.5,8.7-6.6,16.6-14,21.6
|
||||
c7.4,5.7,14.8,11.5,22.2,17.2c8.4-7.8,14.5-18,17.7-29c3.5-12,3.9-24.8,1.8-37.1c-21.9,0-43.8,0-65.6,0
|
||||
C103.4,97,103.4,106,103.3,115.1z M59.9,155.5c7.5,6,16.1,10.4,25.3,12.8c11.6,3.1,24,3,35.7,0.4c10.6-2.4,20.6-7.5,28.6-14.9
|
||||
c-7.4-5.7-14.8-11.5-22.2-17.2c-4.6,3.1-9.9,5.1-15.4,6.1c-5.5,0.9-11.2,1.1-16.6,0c-5.5-1.1-10.9-3.4-15.5-6.7
|
||||
c-7.4-5.2-13-12.8-16-21.4c-7.6,5.9-15.2,11.8-22.8,17.7C45.6,141.3,52.1,149.3,59.9,155.5z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.4 KiB |
@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 200 200" style="enable-background:new 0 0 200 200;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#020202;}
|
||||
</style>
|
||||
<path class="st0" d="M200,4.6c0-1-0.4-1.9-1.1-2.6c-0.5-0.5-1.1-0.8-1.8-1c-0.3-0.1-0.5-0.1-0.8-0.1c-0.2,0-1.1,0-2.6,0.1
|
||||
c-10.3,0.6-48.4,4.6-74.1,30.3L82.5,68.4c-8.6-3-38-8.7-79.4,32.6c-1.3,1.3-1.4,3.2-0.4,4.7c0.1,0.2,0.2,0.3,0.4,0.5
|
||||
c1.1,1.1,2.8,1.4,4.2,0.7C7.6,106.8,34,94,48,103l-9.2,9.2c-0.2,0.2-0.4,0.5-0.6,0.7c-0.2,0.4-3.6,6.4-1.5,15.7
|
||||
c-5.8,3-10.4,8.2-13.7,13.8c-3.5,5.9-5.8,12.5-7.1,19.3c-0.8,4-1.1,8-1.2,12.1c0,2.2-0.2,5,0.6,7.1c1.1,3.1,4,5.1,7.2,5.3
|
||||
c2.9,0.2,5.8,0.2,8.7,0c13.2-0.9,27.2-5.4,36.5-15.2c1.9-2.1,3.6-4.3,4.8-6.7c9.3,2,15.2-1.3,15.6-1.5c0.3-0.2,0.5-0.4,0.7-0.6
|
||||
L98,153c9,14-3.8,40.4-3.9,40.7c-0.7,1.4-0.4,3.1,0.7,4.2c0,0,0,0,0.1,0.1c0.6,0.6,1.3,0.9,2.1,1h0.8c0.8-0.1,1.6-0.4,2.2-1.1
|
||||
c0.1-0.1,0.1-0.1,0.2-0.2c41.2-41.3,35.5-70.6,32.4-79.2l37.1-37.1C199,52.1,200,6.6,200,4.6z M63.4,166.1c-2.9,0.7-5.8,1.3-8.8,1.8
|
||||
c-7.2,1.3-14.6,1.8-21.9,1.6c-0.6,0-1.3-0.8-1.3-1.3c0-1.1,0-2.7,0.1-3.8c0-1.6,0.1-3.2,0.2-4.8c0.2-3.7,0.5-7.3,1-10.9
|
||||
c0.9-6.2,2.3-12.2,4.6-18.1c1.7,5.8,5.4,12.6,13,20.2c7.5,7.5,14.4,11.3,20.1,12.9C68,164.6,65.8,165.5,63.4,166.1z M139.5,76.7
|
||||
c-8.7,0-15.8-7.1-15.8-15.8S130.8,45,139.5,45s15.8,7.1,15.8,15.8S148.2,76.7,139.5,76.7z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.6 KiB |
@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 200 200" style="enable-background:new 0 0 200 200;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#CCCCCC;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M200,100c0,55.2-44.8,100-100,100S0,155.2,0,100S44.8,0,100,0S200,44.8,200,100z"/>
|
||||
<rect x="46" y="43" class="st1" width="50" height="50"/>
|
||||
<rect x="105" y="43" class="st1" width="50" height="50"/>
|
||||
<rect x="105" y="102" class="st1" width="50" height="50"/>
|
||||
<rect x="46" y="102" class="st1" width="50" height="50"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 765 B |
@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 200 200" style="enable-background:new 0 0 200 200;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#CCCCCC;}
|
||||
</style>
|
||||
<path class="st0" d="M200,100c0,55.2-44.8,100-100,100S0,155.2,0,100S44.8,0,100,0S200,44.8,200,100z M139.3,108.4
|
||||
c-4.9-6.4-14.1-12.8-27.4-19.2c-10.1-4.8-16.5-8.2-19.2-10c-2.7-1.9-4.7-3.8-5.9-5.8c-1.2-2-1.9-4.3-1.9-7c0-4.3,1.5-7.8,4.6-10.4
|
||||
c3.1-2.7,7.5-4,13.2-4c4.8,0,9.7,0.6,14.7,1.9c5,1.2,11.3,3.4,18.9,6.5l9.8-23.5c-7.4-3.2-14.4-5.7-21.1-7.4s-13.8-2.6-21.2-2.6
|
||||
c-15.1,0-26.9,3.6-35.5,10.8c-8.6,7.2-12.8,17.2-12.8,29.8c0,6.7,1.3,12.6,3.9,17.6c2.6,5,6.1,9.4,10.4,13.2
|
||||
c4.4,3.8,10.9,7.7,19.6,11.8c9.3,4.4,15.5,7.7,18.5,9.7c3,2,5.3,4.1,6.9,6.3c1.6,2.2,2.3,4.7,2.3,7.5c0,5-1.8,8.8-5.3,11.3
|
||||
c-3.5,2.5-8.6,3.8-15.3,3.8c-5.5,0-11.6-0.9-18.3-2.6c-6.7-1.8-14.8-4.8-24.5-9.1V165c11.7,5.7,25.2,8.6,40.4,8.6
|
||||
c16.5,0,29.4-3.7,38.7-11.1s13.9-17.6,13.9-30.5C146.7,122.7,144.2,114.9,139.3,108.4z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |
@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 200 200" style="enable-background:new 0 0 200 200;" xml:space="preserve">
|
||||
<path d="M100,1C45.3,1,1,45.3,1,100s44.3,99,99,99s99-44.3,99-99S154.7,1,100,1z M165.3,152.6c-9.9-19.3-24.2-23.3-24.2-23.3h-8.4
|
||||
c-9.2,0-16.7-7.5-16.7-16.7v-5.4c3.7-4.4,6.4-9.6,8-15.1c0.2-0.9,1.1-1.4,1.7-2c3.2-3.2,3.8-8.6,1.4-12.5c-0.3-0.6-0.9-1.1-0.9-1.8
|
||||
c0-4.9,0-9.8,0-14.7c-0.1-5.9-1.8-12.1-6-16.5c-3.4-3.5-8-5.7-12.7-6.6c-6-1.1-12.3-1.1-18.2,0.4c-5.2,1.3-10,4.3-13,8.8
|
||||
c-2.7,3.9-3.8,8.6-4,13.3c-0.1,5,0,10,0,15c0.1,1-0.7,1.7-1.1,2.5c-2.3,4.1-1.3,9.7,2.4,12.7c0.9,0.6,1.1,1.8,1.4,2.8
|
||||
c1.6,4.9,4.2,9.5,7.5,13.5v5.6c0,9.2-7.5,16.7-16.7,16.7h-8.5c0,0-13.7,3.8-23.6,22.1c-11-14.2-17.6-32-17.6-51.4
|
||||
c0-46.3,37.6-83.9,83.9-83.9s83.9,37.6,83.9,83.9C183.9,119.9,176.9,138.2,165.3,152.6z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 3.6 KiB |