mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Squashed 'lib/pace/' content from commit c6846cb
git-subtree-dir: lib/pace git-subtree-split: c6846cbf6b928e9903b569269fa9fbf32f2554f4
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
node_modules
|
||||
3
.hsdoc
Normal file
3
.hsdoc
Normal file
@@ -0,0 +1,3 @@
|
||||
title: "Pace"
|
||||
source: "pace.coffee"
|
||||
assets: "{templates/*,themes/*,docs/welcome/*,docs/lib/*,docs/resources/*.css,*.js}"
|
||||
68
Gruntfile.coffee
Normal file
68
Gruntfile.coffee
Normal file
@@ -0,0 +1,68 @@
|
||||
Path = require('path')
|
||||
fs = require('fs')
|
||||
|
||||
ThemeUtils = require('./docs/lib/themes.coffee')
|
||||
|
||||
themeColors =
|
||||
black: '#000000'
|
||||
white: '#ffffff'
|
||||
silver: '#d6d6d6'
|
||||
red: '#ee3148'
|
||||
orange: '#eb7a55'
|
||||
yellow: '#fcd25a'
|
||||
green: '#22df80'
|
||||
blue: '#2299dd'
|
||||
pink: '#e90f92'
|
||||
purple: '#7c60e0'
|
||||
|
||||
module.exports = (grunt) ->
|
||||
grunt.registerTask 'themes', 'Compile the pace theme files', ->
|
||||
done = @async()
|
||||
|
||||
options = grunt.config('themes')
|
||||
|
||||
grunt.file.glob options.src, (err, files) ->
|
||||
for colorName, color of themeColors
|
||||
for file in files
|
||||
body = ThemeUtils.compileTheme fs.readFileSync(file).toString(), {color}
|
||||
|
||||
body = "/* This is a compiled file, you should be editing the file in the templates directory */\n" + body
|
||||
|
||||
name = Path.basename file
|
||||
name = name.replace '.tmpl', ''
|
||||
path = Path.join options.dest, colorName, name
|
||||
|
||||
fs.writeFileSync path, body
|
||||
|
||||
done()
|
||||
|
||||
grunt.initConfig
|
||||
pkg: grunt.file.readJSON("package.json")
|
||||
coffee:
|
||||
compile:
|
||||
files:
|
||||
'pace.js': 'pace.coffee'
|
||||
'docs/lib/themes.js': 'docs/lib/themes.coffee'
|
||||
|
||||
watch:
|
||||
coffee:
|
||||
files: ['pace.coffee', 'docs/lib/themes.coffee', 'templates/*']
|
||||
tasks: ["coffee", "uglify", "themes"]
|
||||
|
||||
uglify:
|
||||
options:
|
||||
banner: "/*! <%= pkg.name %> <%= pkg.version %> */\n"
|
||||
|
||||
dist:
|
||||
src: 'pace.js'
|
||||
dest: 'pace.min.js'
|
||||
|
||||
themes:
|
||||
src: 'templates/*.tmpl.css'
|
||||
dest: 'themes'
|
||||
|
||||
grunt.loadNpmTasks 'grunt-contrib-watch'
|
||||
grunt.loadNpmTasks 'grunt-contrib-uglify'
|
||||
grunt.loadNpmTasks 'grunt-contrib-coffee'
|
||||
|
||||
grunt.registerTask 'default', ['coffee', 'uglify', 'themes']
|
||||
8
LICENSE
Normal file
8
LICENSE
Normal file
@@ -0,0 +1,8 @@
|
||||
Copyright (c) 2013 HubSpot, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
27
README.md
Normal file
27
README.md
Normal file
@@ -0,0 +1,27 @@
|
||||
pace
|
||||
====
|
||||
|
||||
<a href="https://eager.io/app/kYKTiQjoVjQk/install?source=button">
|
||||
<img src="https://install.eager.io/install-button.png" border="0" width="126">
|
||||
</a>
|
||||
|
||||
An automatic web page progress bar.
|
||||
|
||||
Include [pace.js](https://raw.github.com/HubSpot/pace/v1.0.2/pace.min.js) and a [theme](http://github.hubspot.com/pace/docs/welcome/) of your choice to your page and you are done!
|
||||
|
||||
Pace will automatically monitor your Ajax requests, event loop lag, document ready state and elements on your page to decide on the progress.
|
||||
|
||||
If you use AMD or Browserify, require pace.js and call `pace.start()` as early in the loading process as is possible.
|
||||
|
||||
### [Demo](http://github.hubspot.com/pace/docs/welcome/)
|
||||
|
||||
### [Documentation](http://github.hubspot.com/pace/)
|
||||
|
||||
### Example
|
||||
|
||||
```html
|
||||
<head>
|
||||
<script src="/pace/pace.js"></script>
|
||||
<link href="/pace/themes/pace-theme-barber-shop.css" rel="stylesheet" />
|
||||
</head>
|
||||
```
|
||||
35
bower.json
Normal file
35
bower.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"name": "PACE",
|
||||
"main": "pace.js",
|
||||
"version": "1.0.2",
|
||||
"homepage": "http://github.hubspot.com/pace/docs/welcome",
|
||||
"authors": [
|
||||
"Zack Bloom <zackbloom@gmail.com>",
|
||||
"Adam Schwartz <adam.flynn.schwartz@gmail.com>"
|
||||
],
|
||||
"description": "Automatic page load progress bar",
|
||||
"keywords": [
|
||||
"loading",
|
||||
"load",
|
||||
"pageload",
|
||||
"progress",
|
||||
"activity",
|
||||
"ajax",
|
||||
"spinner",
|
||||
"progress",
|
||||
"bar",
|
||||
"automatic",
|
||||
"client-side"
|
||||
],
|
||||
"license": "MIT",
|
||||
"ignore": [
|
||||
".*",
|
||||
"Gruntfile.coffee",
|
||||
"bower_components",
|
||||
"docs",
|
||||
"node_modules",
|
||||
"package.json",
|
||||
"templates",
|
||||
"tests"
|
||||
]
|
||||
}
|
||||
291
docs/intro.md
Normal file
291
docs/intro.md
Normal file
@@ -0,0 +1,291 @@
|
||||
pace
|
||||
====
|
||||
|
||||
Include [pace.js](https://raw.github.com/HubSpot/pace/v0.5.3/pace.min.js) and the
|
||||
[theme](http://github.hubspot.com/pace/docs/welcome/) css of your choice on your page
|
||||
(as early as is possible), and you're done!
|
||||
|
||||
Pace will automatically monitor your ajax requests, event loop lag, document
|
||||
ready state, and elements on your page to decide the progress. On ajax navigation
|
||||
it will begin again!
|
||||
|
||||
If you use AMD or Browserify, require in pace.js and call `pace.start()` as early in
|
||||
the loading process as is possible.
|
||||
|
||||
Install with Eager
|
||||
------------------
|
||||
|
||||
The easiest way to add Pace to your site is with [Eager](http://eager.io).
|
||||
Click Install to see a live preview of Pace on your website.
|
||||
|
||||
<iframe style="height: 48px; width: 180px" src="//install.eager.io?appId=kYKTiQjoVjQk" allowtransparency="true" scroll="no" frameBorder="0"></iframe>
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
```html
|
||||
<head>
|
||||
<script src="/pace/pace.js"></script>
|
||||
<link href="/pace/themes/pace-theme-barber-shop.css" rel="stylesheet" />
|
||||
</head>
|
||||
```
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
Pace is fully automatic, no configuration is necessary to get started.
|
||||
|
||||
If you would like to make some tweaks, here's how:
|
||||
|
||||
You can set `window.paceOptions` before bringing in the file:
|
||||
|
||||
```javascript
|
||||
paceOptions = {
|
||||
// Disable the 'elements' source
|
||||
elements: false,
|
||||
|
||||
// Only show the progress on regular and ajax-y page navigation,
|
||||
// not every request
|
||||
restartOnRequestAfter: false
|
||||
}
|
||||
```
|
||||
|
||||
You can also put options on the script tag:
|
||||
|
||||
```html
|
||||
<script data-pace-options='{ "ajax": false }' src='pace.js'></script>
|
||||
```
|
||||
|
||||
If you're using AMD or Browserify, you can pass your options to `start`:
|
||||
|
||||
```javascript
|
||||
define(['pace'], function(pace){
|
||||
pace.start({
|
||||
document: false
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
Themes
|
||||
------
|
||||
|
||||
Pace includes a bunch of [themes](http://github.hubspot.com/pace/docs/welcome/)
|
||||
to get you started. Just include the appropriate css file. Send us a PR with
|
||||
any interesting themes you create.
|
||||
|
||||
Collectors
|
||||
----------
|
||||
|
||||
Collectors are the bits of code which gather progress information. Pace includes four default collectors:
|
||||
|
||||
- Ajax
|
||||
|
||||
Monitors all ajax requests on the page
|
||||
|
||||
- Elements
|
||||
|
||||
Checks for the existance of specific elements on the page
|
||||
|
||||
- Document
|
||||
|
||||
Checks the document readyState
|
||||
|
||||
- Event Lag
|
||||
|
||||
Checks for event loop lag signaling that javascript is being executed
|
||||
|
||||
They can each be configured or disabled through configuration options of the same name.
|
||||
|
||||
```javascript
|
||||
paceOptions = {
|
||||
ajax: false, // disabled
|
||||
document: false, // disabled
|
||||
eventLag: false, // disabled
|
||||
elements: {
|
||||
selectors: ['.my-page']
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
Add your own classes to `paceOptions.extraSources` to add more sources. Each source should either
|
||||
have a `.progress` property, or a `.elements` property which is a list of objects with
|
||||
`.progress` properties. Pace will automatically handle all scaling to make the progress
|
||||
changes look smooth to the user.
|
||||
|
||||
Elements
|
||||
--------
|
||||
|
||||
Elements being rendered to the screen is one way for us to decide that the page has been
|
||||
rendered. If you would like to use that source of information (not required at all),
|
||||
specify one or more selectors. You can comma seperate the selectors to propertly handle
|
||||
error states, where the progress bar should disappear, but the element we are looking for
|
||||
may never appear:
|
||||
|
||||
```javascript
|
||||
paceOptions = {
|
||||
elements: {
|
||||
selectors: ['.timeline,.timeline-error', '.user-profile,.profile-error']
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Pace will consider the elements test successful when each selector matches something. For
|
||||
this example, when either `.timeline` or `.timeline-error` exist, and either `.user-profile`
|
||||
or `.profile-error` exist.
|
||||
|
||||
Restart Rules
|
||||
-------------
|
||||
|
||||
Most users want the progress bar to automatically restart when a pushState event occurs
|
||||
(generally means ajax navigation is occuring). You can disable this:
|
||||
|
||||
```javascript
|
||||
paceOptions = {
|
||||
restartOnPushState: false
|
||||
}
|
||||
```
|
||||
|
||||
You can also have pace restart on every ajax request which lasts longer than x ms. You'll want to
|
||||
disable this if you make ajax requests the user doesn't need to know about, like precaching:
|
||||
|
||||
```javascript
|
||||
paceOptions = {
|
||||
restartOnRequestAfter: false
|
||||
}
|
||||
```
|
||||
|
||||
You can always trigger a restart manually by calling `Pace.restart()`
|
||||
|
||||
See [the source](https://github.com/HubSpot/pace/blob/master/pace.coffee) for a full list of all options.
|
||||
|
||||
API
|
||||
---
|
||||
|
||||
Pace exposes the following methods:
|
||||
|
||||
- `Pace.start`: Show the progress bar and start updating. Called automatically if you don't use AMD or CommonJS.
|
||||
|
||||
- `Pace.restart`: Show the progress bar if it's hidden and start reporting the progress from scratch. Called automatically
|
||||
whenever `pushState` or `replaceState` is called by default.
|
||||
|
||||
- `Pace.stop`: Hide the progress bar and stop updating it.
|
||||
|
||||
- `Pace.track`: Explicitly track one or more requests, see Tracking below
|
||||
|
||||
- `Pace.ignore`: Expliticly ignore one or more requests, see Tracking below
|
||||
|
||||
Events
|
||||
------
|
||||
|
||||
Pace fires the following events:
|
||||
|
||||
- `start`: When pace is initially started, or as a part of a restart
|
||||
- `stop`: When pace is manually stopped, or as a part of a restart
|
||||
- `restart`: When pace is restarted (manually, or by a new AJAX request)
|
||||
- `done`: When pace is finished
|
||||
- `hide`: When the pace is hidden (can be later than `done`, based on `ghostTime` and `minTime`)
|
||||
|
||||
You can bind onto events using the `on`, `off` and `once` methods:
|
||||
|
||||
- `Pace.on(event, handler, [context])`: Call `handler` (optionally with context) when `event` is triggered
|
||||
- `Pace.off(event, [handler])`: Unbind the provided `event` and `handler` combination.
|
||||
- `Pace.once(event, handler, [context])`: Bind `handler` to the next (and only the next) incidence of `event`
|
||||
|
||||
Tracking
|
||||
--------
|
||||
|
||||
By default, Pace will show any ajax requests which begin as a part of a normal or ajax-y page load, or which last longer than
|
||||
500ms.
|
||||
|
||||
You can disable all ajax tracking by setting `ajax` to false:
|
||||
|
||||
```javascript
|
||||
Pace.options = {
|
||||
ajax: false
|
||||
}
|
||||
```
|
||||
|
||||
You can disable ajax tracking except on page navigation by setting `restartOnRequestAfter` to false:
|
||||
|
||||
```javascript
|
||||
Pace.options = {
|
||||
restartOnRequestAfter: false
|
||||
}
|
||||
```
|
||||
|
||||
You can manually disable tracking for a specific request or requests by triggering them within a `Pace.ignore` callback:
|
||||
|
||||
```javascript
|
||||
Pace.ignore(function(){
|
||||
$.ajax(...)
|
||||
});
|
||||
```
|
||||
|
||||
You can force the progress bar to be shown for a specific request by triggering them within a `Pace.track` callback:
|
||||
|
||||
```javascript
|
||||
Pace.track(function(){
|
||||
$.ajax(...)
|
||||
});
|
||||
```
|
||||
|
||||
You can also ignore URLs based on a pattern:
|
||||
|
||||
```javascript
|
||||
Pace.options = {
|
||||
ajax: {
|
||||
ignoreURLs: ['some-substring', /some-regexp/]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
None!
|
||||
|
||||
Support
|
||||
-------
|
||||
|
||||
Pace is designed to support IE8+ (standards mode), FF 3.5+, Chrome, Safari 4+, Opera 10.5+, and all modern
|
||||
mobile browsers. If you run into a compatibility issue, or can make a case for supporting something else,
|
||||
please create an issue.
|
||||
|
||||
Size
|
||||
----
|
||||
|
||||
pace.js is 4kb minified and gzipped. The themes vary between 0.5 and 4kb.
|
||||
|
||||
Issues
|
||||
------
|
||||
|
||||
We have obviously not tested this on every website. If you run into an issue, or find a way the automatic
|
||||
detection could be better, please [create an Issue](https://github.com/HubSpot/pace/issues/new). If you can include a test case, that's even better.
|
||||
|
||||
Contributing
|
||||
------------
|
||||
|
||||
PRs Welcome!
|
||||
|
||||
Building requires node.js.
|
||||
|
||||
```bash
|
||||
npm install
|
||||
grunt
|
||||
```
|
||||
|
||||
You can also run `grunt watch` to have it automatically build as you make changes.
|
||||
|
||||
There is no need to include compiled files in PRs.
|
||||
|
||||
Credits
|
||||
-------
|
||||
|
||||
[HubSpot](http://dev.hubspot.com)
|
||||
|
||||
Javascript by [Zack Bloom](http://twitter.com/zackbloom)
|
||||
CSS by [Adam Schwartz](http://twitter.com/adamfschwartz)
|
||||
|
||||
Themes inspired by [Mary Lou](http://tympanus.net/codrops/2013/09/18/creative-loading-effects/)
|
||||
|
||||
Project inspired by [nprogress](http://ricostacruz.com/nprogress/)
|
||||
24
docs/lib/color.js
Normal file
24
docs/lib/color.js
Normal file
File diff suppressed because one or more lines are too long
27
docs/lib/themes.coffee
Normal file
27
docs/lib/themes.coffee
Normal file
@@ -0,0 +1,27 @@
|
||||
if module?
|
||||
vm = require('vm')
|
||||
|
||||
# Used by the eval'd code
|
||||
Color = require('color')
|
||||
|
||||
loadTheme = (name, cb) ->
|
||||
$.ajax
|
||||
url: "/pace/templates/pace-theme-#{ name }.tmpl.css"
|
||||
success: cb
|
||||
|
||||
compileTheme = (body, args={}) ->
|
||||
body.replace /`([\s\S]*?)`/gm, (match, code) ->
|
||||
if module?
|
||||
val = vm.runInNewContext code, {args, Color}
|
||||
else
|
||||
# It matters that args is in the context
|
||||
Color = window.Color
|
||||
val = eval(code)
|
||||
|
||||
val
|
||||
|
||||
if module?
|
||||
module.exports = {compileTheme}
|
||||
else
|
||||
window.loadTheme = loadTheme
|
||||
window.compileTheme = compileTheme
|
||||
44
docs/lib/themes.js
Normal file
44
docs/lib/themes.js
Normal file
@@ -0,0 +1,44 @@
|
||||
(function() {
|
||||
var Color, compileTheme, loadTheme, vm;
|
||||
|
||||
if (typeof module !== "undefined" && module !== null) {
|
||||
vm = require('vm');
|
||||
Color = require('color');
|
||||
}
|
||||
|
||||
loadTheme = function(name, cb) {
|
||||
return $.ajax({
|
||||
url: "/pace/templates/pace-theme-" + name + ".tmpl.css",
|
||||
success: cb
|
||||
});
|
||||
};
|
||||
|
||||
compileTheme = function(body, args) {
|
||||
if (args == null) {
|
||||
args = {};
|
||||
}
|
||||
return body.replace(/`([\s\S]*?)`/gm, function(match, code) {
|
||||
var val;
|
||||
if (typeof module !== "undefined" && module !== null) {
|
||||
val = vm.runInNewContext(code, {
|
||||
args: args,
|
||||
Color: Color
|
||||
});
|
||||
} else {
|
||||
Color = window.Color;
|
||||
val = eval(code);
|
||||
}
|
||||
return val;
|
||||
});
|
||||
};
|
||||
|
||||
if (typeof module !== "undefined" && module !== null) {
|
||||
module.exports = {
|
||||
compileTheme: compileTheme
|
||||
};
|
||||
} else {
|
||||
window.loadTheme = loadTheme;
|
||||
window.compileTheme = compileTheme;
|
||||
}
|
||||
|
||||
}).call(this);
|
||||
68
docs/resources/barber-pole-orange.css
Normal file
68
docs/resources/barber-pole-orange.css
Normal file
@@ -0,0 +1,68 @@
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: #EE5C00;
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 42px;
|
||||
overflow: hidden;
|
||||
pointer-events: none;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.pace .pace-progress-inner {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: -32px;
|
||||
bottom: 0;
|
||||
|
||||
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
-webkit-background-size: 32px 32px;
|
||||
-moz-background-size: 32px 32px;
|
||||
-o-background-size: 32px 32px;
|
||||
background-size: 32px 32px;
|
||||
|
||||
-webkit-animation: pace-stripe-animation 500ms linear infinite;
|
||||
-moz-animation: pace-stripe-animation 500ms linear infinite;
|
||||
-ms-animation: pace-stripe-animation 500ms linear infinite;
|
||||
-o-animation: pace-stripe-animation 500ms linear infinite;
|
||||
animation: pace-stripe-animation 500ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-stripe-animation {
|
||||
0% { -webkit-transform: none; transform: none; }
|
||||
100% { -webkit-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-moz-keyframes pace-stripe-animation {
|
||||
0% { -moz-transform: none; transform: none; }
|
||||
100% { -moz-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-o-keyframes pace-stripe-animation {
|
||||
0% { -o-transform: none; transform: none; }
|
||||
100% { -o-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-ms-keyframes pace-stripe-animation {
|
||||
0% { -ms-transform: none; transform: none; }
|
||||
100% { -ms-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@keyframes pace-stripe-animation {
|
||||
0% { transform: none; transform: none; }
|
||||
100% { transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
75
docs/resources/flash-white.css
Normal file
75
docs/resources/flash-white.css
Normal file
@@ -0,0 +1,75 @@
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background: #fcfffc;
|
||||
position: fixed;
|
||||
z-index: 100;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 2px;
|
||||
}
|
||||
|
||||
.pace .pace-progress-inner {
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
width: 100px;
|
||||
height: 100%;
|
||||
box-shadow: 0 0 10px #fcfffc, 0 0 5px #fcfffc;
|
||||
opacity: 1.0;
|
||||
-webkit-transform: rotate(3deg) translate(0px, -4px);
|
||||
-moz-transform: rotate(3deg) translate(0px, -4px);
|
||||
-ms-transform: rotate(3deg) translate(0px, -4px);
|
||||
-o-transform: rotate(3deg) translate(0px, -4px);
|
||||
transform: rotate(3deg) translate(0px, -4px);
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 100;
|
||||
top: 15px;
|
||||
right: 15px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
border: solid 2px transparent;
|
||||
border-top-color: #fcfffc;
|
||||
border-left-color: #fcfffc;
|
||||
border-radius: 10px;
|
||||
-webkit-animation: pace-spinner 400ms linear infinite;
|
||||
-moz-animation: pace-spinner 400ms linear infinite;
|
||||
-ms-animation: pace-spinner 400ms linear infinite;
|
||||
-o-animation: pace-spinner 400ms linear infinite;
|
||||
animation: pace-spinner 400ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-spinner {
|
||||
0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-moz-keyframes pace-spinner {
|
||||
0% { -moz-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -moz-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-o-keyframes pace-spinner {
|
||||
0% { -o-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -o-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-ms-keyframes pace-spinner {
|
||||
0% { -ms-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -ms-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@keyframes pace-spinner {
|
||||
0% { transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
5
docs/resources/templates/index.jade
Normal file
5
docs/resources/templates/index.jade
Normal file
@@ -0,0 +1,5 @@
|
||||
extends index
|
||||
|
||||
append early-head
|
||||
<script src="/pace/pace.js"></script>
|
||||
<link rel="stylesheet" href="/pace/docs/resources/barber-pole-orange.css"></link>
|
||||
5
docs/resources/templates/page.jade
Normal file
5
docs/resources/templates/page.jade
Normal file
@@ -0,0 +1,5 @@
|
||||
extends index
|
||||
|
||||
append early-head
|
||||
<script src="/pace/pace.js"></script>
|
||||
<link rel="stylesheet" href="/pace/docs/resources/barber-pole-orange.css"></link>
|
||||
704
docs/welcome/index.html
Normal file
704
docs/welcome/index.html
Normal file
@@ -0,0 +1,704 @@
|
||||
<!DOCTYPE html>
|
||||
<!--[if lt IE 7]> <html class="no-js ie6 ie9-and-less ie8-and-less ie7-and-less" lang="en"> <![endif]-->
|
||||
<!--[if IE 7]> <html class="no-js ie7 ie9-and-less ie8-and-less ie7-and-less" lang="en"> <![endif]-->
|
||||
<!--[if IE 8]> <html class="no-js ie8 ie9-and-less ie8-and-less" lang="en"> <![endif]-->
|
||||
<!--[if IE 9]> <html class="no-js ie9 ie9-and-less" lang="en"> <![endif]-->
|
||||
<!--[if gt IE 9]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
||||
<title>PACE — Automatic page load progress bars</title>
|
||||
<meta name="description" content="Pace is a Javascript and CSS library to automatically add beautiful progress and activity indicators for page loads and ajax navigation. It is free and open source and was developed by HubSpot developers Adam Schwartz (@adamfschwartz) and Zack Bloom (@zackbloom).">
|
||||
<link rel="icon" href="http://static.hubspot.com/favicon.ico">
|
||||
<script type="text/javascript" src="//use.typekit.net/jbn8qxr.js"></script>
|
||||
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
|
||||
<script type="text/javascript">try{Typekit.load();}catch(e){}</script>
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
|
||||
<script src="/pace/docs/lib/color.js"></script>
|
||||
<script src="/pace/docs/lib/themes.js"></script>
|
||||
<script src="/pace/pace.js"></script>
|
||||
<link href="/pace/docs/resources/flash-white.css" rel="stylesheet" />
|
||||
</head>
|
||||
<body>
|
||||
<style id="app-colors">
|
||||
.section.colored, a.download-src-link, .button {
|
||||
background: #29d;
|
||||
}
|
||||
|
||||
a, a:hover, a:active, .header .title .title2:before {
|
||||
color: #29d;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
html, body {
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
a, a:hover, a:active {
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: "proxima-nova", "Helvetica Neue", sans-serif;
|
||||
}
|
||||
|
||||
@media (min-width: 1700px) { html { font-size: 188%; } }
|
||||
@media (max-width: 1700px) { html { font-size: 188%; } }
|
||||
@media (max-width: 1680px) { html { font-size: 186%; } }
|
||||
@media (max-width: 1660px) { html { font-size: 184%; } }
|
||||
@media (max-width: 1640px) { html { font-size: 182%; } }
|
||||
@media (max-width: 1620px) { html { font-size: 180%; } }
|
||||
@media (max-width: 1600px) { html { font-size: 178%; } }
|
||||
@media (max-width: 1580px) { html { font-size: 176%; } }
|
||||
@media (max-width: 1560px) { html { font-size: 174%; } }
|
||||
@media (max-width: 1540px) { html { font-size: 172%; } }
|
||||
@media (max-width: 1520px) { html { font-size: 170%; } }
|
||||
@media (max-width: 1500px) { html { font-size: 168%; } }
|
||||
@media (max-width: 1480px) { html { font-size: 166%; } }
|
||||
@media (max-width: 1460px) { html { font-size: 164%; } }
|
||||
@media (max-width: 1440px) { html { font-size: 162%; } }
|
||||
@media (max-width: 1420px) { html { font-size: 160%; } }
|
||||
@media (max-width: 1400px) { html { font-size: 158%; } }
|
||||
@media (max-width: 1380px) { html { font-size: 156%; } }
|
||||
@media (max-width: 1360px) { html { font-size: 154%; } }
|
||||
@media (max-width: 1340px) { html { font-size: 152%; } }
|
||||
@media (max-width: 1320px) { html { font-size: 150%; } }
|
||||
@media (max-width: 1300px) { html { font-size: 148%; } }
|
||||
@media (max-width: 1280px) { html { font-size: 146%; } }
|
||||
@media (max-width: 1260px) { html { font-size: 144%; } }
|
||||
@media (max-width: 1240px) { html { font-size: 142%; } }
|
||||
@media (max-width: 1220px) { html { font-size: 140%; } }
|
||||
@media (max-width: 1200px) { html { font-size: 138%; } }
|
||||
@media (max-width: 1180px) { html { font-size: 136%; } }
|
||||
@media (max-width: 1160px) { html { font-size: 134%; } }
|
||||
@media (max-width: 1140px) { html { font-size: 132%; } }
|
||||
@media (max-width: 1120px) { html { font-size: 130%; } }
|
||||
@media (max-width: 1100px) { html { font-size: 128%; } }
|
||||
@media (max-width: 1080px) { html { font-size: 126%; } }
|
||||
@media (max-width: 1060px) { html { font-size: 124%; } }
|
||||
@media (max-width: 1040px) { html { font-size: 122%; } }
|
||||
@media (max-width: 1020px) { html { font-size: 120%; } }
|
||||
@media (max-width: 1000px) { html { font-size: 118%; } }
|
||||
@media (max-width: 980px) { html { font-size: 116%; } }
|
||||
@media (max-width: 960px) { html { font-size: 114%; } }
|
||||
@media (max-width: 940px) { html { font-size: 112%; } }
|
||||
@media (max-width: 920px) { html { font-size: 110%; } }
|
||||
@media (max-width: 900px) { html { font-size: 108%; } }
|
||||
@media (max-width: 880px) { html { font-size: 106%; } }
|
||||
@media (max-width: 860px) { html { font-size: 104%; } }
|
||||
@media (max-width: 840px) { html { font-size: 102%; } }
|
||||
@media (max-width: 820px) { html { font-size: 100%; } }
|
||||
@media (max-width: 800px) { html { font-size: 98%; } }
|
||||
@media (max-width: 780px) { html { font-size: 96%; } }
|
||||
@media (max-width: 760px) { html { font-size: 94%; } }
|
||||
@media (max-width: 740px) { html { font-size: 92%; } }
|
||||
@media (max-width: 720px) { html { font-size: 90%; } }
|
||||
@media (max-width: 700px) { html { font-size: 88%; } }
|
||||
@media (max-width: 680px) { html { font-size: 86%; } }
|
||||
@media (max-width: 660px) { html { font-size: 84%; } }
|
||||
@media (max-width: 640px) { html { font-size: 82%; } }
|
||||
@media (max-width: 620px) { html { font-size: 80%; } }
|
||||
@media (max-width: 600px) { html { font-size: 78%; } }
|
||||
@media (max-width: 580px) { html { font-size: 76%; } }
|
||||
@media (max-width: 560px) { html { font-size: 74%; } }
|
||||
@media (max-width: 540px) { html { font-size: 72%; } }
|
||||
@media (max-width: 520px) { html { font-size: 70%; } }
|
||||
@media (max-width: 500px) { html { font-size: 68%; } }
|
||||
@media (max-width: 480px) { html { font-size: 66%; } }
|
||||
@media (max-width: 460px) { html { font-size: 64%; } }
|
||||
@media (max-width: 440px) { html { font-size: 62%; } }
|
||||
@media (max-width: 420px) { html { font-size: 60%; } }
|
||||
@media (max-width: 400px) { html { font-size: 58%; } }
|
||||
@media (max-width: 380px) { html { font-size: 56%; } }
|
||||
@media (max-width: 360px) { html { font-size: 54%; } }
|
||||
@media (max-width: 340px) { html { font-size: 52%; } }
|
||||
@media (max-width: 320px) { html { font-size: 50%; } }
|
||||
|
||||
.header {
|
||||
color: #000;
|
||||
-webkit-transition: opacity 1s;
|
||||
-moz-transition: opacity 1s;
|
||||
-o-transition: opacity 1s;
|
||||
transition: opacity 1s;
|
||||
text-align: center;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
position: absolute;
|
||||
width: 29rem;
|
||||
max-width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1;
|
||||
}
|
||||
.header h1 {
|
||||
font-size: 10rem;
|
||||
font-weight: 800;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: .05em;
|
||||
}
|
||||
.header h2 {
|
||||
font-size: 5rem;
|
||||
font-weight: 800;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: .1em;
|
||||
}
|
||||
.header .subtitle {
|
||||
position: absolute;
|
||||
margin: auto;
|
||||
top: 0rem;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 1rem;
|
||||
padding-top: 9rem;
|
||||
height: 4rem;
|
||||
text-align: center;
|
||||
}
|
||||
.header .subtitle h3 {
|
||||
margin: 0;
|
||||
font-size: 1.8rem;
|
||||
}
|
||||
.header .title h1 {
|
||||
position: absolute;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 3rem;
|
||||
height: 1.4em;
|
||||
text-align: center;
|
||||
}
|
||||
.header .title .title1 {
|
||||
color: #eee;
|
||||
color: rgba(0, 0, 0, .1);
|
||||
}
|
||||
.header .title span {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
}
|
||||
.header .title .title2:before {
|
||||
position: absolute;
|
||||
top: 16.5%;
|
||||
bottom: 34%;
|
||||
left: 2%;
|
||||
right: 2%;
|
||||
content: "Progress Automatically. Certain to Entertain.";
|
||||
font-size: 1rem;
|
||||
line-height: 1.3em;
|
||||
padding: 1rem 15rem 1rem 1rem;
|
||||
background: #fff;
|
||||
opacity: 0;
|
||||
text-align: left;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-transform: translateY(-15px);
|
||||
-webkit-transition: all .3s;
|
||||
-moz-transition: all .3s;
|
||||
transition: all .3s;
|
||||
z-index: 10;
|
||||
}
|
||||
.header .title .title2:hover:before {
|
||||
opacity: 1;
|
||||
-webkit-transform: translateY(0px);
|
||||
}
|
||||
.header .title .char1 { left: .5%; width: 22%; }
|
||||
.header .title .char2 { left: 25%; width: 22%; }
|
||||
.header .title .char3 { left: 51%; width: 22%; }
|
||||
.header .title .char4 { left: 79.5%; width: 22%; }
|
||||
|
||||
.section {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.section.colored {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.section.colored .header .title .title2 {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.section.colored .header .subtitle {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.header .title .title2 span {
|
||||
width: 0px;
|
||||
-webkit-transition: width 2s linear;
|
||||
-moz-transition: width 2s linear;
|
||||
-ms-transition: width 2s linear;
|
||||
-o-transition: width 2s linear;
|
||||
transition: width 2s linear;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.page-loaded .header .title .title2 .char1 { width: 21%; }
|
||||
.page-loaded .header .title .title2 .char2 { width: 24%; }
|
||||
.page-loaded .header .title .title2 .char3 { width: 24%; }
|
||||
.page-loaded .header .title .title2 .char4 { width: 21%; }
|
||||
|
||||
|
||||
.up-arrow, .down-arrow {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.down-arrow {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
-webkit-transform: rotate(180deg);
|
||||
-moz-transform: rotate(180deg);
|
||||
-ms-transform: rotate(180deg);
|
||||
-o-transform: rotate(180deg);
|
||||
transform: rotate(180deg);
|
||||
bottom: 30px;
|
||||
}
|
||||
|
||||
.section.colored .down-arrow {
|
||||
color: rgba(255, 255, 255, .5);
|
||||
}
|
||||
|
||||
|
||||
h2 {
|
||||
text-align: center;
|
||||
}
|
||||
.themes {
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
}
|
||||
.theme {
|
||||
width: 46%;
|
||||
}
|
||||
.theme.even {
|
||||
text-align: center;
|
||||
float: left;
|
||||
clear: both;
|
||||
}
|
||||
.theme.odd {
|
||||
text-align: center;
|
||||
float: right;
|
||||
}
|
||||
.browser {
|
||||
background: #e0e0e0;
|
||||
border: 4px solid #e0e0e0;
|
||||
width: 100%;
|
||||
height: 7rem;
|
||||
padding-top: 20px;
|
||||
margin: 0 0 10px;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.browser iframe {
|
||||
border: 0;
|
||||
background: #fff;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
input[type="color"] {
|
||||
width: 15rem;
|
||||
height: 2.3rem;
|
||||
font-size: 1rem;
|
||||
position: relative;
|
||||
font-family: inherit;
|
||||
cursor: pointer;
|
||||
}
|
||||
input[type="color"]::before {
|
||||
content: " ";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 3px;
|
||||
right: 3px;
|
||||
height: 100%;
|
||||
border: 6px solid #fff;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
input[type="color"]::after {
|
||||
content: "Choose a color";
|
||||
display: block;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: -2px;
|
||||
right: -2px;
|
||||
height: 100%;
|
||||
font-size: .7rem;
|
||||
line-height: 2rem;
|
||||
color: #fcfcfc;
|
||||
color: rgba(255, 255, 255, 1);
|
||||
font-weight: 800;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
border: 6px solid #fff;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
input[type="color"]:active::after {
|
||||
color: rgba(255, 255, 255, 0.4);
|
||||
}
|
||||
|
||||
.themes h3 {
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.themes h3 + p {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.page {
|
||||
text-align: center;
|
||||
max-width: 28rem;
|
||||
padding: 0 10px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.themes a, .themes a:hover, .themes a:active {
|
||||
text-decoration: none;
|
||||
font-size: .7rem;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
}
|
||||
|
||||
.themes a.author, .themes a:hover.author {
|
||||
margin: -1em 0;
|
||||
display: block;
|
||||
font-size: .5rem;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
.themes a:hover.author {
|
||||
color: #444;
|
||||
}
|
||||
|
||||
.themes a.author:before {
|
||||
content: "by: ";
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
a.button {
|
||||
padding: 0.5rem 1rem;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
font-size: 1rem;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: .1em;
|
||||
text-decoration: none;
|
||||
}
|
||||
.themes-pitch {
|
||||
padding: 15px;
|
||||
}
|
||||
.block {
|
||||
padding: 10px 0;
|
||||
}
|
||||
.color-label {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="section colored">
|
||||
<div class="header">
|
||||
<div class="title">
|
||||
<h1 class="title1"><span class="char1">p</span><span class="char2">a</span><span class="char3">c</span><span class="char4">e</span></h1>
|
||||
<h1 class="title2"><span class="char1">p</span><span class="char2">a</span><span class="char3">c</span><span class="char4">e</span></h1>
|
||||
</div>
|
||||
<div class="subtitle">
|
||||
<h3>Automatic page load progress bar</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="down-arrow">⇪</div>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<div class="page">
|
||||
<h2>What is Pace?</h2>
|
||||
<p style="text-align: left">Include pace.js and a CSS theme of your choice, and you get a beautiful progress indicator for your page load and ajax navigation.</p>
|
||||
<p style="text-align: left">No need to hook into any of your code, progress is detected automatically.</p>
|
||||
<br/>
|
||||
<h2>Install</h2>
|
||||
<p>The easiest way to add Pace to your site is with <a href="http://eager.io" style="color: #bf0c78">Eager</a>.
|
||||
<p>Click Install to see a live preview of Pace on your website.</p>
|
||||
<iframe style="height: 48px; width: 180px" src="//install.eager.io?appId=kYKTiQjoVjQk" allowtransparency="true" scroll="no" frameBorder="0"></iframe>
|
||||
<br/>
|
||||
<br/>
|
||||
<h2>Download</h2>
|
||||
<p>If you’re a developer, download Pace directly here:</p>
|
||||
<p><a class="button" href="https://raw.github.com/HubSpot/pace/v1.0.0/pace.min.js">Pace.js</a></p>
|
||||
<br/>
|
||||
<h2>Themes</h2>
|
||||
<label class="color-label" for="color-select">Enter a color:</label>
|
||||
<input type="color" value="#2299dd" id="color-select"></input>
|
||||
<div class="themes"></div>
|
||||
<p class="block">Submit a theme! <a href="https://github.com/HubSpot/pace">Fork us on GitHub</a></p>
|
||||
<p class="block"><a class="button" href="http://github.hubspot.com/pace/">Documentation</a></p>
|
||||
<br/>
|
||||
<p style="font-size: 0.6rem"><a href="http://dev.hubspot.com">HubSpot</a></p>
|
||||
<br/>
|
||||
<br/>
|
||||
<script>
|
||||
$(function(){
|
||||
if (!Modernizr.inputtypes.color)
|
||||
$('.color-label').show();
|
||||
|
||||
var themes = [{
|
||||
name: 'minimal',
|
||||
title: 'Minimal',
|
||||
author: 'adamschwartz'
|
||||
}, {
|
||||
name: 'flash',
|
||||
title: 'Flash',
|
||||
author: 'adamschwartz'
|
||||
}, {
|
||||
name: 'barber-shop',
|
||||
title: 'Barber Shop',
|
||||
author: 'adamschwartz'
|
||||
}, {
|
||||
name: 'mac-osx',
|
||||
title: 'Mac OSX',
|
||||
author: 'adamschwartz'
|
||||
}, {
|
||||
name: 'fill-left',
|
||||
title: 'Fill Left',
|
||||
author: 'adamschwartz'
|
||||
}, {
|
||||
name: 'flat-top',
|
||||
title: 'Flat Top',
|
||||
author: 'adamschwartz'
|
||||
}, {
|
||||
name: 'big-counter',
|
||||
title: 'Big Counter',
|
||||
author: 'adamschwartz'
|
||||
}, {
|
||||
name: 'corner-indicator',
|
||||
title: 'Corner Indicator',
|
||||
author: 'adamschwartz'
|
||||
}, {
|
||||
name: 'bounce',
|
||||
title: 'Bounce',
|
||||
author: 'adamschwartz'
|
||||
}, {
|
||||
name: 'loading-bar',
|
||||
title: 'Loading Bar',
|
||||
author: 'gavJackson'
|
||||
}, {
|
||||
name: 'center-circle',
|
||||
title: 'Center Circle',
|
||||
author: 'adamschwartz'
|
||||
}, {
|
||||
name: 'center-atom',
|
||||
title: 'Center Atom',
|
||||
author: 'kennyglenn'
|
||||
}, {
|
||||
name: 'center-radar',
|
||||
title: 'Center Radar',
|
||||
author: 'kennyglenn'
|
||||
}, {
|
||||
name: 'center-simple',
|
||||
title: 'Center Simple',
|
||||
author: 'dineshgithub'
|
||||
}];
|
||||
|
||||
var init = function() {
|
||||
$.each(themes, function(i, theme){
|
||||
$('.themes').append('<div class="theme ' + (i % 2 === 0 ? 'even' : 'odd') + '">'+
|
||||
'<h3>' + theme.title + '</h3>' +
|
||||
(theme.author ? '<br/><a class="author" href="https://github.com/' + theme.author + '" target="_blank" rel="nofollow">@' + theme.author + '</a></h4>' : '') +
|
||||
'<p><a href="#" class="download-link" data-theme="' + theme.name + '">download</a></p>'+
|
||||
'<div class="browser"><iframe data-theme="' + theme.name + '"></iframe></div>' +
|
||||
'</div>');
|
||||
});
|
||||
|
||||
var $color = $('input[type="color"]');
|
||||
|
||||
var cssCache = {};
|
||||
var initFrame = function(frame, color){
|
||||
if ($color.val() != '#2299dd')
|
||||
color = $color.val();
|
||||
|
||||
var $styleEl = $('<style>')
|
||||
$(frame).contents().find('body').append($styleEl);
|
||||
|
||||
var context = {};
|
||||
if (color)
|
||||
context.color = color;
|
||||
|
||||
var themeName = $(frame).data('theme')
|
||||
loadTheme(themeName, function(theme){
|
||||
body = compileTheme(theme, context);
|
||||
|
||||
cssCache[themeName] = body;
|
||||
|
||||
$styleEl.html(body);
|
||||
});
|
||||
|
||||
$(frame).contents().find('.pace').addClass('pace-active');
|
||||
};
|
||||
|
||||
var updateColor = function(color){
|
||||
$('.browser iframe').each(function(){
|
||||
initFrame(this, color);
|
||||
});
|
||||
};
|
||||
|
||||
var downloadTheme = function(theme){
|
||||
location.href = 'data:text/css,' + encodeURIComponent(cssCache[theme]);
|
||||
};
|
||||
|
||||
$('.browser iframe').each(function(){
|
||||
var _this = this;
|
||||
|
||||
doc = (this.contentWindow || this.documentWindow).document;
|
||||
doc.open();
|
||||
doc.write('' +
|
||||
'<div class="pace">' +
|
||||
'<div class="pace-progress" data-progress="50" data-progress-text="50%" style="-webkit-transform: translate3d(50%, 0px, 0px); -ms-transform: translate3d(50%, 0px, 0px); transform: translate3d(50%, 0px, 0px);">' +
|
||||
'<div class="pace-progress-inner"></div>' +
|
||||
'</div>' +
|
||||
'<div class="pace-activity"></div>' +
|
||||
'</div>' +
|
||||
'');
|
||||
doc.close();
|
||||
|
||||
// For some strange reason, the Color library we depend on defines itself
|
||||
// asyncronously
|
||||
setTimeout(function(){
|
||||
initFrame(_this);
|
||||
}, 0);
|
||||
});
|
||||
|
||||
$color.on('change keyup', function(){
|
||||
var color = $(this).val();
|
||||
updateColor(color);
|
||||
|
||||
var css = '.section.colored, a.button { background: ' + color + '; } a, a:hover, a:active, .header .title .title2:before { color: ' + color + '; }';
|
||||
if ($('html').hasClass('ie8-and-less')) {
|
||||
$('#app-colors').get(0).styleSheet.cssText = css
|
||||
} else {
|
||||
$('#app-colors').html(css);
|
||||
}
|
||||
});
|
||||
|
||||
$('a.download-link').click(function(e){
|
||||
e.preventDefault();
|
||||
|
||||
var theme = $(this).data('theme');
|
||||
|
||||
downloadTheme(theme);
|
||||
});
|
||||
};
|
||||
|
||||
var initTimeout = setTimeout(function(){
|
||||
$(window).unbind('scroll', scrollOnce);
|
||||
init();
|
||||
}, 3000);
|
||||
|
||||
var scrollOnce = function() {
|
||||
$(window).unbind('scroll', scrollOnce);
|
||||
clearTimeout(initTimeout);
|
||||
init();
|
||||
};
|
||||
|
||||
$(window).bind('scroll', scrollOnce);
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>setTimeout(function(){ document.body.className = 'page-loaded' }, 0);</script>
|
||||
|
||||
<!-- Share -->
|
||||
|
||||
<style>
|
||||
#retweet_button {
|
||||
position: fixed;
|
||||
bottom: 30px;
|
||||
left: 30px;
|
||||
width: 100px;
|
||||
-webkit-filter: grayscale(1) contrast(1.3);
|
||||
z-index: 3;
|
||||
}
|
||||
#retweet_button:hover {
|
||||
-webkit-filter: none;
|
||||
}
|
||||
#github_stars {
|
||||
position: fixed;
|
||||
bottom: 30px;
|
||||
left: 130px;
|
||||
width: 100px;
|
||||
-webkit-filter: grayscale(1) contrast(1.3);
|
||||
z-index: 3;
|
||||
}
|
||||
#github_stars:hover {
|
||||
-webkit-filter: none;
|
||||
}
|
||||
.hn-share-button-wrapper {
|
||||
position: fixed;
|
||||
bottom: 29px;
|
||||
left: 227px;
|
||||
-webkit-filter: grayscale(1) contrast(1.3);
|
||||
z-index: 3;
|
||||
}
|
||||
.hn-share-button-wrapper:hover {
|
||||
-webkit-filter: none;
|
||||
}
|
||||
</style>
|
||||
<div id="retweet_button">
|
||||
<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://github.hubspot.com/pace/docs/welcome" data-text="pace.js - Add an automatic page load progress bar to your site" data-count="horizontal" data-via="HubSpotDev">Tweet</a>
|
||||
<script>
|
||||
if (Math.random() >= 0.5)
|
||||
var recommends = ['hubspotdev', 'zackbloom', 'adamfschwartz'];
|
||||
else
|
||||
var recommends = ['hubspotdev', 'adamfschwartz', 'zackbloom'];
|
||||
|
||||
var $button = $('.twitter-share-button');
|
||||
if ($button.length)
|
||||
$button.data('related', recommends.join(','));
|
||||
</script>
|
||||
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
|
||||
</div>
|
||||
<div id="github_stars">
|
||||
<iframe src="http://ghbtns.com/github-btn.html?user=HubSpot&repo=pace&type=watch&count=true&size=small" allowtransparency="true" frameborder="0" scrolling="0" width="200" height="20"></iframe>
|
||||
</div>
|
||||
|
||||
<!-- Start of Async HubSpot Analytics Code -->
|
||||
<script type="text/javascript">
|
||||
(function(d,s,i,r) {
|
||||
if (d.getElementById(i)){return;}
|
||||
var n=d.createElement(s),e=d.getElementsByTagName(s)[0];
|
||||
n.id=i;n.src='//js.hubspot.com/analytics/'+(Math.ceil(new Date()/r)*r)+'/51294.js';
|
||||
e.parentNode.insertBefore(n, e);
|
||||
})(document,"script","hs-analytics",300000);
|
||||
</script>
|
||||
<!-- End of Async HubSpot Analytics Code -->
|
||||
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
ga('create', 'UA-45159009-1', 'hubspot.com');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
|
||||
<!-- Force 3d acceleration always and forever :) -->
|
||||
<div style="-webkit-transform: translateZ(0)"></div>
|
||||
</body>
|
||||
</html>
|
||||
86
install.json
Normal file
86
install.json
Normal file
@@ -0,0 +1,86 @@
|
||||
{
|
||||
"resources": {
|
||||
"head": [
|
||||
{
|
||||
"type": "script",
|
||||
"src": "./pace.js",
|
||||
"moduleType": "global",
|
||||
"exports": ["Pace"]
|
||||
},
|
||||
{
|
||||
"type": "style",
|
||||
"src": "./themes/{{ options.color }}/pace-theme-{{ options.theme }}.css"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {
|
||||
"properties": {
|
||||
"color": {
|
||||
"title": "Color",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"black",
|
||||
"white",
|
||||
"silver",
|
||||
"red",
|
||||
"orange",
|
||||
"yellow",
|
||||
"green",
|
||||
"blue",
|
||||
"pink",
|
||||
"purple"
|
||||
],
|
||||
"enumNames": {
|
||||
"black": "Black",
|
||||
"white": "White",
|
||||
"silver": "Silver",
|
||||
"red": "Red",
|
||||
"orange": "Orange",
|
||||
"yellow": "Yellow",
|
||||
"green": "Green",
|
||||
"blue": "Blue",
|
||||
"pink": "Pink",
|
||||
"purple": "Purple"
|
||||
},
|
||||
"default": "blue"
|
||||
},
|
||||
"theme": {
|
||||
"title": "Theme",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"barber-shop",
|
||||
"big-counter",
|
||||
"bounce",
|
||||
"center-atom",
|
||||
"center-circle",
|
||||
"center-radar",
|
||||
"center-simple",
|
||||
"corner-indicator",
|
||||
"fill-left",
|
||||
"flash",
|
||||
"flat-top",
|
||||
"loading-bar",
|
||||
"mac-osx",
|
||||
"minimal"
|
||||
],
|
||||
"enumNames": {
|
||||
"barber-shop": "Barber Shop",
|
||||
"big-counter": "Big Counter",
|
||||
"bounce": "Bounce",
|
||||
"center-atom": "Center Atom",
|
||||
"center-circle": "Center Circle",
|
||||
"center-radar": "Center Radar",
|
||||
"center-simple": "Center Simple",
|
||||
"corner-indicator": "Corner Indicator",
|
||||
"fill-left": "Fill Left",
|
||||
"flash": "Flash",
|
||||
"flat-top": "Flat Top",
|
||||
"loading-bar": "Loading Bar",
|
||||
"mac-osx": "Mac OS X",
|
||||
"minimal": "Minimal"
|
||||
},
|
||||
"default": "barber-shop"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
755
pace.coffee
Normal file
755
pace.coffee
Normal file
@@ -0,0 +1,755 @@
|
||||
defaultOptions =
|
||||
# How long should it take for the bar to animate to a new
|
||||
# point after receiving it
|
||||
catchupTime: 100
|
||||
|
||||
# How quickly should the bar be moving before it has any progress
|
||||
# info from a new source in %/ms
|
||||
initialRate: .03
|
||||
|
||||
# What is the minimum amount of time the bar should be on the
|
||||
# screen. Irrespective of this number, the bar will always be on screen for
|
||||
# 33 * (100 / maxProgressPerFrame) + ghostTime ms.
|
||||
minTime: 250
|
||||
|
||||
# What is the minimum amount of time the bar should sit after the last
|
||||
# update before disappearing
|
||||
ghostTime: 100
|
||||
|
||||
# Its easy for a bunch of the bar to be eaten in the first few frames
|
||||
# before we know how much there is to load. This limits how much of
|
||||
# the bar can be used per frame
|
||||
maxProgressPerFrame: 20
|
||||
|
||||
# This tweaks the animation easing
|
||||
easeFactor: 1.25
|
||||
|
||||
# Should pace automatically start when the page is loaded, or should it wait for `start` to
|
||||
# be called? Always false if pace is loaded with AMD or CommonJS.
|
||||
startOnPageLoad: true
|
||||
|
||||
# Should we restart the browser when pushState or replaceState is called? (Generally
|
||||
# means ajax navigation has occured)
|
||||
restartOnPushState: true
|
||||
|
||||
# Should we show the progress bar for every ajax request (not just regular or ajax-y page
|
||||
# navigation)? Set to false to disable.
|
||||
#
|
||||
# If so, how many ms does the request have to be running for before we show the progress?
|
||||
restartOnRequestAfter: 500
|
||||
|
||||
# What element should the pace element be appended to on the page?
|
||||
target: 'body'
|
||||
|
||||
elements:
|
||||
# How frequently in ms should we check for the elements being tested for
|
||||
# using the element monitor?
|
||||
checkInterval: 100
|
||||
|
||||
# What elements should we wait for before deciding the page is fully loaded (not required)
|
||||
selectors: ['body']
|
||||
|
||||
eventLag:
|
||||
# When we first start measuring event lag, not much is going on in the browser yet, so it's
|
||||
# not uncommon for the numbers to be abnormally low for the first few samples. This configures
|
||||
# how many samples we need before we consider a low number to mean completion.
|
||||
minSamples: 10
|
||||
|
||||
# How many samples should we average to decide what the current lag is?
|
||||
sampleCount: 3
|
||||
|
||||
# Above how many ms of lag is the CPU considered busy?
|
||||
lagThreshold: 3
|
||||
|
||||
ajax:
|
||||
# Which HTTP methods should we track?
|
||||
trackMethods: ['GET']
|
||||
|
||||
# Should we track web socket connections?
|
||||
trackWebSockets: true
|
||||
|
||||
# A list of regular expressions or substrings of URLS we should ignore (for both tracking and restarting)
|
||||
ignoreURLs: []
|
||||
|
||||
now = ->
|
||||
performance?.now?() ? +new Date
|
||||
|
||||
requestAnimationFrame = window.requestAnimationFrame or window.mozRequestAnimationFrame or
|
||||
window.webkitRequestAnimationFrame or window.msRequestAnimationFrame
|
||||
|
||||
cancelAnimationFrame = window.cancelAnimationFrame or window.mozCancelAnimationFrame
|
||||
|
||||
if not requestAnimationFrame?
|
||||
requestAnimationFrame = (fn) ->
|
||||
setTimeout fn, 50
|
||||
|
||||
cancelAnimationFrame = (id) ->
|
||||
clearTimeout id
|
||||
|
||||
runAnimation = (fn) ->
|
||||
last = now()
|
||||
tick = ->
|
||||
diff = now() - last
|
||||
|
||||
if diff >= 33
|
||||
# Don't run faster than 30 fps
|
||||
|
||||
last = now()
|
||||
fn diff, ->
|
||||
requestAnimationFrame tick
|
||||
else
|
||||
setTimeout tick, (33 - diff)
|
||||
|
||||
tick()
|
||||
|
||||
result = (obj, key, args...) ->
|
||||
if typeof obj[key] is 'function'
|
||||
obj[key](args...)
|
||||
else
|
||||
obj[key]
|
||||
|
||||
extend = (out, sources...) ->
|
||||
for source in sources when source
|
||||
for own key, val of source
|
||||
if out[key]? and typeof out[key] is 'object' and val? and typeof val is 'object'
|
||||
extend(out[key], val)
|
||||
else
|
||||
out[key] = val
|
||||
out
|
||||
|
||||
avgAmplitude = (arr) ->
|
||||
sum = count = 0
|
||||
for v in arr
|
||||
sum += Math.abs(v)
|
||||
count++
|
||||
|
||||
sum / count
|
||||
|
||||
getFromDOM = (key='options', json=true) ->
|
||||
el = document.querySelector "[data-pace-#{ key }]"
|
||||
|
||||
return unless el
|
||||
|
||||
data = el.getAttribute "data-pace-#{ key }"
|
||||
|
||||
return data if not json
|
||||
|
||||
try
|
||||
return JSON.parse data
|
||||
catch e
|
||||
console?.error "Error parsing inline pace options", e
|
||||
|
||||
class Evented
|
||||
on: (event, handler, ctx, once=false) ->
|
||||
@bindings ?= {}
|
||||
@bindings[event] ?= []
|
||||
@bindings[event].push {handler, ctx, once}
|
||||
|
||||
once: (event, handler, ctx) ->
|
||||
@on(event, handler, ctx, true)
|
||||
|
||||
off: (event, handler) ->
|
||||
return unless @bindings?[event]?
|
||||
|
||||
if not handler?
|
||||
delete @bindings[event]
|
||||
else
|
||||
i = 0
|
||||
while i < @bindings[event].length
|
||||
if @bindings[event][i].handler is handler
|
||||
@bindings[event].splice i, 1
|
||||
else
|
||||
i++
|
||||
|
||||
trigger: (event, args...) ->
|
||||
if @bindings?[event]
|
||||
i = 0
|
||||
while i < @bindings[event].length
|
||||
{handler, ctx, once} = @bindings[event][i]
|
||||
|
||||
handler.apply(ctx ? @, args)
|
||||
|
||||
if once
|
||||
@bindings[event].splice i, 1
|
||||
else
|
||||
i++
|
||||
|
||||
Pace = window.Pace or {}
|
||||
window.Pace = Pace
|
||||
|
||||
extend Pace, Evented::
|
||||
|
||||
options = Pace.options = extend {}, defaultOptions, window.paceOptions, getFromDOM()
|
||||
|
||||
for source in ['ajax', 'document', 'eventLag', 'elements']
|
||||
# true enables them without configuration, so we grab the config from the defaults
|
||||
if options[source] is true
|
||||
options[source] = defaultOptions[source]
|
||||
|
||||
class NoTargetError extends Error
|
||||
|
||||
class Bar
|
||||
constructor: ->
|
||||
@progress = 0
|
||||
|
||||
getElement: ->
|
||||
if not @el?
|
||||
targetElement = document.querySelector options.target
|
||||
|
||||
if not targetElement
|
||||
throw new NoTargetError
|
||||
|
||||
@el = document.createElement 'div'
|
||||
@el.className = "pace pace-active"
|
||||
|
||||
document.body.className = document.body.className.replace /pace-done/g, ''
|
||||
document.body.className += ' pace-running'
|
||||
|
||||
@el.innerHTML = '''
|
||||
<div class="pace-progress">
|
||||
<div class="pace-progress-inner"></div>
|
||||
</div>
|
||||
<div class="pace-activity"></div>
|
||||
'''
|
||||
if targetElement.firstChild?
|
||||
targetElement.insertBefore @el, targetElement.firstChild
|
||||
else
|
||||
targetElement.appendChild @el
|
||||
|
||||
@el
|
||||
|
||||
finish: ->
|
||||
el = @getElement()
|
||||
|
||||
el.className = el.className.replace 'pace-active', ''
|
||||
el.className += ' pace-inactive'
|
||||
|
||||
document.body.className = document.body.className.replace 'pace-running', ''
|
||||
document.body.className += ' pace-done'
|
||||
|
||||
update: (prog) ->
|
||||
@progress = prog
|
||||
|
||||
do @render
|
||||
|
||||
destroy: ->
|
||||
try
|
||||
@getElement().parentNode.removeChild(@getElement())
|
||||
catch NoTargetError
|
||||
|
||||
@el = undefined
|
||||
|
||||
render: ->
|
||||
if not document.querySelector(options.target)?
|
||||
return false
|
||||
|
||||
el = @getElement()
|
||||
|
||||
transform = "translate3d(#{ @progress }%, 0, 0)"
|
||||
for key in ['webkitTransform', 'msTransform', 'transform']
|
||||
el.children[0].style[key] = transform
|
||||
|
||||
if not @lastRenderedProgress or @lastRenderedProgress|0 != @progress|0
|
||||
# The whole-part of the number has changed
|
||||
|
||||
el.children[0].setAttribute 'data-progress-text', "#{ @progress|0 }%"
|
||||
|
||||
if @progress >= 100
|
||||
# We cap it at 99 so we can use prefix-based attribute selectors
|
||||
progressStr = '99'
|
||||
else
|
||||
progressStr = if @progress < 10 then "0" else ""
|
||||
progressStr += @progress|0
|
||||
|
||||
el.children[0].setAttribute 'data-progress', "#{ progressStr }"
|
||||
|
||||
@lastRenderedProgress = @progress
|
||||
|
||||
done: ->
|
||||
@progress >= 100
|
||||
|
||||
class Events
|
||||
constructor: ->
|
||||
@bindings = {}
|
||||
|
||||
trigger: (name, val) ->
|
||||
if @bindings[name]?
|
||||
for binding in @bindings[name]
|
||||
binding.call @, val
|
||||
|
||||
on: (name, fn) ->
|
||||
@bindings[name] ?= []
|
||||
@bindings[name].push fn
|
||||
|
||||
_XMLHttpRequest = window.XMLHttpRequest
|
||||
_XDomainRequest = window.XDomainRequest
|
||||
_WebSocket = window.WebSocket
|
||||
|
||||
extendNative = (to, from) ->
|
||||
for key of from::
|
||||
try
|
||||
if not to[key]? and typeof from[key] isnt 'function'
|
||||
if typeof Object.defineProperty is 'function'
|
||||
Object.defineProperty(to, key, {
|
||||
get: ->
|
||||
return from::[key];
|
||||
,
|
||||
configurable: true,
|
||||
enumerable: true })
|
||||
else
|
||||
to[key] = from::[key]
|
||||
catch e
|
||||
|
||||
ignoreStack = []
|
||||
|
||||
Pace.ignore = (fn, args...) ->
|
||||
ignoreStack.unshift 'ignore'
|
||||
ret = fn(args...)
|
||||
ignoreStack.shift()
|
||||
ret
|
||||
|
||||
Pace.track = (fn, args...) ->
|
||||
ignoreStack.unshift 'track'
|
||||
ret = fn(args...)
|
||||
ignoreStack.shift()
|
||||
ret
|
||||
|
||||
shouldTrack = (method='GET') ->
|
||||
if ignoreStack[0] is 'track'
|
||||
return 'force'
|
||||
|
||||
if not ignoreStack.length and options.ajax
|
||||
if method is 'socket' and options.ajax.trackWebSockets
|
||||
return true
|
||||
else if method.toUpperCase() in options.ajax.trackMethods
|
||||
return true
|
||||
|
||||
return false
|
||||
|
||||
# We should only ever instantiate one of these
|
||||
class RequestIntercept extends Events
|
||||
constructor: ->
|
||||
super
|
||||
|
||||
monitorXHR = (req) =>
|
||||
_open = req.open
|
||||
req.open = (type, url, async) =>
|
||||
if shouldTrack(type)
|
||||
@trigger 'request', {type, url, request: req}
|
||||
|
||||
_open.apply req, arguments
|
||||
|
||||
window.XMLHttpRequest = (flags) ->
|
||||
req = new _XMLHttpRequest(flags)
|
||||
|
||||
monitorXHR req
|
||||
|
||||
req
|
||||
|
||||
try
|
||||
extendNative window.XMLHttpRequest, _XMLHttpRequest
|
||||
|
||||
if _XDomainRequest?
|
||||
window.XDomainRequest = ->
|
||||
req = new _XDomainRequest
|
||||
|
||||
monitorXHR req
|
||||
|
||||
req
|
||||
|
||||
try
|
||||
extendNative window.XDomainRequest, _XDomainRequest
|
||||
|
||||
if _WebSocket? and options.ajax.trackWebSockets
|
||||
window.WebSocket = (url, protocols) =>
|
||||
if protocols?
|
||||
req = new _WebSocket(url, protocols)
|
||||
else
|
||||
req = new _WebSocket(url)
|
||||
|
||||
if shouldTrack('socket')
|
||||
@trigger 'request', {type: 'socket', url, protocols, request: req}
|
||||
|
||||
req
|
||||
|
||||
try
|
||||
extendNative window.WebSocket, _WebSocket
|
||||
|
||||
_intercept = null
|
||||
getIntercept = ->
|
||||
if not _intercept?
|
||||
_intercept = new RequestIntercept
|
||||
_intercept
|
||||
|
||||
shouldIgnoreURL = (url) ->
|
||||
for pattern in options.ajax.ignoreURLs
|
||||
if typeof pattern is 'string'
|
||||
if url.indexOf(pattern) isnt -1
|
||||
return true
|
||||
|
||||
else
|
||||
if pattern.test(url)
|
||||
return true
|
||||
|
||||
return false
|
||||
|
||||
# If we want to start the progress bar
|
||||
# on every request, we need to hear the request
|
||||
# and then inject it into the new ajax monitor
|
||||
# start will have created.
|
||||
|
||||
getIntercept().on 'request', ({type, request, url}) ->
|
||||
return if shouldIgnoreURL(url)
|
||||
|
||||
if not Pace.running and (options.restartOnRequestAfter isnt false or shouldTrack(type) is 'force')
|
||||
args = arguments
|
||||
|
||||
after = options.restartOnRequestAfter or 0
|
||||
if typeof after is 'boolean'
|
||||
after = 0
|
||||
|
||||
setTimeout ->
|
||||
if type is 'socket'
|
||||
stillActive = request.readyState < 2
|
||||
else
|
||||
stillActive = 0 < request.readyState < 4
|
||||
|
||||
if stillActive
|
||||
Pace.restart()
|
||||
|
||||
for source in Pace.sources
|
||||
if source instanceof AjaxMonitor
|
||||
source.watch args...
|
||||
break
|
||||
, after
|
||||
|
||||
class AjaxMonitor
|
||||
constructor: ->
|
||||
@elements = []
|
||||
|
||||
getIntercept().on 'request', => @watch arguments...
|
||||
|
||||
watch: ({type, request, url}) ->
|
||||
return if shouldIgnoreURL(url)
|
||||
|
||||
if type is 'socket'
|
||||
tracker = new SocketRequestTracker(request)
|
||||
else
|
||||
tracker = new XHRRequestTracker(request)
|
||||
|
||||
@elements.push tracker
|
||||
|
||||
class XHRRequestTracker
|
||||
constructor: (request) ->
|
||||
@progress = 0
|
||||
|
||||
if window.ProgressEvent?
|
||||
# We're dealing with a modern browser with progress event support
|
||||
|
||||
size = null
|
||||
request.addEventListener 'progress', (evt) =>
|
||||
if evt.lengthComputable
|
||||
@progress = 100 * evt.loaded / evt.total
|
||||
else
|
||||
# If it's chunked encoding, we have no way of knowing the total length of the
|
||||
# response, all we can do is increment the progress with backoff such that we
|
||||
# never hit 100% until it's done.
|
||||
@progress = @progress + (100 - @progress) / 2
|
||||
, false
|
||||
|
||||
for event in ['load', 'abort', 'timeout', 'error']
|
||||
request.addEventListener event, =>
|
||||
@progress = 100
|
||||
, false
|
||||
|
||||
else
|
||||
_onreadystatechange = request.onreadystatechange
|
||||
request.onreadystatechange = =>
|
||||
if request.readyState in [0, 4]
|
||||
@progress = 100
|
||||
else if request.readyState is 3
|
||||
@progress = 50
|
||||
|
||||
_onreadystatechange?(arguments...)
|
||||
|
||||
class SocketRequestTracker
|
||||
constructor: (request) ->
|
||||
@progress = 0
|
||||
|
||||
for event in ['error', 'open']
|
||||
request.addEventListener event, =>
|
||||
@progress = 100
|
||||
, false
|
||||
|
||||
class ElementMonitor
|
||||
constructor: (options={}) ->
|
||||
@elements = []
|
||||
|
||||
options.selectors ?= []
|
||||
for selector in options.selectors
|
||||
@elements.push new ElementTracker selector
|
||||
|
||||
class ElementTracker
|
||||
constructor: (@selector) ->
|
||||
@progress = 0
|
||||
|
||||
@check()
|
||||
|
||||
check: ->
|
||||
if document.querySelector(@selector)
|
||||
@done()
|
||||
else
|
||||
setTimeout (=> @check()),
|
||||
options.elements.checkInterval
|
||||
|
||||
done: ->
|
||||
@progress = 100
|
||||
|
||||
class DocumentMonitor
|
||||
states:
|
||||
loading: 0
|
||||
interactive: 50
|
||||
complete: 100
|
||||
|
||||
constructor: ->
|
||||
@progress = @states[document.readyState] ? 100
|
||||
|
||||
_onreadystatechange = document.onreadystatechange
|
||||
document.onreadystatechange = =>
|
||||
if @states[document.readyState]?
|
||||
@progress = @states[document.readyState]
|
||||
|
||||
_onreadystatechange?(arguments...)
|
||||
|
||||
class EventLagMonitor
|
||||
constructor: ->
|
||||
@progress = 0
|
||||
|
||||
avg = 0
|
||||
|
||||
samples = []
|
||||
|
||||
points = 0
|
||||
last = now()
|
||||
interval = setInterval =>
|
||||
diff = now() - last - 50
|
||||
last = now()
|
||||
|
||||
samples.push diff
|
||||
|
||||
if samples.length > options.eventLag.sampleCount
|
||||
samples.shift()
|
||||
|
||||
avg = avgAmplitude samples
|
||||
|
||||
if ++points >= options.eventLag.minSamples and avg < options.eventLag.lagThreshold
|
||||
@progress = 100
|
||||
|
||||
clearInterval interval
|
||||
else
|
||||
@progress = 100 * (3 / (avg + 3))
|
||||
|
||||
, 50
|
||||
|
||||
class Scaler
|
||||
constructor: (@source) ->
|
||||
@last = @sinceLastUpdate = 0
|
||||
@rate = options.initialRate
|
||||
@catchup = 0
|
||||
@progress = @lastProgress = 0
|
||||
|
||||
if @source?
|
||||
@progress = result(@source, 'progress')
|
||||
|
||||
tick: (frameTime, val) ->
|
||||
val ?= result(@source, 'progress')
|
||||
|
||||
if val >= 100
|
||||
@done = true
|
||||
|
||||
if val == @last
|
||||
@sinceLastUpdate += frameTime
|
||||
else
|
||||
if @sinceLastUpdate
|
||||
@rate = (val - @last) / @sinceLastUpdate
|
||||
|
||||
@catchup = (val - @progress) / options.catchupTime
|
||||
|
||||
@sinceLastUpdate = 0
|
||||
@last = val
|
||||
|
||||
if val > @progress
|
||||
# After we've got a datapoint, we have catchupTime to
|
||||
# get the progress bar to reflect that new data
|
||||
@progress += @catchup * frameTime
|
||||
|
||||
scaling = (1 - Math.pow(@progress / 100, options.easeFactor))
|
||||
|
||||
# Based on the rate of the last update, we preemptively update
|
||||
# the progress bar, scaling it so it can never hit 100% until we
|
||||
# know it's done.
|
||||
@progress += scaling * @rate * frameTime
|
||||
|
||||
@progress = Math.min(@lastProgress + options.maxProgressPerFrame, @progress)
|
||||
|
||||
@progress = Math.max(0, @progress)
|
||||
@progress = Math.min(100, @progress)
|
||||
|
||||
@lastProgress = @progress
|
||||
|
||||
@progress
|
||||
|
||||
sources = null
|
||||
scalers = null
|
||||
bar = null
|
||||
uniScaler = null
|
||||
animation = null
|
||||
cancelAnimation = null
|
||||
Pace.running = false
|
||||
|
||||
handlePushState = ->
|
||||
if options.restartOnPushState
|
||||
Pace.restart()
|
||||
|
||||
# We reset the bar whenever it looks like an ajax navigation has occured.
|
||||
if window.history.pushState?
|
||||
_pushState = window.history.pushState
|
||||
window.history.pushState = ->
|
||||
handlePushState()
|
||||
|
||||
_pushState.apply window.history, arguments
|
||||
|
||||
if window.history.replaceState?
|
||||
_replaceState = window.history.replaceState
|
||||
window.history.replaceState = ->
|
||||
handlePushState()
|
||||
|
||||
_replaceState.apply window.history, arguments
|
||||
|
||||
SOURCE_KEYS =
|
||||
ajax: AjaxMonitor
|
||||
elements: ElementMonitor
|
||||
document: DocumentMonitor
|
||||
eventLag: EventLagMonitor
|
||||
|
||||
do init = ->
|
||||
Pace.sources = sources = []
|
||||
|
||||
for type in ['ajax', 'elements', 'document', 'eventLag']
|
||||
if options[type] isnt false
|
||||
sources.push new SOURCE_KEYS[type](options[type])
|
||||
|
||||
for source in options.extraSources ? []
|
||||
sources.push new source(options)
|
||||
|
||||
Pace.bar = bar = new Bar
|
||||
|
||||
# Each source of progress data has it's own scaler to smooth its output
|
||||
scalers = []
|
||||
|
||||
# We have an extra scaler for the final output to keep things looking nice as we add and
|
||||
# remove sources
|
||||
uniScaler = new Scaler
|
||||
|
||||
Pace.stop = ->
|
||||
Pace.trigger 'stop'
|
||||
Pace.running = false
|
||||
|
||||
bar.destroy()
|
||||
|
||||
# Not all browsers support cancelAnimationFrame
|
||||
cancelAnimation = true
|
||||
|
||||
if animation?
|
||||
cancelAnimationFrame? animation
|
||||
animation = null
|
||||
|
||||
init()
|
||||
|
||||
Pace.restart = ->
|
||||
Pace.trigger 'restart'
|
||||
Pace.stop()
|
||||
Pace.start()
|
||||
|
||||
Pace.go = ->
|
||||
Pace.running = true
|
||||
|
||||
bar.render()
|
||||
|
||||
start = now()
|
||||
|
||||
cancelAnimation = false
|
||||
animation = runAnimation (frameTime, enqueueNextFrame) ->
|
||||
# Every source gives us a progress number from 0 - 100
|
||||
# It's up to us to figure out how to turn that into a smoothly moving bar
|
||||
#
|
||||
# Their progress numbers can only increment. We try to interpolate
|
||||
# between the numbers.
|
||||
|
||||
remaining = 100 - bar.progress
|
||||
|
||||
count = sum = 0
|
||||
done = true
|
||||
# A source is composed of a bunch of elements, each with a raw, unscaled progress
|
||||
for source, i in sources
|
||||
scalerList = scalers[i] ?= []
|
||||
|
||||
elements = source.elements ? [source]
|
||||
|
||||
# Each element is given it's own scaler, which turns its value into something
|
||||
# smoothed for display
|
||||
for element, j in elements
|
||||
scaler = scalerList[j] ?= new Scaler element
|
||||
|
||||
done &= scaler.done
|
||||
|
||||
continue if scaler.done
|
||||
|
||||
count++
|
||||
sum += scaler.tick(frameTime)
|
||||
|
||||
avg = sum / count
|
||||
|
||||
bar.update uniScaler.tick(frameTime, avg)
|
||||
|
||||
if bar.done() or done or cancelAnimation
|
||||
bar.update 100
|
||||
|
||||
Pace.trigger 'done'
|
||||
|
||||
setTimeout ->
|
||||
bar.finish()
|
||||
|
||||
Pace.running = false
|
||||
|
||||
Pace.trigger 'hide'
|
||||
, Math.max(options.ghostTime, Math.max(options.minTime - (now() - start), 0))
|
||||
else
|
||||
enqueueNextFrame()
|
||||
|
||||
Pace.start = (_options) ->
|
||||
extend options, _options
|
||||
|
||||
Pace.running = true
|
||||
|
||||
try
|
||||
bar.render()
|
||||
catch NoTargetError
|
||||
|
||||
# It's usually possible to render a bit before the document declares itself ready
|
||||
if not document.querySelector('.pace')
|
||||
setTimeout Pace.start, 50
|
||||
else
|
||||
Pace.trigger 'start'
|
||||
Pace.go()
|
||||
|
||||
if typeof define is 'function' and define.amd
|
||||
# AMD
|
||||
define ['pace'], -> Pace
|
||||
else if typeof exports is 'object'
|
||||
# CommonJS
|
||||
module.exports = Pace
|
||||
else
|
||||
# Global
|
||||
if options.startOnPageLoad
|
||||
Pace.start()
|
||||
935
pace.js
Normal file
935
pace.js
Normal file
@@ -0,0 +1,935 @@
|
||||
(function() {
|
||||
var AjaxMonitor, Bar, DocumentMonitor, ElementMonitor, ElementTracker, EventLagMonitor, Evented, Events, NoTargetError, Pace, RequestIntercept, SOURCE_KEYS, Scaler, SocketRequestTracker, XHRRequestTracker, animation, avgAmplitude, bar, cancelAnimation, cancelAnimationFrame, defaultOptions, extend, extendNative, getFromDOM, getIntercept, handlePushState, ignoreStack, init, now, options, requestAnimationFrame, result, runAnimation, scalers, shouldIgnoreURL, shouldTrack, source, sources, uniScaler, _WebSocket, _XDomainRequest, _XMLHttpRequest, _i, _intercept, _len, _pushState, _ref, _ref1, _replaceState,
|
||||
__slice = [].slice,
|
||||
__hasProp = {}.hasOwnProperty,
|
||||
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
|
||||
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
|
||||
|
||||
defaultOptions = {
|
||||
catchupTime: 100,
|
||||
initialRate: .03,
|
||||
minTime: 250,
|
||||
ghostTime: 100,
|
||||
maxProgressPerFrame: 20,
|
||||
easeFactor: 1.25,
|
||||
startOnPageLoad: true,
|
||||
restartOnPushState: true,
|
||||
restartOnRequestAfter: 500,
|
||||
target: 'body',
|
||||
elements: {
|
||||
checkInterval: 100,
|
||||
selectors: ['body']
|
||||
},
|
||||
eventLag: {
|
||||
minSamples: 10,
|
||||
sampleCount: 3,
|
||||
lagThreshold: 3
|
||||
},
|
||||
ajax: {
|
||||
trackMethods: ['GET'],
|
||||
trackWebSockets: true,
|
||||
ignoreURLs: []
|
||||
}
|
||||
};
|
||||
|
||||
now = function() {
|
||||
var _ref;
|
||||
return (_ref = typeof performance !== "undefined" && performance !== null ? typeof performance.now === "function" ? performance.now() : void 0 : void 0) != null ? _ref : +(new Date);
|
||||
};
|
||||
|
||||
requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
|
||||
|
||||
cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame;
|
||||
|
||||
if (requestAnimationFrame == null) {
|
||||
requestAnimationFrame = function(fn) {
|
||||
return setTimeout(fn, 50);
|
||||
};
|
||||
cancelAnimationFrame = function(id) {
|
||||
return clearTimeout(id);
|
||||
};
|
||||
}
|
||||
|
||||
runAnimation = function(fn) {
|
||||
var last, tick;
|
||||
last = now();
|
||||
tick = function() {
|
||||
var diff;
|
||||
diff = now() - last;
|
||||
if (diff >= 33) {
|
||||
last = now();
|
||||
return fn(diff, function() {
|
||||
return requestAnimationFrame(tick);
|
||||
});
|
||||
} else {
|
||||
return setTimeout(tick, 33 - diff);
|
||||
}
|
||||
};
|
||||
return tick();
|
||||
};
|
||||
|
||||
result = function() {
|
||||
var args, key, obj;
|
||||
obj = arguments[0], key = arguments[1], args = 3 <= arguments.length ? __slice.call(arguments, 2) : [];
|
||||
if (typeof obj[key] === 'function') {
|
||||
return obj[key].apply(obj, args);
|
||||
} else {
|
||||
return obj[key];
|
||||
}
|
||||
};
|
||||
|
||||
extend = function() {
|
||||
var key, out, source, sources, val, _i, _len;
|
||||
out = arguments[0], sources = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
|
||||
for (_i = 0, _len = sources.length; _i < _len; _i++) {
|
||||
source = sources[_i];
|
||||
if (source) {
|
||||
for (key in source) {
|
||||
if (!__hasProp.call(source, key)) continue;
|
||||
val = source[key];
|
||||
if ((out[key] != null) && typeof out[key] === 'object' && (val != null) && typeof val === 'object') {
|
||||
extend(out[key], val);
|
||||
} else {
|
||||
out[key] = val;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return out;
|
||||
};
|
||||
|
||||
avgAmplitude = function(arr) {
|
||||
var count, sum, v, _i, _len;
|
||||
sum = count = 0;
|
||||
for (_i = 0, _len = arr.length; _i < _len; _i++) {
|
||||
v = arr[_i];
|
||||
sum += Math.abs(v);
|
||||
count++;
|
||||
}
|
||||
return sum / count;
|
||||
};
|
||||
|
||||
getFromDOM = function(key, json) {
|
||||
var data, e, el;
|
||||
if (key == null) {
|
||||
key = 'options';
|
||||
}
|
||||
if (json == null) {
|
||||
json = true;
|
||||
}
|
||||
el = document.querySelector("[data-pace-" + key + "]");
|
||||
if (!el) {
|
||||
return;
|
||||
}
|
||||
data = el.getAttribute("data-pace-" + key);
|
||||
if (!json) {
|
||||
return data;
|
||||
}
|
||||
try {
|
||||
return JSON.parse(data);
|
||||
} catch (_error) {
|
||||
e = _error;
|
||||
return typeof console !== "undefined" && console !== null ? console.error("Error parsing inline pace options", e) : void 0;
|
||||
}
|
||||
};
|
||||
|
||||
Evented = (function() {
|
||||
function Evented() {}
|
||||
|
||||
Evented.prototype.on = function(event, handler, ctx, once) {
|
||||
var _base;
|
||||
if (once == null) {
|
||||
once = false;
|
||||
}
|
||||
if (this.bindings == null) {
|
||||
this.bindings = {};
|
||||
}
|
||||
if ((_base = this.bindings)[event] == null) {
|
||||
_base[event] = [];
|
||||
}
|
||||
return this.bindings[event].push({
|
||||
handler: handler,
|
||||
ctx: ctx,
|
||||
once: once
|
||||
});
|
||||
};
|
||||
|
||||
Evented.prototype.once = function(event, handler, ctx) {
|
||||
return this.on(event, handler, ctx, true);
|
||||
};
|
||||
|
||||
Evented.prototype.off = function(event, handler) {
|
||||
var i, _ref, _results;
|
||||
if (((_ref = this.bindings) != null ? _ref[event] : void 0) == null) {
|
||||
return;
|
||||
}
|
||||
if (handler == null) {
|
||||
return delete this.bindings[event];
|
||||
} else {
|
||||
i = 0;
|
||||
_results = [];
|
||||
while (i < this.bindings[event].length) {
|
||||
if (this.bindings[event][i].handler === handler) {
|
||||
_results.push(this.bindings[event].splice(i, 1));
|
||||
} else {
|
||||
_results.push(i++);
|
||||
}
|
||||
}
|
||||
return _results;
|
||||
}
|
||||
};
|
||||
|
||||
Evented.prototype.trigger = function() {
|
||||
var args, ctx, event, handler, i, once, _ref, _ref1, _results;
|
||||
event = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
|
||||
if ((_ref = this.bindings) != null ? _ref[event] : void 0) {
|
||||
i = 0;
|
||||
_results = [];
|
||||
while (i < this.bindings[event].length) {
|
||||
_ref1 = this.bindings[event][i], handler = _ref1.handler, ctx = _ref1.ctx, once = _ref1.once;
|
||||
handler.apply(ctx != null ? ctx : this, args);
|
||||
if (once) {
|
||||
_results.push(this.bindings[event].splice(i, 1));
|
||||
} else {
|
||||
_results.push(i++);
|
||||
}
|
||||
}
|
||||
return _results;
|
||||
}
|
||||
};
|
||||
|
||||
return Evented;
|
||||
|
||||
})();
|
||||
|
||||
Pace = window.Pace || {};
|
||||
|
||||
window.Pace = Pace;
|
||||
|
||||
extend(Pace, Evented.prototype);
|
||||
|
||||
options = Pace.options = extend({}, defaultOptions, window.paceOptions, getFromDOM());
|
||||
|
||||
_ref = ['ajax', 'document', 'eventLag', 'elements'];
|
||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||
source = _ref[_i];
|
||||
if (options[source] === true) {
|
||||
options[source] = defaultOptions[source];
|
||||
}
|
||||
}
|
||||
|
||||
NoTargetError = (function(_super) {
|
||||
__extends(NoTargetError, _super);
|
||||
|
||||
function NoTargetError() {
|
||||
_ref1 = NoTargetError.__super__.constructor.apply(this, arguments);
|
||||
return _ref1;
|
||||
}
|
||||
|
||||
return NoTargetError;
|
||||
|
||||
})(Error);
|
||||
|
||||
Bar = (function() {
|
||||
function Bar() {
|
||||
this.progress = 0;
|
||||
}
|
||||
|
||||
Bar.prototype.getElement = function() {
|
||||
var targetElement;
|
||||
if (this.el == null) {
|
||||
targetElement = document.querySelector(options.target);
|
||||
if (!targetElement) {
|
||||
throw new NoTargetError;
|
||||
}
|
||||
this.el = document.createElement('div');
|
||||
this.el.className = "pace pace-active";
|
||||
document.body.className = document.body.className.replace(/pace-done/g, '');
|
||||
document.body.className += ' pace-running';
|
||||
this.el.innerHTML = '<div class="pace-progress">\n <div class="pace-progress-inner"></div>\n</div>\n<div class="pace-activity"></div>';
|
||||
if (targetElement.firstChild != null) {
|
||||
targetElement.insertBefore(this.el, targetElement.firstChild);
|
||||
} else {
|
||||
targetElement.appendChild(this.el);
|
||||
}
|
||||
}
|
||||
return this.el;
|
||||
};
|
||||
|
||||
Bar.prototype.finish = function() {
|
||||
var el;
|
||||
el = this.getElement();
|
||||
el.className = el.className.replace('pace-active', '');
|
||||
el.className += ' pace-inactive';
|
||||
document.body.className = document.body.className.replace('pace-running', '');
|
||||
return document.body.className += ' pace-done';
|
||||
};
|
||||
|
||||
Bar.prototype.update = function(prog) {
|
||||
this.progress = prog;
|
||||
return this.render();
|
||||
};
|
||||
|
||||
Bar.prototype.destroy = function() {
|
||||
try {
|
||||
this.getElement().parentNode.removeChild(this.getElement());
|
||||
} catch (_error) {
|
||||
NoTargetError = _error;
|
||||
}
|
||||
return this.el = void 0;
|
||||
};
|
||||
|
||||
Bar.prototype.render = function() {
|
||||
var el, key, progressStr, transform, _j, _len1, _ref2;
|
||||
if (document.querySelector(options.target) == null) {
|
||||
return false;
|
||||
}
|
||||
el = this.getElement();
|
||||
transform = "translate3d(" + this.progress + "%, 0, 0)";
|
||||
_ref2 = ['webkitTransform', 'msTransform', 'transform'];
|
||||
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
|
||||
key = _ref2[_j];
|
||||
el.children[0].style[key] = transform;
|
||||
}
|
||||
if (!this.lastRenderedProgress || this.lastRenderedProgress | 0 !== this.progress | 0) {
|
||||
el.children[0].setAttribute('data-progress-text', "" + (this.progress | 0) + "%");
|
||||
if (this.progress >= 100) {
|
||||
progressStr = '99';
|
||||
} else {
|
||||
progressStr = this.progress < 10 ? "0" : "";
|
||||
progressStr += this.progress | 0;
|
||||
}
|
||||
el.children[0].setAttribute('data-progress', "" + progressStr);
|
||||
}
|
||||
return this.lastRenderedProgress = this.progress;
|
||||
};
|
||||
|
||||
Bar.prototype.done = function() {
|
||||
return this.progress >= 100;
|
||||
};
|
||||
|
||||
return Bar;
|
||||
|
||||
})();
|
||||
|
||||
Events = (function() {
|
||||
function Events() {
|
||||
this.bindings = {};
|
||||
}
|
||||
|
||||
Events.prototype.trigger = function(name, val) {
|
||||
var binding, _j, _len1, _ref2, _results;
|
||||
if (this.bindings[name] != null) {
|
||||
_ref2 = this.bindings[name];
|
||||
_results = [];
|
||||
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
|
||||
binding = _ref2[_j];
|
||||
_results.push(binding.call(this, val));
|
||||
}
|
||||
return _results;
|
||||
}
|
||||
};
|
||||
|
||||
Events.prototype.on = function(name, fn) {
|
||||
var _base;
|
||||
if ((_base = this.bindings)[name] == null) {
|
||||
_base[name] = [];
|
||||
}
|
||||
return this.bindings[name].push(fn);
|
||||
};
|
||||
|
||||
return Events;
|
||||
|
||||
})();
|
||||
|
||||
_XMLHttpRequest = window.XMLHttpRequest;
|
||||
|
||||
_XDomainRequest = window.XDomainRequest;
|
||||
|
||||
_WebSocket = window.WebSocket;
|
||||
|
||||
extendNative = function(to, from) {
|
||||
var e, key, _results;
|
||||
_results = [];
|
||||
for (key in from.prototype) {
|
||||
try {
|
||||
if ((to[key] == null) && typeof from[key] !== 'function') {
|
||||
if (typeof Object.defineProperty === 'function') {
|
||||
_results.push(Object.defineProperty(to, key, {
|
||||
get: function() {
|
||||
return from.prototype[key];
|
||||
},
|
||||
configurable: true,
|
||||
enumerable: true
|
||||
}));
|
||||
} else {
|
||||
_results.push(to[key] = from.prototype[key]);
|
||||
}
|
||||
} else {
|
||||
_results.push(void 0);
|
||||
}
|
||||
} catch (_error) {
|
||||
e = _error;
|
||||
}
|
||||
}
|
||||
return _results;
|
||||
};
|
||||
|
||||
ignoreStack = [];
|
||||
|
||||
Pace.ignore = function() {
|
||||
var args, fn, ret;
|
||||
fn = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
|
||||
ignoreStack.unshift('ignore');
|
||||
ret = fn.apply(null, args);
|
||||
ignoreStack.shift();
|
||||
return ret;
|
||||
};
|
||||
|
||||
Pace.track = function() {
|
||||
var args, fn, ret;
|
||||
fn = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
|
||||
ignoreStack.unshift('track');
|
||||
ret = fn.apply(null, args);
|
||||
ignoreStack.shift();
|
||||
return ret;
|
||||
};
|
||||
|
||||
shouldTrack = function(method) {
|
||||
var _ref2;
|
||||
if (method == null) {
|
||||
method = 'GET';
|
||||
}
|
||||
if (ignoreStack[0] === 'track') {
|
||||
return 'force';
|
||||
}
|
||||
if (!ignoreStack.length && options.ajax) {
|
||||
if (method === 'socket' && options.ajax.trackWebSockets) {
|
||||
return true;
|
||||
} else if (_ref2 = method.toUpperCase(), __indexOf.call(options.ajax.trackMethods, _ref2) >= 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
RequestIntercept = (function(_super) {
|
||||
__extends(RequestIntercept, _super);
|
||||
|
||||
function RequestIntercept() {
|
||||
var monitorXHR,
|
||||
_this = this;
|
||||
RequestIntercept.__super__.constructor.apply(this, arguments);
|
||||
monitorXHR = function(req) {
|
||||
var _open;
|
||||
_open = req.open;
|
||||
return req.open = function(type, url, async) {
|
||||
if (shouldTrack(type)) {
|
||||
_this.trigger('request', {
|
||||
type: type,
|
||||
url: url,
|
||||
request: req
|
||||
});
|
||||
}
|
||||
return _open.apply(req, arguments);
|
||||
};
|
||||
};
|
||||
window.XMLHttpRequest = function(flags) {
|
||||
var req;
|
||||
req = new _XMLHttpRequest(flags);
|
||||
monitorXHR(req);
|
||||
return req;
|
||||
};
|
||||
try {
|
||||
extendNative(window.XMLHttpRequest, _XMLHttpRequest);
|
||||
} catch (_error) {}
|
||||
if (_XDomainRequest != null) {
|
||||
window.XDomainRequest = function() {
|
||||
var req;
|
||||
req = new _XDomainRequest;
|
||||
monitorXHR(req);
|
||||
return req;
|
||||
};
|
||||
try {
|
||||
extendNative(window.XDomainRequest, _XDomainRequest);
|
||||
} catch (_error) {}
|
||||
}
|
||||
if ((_WebSocket != null) && options.ajax.trackWebSockets) {
|
||||
window.WebSocket = function(url, protocols) {
|
||||
var req;
|
||||
if (protocols != null) {
|
||||
req = new _WebSocket(url, protocols);
|
||||
} else {
|
||||
req = new _WebSocket(url);
|
||||
}
|
||||
if (shouldTrack('socket')) {
|
||||
_this.trigger('request', {
|
||||
type: 'socket',
|
||||
url: url,
|
||||
protocols: protocols,
|
||||
request: req
|
||||
});
|
||||
}
|
||||
return req;
|
||||
};
|
||||
try {
|
||||
extendNative(window.WebSocket, _WebSocket);
|
||||
} catch (_error) {}
|
||||
}
|
||||
}
|
||||
|
||||
return RequestIntercept;
|
||||
|
||||
})(Events);
|
||||
|
||||
_intercept = null;
|
||||
|
||||
getIntercept = function() {
|
||||
if (_intercept == null) {
|
||||
_intercept = new RequestIntercept;
|
||||
}
|
||||
return _intercept;
|
||||
};
|
||||
|
||||
shouldIgnoreURL = function(url) {
|
||||
var pattern, _j, _len1, _ref2;
|
||||
_ref2 = options.ajax.ignoreURLs;
|
||||
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
|
||||
pattern = _ref2[_j];
|
||||
if (typeof pattern === 'string') {
|
||||
if (url.indexOf(pattern) !== -1) {
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
if (pattern.test(url)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
getIntercept().on('request', function(_arg) {
|
||||
var after, args, request, type, url;
|
||||
type = _arg.type, request = _arg.request, url = _arg.url;
|
||||
if (shouldIgnoreURL(url)) {
|
||||
return;
|
||||
}
|
||||
if (!Pace.running && (options.restartOnRequestAfter !== false || shouldTrack(type) === 'force')) {
|
||||
args = arguments;
|
||||
after = options.restartOnRequestAfter || 0;
|
||||
if (typeof after === 'boolean') {
|
||||
after = 0;
|
||||
}
|
||||
return setTimeout(function() {
|
||||
var stillActive, _j, _len1, _ref2, _ref3, _results;
|
||||
if (type === 'socket') {
|
||||
stillActive = request.readyState < 2;
|
||||
} else {
|
||||
stillActive = (0 < (_ref2 = request.readyState) && _ref2 < 4);
|
||||
}
|
||||
if (stillActive) {
|
||||
Pace.restart();
|
||||
_ref3 = Pace.sources;
|
||||
_results = [];
|
||||
for (_j = 0, _len1 = _ref3.length; _j < _len1; _j++) {
|
||||
source = _ref3[_j];
|
||||
if (source instanceof AjaxMonitor) {
|
||||
source.watch.apply(source, args);
|
||||
break;
|
||||
} else {
|
||||
_results.push(void 0);
|
||||
}
|
||||
}
|
||||
return _results;
|
||||
}
|
||||
}, after);
|
||||
}
|
||||
});
|
||||
|
||||
AjaxMonitor = (function() {
|
||||
function AjaxMonitor() {
|
||||
var _this = this;
|
||||
this.elements = [];
|
||||
getIntercept().on('request', function() {
|
||||
return _this.watch.apply(_this, arguments);
|
||||
});
|
||||
}
|
||||
|
||||
AjaxMonitor.prototype.watch = function(_arg) {
|
||||
var request, tracker, type, url;
|
||||
type = _arg.type, request = _arg.request, url = _arg.url;
|
||||
if (shouldIgnoreURL(url)) {
|
||||
return;
|
||||
}
|
||||
if (type === 'socket') {
|
||||
tracker = new SocketRequestTracker(request);
|
||||
} else {
|
||||
tracker = new XHRRequestTracker(request);
|
||||
}
|
||||
return this.elements.push(tracker);
|
||||
};
|
||||
|
||||
return AjaxMonitor;
|
||||
|
||||
})();
|
||||
|
||||
XHRRequestTracker = (function() {
|
||||
function XHRRequestTracker(request) {
|
||||
var event, size, _j, _len1, _onreadystatechange, _ref2,
|
||||
_this = this;
|
||||
this.progress = 0;
|
||||
if (window.ProgressEvent != null) {
|
||||
size = null;
|
||||
request.addEventListener('progress', function(evt) {
|
||||
if (evt.lengthComputable) {
|
||||
return _this.progress = 100 * evt.loaded / evt.total;
|
||||
} else {
|
||||
return _this.progress = _this.progress + (100 - _this.progress) / 2;
|
||||
}
|
||||
}, false);
|
||||
_ref2 = ['load', 'abort', 'timeout', 'error'];
|
||||
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
|
||||
event = _ref2[_j];
|
||||
request.addEventListener(event, function() {
|
||||
return _this.progress = 100;
|
||||
}, false);
|
||||
}
|
||||
} else {
|
||||
_onreadystatechange = request.onreadystatechange;
|
||||
request.onreadystatechange = function() {
|
||||
var _ref3;
|
||||
if ((_ref3 = request.readyState) === 0 || _ref3 === 4) {
|
||||
_this.progress = 100;
|
||||
} else if (request.readyState === 3) {
|
||||
_this.progress = 50;
|
||||
}
|
||||
return typeof _onreadystatechange === "function" ? _onreadystatechange.apply(null, arguments) : void 0;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
return XHRRequestTracker;
|
||||
|
||||
})();
|
||||
|
||||
SocketRequestTracker = (function() {
|
||||
function SocketRequestTracker(request) {
|
||||
var event, _j, _len1, _ref2,
|
||||
_this = this;
|
||||
this.progress = 0;
|
||||
_ref2 = ['error', 'open'];
|
||||
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
|
||||
event = _ref2[_j];
|
||||
request.addEventListener(event, function() {
|
||||
return _this.progress = 100;
|
||||
}, false);
|
||||
}
|
||||
}
|
||||
|
||||
return SocketRequestTracker;
|
||||
|
||||
})();
|
||||
|
||||
ElementMonitor = (function() {
|
||||
function ElementMonitor(options) {
|
||||
var selector, _j, _len1, _ref2;
|
||||
if (options == null) {
|
||||
options = {};
|
||||
}
|
||||
this.elements = [];
|
||||
if (options.selectors == null) {
|
||||
options.selectors = [];
|
||||
}
|
||||
_ref2 = options.selectors;
|
||||
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
|
||||
selector = _ref2[_j];
|
||||
this.elements.push(new ElementTracker(selector));
|
||||
}
|
||||
}
|
||||
|
||||
return ElementMonitor;
|
||||
|
||||
})();
|
||||
|
||||
ElementTracker = (function() {
|
||||
function ElementTracker(selector) {
|
||||
this.selector = selector;
|
||||
this.progress = 0;
|
||||
this.check();
|
||||
}
|
||||
|
||||
ElementTracker.prototype.check = function() {
|
||||
var _this = this;
|
||||
if (document.querySelector(this.selector)) {
|
||||
return this.done();
|
||||
} else {
|
||||
return setTimeout((function() {
|
||||
return _this.check();
|
||||
}), options.elements.checkInterval);
|
||||
}
|
||||
};
|
||||
|
||||
ElementTracker.prototype.done = function() {
|
||||
return this.progress = 100;
|
||||
};
|
||||
|
||||
return ElementTracker;
|
||||
|
||||
})();
|
||||
|
||||
DocumentMonitor = (function() {
|
||||
DocumentMonitor.prototype.states = {
|
||||
loading: 0,
|
||||
interactive: 50,
|
||||
complete: 100
|
||||
};
|
||||
|
||||
function DocumentMonitor() {
|
||||
var _onreadystatechange, _ref2,
|
||||
_this = this;
|
||||
this.progress = (_ref2 = this.states[document.readyState]) != null ? _ref2 : 100;
|
||||
_onreadystatechange = document.onreadystatechange;
|
||||
document.onreadystatechange = function() {
|
||||
if (_this.states[document.readyState] != null) {
|
||||
_this.progress = _this.states[document.readyState];
|
||||
}
|
||||
return typeof _onreadystatechange === "function" ? _onreadystatechange.apply(null, arguments) : void 0;
|
||||
};
|
||||
}
|
||||
|
||||
return DocumentMonitor;
|
||||
|
||||
})();
|
||||
|
||||
EventLagMonitor = (function() {
|
||||
function EventLagMonitor() {
|
||||
var avg, interval, last, points, samples,
|
||||
_this = this;
|
||||
this.progress = 0;
|
||||
avg = 0;
|
||||
samples = [];
|
||||
points = 0;
|
||||
last = now();
|
||||
interval = setInterval(function() {
|
||||
var diff;
|
||||
diff = now() - last - 50;
|
||||
last = now();
|
||||
samples.push(diff);
|
||||
if (samples.length > options.eventLag.sampleCount) {
|
||||
samples.shift();
|
||||
}
|
||||
avg = avgAmplitude(samples);
|
||||
if (++points >= options.eventLag.minSamples && avg < options.eventLag.lagThreshold) {
|
||||
_this.progress = 100;
|
||||
return clearInterval(interval);
|
||||
} else {
|
||||
return _this.progress = 100 * (3 / (avg + 3));
|
||||
}
|
||||
}, 50);
|
||||
}
|
||||
|
||||
return EventLagMonitor;
|
||||
|
||||
})();
|
||||
|
||||
Scaler = (function() {
|
||||
function Scaler(source) {
|
||||
this.source = source;
|
||||
this.last = this.sinceLastUpdate = 0;
|
||||
this.rate = options.initialRate;
|
||||
this.catchup = 0;
|
||||
this.progress = this.lastProgress = 0;
|
||||
if (this.source != null) {
|
||||
this.progress = result(this.source, 'progress');
|
||||
}
|
||||
}
|
||||
|
||||
Scaler.prototype.tick = function(frameTime, val) {
|
||||
var scaling;
|
||||
if (val == null) {
|
||||
val = result(this.source, 'progress');
|
||||
}
|
||||
if (val >= 100) {
|
||||
this.done = true;
|
||||
}
|
||||
if (val === this.last) {
|
||||
this.sinceLastUpdate += frameTime;
|
||||
} else {
|
||||
if (this.sinceLastUpdate) {
|
||||
this.rate = (val - this.last) / this.sinceLastUpdate;
|
||||
}
|
||||
this.catchup = (val - this.progress) / options.catchupTime;
|
||||
this.sinceLastUpdate = 0;
|
||||
this.last = val;
|
||||
}
|
||||
if (val > this.progress) {
|
||||
this.progress += this.catchup * frameTime;
|
||||
}
|
||||
scaling = 1 - Math.pow(this.progress / 100, options.easeFactor);
|
||||
this.progress += scaling * this.rate * frameTime;
|
||||
this.progress = Math.min(this.lastProgress + options.maxProgressPerFrame, this.progress);
|
||||
this.progress = Math.max(0, this.progress);
|
||||
this.progress = Math.min(100, this.progress);
|
||||
this.lastProgress = this.progress;
|
||||
return this.progress;
|
||||
};
|
||||
|
||||
return Scaler;
|
||||
|
||||
})();
|
||||
|
||||
sources = null;
|
||||
|
||||
scalers = null;
|
||||
|
||||
bar = null;
|
||||
|
||||
uniScaler = null;
|
||||
|
||||
animation = null;
|
||||
|
||||
cancelAnimation = null;
|
||||
|
||||
Pace.running = false;
|
||||
|
||||
handlePushState = function() {
|
||||
if (options.restartOnPushState) {
|
||||
return Pace.restart();
|
||||
}
|
||||
};
|
||||
|
||||
if (window.history.pushState != null) {
|
||||
_pushState = window.history.pushState;
|
||||
window.history.pushState = function() {
|
||||
handlePushState();
|
||||
return _pushState.apply(window.history, arguments);
|
||||
};
|
||||
}
|
||||
|
||||
if (window.history.replaceState != null) {
|
||||
_replaceState = window.history.replaceState;
|
||||
window.history.replaceState = function() {
|
||||
handlePushState();
|
||||
return _replaceState.apply(window.history, arguments);
|
||||
};
|
||||
}
|
||||
|
||||
SOURCE_KEYS = {
|
||||
ajax: AjaxMonitor,
|
||||
elements: ElementMonitor,
|
||||
document: DocumentMonitor,
|
||||
eventLag: EventLagMonitor
|
||||
};
|
||||
|
||||
(init = function() {
|
||||
var type, _j, _k, _len1, _len2, _ref2, _ref3, _ref4;
|
||||
Pace.sources = sources = [];
|
||||
_ref2 = ['ajax', 'elements', 'document', 'eventLag'];
|
||||
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
|
||||
type = _ref2[_j];
|
||||
if (options[type] !== false) {
|
||||
sources.push(new SOURCE_KEYS[type](options[type]));
|
||||
}
|
||||
}
|
||||
_ref4 = (_ref3 = options.extraSources) != null ? _ref3 : [];
|
||||
for (_k = 0, _len2 = _ref4.length; _k < _len2; _k++) {
|
||||
source = _ref4[_k];
|
||||
sources.push(new source(options));
|
||||
}
|
||||
Pace.bar = bar = new Bar;
|
||||
scalers = [];
|
||||
return uniScaler = new Scaler;
|
||||
})();
|
||||
|
||||
Pace.stop = function() {
|
||||
Pace.trigger('stop');
|
||||
Pace.running = false;
|
||||
bar.destroy();
|
||||
cancelAnimation = true;
|
||||
if (animation != null) {
|
||||
if (typeof cancelAnimationFrame === "function") {
|
||||
cancelAnimationFrame(animation);
|
||||
}
|
||||
animation = null;
|
||||
}
|
||||
return init();
|
||||
};
|
||||
|
||||
Pace.restart = function() {
|
||||
Pace.trigger('restart');
|
||||
Pace.stop();
|
||||
return Pace.start();
|
||||
};
|
||||
|
||||
Pace.go = function() {
|
||||
var start;
|
||||
Pace.running = true;
|
||||
bar.render();
|
||||
start = now();
|
||||
cancelAnimation = false;
|
||||
return animation = runAnimation(function(frameTime, enqueueNextFrame) {
|
||||
var avg, count, done, element, elements, i, j, remaining, scaler, scalerList, sum, _j, _k, _len1, _len2, _ref2;
|
||||
remaining = 100 - bar.progress;
|
||||
count = sum = 0;
|
||||
done = true;
|
||||
for (i = _j = 0, _len1 = sources.length; _j < _len1; i = ++_j) {
|
||||
source = sources[i];
|
||||
scalerList = scalers[i] != null ? scalers[i] : scalers[i] = [];
|
||||
elements = (_ref2 = source.elements) != null ? _ref2 : [source];
|
||||
for (j = _k = 0, _len2 = elements.length; _k < _len2; j = ++_k) {
|
||||
element = elements[j];
|
||||
scaler = scalerList[j] != null ? scalerList[j] : scalerList[j] = new Scaler(element);
|
||||
done &= scaler.done;
|
||||
if (scaler.done) {
|
||||
continue;
|
||||
}
|
||||
count++;
|
||||
sum += scaler.tick(frameTime);
|
||||
}
|
||||
}
|
||||
avg = sum / count;
|
||||
bar.update(uniScaler.tick(frameTime, avg));
|
||||
if (bar.done() || done || cancelAnimation) {
|
||||
bar.update(100);
|
||||
Pace.trigger('done');
|
||||
return setTimeout(function() {
|
||||
bar.finish();
|
||||
Pace.running = false;
|
||||
return Pace.trigger('hide');
|
||||
}, Math.max(options.ghostTime, Math.max(options.minTime - (now() - start), 0)));
|
||||
} else {
|
||||
return enqueueNextFrame();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
Pace.start = function(_options) {
|
||||
extend(options, _options);
|
||||
Pace.running = true;
|
||||
try {
|
||||
bar.render();
|
||||
} catch (_error) {
|
||||
NoTargetError = _error;
|
||||
}
|
||||
if (!document.querySelector('.pace')) {
|
||||
return setTimeout(Pace.start, 50);
|
||||
} else {
|
||||
Pace.trigger('start');
|
||||
return Pace.go();
|
||||
}
|
||||
};
|
||||
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(['pace'], function() {
|
||||
return Pace;
|
||||
});
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = Pace;
|
||||
} else {
|
||||
if (options.startOnPageLoad) {
|
||||
Pace.start();
|
||||
}
|
||||
}
|
||||
|
||||
}).call(this);
|
||||
2
pace.min.js
vendored
Normal file
2
pace.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
24
package.json
Normal file
24
package.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "pace",
|
||||
"version": "1.0.2",
|
||||
"description": "Automatic page load progress bar",
|
||||
"authors": [
|
||||
"Zack Bloom <zackbloom@gmail.com>",
|
||||
"Adam Schwartz <adam.flynn.schwartz@gmail.com>"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "pace.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/HubSpot/pace.git"
|
||||
},
|
||||
"devDependencies": {
|
||||
"grunt-contrib-coffee": "~0.7.0",
|
||||
"coffee-script": "~1.6.3",
|
||||
"grunt-contrib-uglify": "~0.2.4",
|
||||
"grunt-cli": "~0.1.9",
|
||||
"grunt": "~0.4.1",
|
||||
"grunt-contrib-watch": "~0.5.3",
|
||||
"color": "~0.4.4"
|
||||
}
|
||||
}
|
||||
82
templates/pace-theme-barber-shop.tmpl.css
Normal file
82
templates/pace-theme-barber-shop.tmpl.css
Normal file
@@ -0,0 +1,82 @@
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2000;
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: `args.color || "#29d"`;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: -32px;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
-o-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
-webkit-background-size: 32px 32px;
|
||||
-moz-background-size: 32px 32px;
|
||||
-o-background-size: 32px 32px;
|
||||
background-size: 32px 32px;
|
||||
|
||||
-webkit-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-moz-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-ms-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-o-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -webkit-transform: none; transform: none; }
|
||||
100% { -webkit-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-moz-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -moz-transform: none; transform: none; }
|
||||
100% { -moz-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-o-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -o-transform: none; transform: none; }
|
||||
100% { -o-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-ms-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -ms-transform: none; transform: none; }
|
||||
100% { -ms-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@keyframes pace-theme-barber-shop-motion {
|
||||
0% { transform: none; transform: none; }
|
||||
100% { transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
39
templates/pace-theme-big-counter.tmpl.css
Normal file
39
templates/pace-theme-big-counter.tmpl.css
Normal file
@@ -0,0 +1,39 @@
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-progress {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 0;
|
||||
height: 5rem;
|
||||
width: 5rem;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0) !important;
|
||||
-ms-transform: translate3d(0, 0, 0) !important;
|
||||
transform: translate3d(0, 0, 0) !important;
|
||||
}
|
||||
|
||||
.pace .pace-progress:after {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: .5rem;
|
||||
content: attr(data-progress-text);
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-weight: 100;
|
||||
font-size: 5rem;
|
||||
line-height: 1;
|
||||
text-align: right;
|
||||
color: `Color(args.color || '#000').clearer(0.8).rgbString()`;
|
||||
}
|
||||
230
templates/pace-theme-bounce.tmpl.css
Normal file
230
templates/pace-theme-bounce.tmpl.css
Normal file
@@ -0,0 +1,230 @@
|
||||
.pace {
|
||||
width: 140px;
|
||||
height: 300px;
|
||||
position: fixed;
|
||||
top: -90px;
|
||||
right: -20px;
|
||||
z-index: 2000;
|
||||
-webkit-transform: scale(0);
|
||||
-moz-transform: scale(0);
|
||||
-ms-transform: scale(0);
|
||||
-o-transform: scale(0);
|
||||
transform: scale(0);
|
||||
opacity: 0;
|
||||
-webkit-transition: all 2s linear 0s;
|
||||
-moz-transition: all 2s linear 0s;
|
||||
transition: all 2s linear 0s;
|
||||
}
|
||||
|
||||
.pace.pace-active {
|
||||
-webkit-transform: scale(.25);
|
||||
-moz-transform: scale(.25);
|
||||
-ms-transform: scale(.25);
|
||||
-o-transform: scale(.25);
|
||||
transform: scale(.25);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
width: 140px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
background: `args.color || "#29d"`;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: 1911;
|
||||
-webkit-animation: pace-bounce 1s infinite;
|
||||
-moz-animation: pace-bounce 1s infinite;
|
||||
-o-animation: pace-bounce 1s infinite;
|
||||
-ms-animation: pace-bounce 1s infinite;
|
||||
animation: pace-bounce 1s infinite;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: absolute;
|
||||
display: block;
|
||||
left: 50%;
|
||||
bottom: 0;
|
||||
z-index: 1910;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-webkit-transform: scaleY(.3) !important;
|
||||
-moz-transform: scaleY(.3) !important;
|
||||
-ms-transform: scaleY(.3) !important;
|
||||
-o-transform: scaleY(.3) !important;
|
||||
transform: scaleY(.3) !important;
|
||||
-webkit-animation: pace-compress .5s infinite alternate;
|
||||
-moz-animation: pace-compress .5s infinite alternate;
|
||||
-o-animation: pace-compress .5s infinite alternate;
|
||||
-ms-animation: pace-compress .5s infinite alternate;
|
||||
animation: pace-compress .5s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
40% {}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
95% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
40% {}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
-moz-animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
-moz-animation-timing-function: ease-out;}
|
||||
95% {
|
||||
top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
95% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
-moz-animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
130
templates/pace-theme-center-atom.tmpl.css
Normal file
130
templates/pace-theme-center-atom.tmpl.css
Normal file
@@ -0,0 +1,130 @@
|
||||
.pace.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
z-index: 2000;
|
||||
position: absolute;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0) !important;
|
||||
-ms-transform: translate3d(0, 0, 0) !important;
|
||||
transform: translate3d(0, 0, 0) !important;
|
||||
}
|
||||
|
||||
.pace .pace-progress:before {
|
||||
content: attr(data-progress-text);
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
background: `args.color || "#29d"`;
|
||||
border-radius: 50%;
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-size: 14px;
|
||||
font-weight: 100;
|
||||
line-height: 1;
|
||||
padding: 20% 0 7px;
|
||||
width: 50%;
|
||||
height: 40%;
|
||||
margin: 10px 0 0 30px;
|
||||
display: block;
|
||||
z-index: 999;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
font-size: 15px;
|
||||
line-height: 1;
|
||||
z-index: 2000;
|
||||
position: absolute;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
display: block;
|
||||
-webkit-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
-moz-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
-o-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
border-radius: 50%;
|
||||
border: 5px solid `args.color || "#29d"`;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.pace .pace-activity:after {
|
||||
border-radius: 50%;
|
||||
border: 5px solid `args.color || "#29d"`;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
left: -5px;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: rotate(60deg);
|
||||
-moz-transform: rotate(60deg);
|
||||
-o-transform: rotate(60deg);
|
||||
transform: rotate(60deg);
|
||||
}
|
||||
|
||||
.pace .pace-activity:before {
|
||||
border-radius: 50%;
|
||||
border: 5px solid `args.color || "#29d"`;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
left: -5px;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: rotate(120deg);
|
||||
-moz-transform: rotate(120deg);
|
||||
-o-transform: rotate(120deg);
|
||||
transform: rotate(120deg);
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-center-atom-spin {
|
||||
0% { -webkit-transform: rotate(0deg) }
|
||||
100% { -webkit-transform: rotate(359deg) }
|
||||
}
|
||||
@-moz-keyframes pace-theme-center-atom-spin {
|
||||
0% { -moz-transform: rotate(0deg) }
|
||||
100% { -moz-transform: rotate(359deg) }
|
||||
}
|
||||
@-o-keyframes pace-theme-center-atom-spin {
|
||||
0% { -o-transform: rotate(0deg) }
|
||||
100% { -o-transform: rotate(359deg) }
|
||||
}
|
||||
@keyframes pace-theme-center-atom-spin {
|
||||
0% { transform: rotate(0deg) }
|
||||
100% { transform: rotate(359deg) }
|
||||
}
|
||||
89
templates/pace-theme-center-circle.tmpl.css
Normal file
89
templates/pace-theme-center-circle.tmpl.css
Normal file
@@ -0,0 +1,89 @@
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
-webkit-perspective: 12rem;
|
||||
-moz-perspective: 12rem;
|
||||
-ms-perspective: 12rem;
|
||||
-o-perspective: 12rem;
|
||||
perspective: 12rem;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 6rem;
|
||||
width: 6rem;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-progress {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
height: 6rem;
|
||||
width: 6rem !important;
|
||||
line-height: 6rem;
|
||||
font-size: 2rem;
|
||||
border-radius: 50%;
|
||||
background: `Color(args.color || '#29d').clearer(0.2).rgbString()`;
|
||||
color: #fff;
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-weight: 100;
|
||||
text-align: center;
|
||||
|
||||
-webkit-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-moz-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-ms-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-o-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
|
||||
-webkit-transform-style: preserve-3d;
|
||||
-moz-transform-style: preserve-3d;
|
||||
-ms-transform-style: preserve-3d;
|
||||
-o-transform-style: preserve-3d;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
|
||||
.pace .pace-progress:after {
|
||||
content: attr(data-progress-text);
|
||||
display: block;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-center-circle-spin {
|
||||
from { -webkit-transform: rotateY(0deg) }
|
||||
to { -webkit-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-theme-center-circle-spin {
|
||||
from { -moz-transform: rotateY(0deg) }
|
||||
to { -moz-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-ms-keyframes pace-theme-center-circle-spin {
|
||||
from { -ms-transform: rotateY(0deg) }
|
||||
to { -ms-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-o-keyframes pace-theme-center-circle-spin {
|
||||
from { -o-transform: rotateY(0deg) }
|
||||
to { -o-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@keyframes pace-theme-center-circle-spin {
|
||||
from { transform: rotateY(0deg) }
|
||||
to { transform: rotateY(360deg) }
|
||||
}
|
||||
73
templates/pace-theme-center-radar.tmpl.css
Normal file
73
templates/pace-theme-center-radar.tmpl.css
Normal file
@@ -0,0 +1,73 @@
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-activity {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: -30px;
|
||||
top: -30px;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
display: block;
|
||||
border-width: 30px;
|
||||
border-style: double;
|
||||
border-color: `args.color || "#29d"` transparent transparent;
|
||||
border-radius: 50%;
|
||||
|
||||
-webkit-animation: spin 1s linear infinite;
|
||||
-moz-animation: spin 1s linear infinite;
|
||||
-o-animation: spin 1s linear infinite;
|
||||
animation: spin 1s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity:before {
|
||||
content: ' ';
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
left: 10px;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
display: block;
|
||||
border-width: 10px;
|
||||
border-style: solid;
|
||||
border-color: `args.color || "#29d"` transparent transparent;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
@-webkit-keyframes spin {
|
||||
100% { -webkit-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@-moz-keyframes spin {
|
||||
100% { -moz-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@-o-keyframes spin {
|
||||
100% { -moz-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
100% { transform: rotate(359deg); }
|
||||
}
|
||||
51
templates/pace-theme-center-simple.tmpl.css
Normal file
51
templates/pace-theme-center-simple.tmpl.css
Normal file
@@ -0,0 +1,51 @@
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
height: 5px;
|
||||
width: 200px;
|
||||
background: #fff;
|
||||
border: 1px solid `args.color || "#29d"`;
|
||||
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
-o-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
-o-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
max-width: 200px;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background: `args.color || "#29d"`;
|
||||
}
|
||||
|
||||
.pace.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
72
templates/pace-theme-corner-indicator.tmpl.css
Normal file
72
templates/pace-theme-corner-indicator.tmpl.css
Normal file
@@ -0,0 +1,72 @@
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 300px;
|
||||
height: 300px;
|
||||
background: `args.color || "#29d"`;
|
||||
-webkit-transition: -webkit-transform 0.3s;
|
||||
transition: transform 0.3s;
|
||||
-webkit-transform: translateX(100%) translateY(-100%) rotate(45deg);
|
||||
transform: translateX(100%) translateY(-100%) rotate(45deg);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.pace.pace-active .pace-activity {
|
||||
-webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
|
||||
transform: translateX(50%) translateY(-50%) rotate(45deg);
|
||||
}
|
||||
|
||||
.pace .pace-activity::before,
|
||||
.pace .pace-activity::after {
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
position: absolute;
|
||||
bottom: 30px;
|
||||
left: 50%;
|
||||
display: block;
|
||||
border: 5px solid #fff;
|
||||
border-radius: 50%;
|
||||
content: '';
|
||||
}
|
||||
|
||||
.pace .pace-activity::before {
|
||||
margin-left: -40px;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
border-right-color: rgba(0, 0, 0, .2);
|
||||
border-left-color: rgba(0, 0, 0, .2);
|
||||
-webkit-animation: pace-theme-corner-indicator-spin 3s linear infinite;
|
||||
animation: pace-theme-corner-indicator-spin 3s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity::after {
|
||||
bottom: 50px;
|
||||
margin-left: -20px;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-top-color: rgba(0, 0, 0, .2);
|
||||
border-bottom-color: rgba(0, 0, 0, .2);
|
||||
-webkit-animation: pace-theme-corner-indicator-spin 1s linear infinite;
|
||||
animation: pace-theme-corner-indicator-spin 1s linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-corner-indicator-spin {
|
||||
0% { -webkit-transform: rotate(0deg); }
|
||||
100% { -webkit-transform: rotate(359deg); }
|
||||
}
|
||||
@keyframes pace-theme-corner-indicator-spin {
|
||||
0% { transform: rotate(0deg); }
|
||||
100% { transform: rotate(359deg); }
|
||||
}
|
||||
21
templates/pace-theme-fill-left.tmpl.css
Normal file
21
templates/pace-theme-fill-left.tmpl.css
Normal file
@@ -0,0 +1,21 @@
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: `Color(args.color).clearer(0.8).rgbString() || "rgba(0, 0, 0, 0.2)"`;
|
||||
position: fixed;
|
||||
z-index: -1;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
}
|
||||
76
templates/pace-theme-flash.tmpl.css
Normal file
76
templates/pace-theme-flash.tmpl.css
Normal file
@@ -0,0 +1,76 @@
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background: `args.color || "#29d"`;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
}
|
||||
|
||||
.pace .pace-progress-inner {
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
width: 100px;
|
||||
height: 100%;
|
||||
box-shadow: 0 0 10px `args.color || '#29d'`, 0 0 5px `args.color || '#29d'`;
|
||||
opacity: 1.0;
|
||||
-webkit-transform: rotate(3deg) translate(0px, -4px);
|
||||
-moz-transform: rotate(3deg) translate(0px, -4px);
|
||||
-ms-transform: rotate(3deg) translate(0px, -4px);
|
||||
-o-transform: rotate(3deg) translate(0px, -4px);
|
||||
transform: rotate(3deg) translate(0px, -4px);
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 15px;
|
||||
right: 15px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
border: solid 2px transparent;
|
||||
border-top-color: `args.color || '#29d'`;
|
||||
border-left-color: `args.color || '#29d'`;
|
||||
border-radius: 10px;
|
||||
-webkit-animation: pace-spinner 400ms linear infinite;
|
||||
-moz-animation: pace-spinner 400ms linear infinite;
|
||||
-ms-animation: pace-spinner 400ms linear infinite;
|
||||
-o-animation: pace-spinner 400ms linear infinite;
|
||||
animation: pace-spinner 400ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-spinner {
|
||||
0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-moz-keyframes pace-spinner {
|
||||
0% { -moz-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -moz-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-o-keyframes pace-spinner {
|
||||
0% { -o-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -o-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-ms-keyframes pace-spinner {
|
||||
0% { -ms-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -ms-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@keyframes pace-spinner {
|
||||
0% { transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
40
templates/pace-theme-flat-top.tmpl.css
Normal file
40
templates/pace-theme-flat-top.tmpl.css
Normal file
@@ -0,0 +1,40 @@
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
|
||||
-webkit-transform: translate3d(0, -50px, 0);
|
||||
-ms-transform: translate3d(0, -50px, 0);
|
||||
transform: translate3d(0, -50px, 0);
|
||||
|
||||
-webkit-transition: -webkit-transform .5s ease-out;
|
||||
-ms-transition: -webkit-transform .5s ease-out;
|
||||
transition: transform .5s ease-out;
|
||||
}
|
||||
|
||||
.pace.pace-active {
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 10px;
|
||||
background: `args.color || "#29d"`;
|
||||
|
||||
pointer-events: none;
|
||||
}
|
||||
104
templates/pace-theme-loading-bar.tmpl.css
Normal file
104
templates/pace-theme-loading-bar.tmpl.css
Normal file
@@ -0,0 +1,104 @@
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
-o-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
|
||||
-webkit-background-clip: padding-box;
|
||||
-moz-background-clip: padding;
|
||||
background-clip: padding-box;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
margin: auto;
|
||||
top: 12px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
width: 200px;
|
||||
height: 50px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
-o-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-border-radius: 2px;
|
||||
-moz-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
|
||||
-webkit-background-clip: padding-box;
|
||||
-moz-background-clip: padding;
|
||||
background-clip: padding-box;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 100%;
|
||||
margin-right: -7px;
|
||||
width: 93%;
|
||||
top: 7px;
|
||||
height: 14px;
|
||||
font-size: 12px;
|
||||
background: `args.color || "#29d"`;
|
||||
color: `args.color || "#29d"`;
|
||||
line-height: 60px;
|
||||
font-weight: bold;
|
||||
font-family: Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
|
||||
-webkit-box-shadow: 120px 0 #fff, 240px 0 #fff;
|
||||
-ms-box-shadow: 120px 0 #fff, 240px 0 #fff;
|
||||
box-shadow: 120px 0 #fff, 240px 0 #fff;
|
||||
}
|
||||
|
||||
.pace .pace-progress:after {
|
||||
content: attr(data-progress-text);
|
||||
display: inline-block;
|
||||
position: fixed;
|
||||
width: 45px;
|
||||
text-align: right;
|
||||
right: 0;
|
||||
padding-right: 16px;
|
||||
top: 4px;
|
||||
}
|
||||
|
||||
`
|
||||
var out = '';
|
||||
|
||||
for (var i = 0; i < 101 ; i++) {
|
||||
out += ".pace .pace-progress[data-progress-text=\"" + i + "%\"]:after { right: -" + (200 - (i * 2) + ((i * 14) / 100)) + "px }\n";
|
||||
}
|
||||
|
||||
out
|
||||
`
|
||||
|
||||
.pace .pace-activity {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 28px;
|
||||
z-index: 2001;
|
||||
box-shadow: inset 0 0 0 2px `args.color || "#29d"`, inset 0 0 0 7px #FFF;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.pace.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
86
templates/pace-theme-mac-osx.tmpl.css
Normal file
86
templates/pace-theme-mac-osx.tmpl.css
Normal file
@@ -0,0 +1,86 @@
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2000;
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: `Color(args.color || "#29d").darken(.2).saturate(.65).hexString();`;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
overflow: hidden;
|
||||
|
||||
-webkit-border-radius: 0 0 4px 0;
|
||||
-moz-border-radius: 0 0 4px 0;
|
||||
-o-border-radius: 0 0 4px 0;
|
||||
border-radius: 0 0 4px 0;
|
||||
|
||||
-webkit-box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
-moz-box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
-o-box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: -28px;
|
||||
bottom: 0;
|
||||
|
||||
-webkit-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
-moz-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
-o-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
|
||||
-webkit-background-size: 28px 100%;
|
||||
-moz-background-size: 28px 100%;
|
||||
-o-background-size: 28px 100%;
|
||||
background-size: 28px 100%;
|
||||
|
||||
-webkit-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
-moz-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
-ms-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
-o-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -webkit-transform: none; transform: none; }
|
||||
100% { -webkit-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@-moz-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -moz-transform: none; transform: none; }
|
||||
100% { -moz-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@-o-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -o-transform: none; transform: none; }
|
||||
100% { -o-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@-ms-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -ms-transform: none; transform: none; }
|
||||
100% { -ms-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@keyframes pace-theme-mac-osx-motion {
|
||||
0% { transform: none; transform: none; }
|
||||
100% { transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
22
templates/pace-theme-minimal.tmpl.css
Normal file
22
templates/pace-theme-minimal.tmpl.css
Normal file
@@ -0,0 +1,22 @@
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background: `args.color || "#29d"`;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
}
|
||||
44
tests/demo.html
Normal file
44
tests/demo.html
Normal file
@@ -0,0 +1,44 @@
|
||||
<head>
|
||||
<link rel="stylesheet" href="../themes/blue/pace-theme-center-simple.css" />
|
||||
|
||||
<script>
|
||||
paceOptions = {
|
||||
elements: true
|
||||
};
|
||||
</script>
|
||||
<script src="../pace.js"></script>
|
||||
<script>
|
||||
function load(time){
|
||||
var x = new XMLHttpRequest()
|
||||
x.open('GET', "http://localhost:5646/walter/" + time, true);
|
||||
x.send();
|
||||
};
|
||||
|
||||
load(20);
|
||||
load(100);
|
||||
load(500);
|
||||
load(2000);
|
||||
load(3000);
|
||||
|
||||
setTimeout(function(){
|
||||
Pace.ignore(function(){
|
||||
load(3100);
|
||||
});
|
||||
}, 4000);
|
||||
|
||||
Pace.on('hide', function(){
|
||||
console.log('done');
|
||||
});
|
||||
</script>
|
||||
|
||||
<body>
|
||||
<input id="range" type="range" min="0" max="100">
|
||||
<script>
|
||||
range.addEventListener('input', function(){
|
||||
document.querySelector('.pace').classList.remove('pace-inactive');
|
||||
document.querySelector('.pace').classList.add('pace-active');
|
||||
|
||||
document.querySelector('.pace-progress').setAttribute('data-progress-text', range.value + '%');
|
||||
document.querySelector('.pace-progress').setAttribute('style', '-webkit-transform: translate3d(' + range.value + '%, 0px, 0px)');
|
||||
});
|
||||
</script>
|
||||
83
themes/black/pace-theme-barber-shop.css
Normal file
83
themes/black/pace-theme-barber-shop.css
Normal file
@@ -0,0 +1,83 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2000;
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: #000000;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: -32px;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
-o-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
-webkit-background-size: 32px 32px;
|
||||
-moz-background-size: 32px 32px;
|
||||
-o-background-size: 32px 32px;
|
||||
background-size: 32px 32px;
|
||||
|
||||
-webkit-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-moz-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-ms-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-o-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -webkit-transform: none; transform: none; }
|
||||
100% { -webkit-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-moz-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -moz-transform: none; transform: none; }
|
||||
100% { -moz-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-o-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -o-transform: none; transform: none; }
|
||||
100% { -o-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-ms-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -ms-transform: none; transform: none; }
|
||||
100% { -ms-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@keyframes pace-theme-barber-shop-motion {
|
||||
0% { transform: none; transform: none; }
|
||||
100% { transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
40
themes/black/pace-theme-big-counter.css
Normal file
40
themes/black/pace-theme-big-counter.css
Normal file
@@ -0,0 +1,40 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-progress {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 0;
|
||||
height: 5rem;
|
||||
width: 5rem;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0) !important;
|
||||
-ms-transform: translate3d(0, 0, 0) !important;
|
||||
transform: translate3d(0, 0, 0) !important;
|
||||
}
|
||||
|
||||
.pace .pace-progress:after {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: .5rem;
|
||||
content: attr(data-progress-text);
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-weight: 100;
|
||||
font-size: 5rem;
|
||||
line-height: 1;
|
||||
text-align: right;
|
||||
color: rgba(0, 0, 0, 0.19999999999999996);
|
||||
}
|
||||
231
themes/black/pace-theme-bounce.css
Normal file
231
themes/black/pace-theme-bounce.css
Normal file
@@ -0,0 +1,231 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
width: 140px;
|
||||
height: 300px;
|
||||
position: fixed;
|
||||
top: -90px;
|
||||
right: -20px;
|
||||
z-index: 2000;
|
||||
-webkit-transform: scale(0);
|
||||
-moz-transform: scale(0);
|
||||
-ms-transform: scale(0);
|
||||
-o-transform: scale(0);
|
||||
transform: scale(0);
|
||||
opacity: 0;
|
||||
-webkit-transition: all 2s linear 0s;
|
||||
-moz-transition: all 2s linear 0s;
|
||||
transition: all 2s linear 0s;
|
||||
}
|
||||
|
||||
.pace.pace-active {
|
||||
-webkit-transform: scale(.25);
|
||||
-moz-transform: scale(.25);
|
||||
-ms-transform: scale(.25);
|
||||
-o-transform: scale(.25);
|
||||
transform: scale(.25);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
width: 140px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
background: #000000;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: 1911;
|
||||
-webkit-animation: pace-bounce 1s infinite;
|
||||
-moz-animation: pace-bounce 1s infinite;
|
||||
-o-animation: pace-bounce 1s infinite;
|
||||
-ms-animation: pace-bounce 1s infinite;
|
||||
animation: pace-bounce 1s infinite;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: absolute;
|
||||
display: block;
|
||||
left: 50%;
|
||||
bottom: 0;
|
||||
z-index: 1910;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-webkit-transform: scaleY(.3) !important;
|
||||
-moz-transform: scaleY(.3) !important;
|
||||
-ms-transform: scaleY(.3) !important;
|
||||
-o-transform: scaleY(.3) !important;
|
||||
transform: scaleY(.3) !important;
|
||||
-webkit-animation: pace-compress .5s infinite alternate;
|
||||
-moz-animation: pace-compress .5s infinite alternate;
|
||||
-o-animation: pace-compress .5s infinite alternate;
|
||||
-ms-animation: pace-compress .5s infinite alternate;
|
||||
animation: pace-compress .5s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
40% {}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
95% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
40% {}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
-moz-animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
-moz-animation-timing-function: ease-out;}
|
||||
95% {
|
||||
top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
95% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
-moz-animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
131
themes/black/pace-theme-center-atom.css
Normal file
131
themes/black/pace-theme-center-atom.css
Normal file
@@ -0,0 +1,131 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
z-index: 2000;
|
||||
position: absolute;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0) !important;
|
||||
-ms-transform: translate3d(0, 0, 0) !important;
|
||||
transform: translate3d(0, 0, 0) !important;
|
||||
}
|
||||
|
||||
.pace .pace-progress:before {
|
||||
content: attr(data-progress-text);
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
background: #000000;
|
||||
border-radius: 50%;
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-size: 14px;
|
||||
font-weight: 100;
|
||||
line-height: 1;
|
||||
padding: 20% 0 7px;
|
||||
width: 50%;
|
||||
height: 40%;
|
||||
margin: 10px 0 0 30px;
|
||||
display: block;
|
||||
z-index: 999;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
font-size: 15px;
|
||||
line-height: 1;
|
||||
z-index: 2000;
|
||||
position: absolute;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
display: block;
|
||||
-webkit-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
-moz-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
-o-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
border-radius: 50%;
|
||||
border: 5px solid #000000;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.pace .pace-activity:after {
|
||||
border-radius: 50%;
|
||||
border: 5px solid #000000;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
left: -5px;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: rotate(60deg);
|
||||
-moz-transform: rotate(60deg);
|
||||
-o-transform: rotate(60deg);
|
||||
transform: rotate(60deg);
|
||||
}
|
||||
|
||||
.pace .pace-activity:before {
|
||||
border-radius: 50%;
|
||||
border: 5px solid #000000;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
left: -5px;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: rotate(120deg);
|
||||
-moz-transform: rotate(120deg);
|
||||
-o-transform: rotate(120deg);
|
||||
transform: rotate(120deg);
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-center-atom-spin {
|
||||
0% { -webkit-transform: rotate(0deg) }
|
||||
100% { -webkit-transform: rotate(359deg) }
|
||||
}
|
||||
@-moz-keyframes pace-theme-center-atom-spin {
|
||||
0% { -moz-transform: rotate(0deg) }
|
||||
100% { -moz-transform: rotate(359deg) }
|
||||
}
|
||||
@-o-keyframes pace-theme-center-atom-spin {
|
||||
0% { -o-transform: rotate(0deg) }
|
||||
100% { -o-transform: rotate(359deg) }
|
||||
}
|
||||
@keyframes pace-theme-center-atom-spin {
|
||||
0% { transform: rotate(0deg) }
|
||||
100% { transform: rotate(359deg) }
|
||||
}
|
||||
90
themes/black/pace-theme-center-circle.css
Normal file
90
themes/black/pace-theme-center-circle.css
Normal file
@@ -0,0 +1,90 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
-webkit-perspective: 12rem;
|
||||
-moz-perspective: 12rem;
|
||||
-ms-perspective: 12rem;
|
||||
-o-perspective: 12rem;
|
||||
perspective: 12rem;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 6rem;
|
||||
width: 6rem;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-progress {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
height: 6rem;
|
||||
width: 6rem !important;
|
||||
line-height: 6rem;
|
||||
font-size: 2rem;
|
||||
border-radius: 50%;
|
||||
background: rgba(0, 0, 0, 0.8);
|
||||
color: #fff;
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-weight: 100;
|
||||
text-align: center;
|
||||
|
||||
-webkit-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-moz-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-ms-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-o-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
|
||||
-webkit-transform-style: preserve-3d;
|
||||
-moz-transform-style: preserve-3d;
|
||||
-ms-transform-style: preserve-3d;
|
||||
-o-transform-style: preserve-3d;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
|
||||
.pace .pace-progress:after {
|
||||
content: attr(data-progress-text);
|
||||
display: block;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-center-circle-spin {
|
||||
from { -webkit-transform: rotateY(0deg) }
|
||||
to { -webkit-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-theme-center-circle-spin {
|
||||
from { -moz-transform: rotateY(0deg) }
|
||||
to { -moz-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-ms-keyframes pace-theme-center-circle-spin {
|
||||
from { -ms-transform: rotateY(0deg) }
|
||||
to { -ms-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-o-keyframes pace-theme-center-circle-spin {
|
||||
from { -o-transform: rotateY(0deg) }
|
||||
to { -o-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@keyframes pace-theme-center-circle-spin {
|
||||
from { transform: rotateY(0deg) }
|
||||
to { transform: rotateY(360deg) }
|
||||
}
|
||||
74
themes/black/pace-theme-center-radar.css
Normal file
74
themes/black/pace-theme-center-radar.css
Normal file
@@ -0,0 +1,74 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-activity {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: -30px;
|
||||
top: -30px;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
display: block;
|
||||
border-width: 30px;
|
||||
border-style: double;
|
||||
border-color: #000000 transparent transparent;
|
||||
border-radius: 50%;
|
||||
|
||||
-webkit-animation: spin 1s linear infinite;
|
||||
-moz-animation: spin 1s linear infinite;
|
||||
-o-animation: spin 1s linear infinite;
|
||||
animation: spin 1s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity:before {
|
||||
content: ' ';
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
left: 10px;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
display: block;
|
||||
border-width: 10px;
|
||||
border-style: solid;
|
||||
border-color: #000000 transparent transparent;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
@-webkit-keyframes spin {
|
||||
100% { -webkit-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@-moz-keyframes spin {
|
||||
100% { -moz-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@-o-keyframes spin {
|
||||
100% { -moz-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
100% { transform: rotate(359deg); }
|
||||
}
|
||||
52
themes/black/pace-theme-center-simple.css
Normal file
52
themes/black/pace-theme-center-simple.css
Normal file
@@ -0,0 +1,52 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
height: 5px;
|
||||
width: 200px;
|
||||
background: #fff;
|
||||
border: 1px solid #000000;
|
||||
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
-o-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
-o-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
max-width: 200px;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background: #000000;
|
||||
}
|
||||
|
||||
.pace.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
73
themes/black/pace-theme-corner-indicator.css
Normal file
73
themes/black/pace-theme-corner-indicator.css
Normal file
@@ -0,0 +1,73 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 300px;
|
||||
height: 300px;
|
||||
background: #000000;
|
||||
-webkit-transition: -webkit-transform 0.3s;
|
||||
transition: transform 0.3s;
|
||||
-webkit-transform: translateX(100%) translateY(-100%) rotate(45deg);
|
||||
transform: translateX(100%) translateY(-100%) rotate(45deg);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.pace.pace-active .pace-activity {
|
||||
-webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
|
||||
transform: translateX(50%) translateY(-50%) rotate(45deg);
|
||||
}
|
||||
|
||||
.pace .pace-activity::before,
|
||||
.pace .pace-activity::after {
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
position: absolute;
|
||||
bottom: 30px;
|
||||
left: 50%;
|
||||
display: block;
|
||||
border: 5px solid #fff;
|
||||
border-radius: 50%;
|
||||
content: '';
|
||||
}
|
||||
|
||||
.pace .pace-activity::before {
|
||||
margin-left: -40px;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
border-right-color: rgba(0, 0, 0, .2);
|
||||
border-left-color: rgba(0, 0, 0, .2);
|
||||
-webkit-animation: pace-theme-corner-indicator-spin 3s linear infinite;
|
||||
animation: pace-theme-corner-indicator-spin 3s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity::after {
|
||||
bottom: 50px;
|
||||
margin-left: -20px;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-top-color: rgba(0, 0, 0, .2);
|
||||
border-bottom-color: rgba(0, 0, 0, .2);
|
||||
-webkit-animation: pace-theme-corner-indicator-spin 1s linear infinite;
|
||||
animation: pace-theme-corner-indicator-spin 1s linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-corner-indicator-spin {
|
||||
0% { -webkit-transform: rotate(0deg); }
|
||||
100% { -webkit-transform: rotate(359deg); }
|
||||
}
|
||||
@keyframes pace-theme-corner-indicator-spin {
|
||||
0% { transform: rotate(0deg); }
|
||||
100% { transform: rotate(359deg); }
|
||||
}
|
||||
22
themes/black/pace-theme-fill-left.css
Normal file
22
themes/black/pace-theme-fill-left.css
Normal file
@@ -0,0 +1,22 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: rgba(0, 0, 0, 0.19999999999999996);
|
||||
position: fixed;
|
||||
z-index: -1;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
}
|
||||
77
themes/black/pace-theme-flash.css
Normal file
77
themes/black/pace-theme-flash.css
Normal file
@@ -0,0 +1,77 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background: #000000;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
}
|
||||
|
||||
.pace .pace-progress-inner {
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
width: 100px;
|
||||
height: 100%;
|
||||
box-shadow: 0 0 10px #000000, 0 0 5px #000000;
|
||||
opacity: 1.0;
|
||||
-webkit-transform: rotate(3deg) translate(0px, -4px);
|
||||
-moz-transform: rotate(3deg) translate(0px, -4px);
|
||||
-ms-transform: rotate(3deg) translate(0px, -4px);
|
||||
-o-transform: rotate(3deg) translate(0px, -4px);
|
||||
transform: rotate(3deg) translate(0px, -4px);
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 15px;
|
||||
right: 15px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
border: solid 2px transparent;
|
||||
border-top-color: #000000;
|
||||
border-left-color: #000000;
|
||||
border-radius: 10px;
|
||||
-webkit-animation: pace-spinner 400ms linear infinite;
|
||||
-moz-animation: pace-spinner 400ms linear infinite;
|
||||
-ms-animation: pace-spinner 400ms linear infinite;
|
||||
-o-animation: pace-spinner 400ms linear infinite;
|
||||
animation: pace-spinner 400ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-spinner {
|
||||
0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-moz-keyframes pace-spinner {
|
||||
0% { -moz-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -moz-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-o-keyframes pace-spinner {
|
||||
0% { -o-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -o-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-ms-keyframes pace-spinner {
|
||||
0% { -ms-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -ms-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@keyframes pace-spinner {
|
||||
0% { transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
41
themes/black/pace-theme-flat-top.css
Normal file
41
themes/black/pace-theme-flat-top.css
Normal file
@@ -0,0 +1,41 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
|
||||
-webkit-transform: translate3d(0, -50px, 0);
|
||||
-ms-transform: translate3d(0, -50px, 0);
|
||||
transform: translate3d(0, -50px, 0);
|
||||
|
||||
-webkit-transition: -webkit-transform .5s ease-out;
|
||||
-ms-transition: -webkit-transform .5s ease-out;
|
||||
transition: transform .5s ease-out;
|
||||
}
|
||||
|
||||
.pace.pace-active {
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 10px;
|
||||
background: #000000;
|
||||
|
||||
pointer-events: none;
|
||||
}
|
||||
198
themes/black/pace-theme-loading-bar.css
Normal file
198
themes/black/pace-theme-loading-bar.css
Normal file
@@ -0,0 +1,198 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
-o-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
|
||||
-webkit-background-clip: padding-box;
|
||||
-moz-background-clip: padding;
|
||||
background-clip: padding-box;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
margin: auto;
|
||||
top: 12px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
width: 200px;
|
||||
height: 50px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
-o-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-border-radius: 2px;
|
||||
-moz-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
|
||||
-webkit-background-clip: padding-box;
|
||||
-moz-background-clip: padding;
|
||||
background-clip: padding-box;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 100%;
|
||||
margin-right: -7px;
|
||||
width: 93%;
|
||||
top: 7px;
|
||||
height: 14px;
|
||||
font-size: 12px;
|
||||
background: #000000;
|
||||
color: #000000;
|
||||
line-height: 60px;
|
||||
font-weight: bold;
|
||||
font-family: Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
|
||||
-webkit-box-shadow: 120px 0 #fff, 240px 0 #fff;
|
||||
-ms-box-shadow: 120px 0 #fff, 240px 0 #fff;
|
||||
box-shadow: 120px 0 #fff, 240px 0 #fff;
|
||||
}
|
||||
|
||||
.pace .pace-progress:after {
|
||||
content: attr(data-progress-text);
|
||||
display: inline-block;
|
||||
position: fixed;
|
||||
width: 45px;
|
||||
text-align: right;
|
||||
right: 0;
|
||||
padding-right: 16px;
|
||||
top: 4px;
|
||||
}
|
||||
|
||||
.pace .pace-progress[data-progress-text="0%"]:after { right: -200px }
|
||||
.pace .pace-progress[data-progress-text="1%"]:after { right: -198.14px }
|
||||
.pace .pace-progress[data-progress-text="2%"]:after { right: -196.28px }
|
||||
.pace .pace-progress[data-progress-text="3%"]:after { right: -194.42px }
|
||||
.pace .pace-progress[data-progress-text="4%"]:after { right: -192.56px }
|
||||
.pace .pace-progress[data-progress-text="5%"]:after { right: -190.7px }
|
||||
.pace .pace-progress[data-progress-text="6%"]:after { right: -188.84px }
|
||||
.pace .pace-progress[data-progress-text="7%"]:after { right: -186.98px }
|
||||
.pace .pace-progress[data-progress-text="8%"]:after { right: -185.12px }
|
||||
.pace .pace-progress[data-progress-text="9%"]:after { right: -183.26px }
|
||||
.pace .pace-progress[data-progress-text="10%"]:after { right: -181.4px }
|
||||
.pace .pace-progress[data-progress-text="11%"]:after { right: -179.54px }
|
||||
.pace .pace-progress[data-progress-text="12%"]:after { right: -177.68px }
|
||||
.pace .pace-progress[data-progress-text="13%"]:after { right: -175.82px }
|
||||
.pace .pace-progress[data-progress-text="14%"]:after { right: -173.96px }
|
||||
.pace .pace-progress[data-progress-text="15%"]:after { right: -172.1px }
|
||||
.pace .pace-progress[data-progress-text="16%"]:after { right: -170.24px }
|
||||
.pace .pace-progress[data-progress-text="17%"]:after { right: -168.38px }
|
||||
.pace .pace-progress[data-progress-text="18%"]:after { right: -166.52px }
|
||||
.pace .pace-progress[data-progress-text="19%"]:after { right: -164.66px }
|
||||
.pace .pace-progress[data-progress-text="20%"]:after { right: -162.8px }
|
||||
.pace .pace-progress[data-progress-text="21%"]:after { right: -160.94px }
|
||||
.pace .pace-progress[data-progress-text="22%"]:after { right: -159.08px }
|
||||
.pace .pace-progress[data-progress-text="23%"]:after { right: -157.22px }
|
||||
.pace .pace-progress[data-progress-text="24%"]:after { right: -155.36px }
|
||||
.pace .pace-progress[data-progress-text="25%"]:after { right: -153.5px }
|
||||
.pace .pace-progress[data-progress-text="26%"]:after { right: -151.64px }
|
||||
.pace .pace-progress[data-progress-text="27%"]:after { right: -149.78px }
|
||||
.pace .pace-progress[data-progress-text="28%"]:after { right: -147.92px }
|
||||
.pace .pace-progress[data-progress-text="29%"]:after { right: -146.06px }
|
||||
.pace .pace-progress[data-progress-text="30%"]:after { right: -144.2px }
|
||||
.pace .pace-progress[data-progress-text="31%"]:after { right: -142.34px }
|
||||
.pace .pace-progress[data-progress-text="32%"]:after { right: -140.48px }
|
||||
.pace .pace-progress[data-progress-text="33%"]:after { right: -138.62px }
|
||||
.pace .pace-progress[data-progress-text="34%"]:after { right: -136.76px }
|
||||
.pace .pace-progress[data-progress-text="35%"]:after { right: -134.9px }
|
||||
.pace .pace-progress[data-progress-text="36%"]:after { right: -133.04px }
|
||||
.pace .pace-progress[data-progress-text="37%"]:after { right: -131.18px }
|
||||
.pace .pace-progress[data-progress-text="38%"]:after { right: -129.32px }
|
||||
.pace .pace-progress[data-progress-text="39%"]:after { right: -127.46px }
|
||||
.pace .pace-progress[data-progress-text="40%"]:after { right: -125.6px }
|
||||
.pace .pace-progress[data-progress-text="41%"]:after { right: -123.74px }
|
||||
.pace .pace-progress[data-progress-text="42%"]:after { right: -121.88px }
|
||||
.pace .pace-progress[data-progress-text="43%"]:after { right: -120.02px }
|
||||
.pace .pace-progress[data-progress-text="44%"]:after { right: -118.16px }
|
||||
.pace .pace-progress[data-progress-text="45%"]:after { right: -116.3px }
|
||||
.pace .pace-progress[data-progress-text="46%"]:after { right: -114.44px }
|
||||
.pace .pace-progress[data-progress-text="47%"]:after { right: -112.58px }
|
||||
.pace .pace-progress[data-progress-text="48%"]:after { right: -110.72px }
|
||||
.pace .pace-progress[data-progress-text="49%"]:after { right: -108.86px }
|
||||
.pace .pace-progress[data-progress-text="50%"]:after { right: -107px }
|
||||
.pace .pace-progress[data-progress-text="51%"]:after { right: -105.14px }
|
||||
.pace .pace-progress[data-progress-text="52%"]:after { right: -103.28px }
|
||||
.pace .pace-progress[data-progress-text="53%"]:after { right: -101.42px }
|
||||
.pace .pace-progress[data-progress-text="54%"]:after { right: -99.56px }
|
||||
.pace .pace-progress[data-progress-text="55%"]:after { right: -97.7px }
|
||||
.pace .pace-progress[data-progress-text="56%"]:after { right: -95.84px }
|
||||
.pace .pace-progress[data-progress-text="57%"]:after { right: -93.98px }
|
||||
.pace .pace-progress[data-progress-text="58%"]:after { right: -92.12px }
|
||||
.pace .pace-progress[data-progress-text="59%"]:after { right: -90.26px }
|
||||
.pace .pace-progress[data-progress-text="60%"]:after { right: -88.4px }
|
||||
.pace .pace-progress[data-progress-text="61%"]:after { right: -86.53999999999999px }
|
||||
.pace .pace-progress[data-progress-text="62%"]:after { right: -84.68px }
|
||||
.pace .pace-progress[data-progress-text="63%"]:after { right: -82.82px }
|
||||
.pace .pace-progress[data-progress-text="64%"]:after { right: -80.96000000000001px }
|
||||
.pace .pace-progress[data-progress-text="65%"]:after { right: -79.1px }
|
||||
.pace .pace-progress[data-progress-text="66%"]:after { right: -77.24px }
|
||||
.pace .pace-progress[data-progress-text="67%"]:after { right: -75.38px }
|
||||
.pace .pace-progress[data-progress-text="68%"]:after { right: -73.52px }
|
||||
.pace .pace-progress[data-progress-text="69%"]:after { right: -71.66px }
|
||||
.pace .pace-progress[data-progress-text="70%"]:after { right: -69.8px }
|
||||
.pace .pace-progress[data-progress-text="71%"]:after { right: -67.94px }
|
||||
.pace .pace-progress[data-progress-text="72%"]:after { right: -66.08px }
|
||||
.pace .pace-progress[data-progress-text="73%"]:after { right: -64.22px }
|
||||
.pace .pace-progress[data-progress-text="74%"]:after { right: -62.36px }
|
||||
.pace .pace-progress[data-progress-text="75%"]:after { right: -60.5px }
|
||||
.pace .pace-progress[data-progress-text="76%"]:after { right: -58.64px }
|
||||
.pace .pace-progress[data-progress-text="77%"]:after { right: -56.78px }
|
||||
.pace .pace-progress[data-progress-text="78%"]:after { right: -54.92px }
|
||||
.pace .pace-progress[data-progress-text="79%"]:after { right: -53.06px }
|
||||
.pace .pace-progress[data-progress-text="80%"]:after { right: -51.2px }
|
||||
.pace .pace-progress[data-progress-text="81%"]:after { right: -49.34px }
|
||||
.pace .pace-progress[data-progress-text="82%"]:after { right: -47.480000000000004px }
|
||||
.pace .pace-progress[data-progress-text="83%"]:after { right: -45.62px }
|
||||
.pace .pace-progress[data-progress-text="84%"]:after { right: -43.76px }
|
||||
.pace .pace-progress[data-progress-text="85%"]:after { right: -41.9px }
|
||||
.pace .pace-progress[data-progress-text="86%"]:after { right: -40.04px }
|
||||
.pace .pace-progress[data-progress-text="87%"]:after { right: -38.18px }
|
||||
.pace .pace-progress[data-progress-text="88%"]:after { right: -36.32px }
|
||||
.pace .pace-progress[data-progress-text="89%"]:after { right: -34.46px }
|
||||
.pace .pace-progress[data-progress-text="90%"]:after { right: -32.6px }
|
||||
.pace .pace-progress[data-progress-text="91%"]:after { right: -30.740000000000002px }
|
||||
.pace .pace-progress[data-progress-text="92%"]:after { right: -28.880000000000003px }
|
||||
.pace .pace-progress[data-progress-text="93%"]:after { right: -27.02px }
|
||||
.pace .pace-progress[data-progress-text="94%"]:after { right: -25.16px }
|
||||
.pace .pace-progress[data-progress-text="95%"]:after { right: -23.3px }
|
||||
.pace .pace-progress[data-progress-text="96%"]:after { right: -21.439999999999998px }
|
||||
.pace .pace-progress[data-progress-text="97%"]:after { right: -19.58px }
|
||||
.pace .pace-progress[data-progress-text="98%"]:after { right: -17.72px }
|
||||
.pace .pace-progress[data-progress-text="99%"]:after { right: -15.86px }
|
||||
.pace .pace-progress[data-progress-text="100%"]:after { right: -14px }
|
||||
|
||||
|
||||
.pace .pace-activity {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 28px;
|
||||
z-index: 2001;
|
||||
box-shadow: inset 0 0 0 2px #000000, inset 0 0 0 7px #FFF;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.pace.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
87
themes/black/pace-theme-mac-osx.css
Normal file
87
themes/black/pace-theme-mac-osx.css
Normal file
@@ -0,0 +1,87 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2000;
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: #000000;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
overflow: hidden;
|
||||
|
||||
-webkit-border-radius: 0 0 4px 0;
|
||||
-moz-border-radius: 0 0 4px 0;
|
||||
-o-border-radius: 0 0 4px 0;
|
||||
border-radius: 0 0 4px 0;
|
||||
|
||||
-webkit-box-shadow: inset -1px 0 #000000, inset 0 -1px #000000, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
-moz-box-shadow: inset -1px 0 #000000, inset 0 -1px #000000, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
-o-box-shadow: inset -1px 0 #000000, inset 0 -1px #000000, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
box-shadow: inset -1px 0 #000000, inset 0 -1px #000000, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: -28px;
|
||||
bottom: 0;
|
||||
|
||||
-webkit-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
-moz-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
-o-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
|
||||
-webkit-background-size: 28px 100%;
|
||||
-moz-background-size: 28px 100%;
|
||||
-o-background-size: 28px 100%;
|
||||
background-size: 28px 100%;
|
||||
|
||||
-webkit-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
-moz-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
-ms-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
-o-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -webkit-transform: none; transform: none; }
|
||||
100% { -webkit-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@-moz-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -moz-transform: none; transform: none; }
|
||||
100% { -moz-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@-o-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -o-transform: none; transform: none; }
|
||||
100% { -o-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@-ms-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -ms-transform: none; transform: none; }
|
||||
100% { -ms-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@keyframes pace-theme-mac-osx-motion {
|
||||
0% { transform: none; transform: none; }
|
||||
100% { transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
23
themes/black/pace-theme-minimal.css
Normal file
23
themes/black/pace-theme-minimal.css
Normal file
@@ -0,0 +1,23 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background: #000000;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
}
|
||||
83
themes/blue/pace-theme-barber-shop.css
Normal file
83
themes/blue/pace-theme-barber-shop.css
Normal file
@@ -0,0 +1,83 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2000;
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: #2299dd;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: -32px;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
-o-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
-webkit-background-size: 32px 32px;
|
||||
-moz-background-size: 32px 32px;
|
||||
-o-background-size: 32px 32px;
|
||||
background-size: 32px 32px;
|
||||
|
||||
-webkit-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-moz-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-ms-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-o-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -webkit-transform: none; transform: none; }
|
||||
100% { -webkit-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-moz-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -moz-transform: none; transform: none; }
|
||||
100% { -moz-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-o-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -o-transform: none; transform: none; }
|
||||
100% { -o-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-ms-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -ms-transform: none; transform: none; }
|
||||
100% { -ms-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@keyframes pace-theme-barber-shop-motion {
|
||||
0% { transform: none; transform: none; }
|
||||
100% { transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
40
themes/blue/pace-theme-big-counter.css
Normal file
40
themes/blue/pace-theme-big-counter.css
Normal file
@@ -0,0 +1,40 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-progress {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 0;
|
||||
height: 5rem;
|
||||
width: 5rem;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0) !important;
|
||||
-ms-transform: translate3d(0, 0, 0) !important;
|
||||
transform: translate3d(0, 0, 0) !important;
|
||||
}
|
||||
|
||||
.pace .pace-progress:after {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: .5rem;
|
||||
content: attr(data-progress-text);
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-weight: 100;
|
||||
font-size: 5rem;
|
||||
line-height: 1;
|
||||
text-align: right;
|
||||
color: rgba(34, 153, 221, 0.19999999999999996);
|
||||
}
|
||||
231
themes/blue/pace-theme-bounce.css
Normal file
231
themes/blue/pace-theme-bounce.css
Normal file
@@ -0,0 +1,231 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
width: 140px;
|
||||
height: 300px;
|
||||
position: fixed;
|
||||
top: -90px;
|
||||
right: -20px;
|
||||
z-index: 2000;
|
||||
-webkit-transform: scale(0);
|
||||
-moz-transform: scale(0);
|
||||
-ms-transform: scale(0);
|
||||
-o-transform: scale(0);
|
||||
transform: scale(0);
|
||||
opacity: 0;
|
||||
-webkit-transition: all 2s linear 0s;
|
||||
-moz-transition: all 2s linear 0s;
|
||||
transition: all 2s linear 0s;
|
||||
}
|
||||
|
||||
.pace.pace-active {
|
||||
-webkit-transform: scale(.25);
|
||||
-moz-transform: scale(.25);
|
||||
-ms-transform: scale(.25);
|
||||
-o-transform: scale(.25);
|
||||
transform: scale(.25);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
width: 140px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
background: #2299dd;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: 1911;
|
||||
-webkit-animation: pace-bounce 1s infinite;
|
||||
-moz-animation: pace-bounce 1s infinite;
|
||||
-o-animation: pace-bounce 1s infinite;
|
||||
-ms-animation: pace-bounce 1s infinite;
|
||||
animation: pace-bounce 1s infinite;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: absolute;
|
||||
display: block;
|
||||
left: 50%;
|
||||
bottom: 0;
|
||||
z-index: 1910;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-webkit-transform: scaleY(.3) !important;
|
||||
-moz-transform: scaleY(.3) !important;
|
||||
-ms-transform: scaleY(.3) !important;
|
||||
-o-transform: scaleY(.3) !important;
|
||||
transform: scaleY(.3) !important;
|
||||
-webkit-animation: pace-compress .5s infinite alternate;
|
||||
-moz-animation: pace-compress .5s infinite alternate;
|
||||
-o-animation: pace-compress .5s infinite alternate;
|
||||
-ms-animation: pace-compress .5s infinite alternate;
|
||||
animation: pace-compress .5s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
40% {}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
95% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
40% {}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
-moz-animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
-moz-animation-timing-function: ease-out;}
|
||||
95% {
|
||||
top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
95% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
-moz-animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
131
themes/blue/pace-theme-center-atom.css
Normal file
131
themes/blue/pace-theme-center-atom.css
Normal file
@@ -0,0 +1,131 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
z-index: 2000;
|
||||
position: absolute;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0) !important;
|
||||
-ms-transform: translate3d(0, 0, 0) !important;
|
||||
transform: translate3d(0, 0, 0) !important;
|
||||
}
|
||||
|
||||
.pace .pace-progress:before {
|
||||
content: attr(data-progress-text);
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
background: #2299dd;
|
||||
border-radius: 50%;
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-size: 14px;
|
||||
font-weight: 100;
|
||||
line-height: 1;
|
||||
padding: 20% 0 7px;
|
||||
width: 50%;
|
||||
height: 40%;
|
||||
margin: 10px 0 0 30px;
|
||||
display: block;
|
||||
z-index: 999;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
font-size: 15px;
|
||||
line-height: 1;
|
||||
z-index: 2000;
|
||||
position: absolute;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
display: block;
|
||||
-webkit-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
-moz-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
-o-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
border-radius: 50%;
|
||||
border: 5px solid #2299dd;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.pace .pace-activity:after {
|
||||
border-radius: 50%;
|
||||
border: 5px solid #2299dd;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
left: -5px;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: rotate(60deg);
|
||||
-moz-transform: rotate(60deg);
|
||||
-o-transform: rotate(60deg);
|
||||
transform: rotate(60deg);
|
||||
}
|
||||
|
||||
.pace .pace-activity:before {
|
||||
border-radius: 50%;
|
||||
border: 5px solid #2299dd;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
left: -5px;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: rotate(120deg);
|
||||
-moz-transform: rotate(120deg);
|
||||
-o-transform: rotate(120deg);
|
||||
transform: rotate(120deg);
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-center-atom-spin {
|
||||
0% { -webkit-transform: rotate(0deg) }
|
||||
100% { -webkit-transform: rotate(359deg) }
|
||||
}
|
||||
@-moz-keyframes pace-theme-center-atom-spin {
|
||||
0% { -moz-transform: rotate(0deg) }
|
||||
100% { -moz-transform: rotate(359deg) }
|
||||
}
|
||||
@-o-keyframes pace-theme-center-atom-spin {
|
||||
0% { -o-transform: rotate(0deg) }
|
||||
100% { -o-transform: rotate(359deg) }
|
||||
}
|
||||
@keyframes pace-theme-center-atom-spin {
|
||||
0% { transform: rotate(0deg) }
|
||||
100% { transform: rotate(359deg) }
|
||||
}
|
||||
90
themes/blue/pace-theme-center-circle.css
Normal file
90
themes/blue/pace-theme-center-circle.css
Normal file
@@ -0,0 +1,90 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
-webkit-perspective: 12rem;
|
||||
-moz-perspective: 12rem;
|
||||
-ms-perspective: 12rem;
|
||||
-o-perspective: 12rem;
|
||||
perspective: 12rem;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 6rem;
|
||||
width: 6rem;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-progress {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
height: 6rem;
|
||||
width: 6rem !important;
|
||||
line-height: 6rem;
|
||||
font-size: 2rem;
|
||||
border-radius: 50%;
|
||||
background: rgba(34, 153, 221, 0.8);
|
||||
color: #fff;
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-weight: 100;
|
||||
text-align: center;
|
||||
|
||||
-webkit-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-moz-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-ms-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-o-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
|
||||
-webkit-transform-style: preserve-3d;
|
||||
-moz-transform-style: preserve-3d;
|
||||
-ms-transform-style: preserve-3d;
|
||||
-o-transform-style: preserve-3d;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
|
||||
.pace .pace-progress:after {
|
||||
content: attr(data-progress-text);
|
||||
display: block;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-center-circle-spin {
|
||||
from { -webkit-transform: rotateY(0deg) }
|
||||
to { -webkit-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-theme-center-circle-spin {
|
||||
from { -moz-transform: rotateY(0deg) }
|
||||
to { -moz-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-ms-keyframes pace-theme-center-circle-spin {
|
||||
from { -ms-transform: rotateY(0deg) }
|
||||
to { -ms-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-o-keyframes pace-theme-center-circle-spin {
|
||||
from { -o-transform: rotateY(0deg) }
|
||||
to { -o-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@keyframes pace-theme-center-circle-spin {
|
||||
from { transform: rotateY(0deg) }
|
||||
to { transform: rotateY(360deg) }
|
||||
}
|
||||
74
themes/blue/pace-theme-center-radar.css
Normal file
74
themes/blue/pace-theme-center-radar.css
Normal file
@@ -0,0 +1,74 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-activity {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: -30px;
|
||||
top: -30px;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
display: block;
|
||||
border-width: 30px;
|
||||
border-style: double;
|
||||
border-color: #2299dd transparent transparent;
|
||||
border-radius: 50%;
|
||||
|
||||
-webkit-animation: spin 1s linear infinite;
|
||||
-moz-animation: spin 1s linear infinite;
|
||||
-o-animation: spin 1s linear infinite;
|
||||
animation: spin 1s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity:before {
|
||||
content: ' ';
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
left: 10px;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
display: block;
|
||||
border-width: 10px;
|
||||
border-style: solid;
|
||||
border-color: #2299dd transparent transparent;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
@-webkit-keyframes spin {
|
||||
100% { -webkit-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@-moz-keyframes spin {
|
||||
100% { -moz-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@-o-keyframes spin {
|
||||
100% { -moz-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
100% { transform: rotate(359deg); }
|
||||
}
|
||||
52
themes/blue/pace-theme-center-simple.css
Normal file
52
themes/blue/pace-theme-center-simple.css
Normal file
@@ -0,0 +1,52 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
height: 5px;
|
||||
width: 200px;
|
||||
background: #fff;
|
||||
border: 1px solid #2299dd;
|
||||
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
-o-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
-o-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
max-width: 200px;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background: #2299dd;
|
||||
}
|
||||
|
||||
.pace.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
73
themes/blue/pace-theme-corner-indicator.css
Normal file
73
themes/blue/pace-theme-corner-indicator.css
Normal file
@@ -0,0 +1,73 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 300px;
|
||||
height: 300px;
|
||||
background: #2299dd;
|
||||
-webkit-transition: -webkit-transform 0.3s;
|
||||
transition: transform 0.3s;
|
||||
-webkit-transform: translateX(100%) translateY(-100%) rotate(45deg);
|
||||
transform: translateX(100%) translateY(-100%) rotate(45deg);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.pace.pace-active .pace-activity {
|
||||
-webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
|
||||
transform: translateX(50%) translateY(-50%) rotate(45deg);
|
||||
}
|
||||
|
||||
.pace .pace-activity::before,
|
||||
.pace .pace-activity::after {
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
position: absolute;
|
||||
bottom: 30px;
|
||||
left: 50%;
|
||||
display: block;
|
||||
border: 5px solid #fff;
|
||||
border-radius: 50%;
|
||||
content: '';
|
||||
}
|
||||
|
||||
.pace .pace-activity::before {
|
||||
margin-left: -40px;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
border-right-color: rgba(0, 0, 0, .2);
|
||||
border-left-color: rgba(0, 0, 0, .2);
|
||||
-webkit-animation: pace-theme-corner-indicator-spin 3s linear infinite;
|
||||
animation: pace-theme-corner-indicator-spin 3s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity::after {
|
||||
bottom: 50px;
|
||||
margin-left: -20px;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-top-color: rgba(0, 0, 0, .2);
|
||||
border-bottom-color: rgba(0, 0, 0, .2);
|
||||
-webkit-animation: pace-theme-corner-indicator-spin 1s linear infinite;
|
||||
animation: pace-theme-corner-indicator-spin 1s linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-corner-indicator-spin {
|
||||
0% { -webkit-transform: rotate(0deg); }
|
||||
100% { -webkit-transform: rotate(359deg); }
|
||||
}
|
||||
@keyframes pace-theme-corner-indicator-spin {
|
||||
0% { transform: rotate(0deg); }
|
||||
100% { transform: rotate(359deg); }
|
||||
}
|
||||
22
themes/blue/pace-theme-fill-left.css
Normal file
22
themes/blue/pace-theme-fill-left.css
Normal file
@@ -0,0 +1,22 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: rgba(34, 153, 221, 0.19999999999999996);
|
||||
position: fixed;
|
||||
z-index: -1;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
}
|
||||
77
themes/blue/pace-theme-flash.css
Normal file
77
themes/blue/pace-theme-flash.css
Normal file
@@ -0,0 +1,77 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background: #2299dd;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
}
|
||||
|
||||
.pace .pace-progress-inner {
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
width: 100px;
|
||||
height: 100%;
|
||||
box-shadow: 0 0 10px #2299dd, 0 0 5px #2299dd;
|
||||
opacity: 1.0;
|
||||
-webkit-transform: rotate(3deg) translate(0px, -4px);
|
||||
-moz-transform: rotate(3deg) translate(0px, -4px);
|
||||
-ms-transform: rotate(3deg) translate(0px, -4px);
|
||||
-o-transform: rotate(3deg) translate(0px, -4px);
|
||||
transform: rotate(3deg) translate(0px, -4px);
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 15px;
|
||||
right: 15px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
border: solid 2px transparent;
|
||||
border-top-color: #2299dd;
|
||||
border-left-color: #2299dd;
|
||||
border-radius: 10px;
|
||||
-webkit-animation: pace-spinner 400ms linear infinite;
|
||||
-moz-animation: pace-spinner 400ms linear infinite;
|
||||
-ms-animation: pace-spinner 400ms linear infinite;
|
||||
-o-animation: pace-spinner 400ms linear infinite;
|
||||
animation: pace-spinner 400ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-spinner {
|
||||
0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-moz-keyframes pace-spinner {
|
||||
0% { -moz-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -moz-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-o-keyframes pace-spinner {
|
||||
0% { -o-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -o-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-ms-keyframes pace-spinner {
|
||||
0% { -ms-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -ms-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@keyframes pace-spinner {
|
||||
0% { transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
41
themes/blue/pace-theme-flat-top.css
Normal file
41
themes/blue/pace-theme-flat-top.css
Normal file
@@ -0,0 +1,41 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
|
||||
-webkit-transform: translate3d(0, -50px, 0);
|
||||
-ms-transform: translate3d(0, -50px, 0);
|
||||
transform: translate3d(0, -50px, 0);
|
||||
|
||||
-webkit-transition: -webkit-transform .5s ease-out;
|
||||
-ms-transition: -webkit-transform .5s ease-out;
|
||||
transition: transform .5s ease-out;
|
||||
}
|
||||
|
||||
.pace.pace-active {
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 10px;
|
||||
background: #2299dd;
|
||||
|
||||
pointer-events: none;
|
||||
}
|
||||
198
themes/blue/pace-theme-loading-bar.css
Normal file
198
themes/blue/pace-theme-loading-bar.css
Normal file
@@ -0,0 +1,198 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
-o-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
|
||||
-webkit-background-clip: padding-box;
|
||||
-moz-background-clip: padding;
|
||||
background-clip: padding-box;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
margin: auto;
|
||||
top: 12px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
width: 200px;
|
||||
height: 50px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
-o-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-border-radius: 2px;
|
||||
-moz-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
|
||||
-webkit-background-clip: padding-box;
|
||||
-moz-background-clip: padding;
|
||||
background-clip: padding-box;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 100%;
|
||||
margin-right: -7px;
|
||||
width: 93%;
|
||||
top: 7px;
|
||||
height: 14px;
|
||||
font-size: 12px;
|
||||
background: #2299dd;
|
||||
color: #2299dd;
|
||||
line-height: 60px;
|
||||
font-weight: bold;
|
||||
font-family: Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
|
||||
-webkit-box-shadow: 120px 0 #fff, 240px 0 #fff;
|
||||
-ms-box-shadow: 120px 0 #fff, 240px 0 #fff;
|
||||
box-shadow: 120px 0 #fff, 240px 0 #fff;
|
||||
}
|
||||
|
||||
.pace .pace-progress:after {
|
||||
content: attr(data-progress-text);
|
||||
display: inline-block;
|
||||
position: fixed;
|
||||
width: 45px;
|
||||
text-align: right;
|
||||
right: 0;
|
||||
padding-right: 16px;
|
||||
top: 4px;
|
||||
}
|
||||
|
||||
.pace .pace-progress[data-progress-text="0%"]:after { right: -200px }
|
||||
.pace .pace-progress[data-progress-text="1%"]:after { right: -198.14px }
|
||||
.pace .pace-progress[data-progress-text="2%"]:after { right: -196.28px }
|
||||
.pace .pace-progress[data-progress-text="3%"]:after { right: -194.42px }
|
||||
.pace .pace-progress[data-progress-text="4%"]:after { right: -192.56px }
|
||||
.pace .pace-progress[data-progress-text="5%"]:after { right: -190.7px }
|
||||
.pace .pace-progress[data-progress-text="6%"]:after { right: -188.84px }
|
||||
.pace .pace-progress[data-progress-text="7%"]:after { right: -186.98px }
|
||||
.pace .pace-progress[data-progress-text="8%"]:after { right: -185.12px }
|
||||
.pace .pace-progress[data-progress-text="9%"]:after { right: -183.26px }
|
||||
.pace .pace-progress[data-progress-text="10%"]:after { right: -181.4px }
|
||||
.pace .pace-progress[data-progress-text="11%"]:after { right: -179.54px }
|
||||
.pace .pace-progress[data-progress-text="12%"]:after { right: -177.68px }
|
||||
.pace .pace-progress[data-progress-text="13%"]:after { right: -175.82px }
|
||||
.pace .pace-progress[data-progress-text="14%"]:after { right: -173.96px }
|
||||
.pace .pace-progress[data-progress-text="15%"]:after { right: -172.1px }
|
||||
.pace .pace-progress[data-progress-text="16%"]:after { right: -170.24px }
|
||||
.pace .pace-progress[data-progress-text="17%"]:after { right: -168.38px }
|
||||
.pace .pace-progress[data-progress-text="18%"]:after { right: -166.52px }
|
||||
.pace .pace-progress[data-progress-text="19%"]:after { right: -164.66px }
|
||||
.pace .pace-progress[data-progress-text="20%"]:after { right: -162.8px }
|
||||
.pace .pace-progress[data-progress-text="21%"]:after { right: -160.94px }
|
||||
.pace .pace-progress[data-progress-text="22%"]:after { right: -159.08px }
|
||||
.pace .pace-progress[data-progress-text="23%"]:after { right: -157.22px }
|
||||
.pace .pace-progress[data-progress-text="24%"]:after { right: -155.36px }
|
||||
.pace .pace-progress[data-progress-text="25%"]:after { right: -153.5px }
|
||||
.pace .pace-progress[data-progress-text="26%"]:after { right: -151.64px }
|
||||
.pace .pace-progress[data-progress-text="27%"]:after { right: -149.78px }
|
||||
.pace .pace-progress[data-progress-text="28%"]:after { right: -147.92px }
|
||||
.pace .pace-progress[data-progress-text="29%"]:after { right: -146.06px }
|
||||
.pace .pace-progress[data-progress-text="30%"]:after { right: -144.2px }
|
||||
.pace .pace-progress[data-progress-text="31%"]:after { right: -142.34px }
|
||||
.pace .pace-progress[data-progress-text="32%"]:after { right: -140.48px }
|
||||
.pace .pace-progress[data-progress-text="33%"]:after { right: -138.62px }
|
||||
.pace .pace-progress[data-progress-text="34%"]:after { right: -136.76px }
|
||||
.pace .pace-progress[data-progress-text="35%"]:after { right: -134.9px }
|
||||
.pace .pace-progress[data-progress-text="36%"]:after { right: -133.04px }
|
||||
.pace .pace-progress[data-progress-text="37%"]:after { right: -131.18px }
|
||||
.pace .pace-progress[data-progress-text="38%"]:after { right: -129.32px }
|
||||
.pace .pace-progress[data-progress-text="39%"]:after { right: -127.46px }
|
||||
.pace .pace-progress[data-progress-text="40%"]:after { right: -125.6px }
|
||||
.pace .pace-progress[data-progress-text="41%"]:after { right: -123.74px }
|
||||
.pace .pace-progress[data-progress-text="42%"]:after { right: -121.88px }
|
||||
.pace .pace-progress[data-progress-text="43%"]:after { right: -120.02px }
|
||||
.pace .pace-progress[data-progress-text="44%"]:after { right: -118.16px }
|
||||
.pace .pace-progress[data-progress-text="45%"]:after { right: -116.3px }
|
||||
.pace .pace-progress[data-progress-text="46%"]:after { right: -114.44px }
|
||||
.pace .pace-progress[data-progress-text="47%"]:after { right: -112.58px }
|
||||
.pace .pace-progress[data-progress-text="48%"]:after { right: -110.72px }
|
||||
.pace .pace-progress[data-progress-text="49%"]:after { right: -108.86px }
|
||||
.pace .pace-progress[data-progress-text="50%"]:after { right: -107px }
|
||||
.pace .pace-progress[data-progress-text="51%"]:after { right: -105.14px }
|
||||
.pace .pace-progress[data-progress-text="52%"]:after { right: -103.28px }
|
||||
.pace .pace-progress[data-progress-text="53%"]:after { right: -101.42px }
|
||||
.pace .pace-progress[data-progress-text="54%"]:after { right: -99.56px }
|
||||
.pace .pace-progress[data-progress-text="55%"]:after { right: -97.7px }
|
||||
.pace .pace-progress[data-progress-text="56%"]:after { right: -95.84px }
|
||||
.pace .pace-progress[data-progress-text="57%"]:after { right: -93.98px }
|
||||
.pace .pace-progress[data-progress-text="58%"]:after { right: -92.12px }
|
||||
.pace .pace-progress[data-progress-text="59%"]:after { right: -90.26px }
|
||||
.pace .pace-progress[data-progress-text="60%"]:after { right: -88.4px }
|
||||
.pace .pace-progress[data-progress-text="61%"]:after { right: -86.53999999999999px }
|
||||
.pace .pace-progress[data-progress-text="62%"]:after { right: -84.68px }
|
||||
.pace .pace-progress[data-progress-text="63%"]:after { right: -82.82px }
|
||||
.pace .pace-progress[data-progress-text="64%"]:after { right: -80.96000000000001px }
|
||||
.pace .pace-progress[data-progress-text="65%"]:after { right: -79.1px }
|
||||
.pace .pace-progress[data-progress-text="66%"]:after { right: -77.24px }
|
||||
.pace .pace-progress[data-progress-text="67%"]:after { right: -75.38px }
|
||||
.pace .pace-progress[data-progress-text="68%"]:after { right: -73.52px }
|
||||
.pace .pace-progress[data-progress-text="69%"]:after { right: -71.66px }
|
||||
.pace .pace-progress[data-progress-text="70%"]:after { right: -69.8px }
|
||||
.pace .pace-progress[data-progress-text="71%"]:after { right: -67.94px }
|
||||
.pace .pace-progress[data-progress-text="72%"]:after { right: -66.08px }
|
||||
.pace .pace-progress[data-progress-text="73%"]:after { right: -64.22px }
|
||||
.pace .pace-progress[data-progress-text="74%"]:after { right: -62.36px }
|
||||
.pace .pace-progress[data-progress-text="75%"]:after { right: -60.5px }
|
||||
.pace .pace-progress[data-progress-text="76%"]:after { right: -58.64px }
|
||||
.pace .pace-progress[data-progress-text="77%"]:after { right: -56.78px }
|
||||
.pace .pace-progress[data-progress-text="78%"]:after { right: -54.92px }
|
||||
.pace .pace-progress[data-progress-text="79%"]:after { right: -53.06px }
|
||||
.pace .pace-progress[data-progress-text="80%"]:after { right: -51.2px }
|
||||
.pace .pace-progress[data-progress-text="81%"]:after { right: -49.34px }
|
||||
.pace .pace-progress[data-progress-text="82%"]:after { right: -47.480000000000004px }
|
||||
.pace .pace-progress[data-progress-text="83%"]:after { right: -45.62px }
|
||||
.pace .pace-progress[data-progress-text="84%"]:after { right: -43.76px }
|
||||
.pace .pace-progress[data-progress-text="85%"]:after { right: -41.9px }
|
||||
.pace .pace-progress[data-progress-text="86%"]:after { right: -40.04px }
|
||||
.pace .pace-progress[data-progress-text="87%"]:after { right: -38.18px }
|
||||
.pace .pace-progress[data-progress-text="88%"]:after { right: -36.32px }
|
||||
.pace .pace-progress[data-progress-text="89%"]:after { right: -34.46px }
|
||||
.pace .pace-progress[data-progress-text="90%"]:after { right: -32.6px }
|
||||
.pace .pace-progress[data-progress-text="91%"]:after { right: -30.740000000000002px }
|
||||
.pace .pace-progress[data-progress-text="92%"]:after { right: -28.880000000000003px }
|
||||
.pace .pace-progress[data-progress-text="93%"]:after { right: -27.02px }
|
||||
.pace .pace-progress[data-progress-text="94%"]:after { right: -25.16px }
|
||||
.pace .pace-progress[data-progress-text="95%"]:after { right: -23.3px }
|
||||
.pace .pace-progress[data-progress-text="96%"]:after { right: -21.439999999999998px }
|
||||
.pace .pace-progress[data-progress-text="97%"]:after { right: -19.58px }
|
||||
.pace .pace-progress[data-progress-text="98%"]:after { right: -17.72px }
|
||||
.pace .pace-progress[data-progress-text="99%"]:after { right: -15.86px }
|
||||
.pace .pace-progress[data-progress-text="100%"]:after { right: -14px }
|
||||
|
||||
|
||||
.pace .pace-activity {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 28px;
|
||||
z-index: 2001;
|
||||
box-shadow: inset 0 0 0 2px #2299dd, inset 0 0 0 7px #FFF;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.pace.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
87
themes/blue/pace-theme-mac-osx.css
Normal file
87
themes/blue/pace-theme-mac-osx.css
Normal file
@@ -0,0 +1,87 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2000;
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: #0087E1;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
overflow: hidden;
|
||||
|
||||
-webkit-border-radius: 0 0 4px 0;
|
||||
-moz-border-radius: 0 0 4px 0;
|
||||
-o-border-radius: 0 0 4px 0;
|
||||
border-radius: 0 0 4px 0;
|
||||
|
||||
-webkit-box-shadow: inset -1px 0 #00558F, inset 0 -1px #00558F, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
-moz-box-shadow: inset -1px 0 #00558F, inset 0 -1px #00558F, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
-o-box-shadow: inset -1px 0 #00558F, inset 0 -1px #00558F, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
box-shadow: inset -1px 0 #00558F, inset 0 -1px #00558F, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: -28px;
|
||||
bottom: 0;
|
||||
|
||||
-webkit-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
-moz-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
-o-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
|
||||
-webkit-background-size: 28px 100%;
|
||||
-moz-background-size: 28px 100%;
|
||||
-o-background-size: 28px 100%;
|
||||
background-size: 28px 100%;
|
||||
|
||||
-webkit-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
-moz-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
-ms-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
-o-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -webkit-transform: none; transform: none; }
|
||||
100% { -webkit-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@-moz-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -moz-transform: none; transform: none; }
|
||||
100% { -moz-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@-o-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -o-transform: none; transform: none; }
|
||||
100% { -o-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@-ms-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -ms-transform: none; transform: none; }
|
||||
100% { -ms-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@keyframes pace-theme-mac-osx-motion {
|
||||
0% { transform: none; transform: none; }
|
||||
100% { transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
23
themes/blue/pace-theme-minimal.css
Normal file
23
themes/blue/pace-theme-minimal.css
Normal file
@@ -0,0 +1,23 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background: #2299dd;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
}
|
||||
83
themes/green/pace-theme-barber-shop.css
Normal file
83
themes/green/pace-theme-barber-shop.css
Normal file
@@ -0,0 +1,83 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2000;
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: #22df80;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: -32px;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
-o-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
-webkit-background-size: 32px 32px;
|
||||
-moz-background-size: 32px 32px;
|
||||
-o-background-size: 32px 32px;
|
||||
background-size: 32px 32px;
|
||||
|
||||
-webkit-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-moz-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-ms-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-o-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -webkit-transform: none; transform: none; }
|
||||
100% { -webkit-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-moz-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -moz-transform: none; transform: none; }
|
||||
100% { -moz-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-o-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -o-transform: none; transform: none; }
|
||||
100% { -o-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-ms-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -ms-transform: none; transform: none; }
|
||||
100% { -ms-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@keyframes pace-theme-barber-shop-motion {
|
||||
0% { transform: none; transform: none; }
|
||||
100% { transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
40
themes/green/pace-theme-big-counter.css
Normal file
40
themes/green/pace-theme-big-counter.css
Normal file
@@ -0,0 +1,40 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-progress {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 0;
|
||||
height: 5rem;
|
||||
width: 5rem;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0) !important;
|
||||
-ms-transform: translate3d(0, 0, 0) !important;
|
||||
transform: translate3d(0, 0, 0) !important;
|
||||
}
|
||||
|
||||
.pace .pace-progress:after {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: .5rem;
|
||||
content: attr(data-progress-text);
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-weight: 100;
|
||||
font-size: 5rem;
|
||||
line-height: 1;
|
||||
text-align: right;
|
||||
color: rgba(34, 223, 128, 0.19999999999999996);
|
||||
}
|
||||
231
themes/green/pace-theme-bounce.css
Normal file
231
themes/green/pace-theme-bounce.css
Normal file
@@ -0,0 +1,231 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
width: 140px;
|
||||
height: 300px;
|
||||
position: fixed;
|
||||
top: -90px;
|
||||
right: -20px;
|
||||
z-index: 2000;
|
||||
-webkit-transform: scale(0);
|
||||
-moz-transform: scale(0);
|
||||
-ms-transform: scale(0);
|
||||
-o-transform: scale(0);
|
||||
transform: scale(0);
|
||||
opacity: 0;
|
||||
-webkit-transition: all 2s linear 0s;
|
||||
-moz-transition: all 2s linear 0s;
|
||||
transition: all 2s linear 0s;
|
||||
}
|
||||
|
||||
.pace.pace-active {
|
||||
-webkit-transform: scale(.25);
|
||||
-moz-transform: scale(.25);
|
||||
-ms-transform: scale(.25);
|
||||
-o-transform: scale(.25);
|
||||
transform: scale(.25);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
width: 140px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
background: #22df80;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: 1911;
|
||||
-webkit-animation: pace-bounce 1s infinite;
|
||||
-moz-animation: pace-bounce 1s infinite;
|
||||
-o-animation: pace-bounce 1s infinite;
|
||||
-ms-animation: pace-bounce 1s infinite;
|
||||
animation: pace-bounce 1s infinite;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: absolute;
|
||||
display: block;
|
||||
left: 50%;
|
||||
bottom: 0;
|
||||
z-index: 1910;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-webkit-transform: scaleY(.3) !important;
|
||||
-moz-transform: scaleY(.3) !important;
|
||||
-ms-transform: scaleY(.3) !important;
|
||||
-o-transform: scaleY(.3) !important;
|
||||
transform: scaleY(.3) !important;
|
||||
-webkit-animation: pace-compress .5s infinite alternate;
|
||||
-moz-animation: pace-compress .5s infinite alternate;
|
||||
-o-animation: pace-compress .5s infinite alternate;
|
||||
-ms-animation: pace-compress .5s infinite alternate;
|
||||
animation: pace-compress .5s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
40% {}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
95% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
40% {}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
-moz-animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
-moz-animation-timing-function: ease-out;}
|
||||
95% {
|
||||
top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
95% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
-moz-animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
131
themes/green/pace-theme-center-atom.css
Normal file
131
themes/green/pace-theme-center-atom.css
Normal file
@@ -0,0 +1,131 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
z-index: 2000;
|
||||
position: absolute;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0) !important;
|
||||
-ms-transform: translate3d(0, 0, 0) !important;
|
||||
transform: translate3d(0, 0, 0) !important;
|
||||
}
|
||||
|
||||
.pace .pace-progress:before {
|
||||
content: attr(data-progress-text);
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
background: #22df80;
|
||||
border-radius: 50%;
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-size: 14px;
|
||||
font-weight: 100;
|
||||
line-height: 1;
|
||||
padding: 20% 0 7px;
|
||||
width: 50%;
|
||||
height: 40%;
|
||||
margin: 10px 0 0 30px;
|
||||
display: block;
|
||||
z-index: 999;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
font-size: 15px;
|
||||
line-height: 1;
|
||||
z-index: 2000;
|
||||
position: absolute;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
display: block;
|
||||
-webkit-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
-moz-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
-o-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
border-radius: 50%;
|
||||
border: 5px solid #22df80;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.pace .pace-activity:after {
|
||||
border-radius: 50%;
|
||||
border: 5px solid #22df80;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
left: -5px;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: rotate(60deg);
|
||||
-moz-transform: rotate(60deg);
|
||||
-o-transform: rotate(60deg);
|
||||
transform: rotate(60deg);
|
||||
}
|
||||
|
||||
.pace .pace-activity:before {
|
||||
border-radius: 50%;
|
||||
border: 5px solid #22df80;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
left: -5px;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: rotate(120deg);
|
||||
-moz-transform: rotate(120deg);
|
||||
-o-transform: rotate(120deg);
|
||||
transform: rotate(120deg);
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-center-atom-spin {
|
||||
0% { -webkit-transform: rotate(0deg) }
|
||||
100% { -webkit-transform: rotate(359deg) }
|
||||
}
|
||||
@-moz-keyframes pace-theme-center-atom-spin {
|
||||
0% { -moz-transform: rotate(0deg) }
|
||||
100% { -moz-transform: rotate(359deg) }
|
||||
}
|
||||
@-o-keyframes pace-theme-center-atom-spin {
|
||||
0% { -o-transform: rotate(0deg) }
|
||||
100% { -o-transform: rotate(359deg) }
|
||||
}
|
||||
@keyframes pace-theme-center-atom-spin {
|
||||
0% { transform: rotate(0deg) }
|
||||
100% { transform: rotate(359deg) }
|
||||
}
|
||||
90
themes/green/pace-theme-center-circle.css
Normal file
90
themes/green/pace-theme-center-circle.css
Normal file
@@ -0,0 +1,90 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
-webkit-perspective: 12rem;
|
||||
-moz-perspective: 12rem;
|
||||
-ms-perspective: 12rem;
|
||||
-o-perspective: 12rem;
|
||||
perspective: 12rem;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 6rem;
|
||||
width: 6rem;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-progress {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
height: 6rem;
|
||||
width: 6rem !important;
|
||||
line-height: 6rem;
|
||||
font-size: 2rem;
|
||||
border-radius: 50%;
|
||||
background: rgba(34, 223, 128, 0.8);
|
||||
color: #fff;
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-weight: 100;
|
||||
text-align: center;
|
||||
|
||||
-webkit-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-moz-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-ms-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-o-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
|
||||
-webkit-transform-style: preserve-3d;
|
||||
-moz-transform-style: preserve-3d;
|
||||
-ms-transform-style: preserve-3d;
|
||||
-o-transform-style: preserve-3d;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
|
||||
.pace .pace-progress:after {
|
||||
content: attr(data-progress-text);
|
||||
display: block;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-center-circle-spin {
|
||||
from { -webkit-transform: rotateY(0deg) }
|
||||
to { -webkit-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-theme-center-circle-spin {
|
||||
from { -moz-transform: rotateY(0deg) }
|
||||
to { -moz-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-ms-keyframes pace-theme-center-circle-spin {
|
||||
from { -ms-transform: rotateY(0deg) }
|
||||
to { -ms-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-o-keyframes pace-theme-center-circle-spin {
|
||||
from { -o-transform: rotateY(0deg) }
|
||||
to { -o-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@keyframes pace-theme-center-circle-spin {
|
||||
from { transform: rotateY(0deg) }
|
||||
to { transform: rotateY(360deg) }
|
||||
}
|
||||
74
themes/green/pace-theme-center-radar.css
Normal file
74
themes/green/pace-theme-center-radar.css
Normal file
@@ -0,0 +1,74 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-activity {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: -30px;
|
||||
top: -30px;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
display: block;
|
||||
border-width: 30px;
|
||||
border-style: double;
|
||||
border-color: #22df80 transparent transparent;
|
||||
border-radius: 50%;
|
||||
|
||||
-webkit-animation: spin 1s linear infinite;
|
||||
-moz-animation: spin 1s linear infinite;
|
||||
-o-animation: spin 1s linear infinite;
|
||||
animation: spin 1s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity:before {
|
||||
content: ' ';
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
left: 10px;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
display: block;
|
||||
border-width: 10px;
|
||||
border-style: solid;
|
||||
border-color: #22df80 transparent transparent;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
@-webkit-keyframes spin {
|
||||
100% { -webkit-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@-moz-keyframes spin {
|
||||
100% { -moz-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@-o-keyframes spin {
|
||||
100% { -moz-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
100% { transform: rotate(359deg); }
|
||||
}
|
||||
52
themes/green/pace-theme-center-simple.css
Normal file
52
themes/green/pace-theme-center-simple.css
Normal file
@@ -0,0 +1,52 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
height: 5px;
|
||||
width: 200px;
|
||||
background: #fff;
|
||||
border: 1px solid #22df80;
|
||||
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
-o-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
-o-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
max-width: 200px;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background: #22df80;
|
||||
}
|
||||
|
||||
.pace.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
73
themes/green/pace-theme-corner-indicator.css
Normal file
73
themes/green/pace-theme-corner-indicator.css
Normal file
@@ -0,0 +1,73 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 300px;
|
||||
height: 300px;
|
||||
background: #22df80;
|
||||
-webkit-transition: -webkit-transform 0.3s;
|
||||
transition: transform 0.3s;
|
||||
-webkit-transform: translateX(100%) translateY(-100%) rotate(45deg);
|
||||
transform: translateX(100%) translateY(-100%) rotate(45deg);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.pace.pace-active .pace-activity {
|
||||
-webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
|
||||
transform: translateX(50%) translateY(-50%) rotate(45deg);
|
||||
}
|
||||
|
||||
.pace .pace-activity::before,
|
||||
.pace .pace-activity::after {
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
position: absolute;
|
||||
bottom: 30px;
|
||||
left: 50%;
|
||||
display: block;
|
||||
border: 5px solid #fff;
|
||||
border-radius: 50%;
|
||||
content: '';
|
||||
}
|
||||
|
||||
.pace .pace-activity::before {
|
||||
margin-left: -40px;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
border-right-color: rgba(0, 0, 0, .2);
|
||||
border-left-color: rgba(0, 0, 0, .2);
|
||||
-webkit-animation: pace-theme-corner-indicator-spin 3s linear infinite;
|
||||
animation: pace-theme-corner-indicator-spin 3s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity::after {
|
||||
bottom: 50px;
|
||||
margin-left: -20px;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-top-color: rgba(0, 0, 0, .2);
|
||||
border-bottom-color: rgba(0, 0, 0, .2);
|
||||
-webkit-animation: pace-theme-corner-indicator-spin 1s linear infinite;
|
||||
animation: pace-theme-corner-indicator-spin 1s linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-corner-indicator-spin {
|
||||
0% { -webkit-transform: rotate(0deg); }
|
||||
100% { -webkit-transform: rotate(359deg); }
|
||||
}
|
||||
@keyframes pace-theme-corner-indicator-spin {
|
||||
0% { transform: rotate(0deg); }
|
||||
100% { transform: rotate(359deg); }
|
||||
}
|
||||
22
themes/green/pace-theme-fill-left.css
Normal file
22
themes/green/pace-theme-fill-left.css
Normal file
@@ -0,0 +1,22 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: rgba(34, 223, 128, 0.19999999999999996);
|
||||
position: fixed;
|
||||
z-index: -1;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
}
|
||||
77
themes/green/pace-theme-flash.css
Normal file
77
themes/green/pace-theme-flash.css
Normal file
@@ -0,0 +1,77 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background: #22df80;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
}
|
||||
|
||||
.pace .pace-progress-inner {
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
width: 100px;
|
||||
height: 100%;
|
||||
box-shadow: 0 0 10px #22df80, 0 0 5px #22df80;
|
||||
opacity: 1.0;
|
||||
-webkit-transform: rotate(3deg) translate(0px, -4px);
|
||||
-moz-transform: rotate(3deg) translate(0px, -4px);
|
||||
-ms-transform: rotate(3deg) translate(0px, -4px);
|
||||
-o-transform: rotate(3deg) translate(0px, -4px);
|
||||
transform: rotate(3deg) translate(0px, -4px);
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 15px;
|
||||
right: 15px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
border: solid 2px transparent;
|
||||
border-top-color: #22df80;
|
||||
border-left-color: #22df80;
|
||||
border-radius: 10px;
|
||||
-webkit-animation: pace-spinner 400ms linear infinite;
|
||||
-moz-animation: pace-spinner 400ms linear infinite;
|
||||
-ms-animation: pace-spinner 400ms linear infinite;
|
||||
-o-animation: pace-spinner 400ms linear infinite;
|
||||
animation: pace-spinner 400ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-spinner {
|
||||
0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-moz-keyframes pace-spinner {
|
||||
0% { -moz-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -moz-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-o-keyframes pace-spinner {
|
||||
0% { -o-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -o-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-ms-keyframes pace-spinner {
|
||||
0% { -ms-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -ms-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@keyframes pace-spinner {
|
||||
0% { transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
41
themes/green/pace-theme-flat-top.css
Normal file
41
themes/green/pace-theme-flat-top.css
Normal file
@@ -0,0 +1,41 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
|
||||
-webkit-transform: translate3d(0, -50px, 0);
|
||||
-ms-transform: translate3d(0, -50px, 0);
|
||||
transform: translate3d(0, -50px, 0);
|
||||
|
||||
-webkit-transition: -webkit-transform .5s ease-out;
|
||||
-ms-transition: -webkit-transform .5s ease-out;
|
||||
transition: transform .5s ease-out;
|
||||
}
|
||||
|
||||
.pace.pace-active {
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 10px;
|
||||
background: #22df80;
|
||||
|
||||
pointer-events: none;
|
||||
}
|
||||
198
themes/green/pace-theme-loading-bar.css
Normal file
198
themes/green/pace-theme-loading-bar.css
Normal file
@@ -0,0 +1,198 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
-o-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
|
||||
-webkit-background-clip: padding-box;
|
||||
-moz-background-clip: padding;
|
||||
background-clip: padding-box;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
margin: auto;
|
||||
top: 12px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
width: 200px;
|
||||
height: 50px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
-o-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-border-radius: 2px;
|
||||
-moz-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
|
||||
-webkit-background-clip: padding-box;
|
||||
-moz-background-clip: padding;
|
||||
background-clip: padding-box;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 100%;
|
||||
margin-right: -7px;
|
||||
width: 93%;
|
||||
top: 7px;
|
||||
height: 14px;
|
||||
font-size: 12px;
|
||||
background: #22df80;
|
||||
color: #22df80;
|
||||
line-height: 60px;
|
||||
font-weight: bold;
|
||||
font-family: Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
|
||||
-webkit-box-shadow: 120px 0 #fff, 240px 0 #fff;
|
||||
-ms-box-shadow: 120px 0 #fff, 240px 0 #fff;
|
||||
box-shadow: 120px 0 #fff, 240px 0 #fff;
|
||||
}
|
||||
|
||||
.pace .pace-progress:after {
|
||||
content: attr(data-progress-text);
|
||||
display: inline-block;
|
||||
position: fixed;
|
||||
width: 45px;
|
||||
text-align: right;
|
||||
right: 0;
|
||||
padding-right: 16px;
|
||||
top: 4px;
|
||||
}
|
||||
|
||||
.pace .pace-progress[data-progress-text="0%"]:after { right: -200px }
|
||||
.pace .pace-progress[data-progress-text="1%"]:after { right: -198.14px }
|
||||
.pace .pace-progress[data-progress-text="2%"]:after { right: -196.28px }
|
||||
.pace .pace-progress[data-progress-text="3%"]:after { right: -194.42px }
|
||||
.pace .pace-progress[data-progress-text="4%"]:after { right: -192.56px }
|
||||
.pace .pace-progress[data-progress-text="5%"]:after { right: -190.7px }
|
||||
.pace .pace-progress[data-progress-text="6%"]:after { right: -188.84px }
|
||||
.pace .pace-progress[data-progress-text="7%"]:after { right: -186.98px }
|
||||
.pace .pace-progress[data-progress-text="8%"]:after { right: -185.12px }
|
||||
.pace .pace-progress[data-progress-text="9%"]:after { right: -183.26px }
|
||||
.pace .pace-progress[data-progress-text="10%"]:after { right: -181.4px }
|
||||
.pace .pace-progress[data-progress-text="11%"]:after { right: -179.54px }
|
||||
.pace .pace-progress[data-progress-text="12%"]:after { right: -177.68px }
|
||||
.pace .pace-progress[data-progress-text="13%"]:after { right: -175.82px }
|
||||
.pace .pace-progress[data-progress-text="14%"]:after { right: -173.96px }
|
||||
.pace .pace-progress[data-progress-text="15%"]:after { right: -172.1px }
|
||||
.pace .pace-progress[data-progress-text="16%"]:after { right: -170.24px }
|
||||
.pace .pace-progress[data-progress-text="17%"]:after { right: -168.38px }
|
||||
.pace .pace-progress[data-progress-text="18%"]:after { right: -166.52px }
|
||||
.pace .pace-progress[data-progress-text="19%"]:after { right: -164.66px }
|
||||
.pace .pace-progress[data-progress-text="20%"]:after { right: -162.8px }
|
||||
.pace .pace-progress[data-progress-text="21%"]:after { right: -160.94px }
|
||||
.pace .pace-progress[data-progress-text="22%"]:after { right: -159.08px }
|
||||
.pace .pace-progress[data-progress-text="23%"]:after { right: -157.22px }
|
||||
.pace .pace-progress[data-progress-text="24%"]:after { right: -155.36px }
|
||||
.pace .pace-progress[data-progress-text="25%"]:after { right: -153.5px }
|
||||
.pace .pace-progress[data-progress-text="26%"]:after { right: -151.64px }
|
||||
.pace .pace-progress[data-progress-text="27%"]:after { right: -149.78px }
|
||||
.pace .pace-progress[data-progress-text="28%"]:after { right: -147.92px }
|
||||
.pace .pace-progress[data-progress-text="29%"]:after { right: -146.06px }
|
||||
.pace .pace-progress[data-progress-text="30%"]:after { right: -144.2px }
|
||||
.pace .pace-progress[data-progress-text="31%"]:after { right: -142.34px }
|
||||
.pace .pace-progress[data-progress-text="32%"]:after { right: -140.48px }
|
||||
.pace .pace-progress[data-progress-text="33%"]:after { right: -138.62px }
|
||||
.pace .pace-progress[data-progress-text="34%"]:after { right: -136.76px }
|
||||
.pace .pace-progress[data-progress-text="35%"]:after { right: -134.9px }
|
||||
.pace .pace-progress[data-progress-text="36%"]:after { right: -133.04px }
|
||||
.pace .pace-progress[data-progress-text="37%"]:after { right: -131.18px }
|
||||
.pace .pace-progress[data-progress-text="38%"]:after { right: -129.32px }
|
||||
.pace .pace-progress[data-progress-text="39%"]:after { right: -127.46px }
|
||||
.pace .pace-progress[data-progress-text="40%"]:after { right: -125.6px }
|
||||
.pace .pace-progress[data-progress-text="41%"]:after { right: -123.74px }
|
||||
.pace .pace-progress[data-progress-text="42%"]:after { right: -121.88px }
|
||||
.pace .pace-progress[data-progress-text="43%"]:after { right: -120.02px }
|
||||
.pace .pace-progress[data-progress-text="44%"]:after { right: -118.16px }
|
||||
.pace .pace-progress[data-progress-text="45%"]:after { right: -116.3px }
|
||||
.pace .pace-progress[data-progress-text="46%"]:after { right: -114.44px }
|
||||
.pace .pace-progress[data-progress-text="47%"]:after { right: -112.58px }
|
||||
.pace .pace-progress[data-progress-text="48%"]:after { right: -110.72px }
|
||||
.pace .pace-progress[data-progress-text="49%"]:after { right: -108.86px }
|
||||
.pace .pace-progress[data-progress-text="50%"]:after { right: -107px }
|
||||
.pace .pace-progress[data-progress-text="51%"]:after { right: -105.14px }
|
||||
.pace .pace-progress[data-progress-text="52%"]:after { right: -103.28px }
|
||||
.pace .pace-progress[data-progress-text="53%"]:after { right: -101.42px }
|
||||
.pace .pace-progress[data-progress-text="54%"]:after { right: -99.56px }
|
||||
.pace .pace-progress[data-progress-text="55%"]:after { right: -97.7px }
|
||||
.pace .pace-progress[data-progress-text="56%"]:after { right: -95.84px }
|
||||
.pace .pace-progress[data-progress-text="57%"]:after { right: -93.98px }
|
||||
.pace .pace-progress[data-progress-text="58%"]:after { right: -92.12px }
|
||||
.pace .pace-progress[data-progress-text="59%"]:after { right: -90.26px }
|
||||
.pace .pace-progress[data-progress-text="60%"]:after { right: -88.4px }
|
||||
.pace .pace-progress[data-progress-text="61%"]:after { right: -86.53999999999999px }
|
||||
.pace .pace-progress[data-progress-text="62%"]:after { right: -84.68px }
|
||||
.pace .pace-progress[data-progress-text="63%"]:after { right: -82.82px }
|
||||
.pace .pace-progress[data-progress-text="64%"]:after { right: -80.96000000000001px }
|
||||
.pace .pace-progress[data-progress-text="65%"]:after { right: -79.1px }
|
||||
.pace .pace-progress[data-progress-text="66%"]:after { right: -77.24px }
|
||||
.pace .pace-progress[data-progress-text="67%"]:after { right: -75.38px }
|
||||
.pace .pace-progress[data-progress-text="68%"]:after { right: -73.52px }
|
||||
.pace .pace-progress[data-progress-text="69%"]:after { right: -71.66px }
|
||||
.pace .pace-progress[data-progress-text="70%"]:after { right: -69.8px }
|
||||
.pace .pace-progress[data-progress-text="71%"]:after { right: -67.94px }
|
||||
.pace .pace-progress[data-progress-text="72%"]:after { right: -66.08px }
|
||||
.pace .pace-progress[data-progress-text="73%"]:after { right: -64.22px }
|
||||
.pace .pace-progress[data-progress-text="74%"]:after { right: -62.36px }
|
||||
.pace .pace-progress[data-progress-text="75%"]:after { right: -60.5px }
|
||||
.pace .pace-progress[data-progress-text="76%"]:after { right: -58.64px }
|
||||
.pace .pace-progress[data-progress-text="77%"]:after { right: -56.78px }
|
||||
.pace .pace-progress[data-progress-text="78%"]:after { right: -54.92px }
|
||||
.pace .pace-progress[data-progress-text="79%"]:after { right: -53.06px }
|
||||
.pace .pace-progress[data-progress-text="80%"]:after { right: -51.2px }
|
||||
.pace .pace-progress[data-progress-text="81%"]:after { right: -49.34px }
|
||||
.pace .pace-progress[data-progress-text="82%"]:after { right: -47.480000000000004px }
|
||||
.pace .pace-progress[data-progress-text="83%"]:after { right: -45.62px }
|
||||
.pace .pace-progress[data-progress-text="84%"]:after { right: -43.76px }
|
||||
.pace .pace-progress[data-progress-text="85%"]:after { right: -41.9px }
|
||||
.pace .pace-progress[data-progress-text="86%"]:after { right: -40.04px }
|
||||
.pace .pace-progress[data-progress-text="87%"]:after { right: -38.18px }
|
||||
.pace .pace-progress[data-progress-text="88%"]:after { right: -36.32px }
|
||||
.pace .pace-progress[data-progress-text="89%"]:after { right: -34.46px }
|
||||
.pace .pace-progress[data-progress-text="90%"]:after { right: -32.6px }
|
||||
.pace .pace-progress[data-progress-text="91%"]:after { right: -30.740000000000002px }
|
||||
.pace .pace-progress[data-progress-text="92%"]:after { right: -28.880000000000003px }
|
||||
.pace .pace-progress[data-progress-text="93%"]:after { right: -27.02px }
|
||||
.pace .pace-progress[data-progress-text="94%"]:after { right: -25.16px }
|
||||
.pace .pace-progress[data-progress-text="95%"]:after { right: -23.3px }
|
||||
.pace .pace-progress[data-progress-text="96%"]:after { right: -21.439999999999998px }
|
||||
.pace .pace-progress[data-progress-text="97%"]:after { right: -19.58px }
|
||||
.pace .pace-progress[data-progress-text="98%"]:after { right: -17.72px }
|
||||
.pace .pace-progress[data-progress-text="99%"]:after { right: -15.86px }
|
||||
.pace .pace-progress[data-progress-text="100%"]:after { right: -14px }
|
||||
|
||||
|
||||
.pace .pace-activity {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 28px;
|
||||
z-index: 2001;
|
||||
box-shadow: inset 0 0 0 2px #22df80, inset 0 0 0 7px #FFF;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.pace.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
87
themes/green/pace-theme-mac-osx.css
Normal file
87
themes/green/pace-theme-mac-osx.css
Normal file
@@ -0,0 +1,87 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2000;
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: #00E466;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
overflow: hidden;
|
||||
|
||||
-webkit-border-radius: 0 0 4px 0;
|
||||
-moz-border-radius: 0 0 4px 0;
|
||||
-o-border-radius: 0 0 4px 0;
|
||||
border-radius: 0 0 4px 0;
|
||||
|
||||
-webkit-box-shadow: inset -1px 0 #009140, inset 0 -1px #009140, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
-moz-box-shadow: inset -1px 0 #009140, inset 0 -1px #009140, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
-o-box-shadow: inset -1px 0 #009140, inset 0 -1px #009140, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
box-shadow: inset -1px 0 #009140, inset 0 -1px #009140, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: -28px;
|
||||
bottom: 0;
|
||||
|
||||
-webkit-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
-moz-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
-o-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
|
||||
-webkit-background-size: 28px 100%;
|
||||
-moz-background-size: 28px 100%;
|
||||
-o-background-size: 28px 100%;
|
||||
background-size: 28px 100%;
|
||||
|
||||
-webkit-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
-moz-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
-ms-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
-o-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -webkit-transform: none; transform: none; }
|
||||
100% { -webkit-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@-moz-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -moz-transform: none; transform: none; }
|
||||
100% { -moz-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@-o-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -o-transform: none; transform: none; }
|
||||
100% { -o-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@-ms-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -ms-transform: none; transform: none; }
|
||||
100% { -ms-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@keyframes pace-theme-mac-osx-motion {
|
||||
0% { transform: none; transform: none; }
|
||||
100% { transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
23
themes/green/pace-theme-minimal.css
Normal file
23
themes/green/pace-theme-minimal.css
Normal file
@@ -0,0 +1,23 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background: #22df80;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
}
|
||||
83
themes/orange/pace-theme-barber-shop.css
Normal file
83
themes/orange/pace-theme-barber-shop.css
Normal file
@@ -0,0 +1,83 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2000;
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: #eb7a55;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: -32px;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
-o-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
-webkit-background-size: 32px 32px;
|
||||
-moz-background-size: 32px 32px;
|
||||
-o-background-size: 32px 32px;
|
||||
background-size: 32px 32px;
|
||||
|
||||
-webkit-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-moz-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-ms-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-o-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -webkit-transform: none; transform: none; }
|
||||
100% { -webkit-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-moz-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -moz-transform: none; transform: none; }
|
||||
100% { -moz-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-o-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -o-transform: none; transform: none; }
|
||||
100% { -o-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-ms-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -ms-transform: none; transform: none; }
|
||||
100% { -ms-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@keyframes pace-theme-barber-shop-motion {
|
||||
0% { transform: none; transform: none; }
|
||||
100% { transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
40
themes/orange/pace-theme-big-counter.css
Normal file
40
themes/orange/pace-theme-big-counter.css
Normal file
@@ -0,0 +1,40 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-progress {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 0;
|
||||
height: 5rem;
|
||||
width: 5rem;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0) !important;
|
||||
-ms-transform: translate3d(0, 0, 0) !important;
|
||||
transform: translate3d(0, 0, 0) !important;
|
||||
}
|
||||
|
||||
.pace .pace-progress:after {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: .5rem;
|
||||
content: attr(data-progress-text);
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-weight: 100;
|
||||
font-size: 5rem;
|
||||
line-height: 1;
|
||||
text-align: right;
|
||||
color: rgba(235, 122, 85, 0.19999999999999996);
|
||||
}
|
||||
231
themes/orange/pace-theme-bounce.css
Normal file
231
themes/orange/pace-theme-bounce.css
Normal file
@@ -0,0 +1,231 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
width: 140px;
|
||||
height: 300px;
|
||||
position: fixed;
|
||||
top: -90px;
|
||||
right: -20px;
|
||||
z-index: 2000;
|
||||
-webkit-transform: scale(0);
|
||||
-moz-transform: scale(0);
|
||||
-ms-transform: scale(0);
|
||||
-o-transform: scale(0);
|
||||
transform: scale(0);
|
||||
opacity: 0;
|
||||
-webkit-transition: all 2s linear 0s;
|
||||
-moz-transition: all 2s linear 0s;
|
||||
transition: all 2s linear 0s;
|
||||
}
|
||||
|
||||
.pace.pace-active {
|
||||
-webkit-transform: scale(.25);
|
||||
-moz-transform: scale(.25);
|
||||
-ms-transform: scale(.25);
|
||||
-o-transform: scale(.25);
|
||||
transform: scale(.25);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
width: 140px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
background: #eb7a55;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: 1911;
|
||||
-webkit-animation: pace-bounce 1s infinite;
|
||||
-moz-animation: pace-bounce 1s infinite;
|
||||
-o-animation: pace-bounce 1s infinite;
|
||||
-ms-animation: pace-bounce 1s infinite;
|
||||
animation: pace-bounce 1s infinite;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: absolute;
|
||||
display: block;
|
||||
left: 50%;
|
||||
bottom: 0;
|
||||
z-index: 1910;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-webkit-transform: scaleY(.3) !important;
|
||||
-moz-transform: scaleY(.3) !important;
|
||||
-ms-transform: scaleY(.3) !important;
|
||||
-o-transform: scaleY(.3) !important;
|
||||
transform: scaleY(.3) !important;
|
||||
-webkit-animation: pace-compress .5s infinite alternate;
|
||||
-moz-animation: pace-compress .5s infinite alternate;
|
||||
-o-animation: pace-compress .5s infinite alternate;
|
||||
-ms-animation: pace-compress .5s infinite alternate;
|
||||
animation: pace-compress .5s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
40% {}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
95% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
40% {}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
-moz-animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
-moz-animation-timing-function: ease-out;}
|
||||
95% {
|
||||
top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
95% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
-moz-animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
131
themes/orange/pace-theme-center-atom.css
Normal file
131
themes/orange/pace-theme-center-atom.css
Normal file
@@ -0,0 +1,131 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
z-index: 2000;
|
||||
position: absolute;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0) !important;
|
||||
-ms-transform: translate3d(0, 0, 0) !important;
|
||||
transform: translate3d(0, 0, 0) !important;
|
||||
}
|
||||
|
||||
.pace .pace-progress:before {
|
||||
content: attr(data-progress-text);
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
background: #eb7a55;
|
||||
border-radius: 50%;
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-size: 14px;
|
||||
font-weight: 100;
|
||||
line-height: 1;
|
||||
padding: 20% 0 7px;
|
||||
width: 50%;
|
||||
height: 40%;
|
||||
margin: 10px 0 0 30px;
|
||||
display: block;
|
||||
z-index: 999;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
font-size: 15px;
|
||||
line-height: 1;
|
||||
z-index: 2000;
|
||||
position: absolute;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
display: block;
|
||||
-webkit-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
-moz-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
-o-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
border-radius: 50%;
|
||||
border: 5px solid #eb7a55;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.pace .pace-activity:after {
|
||||
border-radius: 50%;
|
||||
border: 5px solid #eb7a55;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
left: -5px;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: rotate(60deg);
|
||||
-moz-transform: rotate(60deg);
|
||||
-o-transform: rotate(60deg);
|
||||
transform: rotate(60deg);
|
||||
}
|
||||
|
||||
.pace .pace-activity:before {
|
||||
border-radius: 50%;
|
||||
border: 5px solid #eb7a55;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
left: -5px;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: rotate(120deg);
|
||||
-moz-transform: rotate(120deg);
|
||||
-o-transform: rotate(120deg);
|
||||
transform: rotate(120deg);
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-center-atom-spin {
|
||||
0% { -webkit-transform: rotate(0deg) }
|
||||
100% { -webkit-transform: rotate(359deg) }
|
||||
}
|
||||
@-moz-keyframes pace-theme-center-atom-spin {
|
||||
0% { -moz-transform: rotate(0deg) }
|
||||
100% { -moz-transform: rotate(359deg) }
|
||||
}
|
||||
@-o-keyframes pace-theme-center-atom-spin {
|
||||
0% { -o-transform: rotate(0deg) }
|
||||
100% { -o-transform: rotate(359deg) }
|
||||
}
|
||||
@keyframes pace-theme-center-atom-spin {
|
||||
0% { transform: rotate(0deg) }
|
||||
100% { transform: rotate(359deg) }
|
||||
}
|
||||
90
themes/orange/pace-theme-center-circle.css
Normal file
90
themes/orange/pace-theme-center-circle.css
Normal file
@@ -0,0 +1,90 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
-webkit-perspective: 12rem;
|
||||
-moz-perspective: 12rem;
|
||||
-ms-perspective: 12rem;
|
||||
-o-perspective: 12rem;
|
||||
perspective: 12rem;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 6rem;
|
||||
width: 6rem;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-progress {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
height: 6rem;
|
||||
width: 6rem !important;
|
||||
line-height: 6rem;
|
||||
font-size: 2rem;
|
||||
border-radius: 50%;
|
||||
background: rgba(235, 122, 85, 0.8);
|
||||
color: #fff;
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-weight: 100;
|
||||
text-align: center;
|
||||
|
||||
-webkit-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-moz-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-ms-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-o-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
|
||||
-webkit-transform-style: preserve-3d;
|
||||
-moz-transform-style: preserve-3d;
|
||||
-ms-transform-style: preserve-3d;
|
||||
-o-transform-style: preserve-3d;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
|
||||
.pace .pace-progress:after {
|
||||
content: attr(data-progress-text);
|
||||
display: block;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-center-circle-spin {
|
||||
from { -webkit-transform: rotateY(0deg) }
|
||||
to { -webkit-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-theme-center-circle-spin {
|
||||
from { -moz-transform: rotateY(0deg) }
|
||||
to { -moz-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-ms-keyframes pace-theme-center-circle-spin {
|
||||
from { -ms-transform: rotateY(0deg) }
|
||||
to { -ms-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-o-keyframes pace-theme-center-circle-spin {
|
||||
from { -o-transform: rotateY(0deg) }
|
||||
to { -o-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@keyframes pace-theme-center-circle-spin {
|
||||
from { transform: rotateY(0deg) }
|
||||
to { transform: rotateY(360deg) }
|
||||
}
|
||||
74
themes/orange/pace-theme-center-radar.css
Normal file
74
themes/orange/pace-theme-center-radar.css
Normal file
@@ -0,0 +1,74 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-activity {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: -30px;
|
||||
top: -30px;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
display: block;
|
||||
border-width: 30px;
|
||||
border-style: double;
|
||||
border-color: #eb7a55 transparent transparent;
|
||||
border-radius: 50%;
|
||||
|
||||
-webkit-animation: spin 1s linear infinite;
|
||||
-moz-animation: spin 1s linear infinite;
|
||||
-o-animation: spin 1s linear infinite;
|
||||
animation: spin 1s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity:before {
|
||||
content: ' ';
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
left: 10px;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
display: block;
|
||||
border-width: 10px;
|
||||
border-style: solid;
|
||||
border-color: #eb7a55 transparent transparent;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
@-webkit-keyframes spin {
|
||||
100% { -webkit-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@-moz-keyframes spin {
|
||||
100% { -moz-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@-o-keyframes spin {
|
||||
100% { -moz-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
100% { transform: rotate(359deg); }
|
||||
}
|
||||
52
themes/orange/pace-theme-center-simple.css
Normal file
52
themes/orange/pace-theme-center-simple.css
Normal file
@@ -0,0 +1,52 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
height: 5px;
|
||||
width: 200px;
|
||||
background: #fff;
|
||||
border: 1px solid #eb7a55;
|
||||
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
-o-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
-o-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
max-width: 200px;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background: #eb7a55;
|
||||
}
|
||||
|
||||
.pace.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
73
themes/orange/pace-theme-corner-indicator.css
Normal file
73
themes/orange/pace-theme-corner-indicator.css
Normal file
@@ -0,0 +1,73 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 300px;
|
||||
height: 300px;
|
||||
background: #eb7a55;
|
||||
-webkit-transition: -webkit-transform 0.3s;
|
||||
transition: transform 0.3s;
|
||||
-webkit-transform: translateX(100%) translateY(-100%) rotate(45deg);
|
||||
transform: translateX(100%) translateY(-100%) rotate(45deg);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.pace.pace-active .pace-activity {
|
||||
-webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
|
||||
transform: translateX(50%) translateY(-50%) rotate(45deg);
|
||||
}
|
||||
|
||||
.pace .pace-activity::before,
|
||||
.pace .pace-activity::after {
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
position: absolute;
|
||||
bottom: 30px;
|
||||
left: 50%;
|
||||
display: block;
|
||||
border: 5px solid #fff;
|
||||
border-radius: 50%;
|
||||
content: '';
|
||||
}
|
||||
|
||||
.pace .pace-activity::before {
|
||||
margin-left: -40px;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
border-right-color: rgba(0, 0, 0, .2);
|
||||
border-left-color: rgba(0, 0, 0, .2);
|
||||
-webkit-animation: pace-theme-corner-indicator-spin 3s linear infinite;
|
||||
animation: pace-theme-corner-indicator-spin 3s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity::after {
|
||||
bottom: 50px;
|
||||
margin-left: -20px;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-top-color: rgba(0, 0, 0, .2);
|
||||
border-bottom-color: rgba(0, 0, 0, .2);
|
||||
-webkit-animation: pace-theme-corner-indicator-spin 1s linear infinite;
|
||||
animation: pace-theme-corner-indicator-spin 1s linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-corner-indicator-spin {
|
||||
0% { -webkit-transform: rotate(0deg); }
|
||||
100% { -webkit-transform: rotate(359deg); }
|
||||
}
|
||||
@keyframes pace-theme-corner-indicator-spin {
|
||||
0% { transform: rotate(0deg); }
|
||||
100% { transform: rotate(359deg); }
|
||||
}
|
||||
22
themes/orange/pace-theme-fill-left.css
Normal file
22
themes/orange/pace-theme-fill-left.css
Normal file
@@ -0,0 +1,22 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: rgba(235, 122, 85, 0.19999999999999996);
|
||||
position: fixed;
|
||||
z-index: -1;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
}
|
||||
77
themes/orange/pace-theme-flash.css
Normal file
77
themes/orange/pace-theme-flash.css
Normal file
@@ -0,0 +1,77 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background: #eb7a55;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
}
|
||||
|
||||
.pace .pace-progress-inner {
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
width: 100px;
|
||||
height: 100%;
|
||||
box-shadow: 0 0 10px #eb7a55, 0 0 5px #eb7a55;
|
||||
opacity: 1.0;
|
||||
-webkit-transform: rotate(3deg) translate(0px, -4px);
|
||||
-moz-transform: rotate(3deg) translate(0px, -4px);
|
||||
-ms-transform: rotate(3deg) translate(0px, -4px);
|
||||
-o-transform: rotate(3deg) translate(0px, -4px);
|
||||
transform: rotate(3deg) translate(0px, -4px);
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 15px;
|
||||
right: 15px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
border: solid 2px transparent;
|
||||
border-top-color: #eb7a55;
|
||||
border-left-color: #eb7a55;
|
||||
border-radius: 10px;
|
||||
-webkit-animation: pace-spinner 400ms linear infinite;
|
||||
-moz-animation: pace-spinner 400ms linear infinite;
|
||||
-ms-animation: pace-spinner 400ms linear infinite;
|
||||
-o-animation: pace-spinner 400ms linear infinite;
|
||||
animation: pace-spinner 400ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-spinner {
|
||||
0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-moz-keyframes pace-spinner {
|
||||
0% { -moz-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -moz-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-o-keyframes pace-spinner {
|
||||
0% { -o-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -o-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@-ms-keyframes pace-spinner {
|
||||
0% { -ms-transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { -ms-transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
@keyframes pace-spinner {
|
||||
0% { transform: rotate(0deg); transform: rotate(0deg); }
|
||||
100% { transform: rotate(360deg); transform: rotate(360deg); }
|
||||
}
|
||||
41
themes/orange/pace-theme-flat-top.css
Normal file
41
themes/orange/pace-theme-flat-top.css
Normal file
@@ -0,0 +1,41 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
|
||||
-webkit-transform: translate3d(0, -50px, 0);
|
||||
-ms-transform: translate3d(0, -50px, 0);
|
||||
transform: translate3d(0, -50px, 0);
|
||||
|
||||
-webkit-transition: -webkit-transform .5s ease-out;
|
||||
-ms-transition: -webkit-transform .5s ease-out;
|
||||
transition: transform .5s ease-out;
|
||||
}
|
||||
|
||||
.pace.pace-active {
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 10px;
|
||||
background: #eb7a55;
|
||||
|
||||
pointer-events: none;
|
||||
}
|
||||
198
themes/orange/pace-theme-loading-bar.css
Normal file
198
themes/orange/pace-theme-loading-bar.css
Normal file
@@ -0,0 +1,198 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
-o-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
|
||||
-webkit-background-clip: padding-box;
|
||||
-moz-background-clip: padding;
|
||||
background-clip: padding-box;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
margin: auto;
|
||||
top: 12px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
width: 200px;
|
||||
height: 50px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
-o-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-border-radius: 2px;
|
||||
-moz-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
|
||||
-webkit-background-clip: padding-box;
|
||||
-moz-background-clip: padding;
|
||||
background-clip: padding-box;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 100%;
|
||||
margin-right: -7px;
|
||||
width: 93%;
|
||||
top: 7px;
|
||||
height: 14px;
|
||||
font-size: 12px;
|
||||
background: #eb7a55;
|
||||
color: #eb7a55;
|
||||
line-height: 60px;
|
||||
font-weight: bold;
|
||||
font-family: Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
|
||||
-webkit-box-shadow: 120px 0 #fff, 240px 0 #fff;
|
||||
-ms-box-shadow: 120px 0 #fff, 240px 0 #fff;
|
||||
box-shadow: 120px 0 #fff, 240px 0 #fff;
|
||||
}
|
||||
|
||||
.pace .pace-progress:after {
|
||||
content: attr(data-progress-text);
|
||||
display: inline-block;
|
||||
position: fixed;
|
||||
width: 45px;
|
||||
text-align: right;
|
||||
right: 0;
|
||||
padding-right: 16px;
|
||||
top: 4px;
|
||||
}
|
||||
|
||||
.pace .pace-progress[data-progress-text="0%"]:after { right: -200px }
|
||||
.pace .pace-progress[data-progress-text="1%"]:after { right: -198.14px }
|
||||
.pace .pace-progress[data-progress-text="2%"]:after { right: -196.28px }
|
||||
.pace .pace-progress[data-progress-text="3%"]:after { right: -194.42px }
|
||||
.pace .pace-progress[data-progress-text="4%"]:after { right: -192.56px }
|
||||
.pace .pace-progress[data-progress-text="5%"]:after { right: -190.7px }
|
||||
.pace .pace-progress[data-progress-text="6%"]:after { right: -188.84px }
|
||||
.pace .pace-progress[data-progress-text="7%"]:after { right: -186.98px }
|
||||
.pace .pace-progress[data-progress-text="8%"]:after { right: -185.12px }
|
||||
.pace .pace-progress[data-progress-text="9%"]:after { right: -183.26px }
|
||||
.pace .pace-progress[data-progress-text="10%"]:after { right: -181.4px }
|
||||
.pace .pace-progress[data-progress-text="11%"]:after { right: -179.54px }
|
||||
.pace .pace-progress[data-progress-text="12%"]:after { right: -177.68px }
|
||||
.pace .pace-progress[data-progress-text="13%"]:after { right: -175.82px }
|
||||
.pace .pace-progress[data-progress-text="14%"]:after { right: -173.96px }
|
||||
.pace .pace-progress[data-progress-text="15%"]:after { right: -172.1px }
|
||||
.pace .pace-progress[data-progress-text="16%"]:after { right: -170.24px }
|
||||
.pace .pace-progress[data-progress-text="17%"]:after { right: -168.38px }
|
||||
.pace .pace-progress[data-progress-text="18%"]:after { right: -166.52px }
|
||||
.pace .pace-progress[data-progress-text="19%"]:after { right: -164.66px }
|
||||
.pace .pace-progress[data-progress-text="20%"]:after { right: -162.8px }
|
||||
.pace .pace-progress[data-progress-text="21%"]:after { right: -160.94px }
|
||||
.pace .pace-progress[data-progress-text="22%"]:after { right: -159.08px }
|
||||
.pace .pace-progress[data-progress-text="23%"]:after { right: -157.22px }
|
||||
.pace .pace-progress[data-progress-text="24%"]:after { right: -155.36px }
|
||||
.pace .pace-progress[data-progress-text="25%"]:after { right: -153.5px }
|
||||
.pace .pace-progress[data-progress-text="26%"]:after { right: -151.64px }
|
||||
.pace .pace-progress[data-progress-text="27%"]:after { right: -149.78px }
|
||||
.pace .pace-progress[data-progress-text="28%"]:after { right: -147.92px }
|
||||
.pace .pace-progress[data-progress-text="29%"]:after { right: -146.06px }
|
||||
.pace .pace-progress[data-progress-text="30%"]:after { right: -144.2px }
|
||||
.pace .pace-progress[data-progress-text="31%"]:after { right: -142.34px }
|
||||
.pace .pace-progress[data-progress-text="32%"]:after { right: -140.48px }
|
||||
.pace .pace-progress[data-progress-text="33%"]:after { right: -138.62px }
|
||||
.pace .pace-progress[data-progress-text="34%"]:after { right: -136.76px }
|
||||
.pace .pace-progress[data-progress-text="35%"]:after { right: -134.9px }
|
||||
.pace .pace-progress[data-progress-text="36%"]:after { right: -133.04px }
|
||||
.pace .pace-progress[data-progress-text="37%"]:after { right: -131.18px }
|
||||
.pace .pace-progress[data-progress-text="38%"]:after { right: -129.32px }
|
||||
.pace .pace-progress[data-progress-text="39%"]:after { right: -127.46px }
|
||||
.pace .pace-progress[data-progress-text="40%"]:after { right: -125.6px }
|
||||
.pace .pace-progress[data-progress-text="41%"]:after { right: -123.74px }
|
||||
.pace .pace-progress[data-progress-text="42%"]:after { right: -121.88px }
|
||||
.pace .pace-progress[data-progress-text="43%"]:after { right: -120.02px }
|
||||
.pace .pace-progress[data-progress-text="44%"]:after { right: -118.16px }
|
||||
.pace .pace-progress[data-progress-text="45%"]:after { right: -116.3px }
|
||||
.pace .pace-progress[data-progress-text="46%"]:after { right: -114.44px }
|
||||
.pace .pace-progress[data-progress-text="47%"]:after { right: -112.58px }
|
||||
.pace .pace-progress[data-progress-text="48%"]:after { right: -110.72px }
|
||||
.pace .pace-progress[data-progress-text="49%"]:after { right: -108.86px }
|
||||
.pace .pace-progress[data-progress-text="50%"]:after { right: -107px }
|
||||
.pace .pace-progress[data-progress-text="51%"]:after { right: -105.14px }
|
||||
.pace .pace-progress[data-progress-text="52%"]:after { right: -103.28px }
|
||||
.pace .pace-progress[data-progress-text="53%"]:after { right: -101.42px }
|
||||
.pace .pace-progress[data-progress-text="54%"]:after { right: -99.56px }
|
||||
.pace .pace-progress[data-progress-text="55%"]:after { right: -97.7px }
|
||||
.pace .pace-progress[data-progress-text="56%"]:after { right: -95.84px }
|
||||
.pace .pace-progress[data-progress-text="57%"]:after { right: -93.98px }
|
||||
.pace .pace-progress[data-progress-text="58%"]:after { right: -92.12px }
|
||||
.pace .pace-progress[data-progress-text="59%"]:after { right: -90.26px }
|
||||
.pace .pace-progress[data-progress-text="60%"]:after { right: -88.4px }
|
||||
.pace .pace-progress[data-progress-text="61%"]:after { right: -86.53999999999999px }
|
||||
.pace .pace-progress[data-progress-text="62%"]:after { right: -84.68px }
|
||||
.pace .pace-progress[data-progress-text="63%"]:after { right: -82.82px }
|
||||
.pace .pace-progress[data-progress-text="64%"]:after { right: -80.96000000000001px }
|
||||
.pace .pace-progress[data-progress-text="65%"]:after { right: -79.1px }
|
||||
.pace .pace-progress[data-progress-text="66%"]:after { right: -77.24px }
|
||||
.pace .pace-progress[data-progress-text="67%"]:after { right: -75.38px }
|
||||
.pace .pace-progress[data-progress-text="68%"]:after { right: -73.52px }
|
||||
.pace .pace-progress[data-progress-text="69%"]:after { right: -71.66px }
|
||||
.pace .pace-progress[data-progress-text="70%"]:after { right: -69.8px }
|
||||
.pace .pace-progress[data-progress-text="71%"]:after { right: -67.94px }
|
||||
.pace .pace-progress[data-progress-text="72%"]:after { right: -66.08px }
|
||||
.pace .pace-progress[data-progress-text="73%"]:after { right: -64.22px }
|
||||
.pace .pace-progress[data-progress-text="74%"]:after { right: -62.36px }
|
||||
.pace .pace-progress[data-progress-text="75%"]:after { right: -60.5px }
|
||||
.pace .pace-progress[data-progress-text="76%"]:after { right: -58.64px }
|
||||
.pace .pace-progress[data-progress-text="77%"]:after { right: -56.78px }
|
||||
.pace .pace-progress[data-progress-text="78%"]:after { right: -54.92px }
|
||||
.pace .pace-progress[data-progress-text="79%"]:after { right: -53.06px }
|
||||
.pace .pace-progress[data-progress-text="80%"]:after { right: -51.2px }
|
||||
.pace .pace-progress[data-progress-text="81%"]:after { right: -49.34px }
|
||||
.pace .pace-progress[data-progress-text="82%"]:after { right: -47.480000000000004px }
|
||||
.pace .pace-progress[data-progress-text="83%"]:after { right: -45.62px }
|
||||
.pace .pace-progress[data-progress-text="84%"]:after { right: -43.76px }
|
||||
.pace .pace-progress[data-progress-text="85%"]:after { right: -41.9px }
|
||||
.pace .pace-progress[data-progress-text="86%"]:after { right: -40.04px }
|
||||
.pace .pace-progress[data-progress-text="87%"]:after { right: -38.18px }
|
||||
.pace .pace-progress[data-progress-text="88%"]:after { right: -36.32px }
|
||||
.pace .pace-progress[data-progress-text="89%"]:after { right: -34.46px }
|
||||
.pace .pace-progress[data-progress-text="90%"]:after { right: -32.6px }
|
||||
.pace .pace-progress[data-progress-text="91%"]:after { right: -30.740000000000002px }
|
||||
.pace .pace-progress[data-progress-text="92%"]:after { right: -28.880000000000003px }
|
||||
.pace .pace-progress[data-progress-text="93%"]:after { right: -27.02px }
|
||||
.pace .pace-progress[data-progress-text="94%"]:after { right: -25.16px }
|
||||
.pace .pace-progress[data-progress-text="95%"]:after { right: -23.3px }
|
||||
.pace .pace-progress[data-progress-text="96%"]:after { right: -21.439999999999998px }
|
||||
.pace .pace-progress[data-progress-text="97%"]:after { right: -19.58px }
|
||||
.pace .pace-progress[data-progress-text="98%"]:after { right: -17.72px }
|
||||
.pace .pace-progress[data-progress-text="99%"]:after { right: -15.86px }
|
||||
.pace .pace-progress[data-progress-text="100%"]:after { right: -14px }
|
||||
|
||||
|
||||
.pace .pace-activity {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 28px;
|
||||
z-index: 2001;
|
||||
box-shadow: inset 0 0 0 2px #eb7a55, inset 0 0 0 7px #FFF;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.pace.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
87
themes/orange/pace-theme-mac-osx.css
Normal file
87
themes/orange/pace-theme-mac-osx.css
Normal file
@@ -0,0 +1,87 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2000;
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: #FF2C00;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
overflow: hidden;
|
||||
|
||||
-webkit-border-radius: 0 0 4px 0;
|
||||
-moz-border-radius: 0 0 4px 0;
|
||||
-o-border-radius: 0 0 4px 0;
|
||||
border-radius: 0 0 4px 0;
|
||||
|
||||
-webkit-box-shadow: inset -1px 0 #BF1B00, inset 0 -1px #BF1B00, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
-moz-box-shadow: inset -1px 0 #BF1B00, inset 0 -1px #BF1B00, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
-o-box-shadow: inset -1px 0 #BF1B00, inset 0 -1px #BF1B00, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
box-shadow: inset -1px 0 #BF1B00, inset 0 -1px #BF1B00, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3);
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: -28px;
|
||||
bottom: 0;
|
||||
|
||||
-webkit-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
-moz-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
-o-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%);
|
||||
|
||||
-webkit-background-size: 28px 100%;
|
||||
-moz-background-size: 28px 100%;
|
||||
-o-background-size: 28px 100%;
|
||||
background-size: 28px 100%;
|
||||
|
||||
-webkit-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
-moz-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
-ms-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
-o-animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
animation: pace-theme-mac-osx-motion 500ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -webkit-transform: none; transform: none; }
|
||||
100% { -webkit-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@-moz-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -moz-transform: none; transform: none; }
|
||||
100% { -moz-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@-o-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -o-transform: none; transform: none; }
|
||||
100% { -o-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@-ms-keyframes pace-theme-mac-osx-motion {
|
||||
0% { -ms-transform: none; transform: none; }
|
||||
100% { -ms-transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
@keyframes pace-theme-mac-osx-motion {
|
||||
0% { transform: none; transform: none; }
|
||||
100% { transform: translate(-28px, 0); transform: translate(-28px, 0); }
|
||||
}
|
||||
23
themes/orange/pace-theme-minimal.css
Normal file
23
themes/orange/pace-theme-minimal.css
Normal file
@@ -0,0 +1,23 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background: #eb7a55;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
}
|
||||
83
themes/pink/pace-theme-barber-shop.css
Normal file
83
themes/pink/pace-theme-barber-shop.css
Normal file
@@ -0,0 +1,83 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2000;
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: #e90f92;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 100%;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: -32px;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
-o-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
|
||||
-webkit-background-size: 32px 32px;
|
||||
-moz-background-size: 32px 32px;
|
||||
-o-background-size: 32px 32px;
|
||||
background-size: 32px 32px;
|
||||
|
||||
-webkit-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-moz-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-ms-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
-o-animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
animation: pace-theme-barber-shop-motion 500ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -webkit-transform: none; transform: none; }
|
||||
100% { -webkit-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-moz-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -moz-transform: none; transform: none; }
|
||||
100% { -moz-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-o-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -o-transform: none; transform: none; }
|
||||
100% { -o-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@-ms-keyframes pace-theme-barber-shop-motion {
|
||||
0% { -ms-transform: none; transform: none; }
|
||||
100% { -ms-transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
@keyframes pace-theme-barber-shop-motion {
|
||||
0% { transform: none; transform: none; }
|
||||
100% { transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
40
themes/pink/pace-theme-big-counter.css
Normal file
40
themes/pink/pace-theme-big-counter.css
Normal file
@@ -0,0 +1,40 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-progress {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 0;
|
||||
height: 5rem;
|
||||
width: 5rem;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0) !important;
|
||||
-ms-transform: translate3d(0, 0, 0) !important;
|
||||
transform: translate3d(0, 0, 0) !important;
|
||||
}
|
||||
|
||||
.pace .pace-progress:after {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: .5rem;
|
||||
content: attr(data-progress-text);
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-weight: 100;
|
||||
font-size: 5rem;
|
||||
line-height: 1;
|
||||
text-align: right;
|
||||
color: rgba(233, 15, 146, 0.19999999999999996);
|
||||
}
|
||||
231
themes/pink/pace-theme-bounce.css
Normal file
231
themes/pink/pace-theme-bounce.css
Normal file
@@ -0,0 +1,231 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
width: 140px;
|
||||
height: 300px;
|
||||
position: fixed;
|
||||
top: -90px;
|
||||
right: -20px;
|
||||
z-index: 2000;
|
||||
-webkit-transform: scale(0);
|
||||
-moz-transform: scale(0);
|
||||
-ms-transform: scale(0);
|
||||
-o-transform: scale(0);
|
||||
transform: scale(0);
|
||||
opacity: 0;
|
||||
-webkit-transition: all 2s linear 0s;
|
||||
-moz-transition: all 2s linear 0s;
|
||||
transition: all 2s linear 0s;
|
||||
}
|
||||
|
||||
.pace.pace-active {
|
||||
-webkit-transform: scale(.25);
|
||||
-moz-transform: scale(.25);
|
||||
-ms-transform: scale(.25);
|
||||
-o-transform: scale(.25);
|
||||
transform: scale(.25);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
width: 140px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
background: #e90f92;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: 1911;
|
||||
-webkit-animation: pace-bounce 1s infinite;
|
||||
-moz-animation: pace-bounce 1s infinite;
|
||||
-o-animation: pace-bounce 1s infinite;
|
||||
-ms-animation: pace-bounce 1s infinite;
|
||||
animation: pace-bounce 1s infinite;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: absolute;
|
||||
display: block;
|
||||
left: 50%;
|
||||
bottom: 0;
|
||||
z-index: 1910;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-webkit-transform: scaleY(.3) !important;
|
||||
-moz-transform: scaleY(.3) !important;
|
||||
-ms-transform: scaleY(.3) !important;
|
||||
-o-transform: scaleY(.3) !important;
|
||||
transform: scaleY(.3) !important;
|
||||
-webkit-animation: pace-compress .5s infinite alternate;
|
||||
-moz-animation: pace-compress .5s infinite alternate;
|
||||
-o-animation: pace-compress .5s infinite alternate;
|
||||
-ms-animation: pace-compress .5s infinite alternate;
|
||||
animation: pace-compress .5s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
40% {}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
95% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
top: 0;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
40% {}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
-moz-animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
-moz-animation-timing-function: ease-out;}
|
||||
95% {
|
||||
top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {top: 0;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes pace-bounce {
|
||||
0% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
50% {
|
||||
top: 140px;
|
||||
height: 140px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
55% {
|
||||
top: 160px;
|
||||
height: 120px;
|
||||
border-radius: 70px / 60px;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
65% {
|
||||
top: 120px;
|
||||
height: 140px;
|
||||
border-radius: 70px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
95% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
top: 0;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
-moz-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
-moz-animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes pace-compress {
|
||||
0% {
|
||||
bottom: 0;
|
||||
margin-left: -30px;
|
||||
width: 60px;
|
||||
height: 75px;
|
||||
background: rgba(20, 20, 20, .1);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1);
|
||||
border-radius: 30px / 40px;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
bottom: 30px;
|
||||
margin-left: -10px;
|
||||
width: 20px;
|
||||
height: 5px;
|
||||
background: rgba(20, 20, 20, .3);
|
||||
box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3);
|
||||
border-radius: 20px / 20px;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
}
|
||||
131
themes/pink/pace-theme-center-atom.css
Normal file
131
themes/pink/pace-theme-center-atom.css
Normal file
@@ -0,0 +1,131 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
z-index: 2000;
|
||||
position: absolute;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0) !important;
|
||||
-ms-transform: translate3d(0, 0, 0) !important;
|
||||
transform: translate3d(0, 0, 0) !important;
|
||||
}
|
||||
|
||||
.pace .pace-progress:before {
|
||||
content: attr(data-progress-text);
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
background: #e90f92;
|
||||
border-radius: 50%;
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-size: 14px;
|
||||
font-weight: 100;
|
||||
line-height: 1;
|
||||
padding: 20% 0 7px;
|
||||
width: 50%;
|
||||
height: 40%;
|
||||
margin: 10px 0 0 30px;
|
||||
display: block;
|
||||
z-index: 999;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
font-size: 15px;
|
||||
line-height: 1;
|
||||
z-index: 2000;
|
||||
position: absolute;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
display: block;
|
||||
-webkit-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
-moz-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
-o-animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
animation: pace-theme-center-atom-spin 2s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
border-radius: 50%;
|
||||
border: 5px solid #e90f92;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.pace .pace-activity:after {
|
||||
border-radius: 50%;
|
||||
border: 5px solid #e90f92;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
left: -5px;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: rotate(60deg);
|
||||
-moz-transform: rotate(60deg);
|
||||
-o-transform: rotate(60deg);
|
||||
transform: rotate(60deg);
|
||||
}
|
||||
|
||||
.pace .pace-activity:before {
|
||||
border-radius: 50%;
|
||||
border: 5px solid #e90f92;
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
left: -5px;
|
||||
height: 60px;
|
||||
width: 100px;
|
||||
|
||||
-webkit-transform: rotate(120deg);
|
||||
-moz-transform: rotate(120deg);
|
||||
-o-transform: rotate(120deg);
|
||||
transform: rotate(120deg);
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-center-atom-spin {
|
||||
0% { -webkit-transform: rotate(0deg) }
|
||||
100% { -webkit-transform: rotate(359deg) }
|
||||
}
|
||||
@-moz-keyframes pace-theme-center-atom-spin {
|
||||
0% { -moz-transform: rotate(0deg) }
|
||||
100% { -moz-transform: rotate(359deg) }
|
||||
}
|
||||
@-o-keyframes pace-theme-center-atom-spin {
|
||||
0% { -o-transform: rotate(0deg) }
|
||||
100% { -o-transform: rotate(359deg) }
|
||||
}
|
||||
@keyframes pace-theme-center-atom-spin {
|
||||
0% { transform: rotate(0deg) }
|
||||
100% { transform: rotate(359deg) }
|
||||
}
|
||||
90
themes/pink/pace-theme-center-circle.css
Normal file
90
themes/pink/pace-theme-center-circle.css
Normal file
@@ -0,0 +1,90 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
-webkit-perspective: 12rem;
|
||||
-moz-perspective: 12rem;
|
||||
-ms-perspective: 12rem;
|
||||
-o-perspective: 12rem;
|
||||
perspective: 12rem;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 6rem;
|
||||
width: 6rem;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-progress {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
height: 6rem;
|
||||
width: 6rem !important;
|
||||
line-height: 6rem;
|
||||
font-size: 2rem;
|
||||
border-radius: 50%;
|
||||
background: rgba(233, 15, 146, 0.8);
|
||||
color: #fff;
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
font-weight: 100;
|
||||
text-align: center;
|
||||
|
||||
-webkit-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-moz-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-ms-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
-o-animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
animation: pace-theme-center-circle-spin linear infinite 2s;
|
||||
|
||||
-webkit-transform-style: preserve-3d;
|
||||
-moz-transform-style: preserve-3d;
|
||||
-ms-transform-style: preserve-3d;
|
||||
-o-transform-style: preserve-3d;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
|
||||
.pace .pace-progress:after {
|
||||
content: attr(data-progress-text);
|
||||
display: block;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-center-circle-spin {
|
||||
from { -webkit-transform: rotateY(0deg) }
|
||||
to { -webkit-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-moz-keyframes pace-theme-center-circle-spin {
|
||||
from { -moz-transform: rotateY(0deg) }
|
||||
to { -moz-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-ms-keyframes pace-theme-center-circle-spin {
|
||||
from { -ms-transform: rotateY(0deg) }
|
||||
to { -ms-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@-o-keyframes pace-theme-center-circle-spin {
|
||||
from { -o-transform: rotateY(0deg) }
|
||||
to { -o-transform: rotateY(360deg) }
|
||||
}
|
||||
|
||||
@keyframes pace-theme-center-circle-spin {
|
||||
from { transform: rotateY(0deg) }
|
||||
to { transform: rotateY(360deg) }
|
||||
}
|
||||
74
themes/pink/pace-theme-center-radar.css
Normal file
74
themes/pink/pace-theme-center-radar.css
Normal file
@@ -0,0 +1,74 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.pace.pace-inactive .pace-activity {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: -30px;
|
||||
top: -30px;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
display: block;
|
||||
border-width: 30px;
|
||||
border-style: double;
|
||||
border-color: #e90f92 transparent transparent;
|
||||
border-radius: 50%;
|
||||
|
||||
-webkit-animation: spin 1s linear infinite;
|
||||
-moz-animation: spin 1s linear infinite;
|
||||
-o-animation: spin 1s linear infinite;
|
||||
animation: spin 1s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity:before {
|
||||
content: ' ';
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
left: 10px;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
display: block;
|
||||
border-width: 10px;
|
||||
border-style: solid;
|
||||
border-color: #e90f92 transparent transparent;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
@-webkit-keyframes spin {
|
||||
100% { -webkit-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@-moz-keyframes spin {
|
||||
100% { -moz-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@-o-keyframes spin {
|
||||
100% { -moz-transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
100% { transform: rotate(359deg); }
|
||||
}
|
||||
52
themes/pink/pace-theme-center-simple.css
Normal file
52
themes/pink/pace-theme-center-simple.css
Normal file
@@ -0,0 +1,52 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
z-index: 2000;
|
||||
position: fixed;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
height: 5px;
|
||||
width: 200px;
|
||||
background: #fff;
|
||||
border: 1px solid #e90f92;
|
||||
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
-o-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
-o-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
|
||||
max-width: 200px;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background: #e90f92;
|
||||
}
|
||||
|
||||
.pace.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
73
themes/pink/pace-theme-corner-indicator.css
Normal file
73
themes/pink/pace-theme-corner-indicator.css
Normal file
@@ -0,0 +1,73 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace .pace-activity {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 300px;
|
||||
height: 300px;
|
||||
background: #e90f92;
|
||||
-webkit-transition: -webkit-transform 0.3s;
|
||||
transition: transform 0.3s;
|
||||
-webkit-transform: translateX(100%) translateY(-100%) rotate(45deg);
|
||||
transform: translateX(100%) translateY(-100%) rotate(45deg);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.pace.pace-active .pace-activity {
|
||||
-webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
|
||||
transform: translateX(50%) translateY(-50%) rotate(45deg);
|
||||
}
|
||||
|
||||
.pace .pace-activity::before,
|
||||
.pace .pace-activity::after {
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
position: absolute;
|
||||
bottom: 30px;
|
||||
left: 50%;
|
||||
display: block;
|
||||
border: 5px solid #fff;
|
||||
border-radius: 50%;
|
||||
content: '';
|
||||
}
|
||||
|
||||
.pace .pace-activity::before {
|
||||
margin-left: -40px;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
border-right-color: rgba(0, 0, 0, .2);
|
||||
border-left-color: rgba(0, 0, 0, .2);
|
||||
-webkit-animation: pace-theme-corner-indicator-spin 3s linear infinite;
|
||||
animation: pace-theme-corner-indicator-spin 3s linear infinite;
|
||||
}
|
||||
|
||||
.pace .pace-activity::after {
|
||||
bottom: 50px;
|
||||
margin-left: -20px;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-top-color: rgba(0, 0, 0, .2);
|
||||
border-bottom-color: rgba(0, 0, 0, .2);
|
||||
-webkit-animation: pace-theme-corner-indicator-spin 1s linear infinite;
|
||||
animation: pace-theme-corner-indicator-spin 1s linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pace-theme-corner-indicator-spin {
|
||||
0% { -webkit-transform: rotate(0deg); }
|
||||
100% { -webkit-transform: rotate(359deg); }
|
||||
}
|
||||
@keyframes pace-theme-corner-indicator-spin {
|
||||
0% { transform: rotate(0deg); }
|
||||
100% { transform: rotate(359deg); }
|
||||
}
|
||||
22
themes/pink/pace-theme-fill-left.css
Normal file
22
themes/pink/pace-theme-fill-left.css
Normal file
@@ -0,0 +1,22 @@
|
||||
/* This is a compiled file, you should be editing the file in the templates directory */
|
||||
.pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.pace-inactive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pace .pace-progress {
|
||||
background-color: rgba(233, 15, 146, 0.19999999999999996);
|
||||
position: fixed;
|
||||
z-index: -1;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user