├── .github ├── ISSUE_TEMPLATE └── PULL_REQUEST_TEMPLATE ├── .gitignore ├── .hsdoc ├── Gruntfile.coffee ├── LICENSE ├── README.md ├── bower.json ├── coffee ├── offline.coffee ├── reconnect.coffee ├── requests.coffee ├── simulate.coffee ├── snake.coffee └── ui.coffee ├── docs └── welcome │ ├── app.js │ ├── images │ ├── ethernet-cable.png │ ├── ethernet-cable.sketch │ │ ├── Data │ │ ├── QuickLook │ │ │ ├── Preview.png │ │ │ └── Thumbnail.png │ │ ├── fonts │ │ └── version │ ├── ethernet-cable@2x.png │ ├── macbook-pro-top.png │ ├── macbook-pro-top.sketch │ │ ├── Data │ │ ├── QuickLook │ │ │ ├── Preview.png │ │ │ └── Thumbnail.png │ │ ├── fonts │ │ └── version │ ├── macbook-pro-top@2x.png │ ├── macbook-pro.png │ ├── macbook-pro.sketch │ │ ├── Data │ │ ├── QuickLook │ │ │ ├── Preview.png │ │ │ └── Thumbnail.png │ │ ├── fonts │ │ └── version │ └── macbook-pro@2x.png │ └── index.html ├── img └── tiny-image.gif ├── install.json ├── js ├── offline.js ├── reconnect.js ├── requests.js ├── simulate.js ├── snake.js └── ui.js ├── offline.js ├── offline.min.js ├── package.json ├── sass ├── _arabic.sass ├── _chinese-simplified.sass ├── _chinese-traditional.sass ├── _content.sass ├── _czech.sass ├── _dutch.sass ├── _english.sass ├── _french.sass ├── _german.sass ├── _italian.sass ├── _keyframes.sass ├── _mixins.sass ├── _offline-theme-base-indicator.sass ├── _offline-theme-base.sass ├── _pashto.sass ├── _persian.sass ├── _polish.sass ├── _portuguese-brazil.sass ├── _spanish.sass ├── _turkish.sass ├── offline-language-arabic-indicator.sass ├── offline-language-arabic.sass ├── offline-language-chinese-simplified-indicator.sass ├── offline-language-chinese-simplified.sass ├── offline-language-chinese-traditional-indicator.sass ├── offline-language-chinese-traditional.sass ├── offline-language-czech-indicator.sass ├── offline-language-czech.sass ├── offline-language-dutch-indicator.sass ├── offline-language-dutch.sass ├── offline-language-english-indicator.sass ├── offline-language-english.sass ├── offline-language-french-indicator.sass ├── offline-language-french.sass ├── offline-language-german-indicator.sass ├── offline-language-german.sass ├── offline-language-italian-indicator.sass ├── offline-language-italian.sass ├── offline-language-pashto-indicator.sass ├── offline-language-pashto.sass ├── offline-language-polish-indicator.sass ├── offline-language-polish.sass ├── offline-language-portuguese-brazil-indicator.sass ├── offline-language-portuguese-brazil.sass ├── offline-language-simplified-chinese-indicator.sass ├── offline-language-spanish-indicator.sass ├── offline-language-spanish.sass ├── offline-language-turkish-indicator.sass ├── offline-language-turkish.sass ├── offline-theme-chrome-indicator.sass ├── offline-theme-chrome.sass ├── offline-theme-dark-indicator.sass ├── offline-theme-dark.sass ├── offline-theme-default-indicator.sass ├── offline-theme-default.sass ├── offline-theme-hubspot.sass ├── offline-theme-slide-indicator.sass └── offline-theme-slide.sass ├── test ├── index.html └── snake.html └── themes ├── offline-language-arabic-indicator.css ├── offline-language-arabic.css ├── offline-language-chinese-simplified-indicator.css ├── offline-language-chinese-simplified.css ├── offline-language-chinese-traditional-indicator.css ├── offline-language-chinese-traditional.css ├── offline-language-czech-indicator.css ├── offline-language-czech.css ├── offline-language-dutch-indicator.css ├── offline-language-dutch.css ├── offline-language-english-indicator.css ├── offline-language-english.css ├── offline-language-french-indicator.css ├── offline-language-french.css ├── offline-language-german-indicator.css ├── offline-language-german.css ├── offline-language-hebrew-indicator.css ├── offline-language-hebrew.css ├── offline-language-italian-indicator.css ├── offline-language-italian.css ├── offline-language-pashto-indicator.css ├── offline-language-pashto.css ├── offline-language-persian-indicator.css ├── offline-language-persian.css ├── offline-language-polish-indicator.css ├── offline-language-polish.css ├── offline-language-portuguese-brazil-indicator.css ├── offline-language-portuguese-brazil.css ├── offline-language-simplified-chinese-indicator.css ├── offline-language-spanish-indicator.css ├── offline-language-spanish.css ├── offline-language-turkish-indicator.css ├── offline-language-turkish.css ├── offline-theme-chrome-indicator.css ├── offline-theme-chrome.css ├── offline-theme-dark-indicator.css ├── offline-theme-dark.css ├── offline-theme-default-indicator.css ├── offline-theme-default.css ├── offline-theme-hubspot.css ├── offline-theme-slide-indicator.css └── offline-theme-slide.css /.github/ISSUE_TEMPLATE: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .sass-cache/ -------------------------------------------------------------------------------- /.hsdoc: -------------------------------------------------------------------------------- 1 | title: "Offline" 2 | source: "{coffee/*,sass/*}" 3 | assets: "{js/*,themes/*,offline.min.js,docs/welcome/*,test/*}" 4 | -------------------------------------------------------------------------------- /Gruntfile.coffee: -------------------------------------------------------------------------------- 1 | module.exports = (grunt) -> 2 | grunt.initConfig 3 | pkg: grunt.file.readJSON('package.json') 4 | 5 | coffee: 6 | compile: 7 | expand: true 8 | flatten: true 9 | src: ['coffee/*.coffee'] 10 | dest: 'js/' 11 | ext: '.js' 12 | 13 | watch: 14 | options: 15 | atBegin: 16 | true 17 | coffee: 18 | files: ['coffee/*', 'sass/*'] 19 | tasks: ['coffee', 'uglify', 'compass'] 20 | 21 | uglify: 22 | options: 23 | banner: '/*! <%= pkg.name %> <%= pkg.version %> */\n' 24 | 25 | minified: 26 | src: ['js/*', '!js/snake.js'] 27 | dest: 'offline.min.js' 28 | 29 | original: 30 | src: ['js/*', '!js/snake.js'] 31 | dest: 'offline.js' 32 | options: 33 | mangle: false 34 | beautify: 35 | beautify: true 36 | indent_level: 2 37 | space_colon: false 38 | 39 | compass: 40 | dist: 41 | options: 42 | sassDir: 'sass' 43 | cssDir: 'themes' 44 | 45 | grunt.loadNpmTasks 'grunt-contrib-watch' 46 | grunt.loadNpmTasks 'grunt-contrib-uglify' 47 | grunt.loadNpmTasks 'grunt-contrib-coffee' 48 | grunt.loadNpmTasks 'grunt-contrib-compass' 49 | 50 | grunt.registerTask 'default', ['coffee', 'uglify', 'compass'] 51 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 HubSpot, Inc. 2 | 3 | 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: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | 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. 8 | 9 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ___ 2 | 3 | **This project isn't actively maintained.** 4 | ___ 5 | 6 | Offline 7 | ====== 8 | 9 | **Note to users pre-0.6.0: Offline previously used a cloudfront hosted file as one of it's methods of detecting the connection status. This method is now deprecated and the image has been removed. Please upgrade to Offline 0.7.0+.** 10 | 11 | Improve the experience of your app when your users lose connection. 12 | 13 | - Monitors ajax requests looking for failure 14 | - Confirms the connection status by requesting an image or fake resource 15 | - Automatically grabs ajax requests made while the connection is down and remakes them 16 | after the connection is restored. 17 | - Simple UI with beautiful themes 18 | - 3kb minified and compressed 19 | 20 | Installation 21 | ------------------- 22 | 23 | Include [the javascript](https://raw.github.com/HubSpot/offline/v0.7.14/offline.min.js), one of [the themes](http://github.hubspot.com/offline/docs/welcome/), and one of [the 24 | languages](https://github.com/HubSpot/offline/tree/master/themes) on your site. You're done! 25 | 26 | To use only the JavaScript API without a UI indicator, simply leave out the CSS file. 27 | 28 | If you'd like to get a peek at how it looks on your site, disconnect your internet, or try out the [simulator](http://craigshoemaker.github.io/offlinejs-simulate-ui/). 29 | 30 | Advanced 31 | -------- 32 | 33 | Optionally, you can provide some configuration by setting `Offline.options` after 34 | bringing in the script. 35 | 36 | Options (any can be provided as a function), with their defaults: 37 | 38 | ```javascript 39 | { 40 | // Should we check the connection status immediatly on page load. 41 | checkOnLoad: false, 42 | 43 | // Should we monitor AJAX requests to help decide if we have a connection. 44 | interceptRequests: true, 45 | 46 | // Should we automatically retest periodically when the connection is down (set to false to disable). 47 | reconnect: { 48 | // How many seconds should we wait before rechecking. 49 | initialDelay: 3, 50 | 51 | // How long should we wait between retries. 52 | delay: (1.5 * last delay, capped at 1 hour) 53 | }, 54 | 55 | // Should we store and attempt to remake requests which fail while the connection is down. 56 | requests: true, 57 | 58 | // Should we show a snake game while the connection is down to keep the user entertained? 59 | // It's not included in the normal build, you should bring in js/snake.js in addition to 60 | // offline.min.js. 61 | game: false 62 | } 63 | ``` 64 | 65 | Properties 66 | ---------- 67 | 68 | `Offline.check()`: Check the current status of the connection. 69 | 70 | `Offline.state`: The current state of the connection 'up' or 'down' 71 | 72 | `Offline.on(event, handler, context)`: Bind an event. Events: 73 | 74 | - up: The connection has gone from down to up 75 | - down: The connection has gone from up to down 76 | - confirmed-up: A connection test has succeeded, fired even if the connection was already up 77 | - confirmed-down: A connection test has failed, fired even if the connection was already down 78 | - checking: We are testing the connection 79 | - reconnect:started: We are beginning the reconnect process 80 | - reconnect:stopped: We are done attempting to reconnect 81 | - reconnect:tick: Fired every second during a reconnect attempt, when a check is not happening 82 | - reconnect:connecting: We are reconnecting now 83 | - reconnect:failure: A reconnect check attempt failed 84 | - requests:flush: Any pending requests have been remade 85 | - requests:capture: A new request is being held 86 | 87 | `Offline.off(event, handler)`: Unbind an event 88 | 89 | Checking 90 | -------- 91 | 92 | By default, Offline makes an XHR request to load your `/favicon.ico` to check the connection. If you don't 93 | have such a file, it will 404 in the console, but otherwise work fine (even a 404 means the connection is up). 94 | You can change the URL it hits (an endpoint which will respond with a quick 204 is perfect): 95 | 96 | ```javascript 97 | Offline.options = {checks: {xhr: {url: '/connection-test'}}}; 98 | ``` 99 | 100 | Make sure that the URL you check has the same origin as your page (the connection method, domain and port all must be the same), or you 101 | will run into CORS issues. You can add `Access-Control` headers to the endpoint to fix it on modern browsers, but it will still cause issues on 102 | IE9 and below. 103 | 104 | If you do want to run tests on a different domain, try the image method. It loads an image, which are allowed to cross domains. 105 | 106 | ```javascript 107 | Offline.options = {checks: {image: {url: 'my-image.gif'}, active: 'image'}} 108 | ``` 109 | 110 | The one caveat is that with the image method, we can't distinguish a 404 from a genuine connection issue, so any error at all will 111 | appear to Offline as a connection issue. 112 | 113 | Offline also includes a check called `'up'` and another called `'down'` which will always report being up or down respectively for 114 | testing. You can activate them by setting the `active` option, adding a data attribute to your script tag with the name 115 | `data-simulate` and value `'up'` or `'down'`, or by setting `localStorage.OFFLINE_SIMULATE` to `'up'` or `'down'`. 116 | 117 | Reconnect 118 | --------- 119 | 120 | The reconnect module automatically retests the connection periodically when it is down. 121 | A successful AJAX request will also trigger a silent recheck (if `interceptRequests` is not false). 122 | 123 | You can disable the reconnect module by setting the `reconnect` to false. Reconnect can be 124 | configured by setting options on the reconnect setting. 125 | 126 | Requests 127 | -------- 128 | 129 | The requests module holds any failed AJAX requests and, after deduping them, remakes them when the connection 130 | is restored. 131 | 132 | You can disable it by setting the `requests` setting to false. 133 | 134 | You can also set deDupBody to be true if you want deduping to also take into account the content of the request. 135 | 136 | Dependencies 137 | ------------ 138 | 139 | None! 140 | 141 | Browser Support 142 | --------------- 143 | 144 | Modern Chrome, Firefox, Safari and IE8+ 145 | 146 | Note that not all browsers (including Safari and old IE) support the offline events, forcing Offline to use less accurate methods of detection. 147 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "offline", 3 | "homepage": "http://github.hubspot.com/offline/docs/welcome", 4 | "authors": [ 5 | "Zack Bloom ", 6 | "Adam Schwartz " 7 | ], 8 | "repository": { 9 | "type": "git", 10 | "url": "git://github.com/HubSpot/offline.git" 11 | }, 12 | "description": "Automatically detect when a browser is offline", 13 | "main": "offline.js", 14 | "license": "MIT", 15 | "keywords": [ 16 | "offline", 17 | "online", 18 | "internet", 19 | "network", 20 | "ajax", 21 | "notification", 22 | "javascript", 23 | "client-side" 24 | ], 25 | "ignore": [ 26 | "**/.*", 27 | "node_modules", 28 | "bower_components", 29 | "coffee", 30 | "docs", 31 | "js", 32 | "test", 33 | "bower.json", 34 | "package.json" 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /coffee/reconnect.coffee: -------------------------------------------------------------------------------- 1 | unless window.Offline 2 | throw new Error "Offline Reconnect brought in without offline.js" 3 | 4 | rc = Offline.reconnect = {} 5 | 6 | retryIntv = null 7 | 8 | reset = -> 9 | if rc.state? and rc.state isnt 'inactive' 10 | Offline.trigger 'reconnect:stopped' 11 | 12 | rc.state = 'inactive' 13 | rc.remaining = rc.delay = Offline.getOption('reconnect.initialDelay') ? 3 14 | 15 | next = -> 16 | delay = Offline.getOption('reconnect.delay') ? Math.min(Math.ceil(rc.delay * 1.5), 3600) 17 | rc.remaining = rc.delay = delay 18 | 19 | tick = -> 20 | return if rc.state is 'connecting' 21 | 22 | rc.remaining -= 1 23 | 24 | Offline.trigger 'reconnect:tick' 25 | if rc.remaining is 0 26 | tryNow() 27 | 28 | tryNow = -> 29 | return if rc.state isnt 'waiting' 30 | 31 | Offline.trigger 'reconnect:connecting' 32 | rc.state = 'connecting' 33 | 34 | Offline.check() 35 | 36 | down = -> 37 | return unless Offline.getOption('reconnect') 38 | 39 | reset() 40 | 41 | rc.state = 'waiting' 42 | 43 | Offline.trigger 'reconnect:started' 44 | retryIntv = setInterval tick, 1000 45 | 46 | up = -> 47 | if retryIntv? 48 | clearInterval retryIntv 49 | 50 | reset() 51 | 52 | nope = -> 53 | return unless Offline.getOption('reconnect') 54 | 55 | if rc.state is 'connecting' 56 | Offline.trigger 'reconnect:failure' 57 | rc.state = 'waiting' 58 | next() 59 | 60 | rc.tryNow = tryNow 61 | 62 | reset() 63 | 64 | Offline.on 'down', down 65 | Offline.on 'confirmed-down', nope 66 | Offline.on 'up', up 67 | -------------------------------------------------------------------------------- /coffee/requests.coffee: -------------------------------------------------------------------------------- 1 | unless window.Offline 2 | throw new Error "Requests module brought in without offline.js" 3 | 4 | held = [] 5 | 6 | waitingOnConfirm = false 7 | holdRequest = (req) -> 8 | return if Offline.getOption('requests') is false 9 | Offline.trigger 'requests:capture' 10 | 11 | if Offline.state isnt 'down' 12 | waitingOnConfirm = true 13 | 14 | held.push req 15 | 16 | makeRequest = ({xhr, url, type, user, password, body}) -> 17 | return if Offline.getOption('requests') is false 18 | xhr.abort() 19 | xhr.open(type, url, true, user, password) 20 | xhr.setRequestHeader(name, val) for name, val of xhr.headers 21 | 22 | if xhr.mimeType 23 | xhr.overrideMimeType xhr.mimeType 24 | 25 | xhr.send(body) 26 | 27 | clear = -> 28 | held = [] 29 | 30 | flush = -> 31 | return if Offline.getOption('requests') is false 32 | Offline.trigger 'requests:flush' 33 | 34 | requests = {} 35 | # Dedup requests, favoring the later request 36 | # TODO: Throw out PUT/POST/DELETE requests after too much time? 37 | for request in held 38 | # Break cache breaking 39 | url = request.url.replace /(\?|&)_=[0-9]+/, (match, chr) -> 40 | if chr is '?' then chr else '' 41 | 42 | if Offline.getOption('deDupBody') 43 | body = request.body 44 | if body.toString() is '[object Object]' 45 | body = JSON.stringify(body) 46 | else 47 | body = body.toString() 48 | requests["#{ request.type.toUpperCase() } - #{ url } - #{ body }"] = request; 49 | else 50 | requests["#{ request.type.toUpperCase() } - #{ url }"] = request 51 | 52 | for key, request of requests 53 | makeRequest request 54 | 55 | clear() 56 | 57 | setTimeout -> 58 | unless Offline.getOption('requests') is false 59 | Offline.on 'confirmed-up', -> 60 | if waitingOnConfirm 61 | waitingOnConfirm = false 62 | clear() 63 | 64 | Offline.on 'up', flush 65 | 66 | Offline.on 'down', -> 67 | waitingOnConfirm = false 68 | 69 | Offline.onXHR (request) -> 70 | {xhr, async} = request 71 | 72 | return if xhr.offline is false 73 | 74 | hold = -> holdRequest request 75 | 76 | _send = xhr.send 77 | xhr.send = (body) -> 78 | request.body = body 79 | 80 | _send.apply xhr, arguments 81 | 82 | return unless async 83 | 84 | if xhr.onprogress is null 85 | xhr.addEventListener 'error', hold, false 86 | xhr.addEventListener 'timeout', hold, false 87 | else 88 | _onreadystatechange = xhr.onreadystatechange 89 | xhr.onreadystatechange = -> 90 | if xhr.readyState is 0 91 | hold() 92 | else if xhr.readyState is 4 and (xhr.status is 0 or xhr.status >= 12000) 93 | hold() 94 | 95 | _onreadystatechange?(arguments...) 96 | 97 | Offline.requests = { 98 | flush, 99 | clear 100 | } 101 | , 0 102 | -------------------------------------------------------------------------------- /coffee/simulate.coffee: -------------------------------------------------------------------------------- 1 | unless Offline 2 | throw new Error("Offline simulate brought in without offline.js") 3 | 4 | for state in ['up', 'down'] 5 | try 6 | simulate = document.querySelector("script[data-simulate='#{ state }']") or localStorage?.OFFLINE_SIMULATE is state 7 | catch e 8 | simulate = false 9 | 10 | if simulate 11 | Offline.options ?= {} 12 | Offline.options.checks ?= {} 13 | Offline.options.checks.active = state 14 | -------------------------------------------------------------------------------- /coffee/snake.coffee: -------------------------------------------------------------------------------- 1 | canvas = dot = score = speed = stop = snake = randDot = fill = null 2 | 3 | render = -> 4 | canvas = document.createElementNS('http://www.w3.org/2000/svg', 'svg') 5 | canvas.setAttribute 'style', 'width: 100%; height: 100%; margin: -8px; position: absolute; top: 0; left: 0; z-index: 1000' 6 | canvas.setAttribute 'viewBox', '0 0 1000 1000' 7 | document.body.appendChild canvas 8 | 9 | dot = document.createElementNS('http://www.w3.org/2000/svg', 'circle') 10 | dot.setAttribute 'r', 20 11 | do randDot = -> 12 | dot.setAttribute 'cx', (Math.random() * 960)|0 + 20 13 | dot.setAttribute 'cy', (Math.random() * 960)|0 + 20 14 | 15 | canvas.appendChild dot 16 | 17 | snake = 18 | direction: 0 19 | nodes: [] 20 | 21 | score = 0 22 | speed = 10 23 | stop = false 24 | 25 | move() 26 | 27 | move = -> 28 | return if stop 29 | 30 | lastNode = snake.nodes[snake.nodes.length - 1] 31 | if lastNode 32 | lastX = +lastNode.getAttribute('cx') 33 | lastY = +lastNode.getAttribute('cy') 34 | 35 | else 36 | lastX = 500 37 | lastY = 500 38 | 39 | if snake.nodes.length > score 40 | old = snake.nodes.shift() 41 | canvas.removeChild old 42 | 43 | nX = lastX + Math.cos(snake.direction) * speed 44 | nY = lastY + Math.sin(snake.direction) * speed 45 | 46 | node = document.createElementNS('http://www.w3.org/2000/svg', 'circle') 47 | node.setAttribute 'r', 20 48 | node.setAttribute 'cx', nX 49 | node.setAttribute 'cy', nY 50 | 51 | if fill 52 | node.style.fill = fill 53 | 54 | dotX = +dot.getAttribute('cx') 55 | dotY = +dot.getAttribute('cy') 56 | if dotX - 20 < nX < dotX + 20 and dotY - 20 < nY < dotY + 20 57 | score++ 58 | speed++ 59 | randDot() 60 | 61 | canvas.appendChild node 62 | snake.nodes.push node 63 | 64 | requestAnimationFrame move 65 | 66 | keyHandler = (e) -> 67 | if 37 <= e.keyCode <= 40 68 | snake.direction = Math.PI/2 * ((e.keyCode - 35) % 4) 69 | 70 | return false 71 | 72 | show = -> 73 | document.addEventListener 'keydown', keyHandler 74 | 75 | render() 76 | 77 | hide = -> 78 | document.removeEventListener 'keydown', keyHandler 79 | stop = true 80 | 81 | document.removeChild canvas 82 | 83 | setTimeout -> 84 | if Offline.getOption('game') and document.addEventListener? 85 | Offline.on 'down', show 86 | Offline.on 'up', hide 87 | Offline.on 'reconnect:failure', -> 88 | fill = '#ec8787' 89 | setTimeout -> 90 | fill = 'black' 91 | , 2000 92 | , 0 93 | -------------------------------------------------------------------------------- /coffee/ui.coffee: -------------------------------------------------------------------------------- 1 | unless window.Offline 2 | throw new Error "Offline UI brought in without offline.js" 3 | 4 | TEMPLATE = '
' 5 | RETRY_TEMPLATE = '' 6 | 7 | createFromHTML = (html) -> 8 | el = document.createElement('div') 9 | el.innerHTML = html 10 | el.children[0] 11 | 12 | el = content = null 13 | addClass = (name) -> 14 | removeClass name 15 | el.className += " #{ name }" 16 | 17 | removeClass = (name) -> 18 | el.className = el.className.replace new RegExp("(^| )#{ name.split(' ').join('|') }( |$)", 'gi'), ' ' 19 | 20 | flashTimeouts = {} 21 | flashClass = (name, time) -> 22 | addClass name 23 | 24 | if flashTimeouts[name]? 25 | clearTimeout flashTimeouts[name] 26 | 27 | flashTimeouts[name] = setTimeout -> 28 | removeClass name 29 | delete flashTimeouts[name] 30 | , time * 1000 31 | 32 | roundTime = (sec) -> 33 | units = 34 | 'day': 86400 35 | 'hour': 3600 36 | 'minute': 60 37 | 'second': 1 38 | 39 | for unit, mult of units 40 | if sec >= mult 41 | val = Math.floor(sec / mult) 42 | 43 | return [val, unit] 44 | 45 | return ['now', ''] 46 | 47 | render = -> 48 | el = createFromHTML TEMPLATE 49 | document.body.appendChild el 50 | 51 | if Offline.reconnect? and Offline.getOption('reconnect') 52 | el.appendChild createFromHTML RETRY_TEMPLATE 53 | 54 | button = el.querySelector('.offline-ui-retry') 55 | handler = (e) -> 56 | e.preventDefault() 57 | 58 | Offline.reconnect.tryNow() 59 | 60 | if button.addEventListener? 61 | button.addEventListener 'click', handler, false 62 | else 63 | button.attachEvent 'click', handler 64 | 65 | addClass "offline-ui-#{ Offline.state }" 66 | 67 | content = el.querySelector('.offline-ui-content') 68 | 69 | init = -> 70 | render() 71 | 72 | Offline.on 'up', -> 73 | removeClass 'offline-ui-down' 74 | addClass 'offline-ui-up' 75 | 76 | flashClass 'offline-ui-up-2s', 2 77 | flashClass 'offline-ui-up-5s', 5 78 | 79 | Offline.on 'down', -> 80 | removeClass 'offline-ui-up' 81 | addClass 'offline-ui-down' 82 | 83 | flashClass 'offline-ui-down-2s', 2 84 | flashClass 'offline-ui-down-5s', 5 85 | 86 | Offline.on 'reconnect:connecting', -> 87 | addClass 'offline-ui-connecting' 88 | removeClass 'offline-ui-waiting' 89 | 90 | Offline.on 'reconnect:tick', -> 91 | addClass 'offline-ui-waiting' 92 | removeClass 'offline-ui-connecting' 93 | 94 | [time, unit] = roundTime Offline.reconnect.remaining 95 | 96 | content.setAttribute 'data-retry-in-value', time 97 | content.setAttribute 'data-retry-in-unit', unit 98 | 99 | Offline.on 'reconnect:stopped', -> 100 | removeClass 'offline-ui-connecting offline-ui-waiting' 101 | 102 | content.setAttribute 'data-retry-in-value', null 103 | content.setAttribute 'data-retry-in-unit', null 104 | 105 | Offline.on 'reconnect:failure', -> 106 | flashClass 'offline-ui-reconnect-failed-2s', 2 107 | flashClass 'offline-ui-reconnect-failed-5s', 5 108 | 109 | Offline.on 'reconnect:success', -> 110 | flashClass 'offline-ui-reconnect-succeeded-2s', 2 111 | flashClass 'offline-ui-reconnect-succeeded-5s', 5 112 | 113 | if document.readyState is 'complete' 114 | init() 115 | else if document.addEventListener? 116 | document.addEventListener 'DOMContentLoaded', init, false 117 | else 118 | # IE8 119 | 120 | _onreadystatechange = document.onreadystatechange 121 | document.onreadystatechange = -> 122 | if document.readyState is 'complete' 123 | init() 124 | 125 | _onreadystatechange?(arguments...) 126 | -------------------------------------------------------------------------------- /docs/welcome/app.js: -------------------------------------------------------------------------------- 1 | $(function(){ 2 | var themes = [{ 3 | name: 'default', 4 | title: 'Default' 5 | }, { 6 | name: 'slide', 7 | title: 'Slide' 8 | }, { 9 | name: 'dark', 10 | title: 'Dark' 11 | }, { 12 | name: 'chrome', 13 | title: 'Chrome' 14 | }]; 15 | 16 | var indicatorThemes = [{ 17 | name: 'default-indicator', 18 | title: 'Default' 19 | }, { 20 | name: 'slide-indicator', 21 | title: 'Slide' 22 | }, { 23 | name: 'dark-indicator', 24 | title: 'Dark' 25 | }, { 26 | name: 'chrome-indicator', 27 | title: 'Chrome' 28 | }]; 29 | 30 | var addThemes = function(themes, selector) { 31 | $.each(themes, function(i, theme){ 32 | $(selector).append('
'+ 33 | '

' + theme.title + '

' + 34 | '

download

'+ 35 | '
' + 36 | '
'); 37 | }); 38 | }; 39 | 40 | addThemes(themes, '.full-themes'); 41 | addThemes(indicatorThemes, '.indicator-themes'); 42 | 43 | $('.browser iframe').each(function(){ 44 | var _this = this; 45 | var themeName = $(this).data('theme'); 46 | 47 | doc = (this.contentWindow || this.documentWindow).document; 48 | doc.open(); 49 | doc.write('' + 50 | '' + 51 | '' + 52 | '
' + 53 | ''); 54 | doc.close(); 55 | }); 56 | 57 | var phases = [ 58 | [5, 'offline-ui offline-ui-down offline-ui-down-5s', '', ''], 59 | [3, 'offline-ui offline-ui-down offline-ui-connecting offline-ui-waiting', '5 seconds', '5s'], 60 | [1, 'offline-ui offline-ui-down offline-ui-connecting offline-ui-waiting', '4 seconds', '4s'], 61 | [1, 'offline-ui offline-ui-down offline-ui-connecting offline-ui-waiting', '3 seconds', '3s'], 62 | [1, 'offline-ui offline-ui-down offline-ui-connecting offline-ui-waiting', '2 seconds', '2s'], 63 | [1, 'offline-ui offline-ui-down offline-ui-connecting offline-ui-waiting', '1 seconds', '1s'], 64 | [1, 'offline-ui offline-ui-up offline-ui-up-5s', '', ''] 65 | ]; 66 | 67 | var nextPhase = function() { 68 | var phase; 69 | 70 | $('.browser iframe').each(function(){ 71 | var $offline = $(this).contents().find('.offline-ui'), 72 | $content = $offline.find('.offline-ui-content'); 73 | 74 | phase = parseInt($offline.attr('data-phase'), 10); 75 | 76 | $offline.get(0).className = phases[phase][1]; 77 | $content.attr('data-retry-in', phases[phase][2]); 78 | $content.attr('data-retry-in-abbr', phases[phase][3]); 79 | 80 | phase = (phase + 1) % phases.length; 81 | $offline.attr('data-phase', phase); 82 | }); 83 | 84 | setTimeout(function(){ 85 | nextPhase(); 86 | }, phases[phase][0] * 1000); 87 | }; 88 | 89 | nextPhase(); 90 | }); -------------------------------------------------------------------------------- /docs/welcome/images/ethernet-cable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/ethernet-cable.png -------------------------------------------------------------------------------- /docs/welcome/images/ethernet-cable.sketch/Data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/ethernet-cable.sketch/Data -------------------------------------------------------------------------------- /docs/welcome/images/ethernet-cable.sketch/QuickLook/Preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/ethernet-cable.sketch/QuickLook/Preview.png -------------------------------------------------------------------------------- /docs/welcome/images/ethernet-cable.sketch/QuickLook/Thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/ethernet-cable.sketch/QuickLook/Thumbnail.png -------------------------------------------------------------------------------- /docs/welcome/images/ethernet-cable.sketch/fonts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/ethernet-cable.sketch/fonts -------------------------------------------------------------------------------- /docs/welcome/images/ethernet-cable.sketch/version: -------------------------------------------------------------------------------- 1 | 14 -------------------------------------------------------------------------------- /docs/welcome/images/ethernet-cable@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/ethernet-cable@2x.png -------------------------------------------------------------------------------- /docs/welcome/images/macbook-pro-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/macbook-pro-top.png -------------------------------------------------------------------------------- /docs/welcome/images/macbook-pro-top.sketch/Data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/macbook-pro-top.sketch/Data -------------------------------------------------------------------------------- /docs/welcome/images/macbook-pro-top.sketch/QuickLook/Preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/macbook-pro-top.sketch/QuickLook/Preview.png -------------------------------------------------------------------------------- /docs/welcome/images/macbook-pro-top.sketch/QuickLook/Thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/macbook-pro-top.sketch/QuickLook/Thumbnail.png -------------------------------------------------------------------------------- /docs/welcome/images/macbook-pro-top.sketch/fonts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/macbook-pro-top.sketch/fonts -------------------------------------------------------------------------------- /docs/welcome/images/macbook-pro-top.sketch/version: -------------------------------------------------------------------------------- 1 | 14 -------------------------------------------------------------------------------- /docs/welcome/images/macbook-pro-top@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/macbook-pro-top@2x.png -------------------------------------------------------------------------------- /docs/welcome/images/macbook-pro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/macbook-pro.png -------------------------------------------------------------------------------- /docs/welcome/images/macbook-pro.sketch/Data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/macbook-pro.sketch/Data -------------------------------------------------------------------------------- /docs/welcome/images/macbook-pro.sketch/QuickLook/Preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/macbook-pro.sketch/QuickLook/Preview.png -------------------------------------------------------------------------------- /docs/welcome/images/macbook-pro.sketch/QuickLook/Thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/macbook-pro.sketch/QuickLook/Thumbnail.png -------------------------------------------------------------------------------- /docs/welcome/images/macbook-pro.sketch/fonts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/macbook-pro.sketch/fonts -------------------------------------------------------------------------------- /docs/welcome/images/macbook-pro.sketch/version: -------------------------------------------------------------------------------- 1 | 14 -------------------------------------------------------------------------------- /docs/welcome/images/macbook-pro@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/docs/welcome/images/macbook-pro@2x.png -------------------------------------------------------------------------------- /img/tiny-image.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/offline/a17291864212aab9ae9325c7ce5a2e0f541e96bf/img/tiny-image.gif -------------------------------------------------------------------------------- /install.json: -------------------------------------------------------------------------------- 1 | { 2 | "resources": { 3 | "head": [ 4 | { 5 | "type": "script", 6 | "src": "./offline.min.js" 7 | }, 8 | { 9 | "type": "style", 10 | "src": "./themes/offline-language-{{ options.language }}.css", 11 | "if": "!options.indicator" 12 | }, 13 | { 14 | "type": "style", 15 | "src": "./themes/offline-language-{{ options.language }}-indicator.css", 16 | "if": "options.indicator" 17 | }, 18 | { 19 | "type": "style", 20 | "src": "./themes/offline-theme-{{ options.theme }}.css", 21 | "if": "!options.indicator" 22 | }, 23 | { 24 | "type": "style", 25 | "src": "./themes/offline-theme-{{ options.theme }}-indicator.css", 26 | "if": "options.indicator" 27 | } 28 | ] 29 | }, 30 | "options": { 31 | "properties": { 32 | "indicator": { 33 | "title": "Always on", 34 | "description": "When checked, a connectivity indicator will always be present on the bottom-left corner of the page. When unchecked, Offline will only show a message when there are connectivity issues.", 35 | "type": "boolean", 36 | "default": false 37 | }, 38 | "language": { 39 | "title": "Language", 40 | "description": "The language of the message displayed to the user when connectivity is lost or regained.", 41 | "type": "string", 42 | "enum": [ 43 | "arabic", 44 | "chinese-simplified", 45 | "chinese-traditional", 46 | "dutch", 47 | "english", 48 | "french", 49 | "german", 50 | "italian", 51 | "pashto", 52 | "persian", 53 | "polish", 54 | "portuguese-brazil", 55 | "spanish", 56 | "turkish" 57 | ], 58 | "enumNames": { 59 | "arabic": "Arabic", 60 | "chinese-simplified": "Simplified Chinese", 61 | "chinese-traditional": "Traditional Chinese", 62 | "czech": "Czech", 63 | "dutch": "Dutch", 64 | "english": "English", 65 | "french": "French", 66 | "german": "German", 67 | "italian": "Italian", 68 | "pashto": "Pashto", 69 | "persian": "Persian", 70 | "polish": "Polish", 71 | "portuguese-brazil": "Brazilian Portuguese", 72 | "spanish": "Spanish", 73 | "turkish": "Turkish" 74 | }, 75 | "default": "english" 76 | }, 77 | "theme": { 78 | "title": "Theme", 79 | "description": "Describes the look and feel of the message.", 80 | "type": "string", 81 | "enum": [ 82 | "default", 83 | "dark", 84 | "chrome", 85 | "slide" 86 | ], 87 | "enumNames": { 88 | "default": "Default", 89 | "dark": "Dark", 90 | "chrome": "Chrome", 91 | "slide": "Slide" 92 | }, 93 | "default": "default" 94 | } 95 | } 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /js/reconnect.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var down, next, nope, rc, reset, retryIntv, tick, tryNow, up; 3 | 4 | if (!window.Offline) { 5 | throw new Error("Offline Reconnect brought in without offline.js"); 6 | } 7 | 8 | rc = Offline.reconnect = {}; 9 | 10 | retryIntv = null; 11 | 12 | reset = function() { 13 | var ref; 14 | if ((rc.state != null) && rc.state !== 'inactive') { 15 | Offline.trigger('reconnect:stopped'); 16 | } 17 | rc.state = 'inactive'; 18 | return rc.remaining = rc.delay = (ref = Offline.getOption('reconnect.initialDelay')) != null ? ref : 3; 19 | }; 20 | 21 | next = function() { 22 | var delay, ref; 23 | delay = (ref = Offline.getOption('reconnect.delay')) != null ? ref : Math.min(Math.ceil(rc.delay * 1.5), 3600); 24 | return rc.remaining = rc.delay = delay; 25 | }; 26 | 27 | tick = function() { 28 | if (rc.state === 'connecting') { 29 | return; 30 | } 31 | rc.remaining -= 1; 32 | Offline.trigger('reconnect:tick'); 33 | if (rc.remaining === 0) { 34 | return tryNow(); 35 | } 36 | }; 37 | 38 | tryNow = function() { 39 | if (rc.state !== 'waiting') { 40 | return; 41 | } 42 | Offline.trigger('reconnect:connecting'); 43 | rc.state = 'connecting'; 44 | return Offline.check(); 45 | }; 46 | 47 | down = function() { 48 | if (!Offline.getOption('reconnect')) { 49 | return; 50 | } 51 | reset(); 52 | rc.state = 'waiting'; 53 | Offline.trigger('reconnect:started'); 54 | return retryIntv = setInterval(tick, 1000); 55 | }; 56 | 57 | up = function() { 58 | if (retryIntv != null) { 59 | clearInterval(retryIntv); 60 | } 61 | return reset(); 62 | }; 63 | 64 | nope = function() { 65 | if (!Offline.getOption('reconnect')) { 66 | return; 67 | } 68 | if (rc.state === 'connecting') { 69 | Offline.trigger('reconnect:failure'); 70 | rc.state = 'waiting'; 71 | return next(); 72 | } 73 | }; 74 | 75 | rc.tryNow = tryNow; 76 | 77 | reset(); 78 | 79 | Offline.on('down', down); 80 | 81 | Offline.on('confirmed-down', nope); 82 | 83 | Offline.on('up', up); 84 | 85 | }).call(this); 86 | -------------------------------------------------------------------------------- /js/requests.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var clear, flush, held, holdRequest, makeRequest, waitingOnConfirm; 3 | 4 | if (!window.Offline) { 5 | throw new Error("Requests module brought in without offline.js"); 6 | } 7 | 8 | held = []; 9 | 10 | waitingOnConfirm = false; 11 | 12 | holdRequest = function(req) { 13 | if (Offline.getOption('requests') === false) { 14 | return; 15 | } 16 | Offline.trigger('requests:capture'); 17 | if (Offline.state !== 'down') { 18 | waitingOnConfirm = true; 19 | } 20 | return held.push(req); 21 | }; 22 | 23 | makeRequest = function(arg) { 24 | var body, name, password, ref, type, url, user, val, xhr; 25 | xhr = arg.xhr, url = arg.url, type = arg.type, user = arg.user, password = arg.password, body = arg.body; 26 | if (Offline.getOption('requests') === false) { 27 | return; 28 | } 29 | xhr.abort(); 30 | xhr.open(type, url, true, user, password); 31 | ref = xhr.headers; 32 | for (name in ref) { 33 | val = ref[name]; 34 | xhr.setRequestHeader(name, val); 35 | } 36 | if (xhr.mimeType) { 37 | xhr.overrideMimeType(xhr.mimeType); 38 | } 39 | return xhr.send(body); 40 | }; 41 | 42 | clear = function() { 43 | return held = []; 44 | }; 45 | 46 | flush = function() { 47 | var body, i, key, len, request, requests, url; 48 | if (Offline.getOption('requests') === false) { 49 | return; 50 | } 51 | Offline.trigger('requests:flush'); 52 | requests = {}; 53 | for (i = 0, len = held.length; i < len; i++) { 54 | request = held[i]; 55 | url = request.url.replace(/(\?|&)_=[0-9]+/, function(match, chr) { 56 | if (chr === '?') { 57 | return chr; 58 | } else { 59 | return ''; 60 | } 61 | }); 62 | if (Offline.getOption('deDupBody')) { 63 | body = request.body; 64 | if (body.toString() === '[object Object]') { 65 | body = JSON.stringify(body); 66 | } else { 67 | body = body.toString(); 68 | } 69 | requests[(request.type.toUpperCase()) + " - " + url + " - " + body] = request; 70 | } else { 71 | requests[(request.type.toUpperCase()) + " - " + url] = request; 72 | } 73 | } 74 | for (key in requests) { 75 | request = requests[key]; 76 | makeRequest(request); 77 | } 78 | return clear(); 79 | }; 80 | 81 | setTimeout(function() { 82 | if (Offline.getOption('requests') !== false) { 83 | Offline.on('confirmed-up', function() { 84 | if (waitingOnConfirm) { 85 | waitingOnConfirm = false; 86 | return clear(); 87 | } 88 | }); 89 | Offline.on('up', flush); 90 | Offline.on('down', function() { 91 | return waitingOnConfirm = false; 92 | }); 93 | Offline.onXHR(function(request) { 94 | var _onreadystatechange, _send, async, hold, xhr; 95 | xhr = request.xhr, async = request.async; 96 | if (xhr.offline === false) { 97 | return; 98 | } 99 | hold = function() { 100 | return holdRequest(request); 101 | }; 102 | _send = xhr.send; 103 | xhr.send = function(body) { 104 | request.body = body; 105 | return _send.apply(xhr, arguments); 106 | }; 107 | if (!async) { 108 | return; 109 | } 110 | if (xhr.onprogress === null) { 111 | xhr.addEventListener('error', hold, false); 112 | return xhr.addEventListener('timeout', hold, false); 113 | } else { 114 | _onreadystatechange = xhr.onreadystatechange; 115 | return xhr.onreadystatechange = function() { 116 | if (xhr.readyState === 0) { 117 | hold(); 118 | } else if (xhr.readyState === 4 && (xhr.status === 0 || xhr.status >= 12000)) { 119 | hold(); 120 | } 121 | return typeof _onreadystatechange === "function" ? _onreadystatechange.apply(null, arguments) : void 0; 122 | }; 123 | } 124 | }); 125 | return Offline.requests = { 126 | flush: flush, 127 | clear: clear 128 | }; 129 | } 130 | }, 0); 131 | 132 | }).call(this); 133 | -------------------------------------------------------------------------------- /js/simulate.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var base, e, i, len, ref, simulate, state; 3 | 4 | if (!Offline) { 5 | throw new Error("Offline simulate brought in without offline.js"); 6 | } 7 | 8 | ref = ['up', 'down']; 9 | for (i = 0, len = ref.length; i < len; i++) { 10 | state = ref[i]; 11 | try { 12 | simulate = document.querySelector("script[data-simulate='" + state + "']") || (typeof localStorage !== "undefined" && localStorage !== null ? localStorage.OFFLINE_SIMULATE : void 0) === state; 13 | } catch (_error) { 14 | e = _error; 15 | simulate = false; 16 | } 17 | } 18 | 19 | if (simulate) { 20 | if (Offline.options == null) { 21 | Offline.options = {}; 22 | } 23 | if ((base = Offline.options).checks == null) { 24 | base.checks = {}; 25 | } 26 | Offline.options.checks.active = state; 27 | } 28 | 29 | }).call(this); 30 | -------------------------------------------------------------------------------- /js/snake.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var canvas, dot, fill, hide, keyHandler, move, randDot, render, score, show, snake, speed, stop; 3 | 4 | canvas = dot = score = speed = stop = snake = randDot = fill = null; 5 | 6 | render = function() { 7 | canvas = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); 8 | canvas.setAttribute('style', 'width: 100%; height: 100%; margin: -8px; position: absolute; top: 0; left: 0; z-index: 1000'); 9 | canvas.setAttribute('viewBox', '0 0 1000 1000'); 10 | document.body.appendChild(canvas); 11 | dot = document.createElementNS('http://www.w3.org/2000/svg', 'circle'); 12 | dot.setAttribute('r', 20); 13 | (randDot = function() { 14 | dot.setAttribute('cx', (Math.random() * 960) | 0 + 20); 15 | return dot.setAttribute('cy', (Math.random() * 960) | 0 + 20); 16 | })(); 17 | canvas.appendChild(dot); 18 | snake = { 19 | direction: 0, 20 | nodes: [] 21 | }; 22 | score = 0; 23 | speed = 10; 24 | stop = false; 25 | return move(); 26 | }; 27 | 28 | move = function() { 29 | var dotX, dotY, lastNode, lastX, lastY, nX, nY, node, old; 30 | if (stop) { 31 | return; 32 | } 33 | lastNode = snake.nodes[snake.nodes.length - 1]; 34 | if (lastNode) { 35 | lastX = +lastNode.getAttribute('cx'); 36 | lastY = +lastNode.getAttribute('cy'); 37 | } else { 38 | lastX = 500; 39 | lastY = 500; 40 | } 41 | if (snake.nodes.length > score) { 42 | old = snake.nodes.shift(); 43 | canvas.removeChild(old); 44 | } 45 | nX = lastX + Math.cos(snake.direction) * speed; 46 | nY = lastY + Math.sin(snake.direction) * speed; 47 | node = document.createElementNS('http://www.w3.org/2000/svg', 'circle'); 48 | node.setAttribute('r', 20); 49 | node.setAttribute('cx', nX); 50 | node.setAttribute('cy', nY); 51 | if (fill) { 52 | node.style.fill = fill; 53 | } 54 | dotX = +dot.getAttribute('cx'); 55 | dotY = +dot.getAttribute('cy'); 56 | if ((dotX - 20 < nX && nX < dotX + 20) && (dotY - 20 < nY && nY < dotY + 20)) { 57 | score++; 58 | speed++; 59 | randDot(); 60 | } 61 | canvas.appendChild(node); 62 | snake.nodes.push(node); 63 | return requestAnimationFrame(move); 64 | }; 65 | 66 | keyHandler = function(e) { 67 | var ref; 68 | if ((37 <= (ref = e.keyCode) && ref <= 40)) { 69 | snake.direction = Math.PI / 2 * ((e.keyCode - 35) % 4); 70 | return false; 71 | } 72 | }; 73 | 74 | show = function() { 75 | document.addEventListener('keydown', keyHandler); 76 | return render(); 77 | }; 78 | 79 | hide = function() { 80 | document.removeEventListener('keydown', keyHandler); 81 | stop = true; 82 | return document.removeChild(canvas); 83 | }; 84 | 85 | setTimeout(function() { 86 | if (Offline.getOption('game') && (document.addEventListener != null)) { 87 | Offline.on('down', show); 88 | Offline.on('up', hide); 89 | return Offline.on('reconnect:failure', function() { 90 | fill = '#ec8787'; 91 | return setTimeout(function() { 92 | return fill = 'black'; 93 | }, 2000); 94 | }); 95 | } 96 | }, 0); 97 | 98 | }).call(this); 99 | -------------------------------------------------------------------------------- /js/ui.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var RETRY_TEMPLATE, TEMPLATE, _onreadystatechange, addClass, content, createFromHTML, el, flashClass, flashTimeouts, init, removeClass, render, roundTime; 3 | 4 | if (!window.Offline) { 5 | throw new Error("Offline UI brought in without offline.js"); 6 | } 7 | 8 | TEMPLATE = '
'; 9 | 10 | RETRY_TEMPLATE = ''; 11 | 12 | createFromHTML = function(html) { 13 | var el; 14 | el = document.createElement('div'); 15 | el.innerHTML = html; 16 | return el.children[0]; 17 | }; 18 | 19 | el = content = null; 20 | 21 | addClass = function(name) { 22 | removeClass(name); 23 | return el.className += " " + name; 24 | }; 25 | 26 | removeClass = function(name) { 27 | return el.className = el.className.replace(new RegExp("(^| )" + (name.split(' ').join('|')) + "( |$)", 'gi'), ' '); 28 | }; 29 | 30 | flashTimeouts = {}; 31 | 32 | flashClass = function(name, time) { 33 | addClass(name); 34 | if (flashTimeouts[name] != null) { 35 | clearTimeout(flashTimeouts[name]); 36 | } 37 | return flashTimeouts[name] = setTimeout(function() { 38 | removeClass(name); 39 | return delete flashTimeouts[name]; 40 | }, time * 1000); 41 | }; 42 | 43 | roundTime = function(sec) { 44 | var mult, unit, units, val; 45 | units = { 46 | 'day': 86400, 47 | 'hour': 3600, 48 | 'minute': 60, 49 | 'second': 1 50 | }; 51 | for (unit in units) { 52 | mult = units[unit]; 53 | if (sec >= mult) { 54 | val = Math.floor(sec / mult); 55 | return [val, unit]; 56 | } 57 | } 58 | return ['now', '']; 59 | }; 60 | 61 | render = function() { 62 | var button, handler; 63 | el = createFromHTML(TEMPLATE); 64 | document.body.appendChild(el); 65 | if ((Offline.reconnect != null) && Offline.getOption('reconnect')) { 66 | el.appendChild(createFromHTML(RETRY_TEMPLATE)); 67 | button = el.querySelector('.offline-ui-retry'); 68 | handler = function(e) { 69 | e.preventDefault(); 70 | return Offline.reconnect.tryNow(); 71 | }; 72 | if (button.addEventListener != null) { 73 | button.addEventListener('click', handler, false); 74 | } else { 75 | button.attachEvent('click', handler); 76 | } 77 | } 78 | addClass("offline-ui-" + Offline.state); 79 | return content = el.querySelector('.offline-ui-content'); 80 | }; 81 | 82 | init = function() { 83 | render(); 84 | Offline.on('up', function() { 85 | removeClass('offline-ui-down'); 86 | addClass('offline-ui-up'); 87 | flashClass('offline-ui-up-2s', 2); 88 | return flashClass('offline-ui-up-5s', 5); 89 | }); 90 | Offline.on('down', function() { 91 | removeClass('offline-ui-up'); 92 | addClass('offline-ui-down'); 93 | flashClass('offline-ui-down-2s', 2); 94 | return flashClass('offline-ui-down-5s', 5); 95 | }); 96 | Offline.on('reconnect:connecting', function() { 97 | addClass('offline-ui-connecting'); 98 | return removeClass('offline-ui-waiting'); 99 | }); 100 | Offline.on('reconnect:tick', function() { 101 | var ref, time, unit; 102 | addClass('offline-ui-waiting'); 103 | removeClass('offline-ui-connecting'); 104 | ref = roundTime(Offline.reconnect.remaining), time = ref[0], unit = ref[1]; 105 | content.setAttribute('data-retry-in-value', time); 106 | return content.setAttribute('data-retry-in-unit', unit); 107 | }); 108 | Offline.on('reconnect:stopped', function() { 109 | removeClass('offline-ui-connecting offline-ui-waiting'); 110 | content.setAttribute('data-retry-in-value', null); 111 | return content.setAttribute('data-retry-in-unit', null); 112 | }); 113 | Offline.on('reconnect:failure', function() { 114 | flashClass('offline-ui-reconnect-failed-2s', 2); 115 | return flashClass('offline-ui-reconnect-failed-5s', 5); 116 | }); 117 | return Offline.on('reconnect:success', function() { 118 | flashClass('offline-ui-reconnect-succeeded-2s', 2); 119 | return flashClass('offline-ui-reconnect-succeeded-5s', 5); 120 | }); 121 | }; 122 | 123 | if (document.readyState === 'complete') { 124 | init(); 125 | } else if (document.addEventListener != null) { 126 | document.addEventListener('DOMContentLoaded', init, false); 127 | } else { 128 | _onreadystatechange = document.onreadystatechange; 129 | document.onreadystatechange = function() { 130 | if (document.readyState === 'complete') { 131 | init(); 132 | } 133 | return typeof _onreadystatechange === "function" ? _onreadystatechange.apply(null, arguments) : void 0; 134 | }; 135 | } 136 | 137 | }).call(this); 138 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "offline-js", 3 | "version": "0.7.19", 4 | "description": "Automatically detect when a browser is offline", 5 | "authors": [ 6 | "Adam Schwartz ", 7 | "Zack Bloom " 8 | ], 9 | "repository": { 10 | "type": "git", 11 | "url": "git://github.com/HubSpot/offline.git" 12 | }, 13 | "main": "offline.js", 14 | "license": "MIT", 15 | "devDependencies": { 16 | "coffee-script": "^1.9.3", 17 | "color": "^0.9.0", 18 | "grunt": "^0.4.1", 19 | "grunt-cli": "^0.1.9", 20 | "grunt-contrib-coffee": "^0.13.0", 21 | "grunt-contrib-compass": "^1.0.3", 22 | "grunt-contrib-uglify": "^0.9.1", 23 | "grunt-contrib-watch": "^0.6.1" 24 | }, 25 | "scripts": { 26 | "build": "grunt" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /sass/_arabic.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | $upComputer: "الحاسوب متصل بالإنترنت." 3 | $upDevice: "جهازك متصل بالإنترنت" 4 | $upDeviceSmall: ".جهازك متصل" 5 | 6 | 7 | $downComputer: ".الحاسوب فقد الاتصال بالإنترنت" 8 | $downDevice: ".جهازك فقد الاتصال بالإنترنت" 9 | $downDeviceSmall: ".جهازك غير متصل" 10 | 11 | $connecting: "...محاولة إعادة الاتصال" 12 | 13 | $retryButton: " إعادة الاتصال" 14 | 15 | $reconnectFailed: ".فشلت محاولة الاتصال" 16 | 17 | $retryingSecondBeforeValueSingularComputer: " الاتصال فقد إعادة الاتصال في" 18 | $retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 19 | 20 | $retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 21 | $retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 22 | 23 | $retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 24 | $retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 25 | 26 | $retryingSecondBeforeValueSingularDeviceSmall: " إعادة الاتصال في" 27 | $retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 28 | 29 | $retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 30 | $retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 31 | 32 | $retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 33 | $retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 34 | 35 | $retryingSecondAfterValueSingularComputer: " ...ثانية" 36 | $retryingSecondAfterValuePluralComputer: " ...ثواني" 37 | 38 | $retryingSecondAfterValueSingularDeviceSmall: "...ث" 39 | $retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall 40 | 41 | $retryingMinuteAfterValueSingularComputer: " ...دقيقة" 42 | $retryingMinuteAfterValuePluralComputer: " ...دقائق" 43 | 44 | $retryingMinuteAfterValueSingularDeviceSmall: "...د" 45 | $retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall 46 | 47 | $retryingHourAfterValueSingularComputer: " ...ساعه" 48 | $retryingHourAfterValuePluralComputer: " ...ساعات" 49 | 50 | $retryingHourAfterValueSingularDeviceSmall: "...س" 51 | $retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall 52 | -------------------------------------------------------------------------------- /sass/_chinese-simplified.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | 3 | $upComputer: "您的电脑已经连接到网络。" 4 | $upDevice: "您的设备已经连接到网络。" 5 | $upDeviceSmall: "您的设备已经连接到网络。" 6 | 7 | $downComputer: "您的电脑失去了网络连接。" 8 | $downDevice: "您的设备失去了网络连接。" 9 | $downDeviceSmall: "您的设备失去了网络连接。" 10 | 11 | $connecting: "正在尝试重连..." 12 | 13 | $retryButton: "重连" 14 | 15 | $reconnectFailed: "尝试连接网络失败。" 16 | 17 | $retryingSecondBeforeValueSingularComputer: "失去网络连接。 即将重连:" 18 | $retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 19 | 20 | $retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 21 | $retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 22 | 23 | $retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 24 | $retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 25 | 26 | $retryingSecondBeforeValueSingularDeviceSmall: "即将重连:" 27 | $retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 28 | 29 | $retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 30 | $retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 31 | 32 | $retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 33 | $retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 34 | 35 | $retryingSecondAfterValueSingularComputer: "秒..." 36 | $retryingSecondAfterValuePluralComputer: "秒..." 37 | 38 | $retryingSecondAfterValueSingularDeviceSmall: "s..." 39 | $retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall 40 | 41 | $retryingMinuteAfterValueSingularComputer: "分钟..." 42 | $retryingMinuteAfterValuePluralComputer: "分钟..." 43 | 44 | $retryingMinuteAfterValueSingularDeviceSmall: "m..." 45 | $retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall 46 | 47 | $retryingHourAfterValueSingularComputer: "小时..." 48 | $retryingHourAfterValuePluralComputer: "小时..." 49 | 50 | $retryingHourAfterValueSingularDeviceSmall: "h..." 51 | $retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall 52 | -------------------------------------------------------------------------------- /sass/_chinese-traditional.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | 3 | $upComputer: "您的電腦已經連接到網絡。" 4 | $upDevice: "您的設備已經連接到網絡。" 5 | $upDeviceSmall: "您的設備已經連接到網絡。" 6 | 7 | $downComputer: "您的電腦失去了網絡連接。" 8 | $downDevice: "您的設備失去了網絡連接。" 9 | $downDeviceSmall: "您的設備失去了網絡連接。" 10 | 11 | $connecting: "正在嘗試重連..." 12 | 13 | $retryButton: "重連" 14 | 15 | $reconnectFailed: "嘗試連接網絡失敗。" 16 | 17 | $retryingSecondBeforeValueSingularComputer: "失去網絡連接。即將重連:" 18 | $retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 19 | 20 | $retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 21 | $retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 22 | 23 | $retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 24 | $retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 25 | 26 | $retryingSecondBeforeValueSingularDeviceSmall: "即將重連:" 27 | $retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 28 | 29 | $retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 30 | $retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 31 | 32 | $retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 33 | $retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 34 | 35 | $retryingSecondAfterValueSingularComputer: "秒..." 36 | $retryingSecondAfterValuePluralComputer: "秒..." 37 | 38 | $retryingSecondAfterValueSingularDeviceSmall: "s..." 39 | $retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall 40 | 41 | $retryingMinuteAfterValueSingularComputer: "分鐘..." 42 | $retryingMinuteAfterValuePluralComputer: "分鐘..." 43 | 44 | $retryingMinuteAfterValueSingularDeviceSmall: "m..." 45 | $retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall 46 | 47 | $retryingHourAfterValueSingularComputer: "小時..." 48 | $retryingHourAfterValuePluralComputer: "小時..." 49 | 50 | $retryingHourAfterValueSingularDeviceSmall: "h..." 51 | $retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall 52 | -------------------------------------------------------------------------------- /sass/_content.sass: -------------------------------------------------------------------------------- 1 | =offline-content 2 | .offline-ui 3 | 4 | .offline-ui-retry 5 | 6 | &:before 7 | content: $retryButton 8 | 9 | &.offline-ui-up 10 | 11 | .offline-ui-content:before 12 | content: $upComputer 13 | 14 | @media (max-width: 1024px) 15 | content: $upDevice 16 | 17 | @media (max-width: 568px) 18 | content: $upDeviceSmall 19 | 20 | &.offline-ui-down 21 | 22 | .offline-ui-content:before 23 | content: $downComputer 24 | 25 | @media (max-width: 1024px) 26 | content: $downDevice 27 | 28 | @media (max-width: 568px) 29 | content: $downDeviceSmall 30 | 31 | &.offline-ui-connecting, &.offline-ui-connecting-2s 32 | 33 | .offline-ui-content:before 34 | content: $connecting 35 | 36 | &.offline-ui-waiting 37 | 38 | .offline-ui-content 39 | 40 | &[data-retry-in-unit="second"] 41 | 42 | &:before 43 | content: $retryingSecondBeforeValuePluralComputer attr(data-retry-in-value) $retryingSecondAfterValuePluralComputer 44 | 45 | @media (max-width: 568px) 46 | content: $retryingSecondBeforeValuePluralDeviceSmall attr(data-retry-in-value) $retryingSecondAfterValuePluralDeviceSmall 47 | 48 | &[data-retry-in-value="1"] 49 | 50 | &:before 51 | content: $retryingSecondBeforeValueSingularComputer attr(data-retry-in-value) $retryingSecondAfterValueSingularComputer 52 | 53 | @media (max-width: 568px) 54 | content: $retryingSecondBeforeValueSingularDeviceSmall attr(data-retry-in-value) $retryingSecondAfterValueSingularDeviceSmall 55 | 56 | &[data-retry-in-unit="minute"] 57 | 58 | &:before 59 | content: $retryingMinuteBeforeValuePluralComputer attr(data-retry-in-value) $retryingMinuteAfterValuePluralComputer 60 | 61 | @media (max-width: 568px) 62 | content: $retryingMinuteBeforeValuePluralDeviceSmall attr(data-retry-in-value) $retryingMinuteAfterValuePluralDeviceSmall 63 | 64 | &[data-retry-in-value="1"] 65 | 66 | &:before 67 | content: $retryingMinuteBeforeValueSingularComputer attr(data-retry-in-value) $retryingMinuteAfterValueSingularComputer 68 | 69 | @media (max-width: 568px) 70 | content: $retryingMinuteBeforeValueSingularDeviceSmall attr(data-retry-in-value) $retryingMinuteAfterValueSingularDeviceSmall 71 | 72 | &[data-retry-in-unit="hour"] 73 | 74 | &:before 75 | content: $retryingHourBeforeValuePluralComputer attr(data-retry-in-value) $retryingHourAfterValuePluralComputer 76 | 77 | @media (max-width: 568px) 78 | content: $retryingHourBeforeValuePluralDeviceSmall attr(data-retry-in-value) $retryingHourAfterValuePluralDeviceSmall 79 | 80 | &[data-retry-in-value="1"] 81 | 82 | &:before 83 | content: $retryingHourBeforeValueSingularComputer attr(data-retry-in-value) $retryingHourAfterValueSingularComputer 84 | 85 | @media (max-width: 568px) 86 | content: $retryingHourBeforeValueSingularDeviceSmall attr(data-retry-in-value) $retryingHourAfterValueSingularDeviceSmall 87 | 88 | &.offline-ui-reconnect-failed-2s 89 | 90 | &.offline-ui-waiting .offline-ui-retry 91 | display: none 92 | 93 | .offline-ui-content:before 94 | content: $reconnectFailed -------------------------------------------------------------------------------- /sass/_czech.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | 3 | $upComputer: "Váš počítač je připojen k internetu." 4 | $upDevice: "Vaše zařízení je připojeno k internetu." 5 | $upDeviceSmall: "Vaše zařízení je připojeno." 6 | 7 | $downComputer: "Váš počítač ztratil připojení k internetu." 8 | $downDevice: "Vaše zařízení ztratilo připojení k internetu." 9 | $downDeviceSmall: "Vaše zařízení není připojeno." 10 | 11 | $connecting: "Zkouším se znovu připojit..." 12 | 13 | $retryButton: "Znovu připojit" 14 | 15 | $reconnectFailed: "Pokus o připojení selhal." 16 | 17 | $retryingSecondBeforeValueSingularComputer: "Připojení ztraceno. Znovu zkusím za " 18 | $retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 19 | 20 | $retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 21 | $retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 22 | 23 | $retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 24 | $retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 25 | 26 | $retryingSecondBeforeValueSingularDeviceSmall: "Znovu zkusím za " 27 | $retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 28 | 29 | $retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 30 | $retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 31 | 32 | $retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 33 | $retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 34 | 35 | $retryingSecondAfterValueSingularComputer: " sekundu..." 36 | $retryingSecondAfterValuePluralComputer: " sekund..." 37 | 38 | $retryingSecondAfterValueSingularDeviceSmall: "s..." 39 | $retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall 40 | 41 | $retryingMinuteAfterValueSingularComputer: " minutu..." 42 | $retryingMinuteAfterValuePluralComputer: " minut..." 43 | 44 | $retryingMinuteAfterValueSingularDeviceSmall: "m..." 45 | $retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall 46 | 47 | $retryingHourAfterValueSingularComputer: " hodinu..." 48 | $retryingHourAfterValuePluralComputer: " hodin..." 49 | 50 | $retryingHourAfterValueSingularDeviceSmall: "h..." 51 | $retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall 52 | -------------------------------------------------------------------------------- /sass/_dutch.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | 3 | $upComputer: "Computer verbonden met internet." 4 | $upDevice: "Apparaat verbonden met internet." 5 | $upDeviceSmall: "Apparaat verbonden met internet." 6 | 7 | $downComputer: "Computer niet verbonden met internet." 8 | $downDevice: "Apparaat niet verbonden met internet." 9 | $downDeviceSmall: "Apparaat niet verbonden met internet." 10 | 11 | $connecting: "Opnieuw proberen..." 12 | 13 | $retryButton: "Opnieuw" 14 | 15 | $reconnectFailed: "Poging mislukt." 16 | 17 | $retryingSecondBeforeValueSingularComputer: "Internetverbinding kwijt. Opnieuw proberen over " 18 | $retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 19 | 20 | $retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 21 | $retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 22 | 23 | $retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 24 | $retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 25 | 26 | $retryingSecondBeforeValueSingularDeviceSmall: "Opnieuw proberen over " 27 | $retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 28 | 29 | $retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 30 | $retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 31 | 32 | $retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 33 | $retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 34 | 35 | $retryingSecondAfterValueSingularComputer: " seconde..." 36 | $retryingSecondAfterValuePluralComputer: " seconden..." 37 | 38 | $retryingSecondAfterValueSingularDeviceSmall: "s..." 39 | $retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall 40 | 41 | $retryingMinuteAfterValueSingularComputer: " minuut..." 42 | $retryingMinuteAfterValuePluralComputer: " minuten..." 43 | 44 | $retryingMinuteAfterValueSingularDeviceSmall: "m..." 45 | $retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall 46 | 47 | $retryingHourAfterValueSingularComputer: " uur..." 48 | $retryingHourAfterValuePluralComputer: " uren..." 49 | 50 | $retryingHourAfterValueSingularDeviceSmall: "u..." 51 | $retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall 52 | -------------------------------------------------------------------------------- /sass/_english.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | $upComputer: "Your computer is connected to the internet." 3 | $upDevice: "Your device is connected to the internet." 4 | $upDeviceSmall: "Your device is connected." 5 | 6 | $downComputer: "Your computer lost its internet connection." 7 | $downDevice: "Your device lost its internet connection." 8 | $downDeviceSmall: "Your device isn't connected." 9 | 10 | $connecting: "Attempting to reconnect..." 11 | 12 | $retryButton: "Reconnect" 13 | 14 | $reconnectFailed: "Connection attempt failed." 15 | 16 | $retryingSecondBeforeValueSingularComputer: "Connection lost. Reconnecting in " 17 | $retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 18 | 19 | $retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 20 | $retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 21 | 22 | $retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 23 | $retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 24 | 25 | $retryingSecondBeforeValueSingularDeviceSmall: "Reconnecting in " 26 | $retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 27 | 28 | $retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 29 | $retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 30 | 31 | $retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 32 | $retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 33 | 34 | $retryingSecondAfterValueSingularComputer: " second..." 35 | $retryingSecondAfterValuePluralComputer: " seconds..." 36 | 37 | $retryingSecondAfterValueSingularDeviceSmall: "s..." 38 | $retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall 39 | 40 | $retryingMinuteAfterValueSingularComputer: " minute..." 41 | $retryingMinuteAfterValuePluralComputer: " minutes..." 42 | 43 | $retryingMinuteAfterValueSingularDeviceSmall: "m..." 44 | $retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall 45 | 46 | $retryingHourAfterValueSingularComputer: " hour..." 47 | $retryingHourAfterValuePluralComputer: " hours..." 48 | 49 | $retryingHourAfterValueSingularDeviceSmall: "h..." 50 | $retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall 51 | -------------------------------------------------------------------------------- /sass/_french.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | $upComputer: "Votre ordinateur est connecté à Internet." 3 | $upDevice: "Votre appareil est connecté à Internet." 4 | $upDeviceSmall: "Votre appareil est connecté." 5 | 6 | $downComputer: "Votre ordinateur a perdu sa connexion Internet." 7 | $downDevice: "Votre appareil a perdu sa connexion Internet." 8 | $downDeviceSmall: "Votre appareil n'est pas branché." 9 | 10 | $connecting: "Tentative de reconnexion..." 11 | 12 | $retryButton: "Reconnecter" 13 | 14 | $reconnectFailed: "La tentative de connexion a échoué." 15 | 16 | $retryingSecondBeforeValueSingularComputer: "Connexion perdue. Reconnexion dans " 17 | $retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 18 | 19 | $retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 20 | $retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 21 | 22 | $retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 23 | $retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 24 | 25 | $retryingSecondBeforeValueSingularDeviceSmall: "Reconnexion dans " 26 | $retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 27 | 28 | $retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 29 | $retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 30 | 31 | $retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 32 | $retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 33 | 34 | $retryingSecondAfterValueSingularComputer: " seconde..." 35 | $retryingSecondAfterValuePluralComputer: " secondes..." 36 | 37 | $retryingSecondAfterValueSingularDeviceSmall: "s..." 38 | $retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall 39 | 40 | $retryingMinuteAfterValueSingularComputer: " minute..." 41 | $retryingMinuteAfterValuePluralComputer: " minutes..." 42 | 43 | $retryingMinuteAfterValueSingularDeviceSmall: "m..." 44 | $retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall 45 | 46 | $retryingHourAfterValueSingularComputer: " heure..." 47 | $retryingHourAfterValuePluralComputer: " heures..." 48 | 49 | $retryingHourAfterValueSingularDeviceSmall: "h..." 50 | $retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall 51 | -------------------------------------------------------------------------------- /sass/_german.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | $upComputer: "Dein Computer ist mit dem Internet verbunden." 3 | $upDevice: "Deing Gerät ist mit dem Internet verbunden." 4 | $upDeviceSmall: "Dein Gerät ist online." 5 | 6 | $downComputer: "Dein Computer wurde vom Internet getrennt." 7 | $downDevice: "Dein Gerät wurde vom Internet getrennt." 8 | $downDeviceSmall: "Keine Internetverbindung." 9 | 10 | $connecting: "Versuche Verbindung wiederherzustellen..." 11 | 12 | $retryButton: "Verbinden" 13 | 14 | $reconnectFailed: "Verbindung Fehlgeschlagen." 15 | 16 | $retryingSecondBeforeValueSingularComputer: "Keine Verbindung. Verbinde nochmal in " 17 | $retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 18 | 19 | $retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 20 | $retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 21 | 22 | $retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 23 | $retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 24 | 25 | $retryingSecondBeforeValueSingularDeviceSmall: "Verbinde in " 26 | $retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 27 | 28 | $retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 29 | $retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 30 | 31 | $retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 32 | $retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 33 | 34 | $retryingSecondAfterValueSingularComputer: " Sekunde..." 35 | $retryingSecondAfterValuePluralComputer: " Sekunden..." 36 | 37 | $retryingSecondAfterValueSingularDeviceSmall: "s..." 38 | $retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall 39 | 40 | $retryingMinuteAfterValueSingularComputer: " Minute..." 41 | $retryingMinuteAfterValuePluralComputer: " Minuten..." 42 | 43 | $retryingMinuteAfterValueSingularDeviceSmall: "m..." 44 | $retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall 45 | 46 | $retryingHourAfterValueSingularComputer: " Stunde..." 47 | $retryingHourAfterValuePluralComputer: " Stunden..." 48 | 49 | $retryingHourAfterValueSingularDeviceSmall: "h..." 50 | $retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall 51 | -------------------------------------------------------------------------------- /sass/_italian.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | $upComputer: "Il tuo computer è connesso ad internet." 3 | $upDevice: "Il tuo device è connesso ad internet." 4 | $upDeviceSmall: "Il tuo device è connesso." 5 | 6 | $downComputer: "Il tuo computer si è disconnesso da internet." 7 | $downDevice: "Il tuo device si è disconnesso da internet." 8 | $downDeviceSmall: "Il tuo device si è disconnesso." 9 | 10 | $connecting: "Connessione in corso..." 11 | 12 | $retryButton: "Riconnetti" 13 | 14 | $reconnectFailed: "Tentativo di connessione fallito." 15 | 16 | $retryingSecondBeforeValueSingularComputer: "Connessione persa. Riconnessione tra " 17 | $retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 18 | 19 | $retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 20 | $retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 21 | 22 | $retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 23 | $retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 24 | 25 | $retryingSecondBeforeValueSingularDeviceSmall: "Riconnessione tra " 26 | $retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 27 | 28 | $retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 29 | $retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 30 | 31 | $retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 32 | $retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 33 | 34 | $retryingSecondAfterValueSingularComputer: " secondo..." 35 | $retryingSecondAfterValuePluralComputer: " secondi..." 36 | 37 | $retryingSecondAfterValueSingularDeviceSmall: "s..." 38 | $retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall 39 | 40 | $retryingMinuteAfterValueSingularComputer: " minuto..." 41 | $retryingMinuteAfterValuePluralComputer: " minuti..." 42 | 43 | $retryingMinuteAfterValueSingularDeviceSmall: "m..." 44 | $retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall 45 | 46 | $retryingHourAfterValueSingularComputer: " ora..." 47 | $retryingHourAfterValuePluralComputer: " ore..." 48 | 49 | $retryingHourAfterValueSingularDeviceSmall: "h..." 50 | $retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall 51 | -------------------------------------------------------------------------------- /sass/_keyframes.sass: -------------------------------------------------------------------------------- 1 | @import compass/css3 2 | @import mixins 3 | 4 | =keyframes-offline-fadein 5 | +offline-keyframes("offline-fadein") 6 | 0% 7 | opacity: 0 8 | 100% 9 | opacity: 1 10 | 11 | =keyframes-offline-fadeout 12 | +offline-keyframes("offline-fadeout") 13 | 0% 14 | opacity: 1 15 | 100% 16 | opacity: 0 17 | 18 | =keyframes-offline-fadeout-and-hide 19 | +offline-keyframes("offline-fadeout-and-hide") 20 | 0% 21 | opacity: 1 22 | display: block 23 | 99% 24 | opacity: 0 25 | display: block 26 | 100% 27 | opacity: 0 28 | display: none 29 | 30 | =keyframes-offline-dropin 31 | +offline-keyframes("offline-dropin") 32 | // We start at 0 first and, while hidden 33 | // move to -800px, where the animation 34 | // really begins. This was necessary because 35 | // otherwise, when starting the animation 36 | // at -800px, the browser scrolls up 800px 37 | // to try to display this object positioned 38 | // above the page. 39 | // https://github.com/HubSpot/vex/issues/21 40 | 0% 41 | +offline-transform(translateY(0)) 42 | opacity: 0 43 | 1% 44 | +offline-transform(translateY(-800px)) 45 | opacity: 0 46 | 47 | // Real animation begins here 48 | 2% 49 | +offline-transform(translateY(-800px)) 50 | opacity: 1 51 | 100% 52 | +offline-transform(translateY(0)) 53 | opacity: 1 54 | 55 | =keyframes-offline-dropout 56 | +offline-keyframes("offline-dropout") 57 | 0% 58 | +offline-transform(translateY(0)) 59 | 100% 60 | +offline-transform(translateY(-800px)) 61 | 62 | =keyframes-offline-rotation 63 | +offline-keyframes("offline-rotation") 64 | 0% 65 | +offline-transform(rotate(0deg)) 66 | 100% 67 | +offline-transform(rotate(359deg)) -------------------------------------------------------------------------------- /sass/_mixins.sass: -------------------------------------------------------------------------------- 1 | =offline-keyframes($name) 2 | @-webkit-keyframes #{$name} 3 | @content 4 | @-moz-keyframes #{$name} 5 | @content 6 | @-ms-keyframes #{$name} 7 | @content 8 | @-o-keyframes #{$name} 9 | @content 10 | @keyframes #{$name} 11 | @content 12 | 13 | =offline-animation($animation) 14 | -webkit-animation: $animation 15 | -moz-animation: $animation 16 | -ms-animation: $animation 17 | -o-animation: $animation 18 | animation: $animation 19 | -webkit-backface-visibility: hidden 20 | 21 | =offline-transform($transform) 22 | transform: $transform 23 | -webkit-transform: $transform 24 | -moz-transform: $transform 25 | -ms-transform: $transform 26 | -o-transform: $transform 27 | 28 | =offline-preserve-3d 29 | -webkit-transform-style: preserve-3d 30 | -moz-transform-style: preserve-3d 31 | transform-style: preserve-3d -------------------------------------------------------------------------------- /sass/_offline-theme-base-indicator.sass: -------------------------------------------------------------------------------- 1 | @import compass/css3 2 | 3 | .offline-ui, .offline-ui *, .offline-ui:before, .offline-ui:after, .offline-ui *:before, .offline-ui *:after 4 | +box-sizing(border-box) 5 | 6 | .offline-ui 7 | display: none 8 | position: fixed 9 | background: #fff 10 | z-index: 2000 11 | display: inline-block 12 | 13 | .offline-ui-retry 14 | display: none 15 | 16 | &.offline-ui-up 17 | display: block 18 | 19 | &.offline-ui-down 20 | display: block -------------------------------------------------------------------------------- /sass/_offline-theme-base.sass: -------------------------------------------------------------------------------- 1 | @import compass/css3 2 | @import compass/css3/user-interface 3 | 4 | .offline-ui, .offline-ui *, .offline-ui:before, .offline-ui:after, .offline-ui *:before, .offline-ui *:after 5 | +box-sizing(border-box) 6 | 7 | .offline-ui 8 | display: none 9 | position: fixed 10 | background: #fff 11 | z-index: 2000 12 | margin: auto 13 | top: 0 14 | left: 0 15 | right: 0 16 | 17 | .offline-ui-content:before 18 | display: inline 19 | 20 | .offline-ui-retry 21 | +user-select(none) 22 | display: none 23 | 24 | &:before 25 | display: inline 26 | 27 | &.offline-ui-up 28 | 29 | &.offline-ui-up-5s 30 | display: block 31 | 32 | &.offline-ui-down 33 | display: block 34 | 35 | &.offline-ui-waiting 36 | 37 | .offline-ui-retry 38 | display: block 39 | 40 | &.offline-ui-reconnect-failed-2s 41 | 42 | &.offline-ui-waiting .offline-ui-retry 43 | display: none 44 | -------------------------------------------------------------------------------- /sass/_pashto.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | $upComputer: "ستاسو د کمپيوټر له انټرنيټ سره وصل دی." 3 | $upDevice: "ستاسو وسيله چې د انټرنټ سره نښلي." 4 | $upDeviceSmall: "ستاسو آله سره نښلي." 5 | 6 | $downComputer: "ستاسو د کمپيوټر د خپل د انټرنېټ پیوستون له لاسه ورکړ." 7 | $downDevice: "ستاسو آله خپل د انټرنېټ پیوستون له لاسه ورکړ." 8 | $downDeviceSmall: "ستاسو آله نه نښلي." 9 | 10 | $connecting: "هڅه کوي تر څو یو ځل بیا سره نښلوي" 11 | 12 | $retryButton: "بيا ونښلوي" 13 | 14 | $reconnectFailed: "پیوستون هڅه ناکامه شوه." 15 | 16 | $retryingSecondBeforeValueSingularComputer: "پیوستون له لاسه ورکړ. بيا په سره نښلوي" 17 | $retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 18 | 19 | $retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 20 | $retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 21 | 22 | $retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 23 | $retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 24 | 25 | $retryingSecondBeforeValueSingularDeviceSmall: "بيا په سره نښلوي" 26 | $retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 27 | 28 | $retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 29 | $retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 30 | 31 | $retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 32 | $retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 33 | 34 | $retryingSecondAfterValueSingularComputer: "دوهم..." 35 | $retryingSecondAfterValuePluralComputer: "ثانيو ..." 36 | 37 | $retryingSecondAfterValueSingularDeviceSmall: "s..." 38 | $retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall 39 | 40 | $retryingMinuteAfterValueSingularComputer: "دقیقه ..." 41 | $retryingMinuteAfterValuePluralComputer: "دقیقو ..." 42 | 43 | $retryingMinuteAfterValueSingularDeviceSmall: "m..." 44 | $retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall 45 | 46 | $retryingHourAfterValueSingularComputer: "ساعت ..." 47 | $retryingHourAfterValuePluralComputer: "ساعتونو کې ..." 48 | 49 | $retryingHourAfterValueSingularDeviceSmall: "h..." 50 | $retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall 51 | -------------------------------------------------------------------------------- /sass/_persian.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | $upComputer: "ارتباط کامپیوتر شما با اینترنت برقرار است." 3 | $upDevice: "ارتباط دستگاه شما با اینترنت برقرار است." 4 | $upDeviceSmall: "دستگاه شما متصل است." 5 | 6 | $downComputer: "ازتباط کامپیوتر شما با اینترنت قطع شده است." 7 | $downDevice: "ارتباط دستگاه شما با اینترنت قطع شده است." 8 | $downDeviceSmall: "دستگاه شما متصل نیست." 9 | 10 | $connecting: "تلاش برای اتصال مجدد..." 11 | 12 | $retryButton: "اتصال مجدد" 13 | 14 | $reconnectFailed: "تلاش برای اتصال مجدد بی نتیجه بود." 15 | 16 | $retryingSecondBeforeValueSingularComputer: "اتصال قطع شد. اتصال مجدد در " 17 | $retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 18 | 19 | $retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 20 | $retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 21 | 22 | $retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 23 | $retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 24 | 25 | $retryingSecondBeforeValueSingularDeviceSmall: "اتصال مجدد در " 26 | $retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 27 | 28 | $retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 29 | $retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 30 | 31 | $retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 32 | $retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 33 | 34 | $retryingSecondAfterValueSingularComputer: " ثانیه..." 35 | $retryingSecondAfterValuePluralComputer: " ثانیه..." 36 | 37 | $retryingSecondAfterValueSingularDeviceSmall: "s..." 38 | $retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall 39 | 40 | $retryingMinuteAfterValueSingularComputer: " دقیقه..." 41 | $retryingMinuteAfterValuePluralComputer: " دقیقه..." 42 | 43 | $retryingMinuteAfterValueSingularDeviceSmall: "m..." 44 | $retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall 45 | 46 | $retryingHourAfterValueSingularComputer: " ساعت..." 47 | $retryingHourAfterValuePluralComputer: " ساعت..." 48 | 49 | $retryingHourAfterValueSingularDeviceSmall: "h..." 50 | $retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall 51 | -------------------------------------------------------------------------------- /sass/_polish.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | $upComputer: "Twój komputer jest podłączony do internetu." 3 | $upDevice: "Twoje urządzenie jest podłączone do internetu." 4 | $upDeviceSmall: "Twoje urządzenie jest podłączone." 5 | 6 | $downComputer: "Twój komputer stracił połączenie z internetem." 7 | $downDevice: "Twoje urządzenie straciło połączenie z internetem." 8 | $downDeviceSmall: "Twoje urządzenie nie jest podłączone." 9 | 10 | $connecting: "Próbuję połączyć..." 11 | 12 | $retryButton: "Połącz teraz" 13 | 14 | $reconnectFailed: "Nieudana próba podłączenia." 15 | 16 | $retryingSecondBeforeValueSingularComputer: "Połączenie utracone. Ponawiam za " 17 | $retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 18 | 19 | $retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 20 | $retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 21 | 22 | $retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 23 | $retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 24 | 25 | $retryingSecondBeforeValueSingularDeviceSmall: "Ponawiam za " 26 | $retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 27 | 28 | $retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 29 | $retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 30 | 31 | $retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 32 | $retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 33 | 34 | $retryingSecondAfterValueSingularComputer: " sekundę..." 35 | $retryingSecondAfterValuePluralComputer: " sekund..." 36 | 37 | $retryingSecondAfterValueSingularDeviceSmall: "s..." 38 | $retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall 39 | 40 | $retryingMinuteAfterValueSingularComputer: " minutę..." 41 | $retryingMinuteAfterValuePluralComputer: " minut..." 42 | 43 | $retryingMinuteAfterValueSingularDeviceSmall: "m..." 44 | $retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall 45 | 46 | $retryingHourAfterValueSingularComputer: " godzinę..." 47 | $retryingHourAfterValuePluralComputer: " godzin..." 48 | 49 | $retryingHourAfterValueSingularDeviceSmall: "h..." 50 | $retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall 51 | -------------------------------------------------------------------------------- /sass/_portuguese-brazil.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | $upComputer: "Seu computador está conectado à internet." 3 | $upDevice: "O dispositivo está conectado à internet." 4 | $upDeviceSmall: "O dispositivo está conectado." 5 | 6 | $downComputer: "O computador perdeu sua conexão com a internet." 7 | $downDevice: "O dispositivo perdeu sua conexão com a internet." 8 | $downDeviceSmall: "Seu dispositivo não está conectado." 9 | 10 | $connecting: "Tentando reconectar..." 11 | 12 | $retryButton: "Reconectar" 13 | 14 | $reconnectFailed: "Tentativa de conexão falhou." 15 | 16 | $retryingSecondBeforeValueSingularComputer: "Conexão perdida. Reconectando em " 17 | $retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 18 | 19 | $retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 20 | $retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 21 | 22 | $retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 23 | $retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 24 | 25 | $retryingSecondBeforeValueSingularDeviceSmall: "Reconectando em " 26 | $retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 27 | 28 | $retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 29 | $retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 30 | 31 | $retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 32 | $retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 33 | 34 | $retryingSecondAfterValueSingularComputer: " segundo..." 35 | $retryingSecondAfterValuePluralComputer: " segundos..." 36 | 37 | $retryingSecondAfterValueSingularDeviceSmall: "s..." 38 | $retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall 39 | 40 | $retryingMinuteAfterValueSingularComputer: " minuto..." 41 | $retryingMinuteAfterValuePluralComputer: " minutos..." 42 | 43 | $retryingMinuteAfterValueSingularDeviceSmall: "m..." 44 | $retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall 45 | 46 | $retryingHourAfterValueSingularComputer: " hora..." 47 | $retryingHourAfterValuePluralComputer: " horas..." 48 | 49 | $retryingHourAfterValueSingularDeviceSmall: "h..." 50 | $retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall 51 | -------------------------------------------------------------------------------- /sass/_spanish.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | $upComputer: "Tu computador está conectado a internet." 3 | $upDevice: "Tu dispositivo está conectado a internet." 4 | $upDeviceSmall: "Tu dispositivo está conectado." 5 | 6 | $downComputer: "Tu computador perdió su conexión a internet." 7 | $downDevice: "Tu dispositivo perdió su conexión a internet." 8 | $downDeviceSmall: "Tu dispositivo no está conectado." 9 | 10 | $connecting: "Intentando reconectar..." 11 | 12 | $retryButton: "Reconectar" 13 | 14 | $reconnectFailed: "Intento fallido." 15 | 16 | $retryingSecondBeforeValueSingularComputer: "Conexión perdida. Reconectando en " 17 | $retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 18 | 19 | $retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 20 | $retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 21 | 22 | $retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 23 | $retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 24 | 25 | $retryingSecondBeforeValueSingularDeviceSmall: "Reconectando en " 26 | $retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 27 | 28 | $retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 29 | $retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 30 | 31 | $retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 32 | $retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 33 | 34 | $retryingSecondAfterValueSingularComputer: " segundo..." 35 | $retryingSecondAfterValuePluralComputer: " segundos..." 36 | 37 | $retryingSecondAfterValueSingularDeviceSmall: "s..." 38 | $retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall 39 | 40 | $retryingMinuteAfterValueSingularComputer: " minuto..." 41 | $retryingMinuteAfterValuePluralComputer: " minutos..." 42 | 43 | $retryingMinuteAfterValueSingularDeviceSmall: "m..." 44 | $retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall 45 | 46 | $retryingHourAfterValueSingularComputer: " hora..." 47 | $retryingHourAfterValuePluralComputer: " horas..." 48 | 49 | $retryingHourAfterValueSingularDeviceSmall: "h..." 50 | $retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall 51 | -------------------------------------------------------------------------------- /sass/_turkish.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | $upComputer: "Bilgisayarınız internete bağlı." 3 | $upDevice: "Cihazınız internete bağlı." 4 | $upDeviceSmall: "Cihazınız bağlı." 5 | 6 | $downComputer: "Bilgisayarınız internet bağlantısı kesildi." 7 | $downDevice: "Cihazınızın internet bağlantısı kesildi." 8 | $downDeviceSmall: "Cihazınız internete bağlı değil." 9 | 10 | $connecting: "Yeniden bağlanmaya çalışıyor..." 11 | 12 | $retryButton: "Yeniden bağlan" 13 | 14 | $reconnectFailed: "Bağlantı denemesi başarısız oldu." 15 | 16 | $retryingSecondBeforeValueSingularComputer: "Bağlantı kesildi. " 17 | $retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 18 | 19 | $retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 20 | $retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 21 | 22 | $retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer 23 | $retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer 24 | 25 | $retryingSecondBeforeValueSingularDeviceSmall: " " 26 | $retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 27 | 28 | $retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 29 | $retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 30 | 31 | $retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 32 | $retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall 33 | 34 | $retryingSecondAfterValueSingularComputer: " saniye içinde tekrar bağlanmayı deneyecek..." 35 | $retryingSecondAfterValuePluralComputer: " saniye içinde tekrar bağlanmayı deneyecek..." 36 | 37 | $retryingSecondAfterValueSingularDeviceSmall: "saniye içinde tekrar bağlanmayı deneyecek..." 38 | $retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall 39 | 40 | $retryingMinuteAfterValueSingularComputer: " dakika içersinde tekrar bağlanmayı deneyecek..." 41 | $retryingMinuteAfterValuePluralComputer: " dakika içersinde tekrar bağlanmayı deneyecek..." 42 | 43 | $retryingMinuteAfterValueSingularDeviceSmall: "dakika içersinde tekrar bağlanmayı deneyecek..." 44 | $retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall 45 | 46 | $retryingHourAfterValueSingularComputer: " saat içersinde tekrar bağlanmayı deneyecek..." 47 | $retryingHourAfterValuePluralComputer: " saat içersinde tekrar bağlanmayı deneyecek..." 48 | 49 | $retryingHourAfterValueSingularDeviceSmall: "saat içersinde tekrar bağlanmayı deneyecek..." 50 | $retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall 51 | -------------------------------------------------------------------------------- /sass/offline-language-arabic-indicator.sass: -------------------------------------------------------------------------------- 1 | .offline-ui 2 | 3 | &.offline-ui-up 4 | 5 | .offline-ui-content:before 6 | content: "متصل." 7 | 8 | &.offline-ui-down 9 | 10 | .offline-ui-content:before 11 | content: "غير متصل." -------------------------------------------------------------------------------- /sass/offline-language-arabic.sass: -------------------------------------------------------------------------------- 1 | @import content 2 | @import arabic 3 | 4 | +offline-content -------------------------------------------------------------------------------- /sass/offline-language-chinese-simplified-indicator.sass: -------------------------------------------------------------------------------- 1 | .offline-ui 2 | 3 | &.offline-ui-up 4 | 5 | .offline-ui-content:before 6 | content: "在线" 7 | 8 | &.offline-ui-down 9 | 10 | .offline-ui-content:before 11 | content: "离线" 12 | -------------------------------------------------------------------------------- /sass/offline-language-chinese-simplified.sass: -------------------------------------------------------------------------------- 1 | @import content 2 | @import chinese-simplified 3 | 4 | +offline-content 5 | -------------------------------------------------------------------------------- /sass/offline-language-chinese-traditional-indicator.sass: -------------------------------------------------------------------------------- 1 | .offline-ui 2 | 3 | &.offline-ui-up 4 | 5 | .offline-ui-content:before 6 | content: "在線" 7 | 8 | &.offline-ui-down 9 | 10 | .offline-ui-content:before 11 | content: "離線" 12 | -------------------------------------------------------------------------------- /sass/offline-language-chinese-traditional.sass: -------------------------------------------------------------------------------- 1 | @import content 2 | @import chinese-traditional 3 | 4 | +offline-content 5 | -------------------------------------------------------------------------------- /sass/offline-language-czech-indicator.sass: -------------------------------------------------------------------------------- 1 | .offline-ui 2 | 3 | &.offline-ui-up 4 | 5 | .offline-ui-content:before 6 | content: "Online" 7 | 8 | &.offline-ui-down 9 | 10 | .offline-ui-content:before 11 | content: "Offline" 12 | -------------------------------------------------------------------------------- /sass/offline-language-czech.sass: -------------------------------------------------------------------------------- 1 | @import content 2 | @import czech 3 | 4 | +offline-content 5 | -------------------------------------------------------------------------------- /sass/offline-language-dutch-indicator.sass: -------------------------------------------------------------------------------- 1 | .offline-ui 2 | 3 | &.offline-ui-up 4 | 5 | .offline-ui-content:before 6 | content: "Online" 7 | 8 | &.offline-ui-down 9 | 10 | .offline-ui-content:before 11 | content: "Offline" 12 | -------------------------------------------------------------------------------- /sass/offline-language-dutch.sass: -------------------------------------------------------------------------------- 1 | @import content 2 | @import dutch 3 | 4 | +offline-content 5 | -------------------------------------------------------------------------------- /sass/offline-language-english-indicator.sass: -------------------------------------------------------------------------------- 1 | .offline-ui 2 | 3 | &.offline-ui-up 4 | 5 | .offline-ui-content:before 6 | content: "Online" 7 | 8 | &.offline-ui-down 9 | 10 | .offline-ui-content:before 11 | content: "Offline" -------------------------------------------------------------------------------- /sass/offline-language-english.sass: -------------------------------------------------------------------------------- 1 | @import content 2 | @import english 3 | 4 | +offline-content -------------------------------------------------------------------------------- /sass/offline-language-french-indicator.sass: -------------------------------------------------------------------------------- 1 | .offline-ui 2 | 3 | &.offline-ui-up 4 | 5 | .offline-ui-content:before 6 | content: "Connecté" 7 | 8 | &.offline-ui-down 9 | 10 | .offline-ui-content:before 11 | content: "Pas connecté" -------------------------------------------------------------------------------- /sass/offline-language-french.sass: -------------------------------------------------------------------------------- 1 | @import content 2 | @import french 3 | 4 | +offline-content -------------------------------------------------------------------------------- /sass/offline-language-german-indicator.sass: -------------------------------------------------------------------------------- 1 | .offline-ui 2 | 3 | &.offline-ui-up 4 | 5 | .offline-ui-content:before 6 | content: "Online" 7 | 8 | &.offline-ui-down 9 | 10 | .offline-ui-content:before 11 | content: "Offline" -------------------------------------------------------------------------------- /sass/offline-language-german.sass: -------------------------------------------------------------------------------- 1 | @import content 2 | @import german 3 | 4 | 5 | +offline-content -------------------------------------------------------------------------------- /sass/offline-language-italian-indicator.sass: -------------------------------------------------------------------------------- 1 | .offline-ui 2 | 3 | &.offline-ui-up 4 | 5 | .offline-ui-content:before 6 | content: "Online" 7 | 8 | &.offline-ui-down 9 | 10 | .offline-ui-content:before 11 | content: "Offline" -------------------------------------------------------------------------------- /sass/offline-language-italian.sass: -------------------------------------------------------------------------------- 1 | @import content 2 | @import italian 3 | 4 | +offline-content 5 | -------------------------------------------------------------------------------- /sass/offline-language-pashto-indicator.sass: -------------------------------------------------------------------------------- 1 | .offline-ui 2 | 3 | &.offline-ui-up 4 | 5 | .offline-ui-content:before 6 | content: "Online" 7 | 8 | &.offline-ui-down 9 | 10 | .offline-ui-content:before 11 | content: "Offline" -------------------------------------------------------------------------------- /sass/offline-language-pashto.sass: -------------------------------------------------------------------------------- 1 | @import content 2 | @import pashto 3 | 4 | +offline-content 5 | -------------------------------------------------------------------------------- /sass/offline-language-polish-indicator.sass: -------------------------------------------------------------------------------- 1 | .offline-ui 2 | 3 | &.offline-ui-up 4 | 5 | .offline-ui-content:before 6 | content: "Połączony" 7 | 8 | &.offline-ui-down 9 | 10 | .offline-ui-content:before 11 | content: "Rozłączony" 12 | -------------------------------------------------------------------------------- /sass/offline-language-polish.sass: -------------------------------------------------------------------------------- 1 | @import content 2 | @import polish 3 | 4 | +offline-content 5 | -------------------------------------------------------------------------------- /sass/offline-language-portuguese-brazil-indicator.sass: -------------------------------------------------------------------------------- 1 | .offline-ui 2 | 3 | &.offline-ui-up 4 | 5 | .offline-ui-content:before 6 | content: "Conectado" 7 | 8 | &.offline-ui-down 9 | 10 | .offline-ui-content:before 11 | content: "Desconectado" 12 | -------------------------------------------------------------------------------- /sass/offline-language-portuguese-brazil.sass: -------------------------------------------------------------------------------- 1 | @import content 2 | @import portuguese-brazil 3 | 4 | +offline-content 5 | -------------------------------------------------------------------------------- /sass/offline-language-simplified-chinese-indicator.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | .offline-ui 3 | 4 | &.offline-ui-up 5 | 6 | .offline-ui-content:before 7 | content: "在线" 8 | 9 | &.offline-ui-down 10 | 11 | .offline-ui-content:before 12 | content: "离线" -------------------------------------------------------------------------------- /sass/offline-language-spanish-indicator.sass: -------------------------------------------------------------------------------- 1 | .offline-ui 2 | &.offline-ui-up 3 | .offline-ui-content:before 4 | content: "En línea" 5 | &.offline-ui-down 6 | .offline-ui-content:before 7 | content: "Fuera de línea" 8 | -------------------------------------------------------------------------------- /sass/offline-language-spanish.sass: -------------------------------------------------------------------------------- 1 | @import content 2 | @import spanish 3 | 4 | +offline-content 5 | -------------------------------------------------------------------------------- /sass/offline-language-turkish-indicator.sass: -------------------------------------------------------------------------------- 1 | .offline-ui 2 | 3 | &.offline-ui-up 4 | 5 | .offline-ui-content:before 6 | content: "Çevrimiçi" 7 | 8 | &.offline-ui-down 9 | 10 | .offline-ui-content:before 11 | content: "Çevrimdışı" 12 | -------------------------------------------------------------------------------- /sass/offline-language-turkish.sass: -------------------------------------------------------------------------------- 1 | @import content 2 | @import turkish 3 | 4 | +offline-content 5 | -------------------------------------------------------------------------------- /sass/offline-theme-chrome-indicator.sass: -------------------------------------------------------------------------------- 1 | @import compass/css3 2 | 3 | @import offline-theme-base-indicator 4 | 5 | $green: #80d580 6 | $red: #ec8787 7 | 8 | .offline-ui 9 | +box-shadow(0 0 0 1px rgba(0, 0, 0, .15)) 10 | +border-radius(4px 4px 0 0) 11 | font-family: "Lucida Grande", sans-serif 12 | font-size: 12px 13 | padding: 7px 14 | background: #f6f6f6 15 | color: #888 16 | bottom: 0 17 | left: 20px 18 | 19 | .offline-ui-content 20 | padding-left: 16px 21 | 22 | &:after 23 | +border-radius(50%) 24 | content: " " 25 | display: block 26 | position: absolute 27 | top: 0 28 | bottom: 1px 29 | left: 8px 30 | margin: auto 31 | height: 9px 32 | width: 9px 33 | 34 | &.offline-ui-up 35 | 36 | .offline-ui-content:after 37 | background: $green 38 | 39 | &.offline-ui-down 40 | 41 | .offline-ui-content:after 42 | background: $red -------------------------------------------------------------------------------- /sass/offline-theme-chrome.sass: -------------------------------------------------------------------------------- 1 | @import compass/css3 2 | 3 | @import mixins 4 | @import keyframes 5 | 6 | @import offline-theme-base 7 | 8 | $green: #80d580 9 | $red: #ec8787 10 | 11 | +keyframes-offline-dropin 12 | +keyframes-offline-dropout 13 | 14 | +keyframes-offline-rotation 15 | 16 | .offline-ui 17 | +box-shadow(0 0 0 1px rgba(0, 0, 0, .15), 0 0 1em rgba(0, 0, 0, .3)) 18 | font-family: "Lucida Grande", sans-serif 19 | font-size: 14px 20 | padding: 1em 21 | width: 38em 22 | max-width: 100% 23 | background: #f6f6f6 24 | color: #444 25 | overflow: hidden 26 | 27 | .offline-ui-content 28 | padding-left: 2em 29 | 30 | &:before 31 | line-height: 1.25em 32 | 33 | &:after 34 | +border-radius(50%) 35 | content: " " 36 | display: block 37 | position: absolute 38 | top: 0 39 | bottom: 0 40 | left: 1em 41 | margin: auto 42 | height: 1em 43 | width: 1em 44 | 45 | .offline-ui-retry 46 | +box-shadow(0 1px 0 rgba(0, 0, 0, 0.08), inset 0 1px 2px rgba(255, 255, 255, 0.75)) 47 | +border-radius(2px) 48 | +background-image(linear-gradient(#ededed, #ededed 38%, #dedede)) 49 | position: absolute 50 | right: 4em 51 | top: 1em 52 | bottom: 1em 53 | border: 1px solid rgba(0, 0, 0, 0.25) 54 | text-shadow: 0 1px 0 #f0f0f0 55 | padding: 0 1em 56 | line-height: 1.6em 57 | height: 1.7em 58 | margin: auto 59 | font-size: 12px 60 | text-decoration: none 61 | color: inherit 62 | 63 | &.offline-ui-up 64 | +offline-animation(offline-dropout forwards .5s 2s) 65 | 66 | .offline-ui-content:after 67 | background: $green 68 | 69 | &.offline-ui-down 70 | +offline-animation(offline-dropin .5s) 71 | 72 | .offline-ui-content:after 73 | background: $red 74 | 75 | &.offline-ui-connecting, &.offline-ui-waiting 76 | padding-right: 3em 77 | 78 | .offline-ui-content:after 79 | background: $red 80 | 81 | &:after 82 | +offline-animation(offline-rotation .7s linear infinite) 83 | +border-radius(50%) 84 | content: " " 85 | display: block 86 | position: absolute 87 | right: 1em 88 | top: 0 89 | bottom: 0 90 | margin: auto 91 | height: 1em 92 | width: 1em 93 | border: 2px solid rgba(0, 0, 0, 0) 94 | border-top-color: rgba(0, 0, 0, .5) 95 | border-left-color: rgba(0, 0, 0, .5) 96 | opacity: 0.7 97 | 98 | &.offline-ui-waiting 99 | padding-right: 11em 100 | 101 | &.offline-ui-reconnect-failed-2s 102 | padding-right: 0 -------------------------------------------------------------------------------- /sass/offline-theme-dark-indicator.sass: -------------------------------------------------------------------------------- 1 | @import compass/css3 2 | 3 | @import offline-theme-base-indicator 4 | 5 | $green: #80d580 6 | $red: #e24949 7 | 8 | .offline-ui 9 | +box-shadow(0 0 0 1px rgba(0, 0, 0, .15)) 10 | +border-radius(4px 4px 0 0) 11 | font-family: "Helvetica Neue", sans-serif 12 | font-weight: 300 13 | padding: 1em 14 | background: #000 15 | color: #ccc 16 | bottom: 0 17 | left: 20px 18 | 19 | .offline-ui-content 20 | padding-left: 1.5em 21 | 22 | &:after 23 | +border-radius(50%) 24 | content: " " 25 | display: block 26 | position: absolute 27 | top: 0 28 | bottom: 0 29 | left: 1em 30 | margin: auto 31 | height: .8em 32 | width: .8em 33 | 34 | &.offline-ui-up 35 | 36 | .offline-ui-content:after 37 | background: $green 38 | 39 | &.offline-ui-down 40 | 41 | .offline-ui-content:after 42 | background: $red 43 | -------------------------------------------------------------------------------- /sass/offline-theme-dark.sass: -------------------------------------------------------------------------------- 1 | @import compass/css3 2 | 3 | @import mixins 4 | @import keyframes 5 | 6 | @import offline-theme-base 7 | 8 | $green: #80d580 9 | $red: #e24949 10 | 11 | +keyframes-offline-dropin 12 | +keyframes-offline-dropout 13 | 14 | +keyframes-offline-rotation 15 | 16 | .offline-ui 17 | +border-radius(0 0 4px 4px) 18 | font-family: "Helvetica Neue", sans-serif 19 | font-weight: 300 20 | padding: 1em 21 | width: 38em 22 | max-width: 100% 23 | background: #000 24 | color: #ccc 25 | overflow: hidden 26 | 27 | @media (max-width: 38em) 28 | +border-radius(0) 29 | 30 | .offline-ui-content 31 | padding-left: 2em 32 | 33 | &:before 34 | line-height: 1.25em 35 | 36 | &:after 37 | +border-radius(50%) 38 | content: " " 39 | display: block 40 | position: absolute 41 | top: 0 42 | bottom: 0 43 | left: 1em 44 | margin: auto 45 | height: 1em 46 | width: 1em 47 | 48 | .offline-ui-retry 49 | position: absolute 50 | right: 3em 51 | top: 0 52 | bottom: 0 53 | background: rgba(255, 255, 255, .2) 54 | text-decoration: none 55 | color: inherit 56 | line-height: 3.5em 57 | height: 3.5em 58 | margin: auto 59 | padding: 0 1em 60 | 61 | &.offline-ui-up 62 | +offline-animation(offline-dropout forwards .5s 2s) 63 | 64 | .offline-ui-content:after 65 | background: $green 66 | 67 | &.offline-ui-down 68 | +offline-animation(offline-dropin .5s) 69 | 70 | .offline-ui-content:after 71 | background: $red 72 | 73 | &.offline-ui-connecting, &.offline-ui-waiting 74 | padding-right: 3em 75 | 76 | .offline-ui-content:after 77 | background: $red 78 | 79 | &:after 80 | +offline-animation(offline-rotation .7s linear infinite) 81 | +border-radius(50%) 82 | content: " " 83 | display: block 84 | position: absolute 85 | right: 1em 86 | top: 0 87 | bottom: 0 88 | margin: auto 89 | height: 1em 90 | width: 1em 91 | border: 2px solid transparent 92 | border-top-color: rgba(255, 255, 255, .5) 93 | border-left-color: rgba(255, 255, 255, .5) 94 | opacity: 0.7 95 | 96 | &.offline-ui-waiting 97 | padding-right: 11em 98 | 99 | &.offline-ui-reconnect-failed-2s 100 | padding-right: 0 101 | -------------------------------------------------------------------------------- /sass/offline-theme-default-indicator.sass: -------------------------------------------------------------------------------- 1 | @import compass/css3 2 | 3 | @import offline-theme-base-indicator 4 | 5 | $red: #ec8787 6 | $green: #d6e9c6 7 | 8 | $darkRed: #551313 9 | $darkGreen: #468847 10 | 11 | .offline-ui 12 | +border-radius(4px) 13 | font-family: "Helvetica Neue", sans-serif 14 | padding: 1em 15 | max-width: 100% 16 | bottom: 1em 17 | left: 1em 18 | 19 | &.offline-ui-up 20 | background: $green 21 | color: $darkGreen 22 | 23 | &.offline-ui-down 24 | background: $red 25 | color: $darkRed -------------------------------------------------------------------------------- /sass/offline-theme-default.sass: -------------------------------------------------------------------------------- 1 | @import compass/css3 2 | 3 | @import mixins 4 | @import keyframes 5 | 6 | @import offline-theme-base 7 | 8 | $red: #ec8787 9 | $green: #d6e9c6 10 | $yellow: #f8ecad 11 | 12 | $darkRed: #551313 13 | $darkGreen: #468847 14 | $darkYellow: #7c6d1f 15 | 16 | +keyframes-offline-fadein 17 | +keyframes-offline-fadeout-and-hide 18 | 19 | +keyframes-offline-rotation 20 | 21 | .offline-ui 22 | +border-radius(4px) 23 | font-family: "Helvetica Neue", sans-serif 24 | padding: 1em 25 | top: 1em 26 | width: 38em 27 | max-width: 100% 28 | overflow: hidden 29 | 30 | @media (max-width: 38em) 31 | +border-radius(0) 32 | top: 0 33 | 34 | .offline-ui-content:before 35 | line-height: 1.25em 36 | 37 | .offline-ui-retry 38 | position: absolute 39 | right: 3em 40 | top: 0 41 | bottom: 0 42 | background: rgba(0, 0, 0, .1) 43 | text-decoration: none 44 | color: inherit 45 | line-height: 3.5em 46 | height: 3.5em 47 | margin: auto 48 | padding: 0 1em 49 | 50 | &.offline-ui-up 51 | +offline-animation(offline-fadeout-and-hide forwards .5s 2s) 52 | background: $green 53 | color: $darkGreen 54 | 55 | &.offline-ui-down 56 | +offline-animation(offline-fadein .5s) 57 | background: $red 58 | color: $darkRed 59 | 60 | &.offline-ui-connecting, &.offline-ui-waiting 61 | background: $yellow 62 | color: $darkYellow 63 | padding-right: 3em 64 | 65 | &:after 66 | +offline-animation(offline-rotation .7s linear infinite) 67 | +border-radius(50%) 68 | content: " " 69 | display: block 70 | position: absolute 71 | right: 1em 72 | top: 0 73 | bottom: 0 74 | margin: auto 75 | height: 1em 76 | width: 1em 77 | border: 2px solid rgba(0, 0, 0, 0) 78 | border-top-color: $darkYellow 79 | border-left-color: $darkYellow 80 | opacity: 0.7 81 | 82 | &.offline-ui-waiting 83 | padding-right: 11em 84 | 85 | &.offline-ui-reconnect-failed-2s 86 | padding-right: 0 87 | -------------------------------------------------------------------------------- /sass/offline-theme-hubspot.sass: -------------------------------------------------------------------------------- 1 | @import compass/css3 2 | 3 | @import offline-theme-default 4 | 5 | .offline-ui 6 | +border-radius(0 0 4px 4px) 7 | +box-shadow(inset 0 0 0 1px rgba(0, 0, 0, .15), 0 2px 8px rgba(0, 0, 0, .1)) 8 | font-family: "Helvetica Neue", Helvetica, sans-serif, sans-serif 9 | font-size: 13px 10 | top: 42px -------------------------------------------------------------------------------- /sass/offline-theme-slide-indicator.sass: -------------------------------------------------------------------------------- 1 | @import compass/css3 2 | 3 | @import offline-theme-base-indicator 4 | 5 | $red: #ec8787 6 | $green: #d6e9c6 7 | 8 | $darkRed: #551313 9 | $darkGreen: #468847 10 | 11 | .offline-ui 12 | +border-radius(4px 4px 0 0) 13 | font-family: "Helvetica Neue", sans-serif 14 | padding: 1em 15 | max-width: 100% 16 | bottom: 0 17 | left: 1em 18 | 19 | &.offline-ui-up 20 | background: $green 21 | color: $darkGreen 22 | 23 | &.offline-ui-down 24 | background: $red 25 | color: $darkRed -------------------------------------------------------------------------------- /sass/offline-theme-slide.sass: -------------------------------------------------------------------------------- 1 | @import compass/css3 2 | 3 | @import mixins 4 | @import keyframes 5 | 6 | @import offline-theme-base 7 | 8 | $red: #ec8787 9 | $green: #d6e9c6 10 | $yellow: #f8ecad 11 | 12 | $darkRed: #551313 13 | $darkGreen: #468847 14 | $darkYellow: #7c6d1f 15 | 16 | +keyframes-offline-dropin 17 | +keyframes-offline-dropout 18 | 19 | +keyframes-offline-rotation 20 | 21 | .offline-ui 22 | +border-radius(0 0 4px 4px) 23 | font-family: "Helvetica Neue", sans-serif 24 | padding: 1em 25 | width: 38em 26 | max-width: 100% 27 | overflow: hidden 28 | 29 | @media (max-width: 38em) 30 | +border-radius(0) 31 | 32 | .offline-ui-retry 33 | position: absolute 34 | right: 3em 35 | top: 0 36 | bottom: 0 37 | background: rgba(0, 0, 0, .1) 38 | text-decoration: none 39 | color: inherit 40 | line-height: 3.5em 41 | height: 3.5em 42 | margin: auto 43 | padding: 0 1em 44 | 45 | &.offline-ui-up 46 | +offline-animation(offline-dropout forwards .5s 2s) 47 | background: $green 48 | color: $darkGreen 49 | 50 | &.offline-ui-down 51 | +offline-animation(offline-dropin .5s) 52 | background: $red 53 | color: $darkRed 54 | 55 | &.offline-ui-connecting, &.offline-ui-waiting 56 | background: $yellow 57 | color: $darkYellow 58 | padding-right: 3em 59 | 60 | &:after 61 | +offline-animation(offline-rotation .7s linear infinite) 62 | +border-radius(50%) 63 | content: " " 64 | display: block 65 | position: absolute 66 | right: 1em 67 | top: 0 68 | bottom: 0 69 | margin: auto 70 | height: 1em 71 | width: 1em 72 | border: 2px solid rgba(0, 0, 0, 0) 73 | border-top-color: $darkYellow 74 | border-left-color: $darkYellow 75 | opacity: 0.7 76 | 77 | &.offline-ui-waiting 78 | padding-right: 11em 79 | 80 | &.offline-ui-reconnect-failed-2s 81 | padding-right: 0 82 | -------------------------------------------------------------------------------- /test/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 14 | 15 | 16 | 17 | 18 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /test/snake.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 15 | 16 | 17 | 18 | 29 | 30 | 31 |

Disable your internet connection to play!

32 | 33 | -------------------------------------------------------------------------------- /themes/offline-language-arabic-indicator.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 5, ../sass/offline-language-arabic-indicator.sass */ 3 | .offline-ui.offline-ui-up .offline-ui-content:before { 4 | content: "متصل."; 5 | } 6 | /* line 10, ../sass/offline-language-arabic-indicator.sass */ 7 | .offline-ui.offline-ui-down .offline-ui-content:before { 8 | content: "غير متصل."; 9 | } 10 | -------------------------------------------------------------------------------- /themes/offline-language-arabic.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 6, ../sass/_content.sass */ 3 | .offline-ui .offline-ui-retry:before { 4 | content: " إعادة الاتصال"; 5 | } 6 | /* line 11, ../sass/_content.sass */ 7 | .offline-ui.offline-ui-up .offline-ui-content:before { 8 | content: "الحاسوب متصل بالإنترنت."; 9 | } 10 | @media (max-width: 1024px) { 11 | /* line 11, ../sass/_content.sass */ 12 | .offline-ui.offline-ui-up .offline-ui-content:before { 13 | content: "جهازك متصل بالإنترنت"; 14 | } 15 | } 16 | @media (max-width: 568px) { 17 | /* line 11, ../sass/_content.sass */ 18 | .offline-ui.offline-ui-up .offline-ui-content:before { 19 | content: ".جهازك متصل"; 20 | } 21 | } 22 | /* line 22, ../sass/_content.sass */ 23 | .offline-ui.offline-ui-down .offline-ui-content:before { 24 | content: ".الحاسوب فقد الاتصال بالإنترنت"; 25 | } 26 | @media (max-width: 1024px) { 27 | /* line 22, ../sass/_content.sass */ 28 | .offline-ui.offline-ui-down .offline-ui-content:before { 29 | content: ".جهازك فقد الاتصال بالإنترنت"; 30 | } 31 | } 32 | @media (max-width: 568px) { 33 | /* line 22, ../sass/_content.sass */ 34 | .offline-ui.offline-ui-down .offline-ui-content:before { 35 | content: ".جهازك غير متصل"; 36 | } 37 | } 38 | /* line 33, ../sass/_content.sass */ 39 | .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before { 40 | content: "...محاولة إعادة الاتصال"; 41 | } 42 | /* line 42, ../sass/_content.sass */ 43 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 44 | content: " الاتصال فقد إعادة الاتصال في" attr(data-retry-in-value) " ...ثواني"; 45 | } 46 | @media (max-width: 568px) { 47 | /* line 42, ../sass/_content.sass */ 48 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 49 | content: " إعادة الاتصال في" attr(data-retry-in-value) "...ث"; 50 | } 51 | } 52 | /* line 50, ../sass/_content.sass */ 53 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 54 | content: " الاتصال فقد إعادة الاتصال في" attr(data-retry-in-value) " ...ثانية"; 55 | } 56 | @media (max-width: 568px) { 57 | /* line 50, ../sass/_content.sass */ 58 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 59 | content: " إعادة الاتصال في" attr(data-retry-in-value) "...ث"; 60 | } 61 | } 62 | /* line 58, ../sass/_content.sass */ 63 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 64 | content: " الاتصال فقد إعادة الاتصال في" attr(data-retry-in-value) " ...دقائق"; 65 | } 66 | @media (max-width: 568px) { 67 | /* line 58, ../sass/_content.sass */ 68 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 69 | content: " إعادة الاتصال في" attr(data-retry-in-value) "...د"; 70 | } 71 | } 72 | /* line 66, ../sass/_content.sass */ 73 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 74 | content: " الاتصال فقد إعادة الاتصال في" attr(data-retry-in-value) " ...دقيقة"; 75 | } 76 | @media (max-width: 568px) { 77 | /* line 66, ../sass/_content.sass */ 78 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 79 | content: " إعادة الاتصال في" attr(data-retry-in-value) "...د"; 80 | } 81 | } 82 | /* line 74, ../sass/_content.sass */ 83 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 84 | content: " الاتصال فقد إعادة الاتصال في" attr(data-retry-in-value) " ...ساعات"; 85 | } 86 | @media (max-width: 568px) { 87 | /* line 74, ../sass/_content.sass */ 88 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 89 | content: " إعادة الاتصال في" attr(data-retry-in-value) "...س"; 90 | } 91 | } 92 | /* line 82, ../sass/_content.sass */ 93 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 94 | content: " الاتصال فقد إعادة الاتصال في" attr(data-retry-in-value) " ...ساعه"; 95 | } 96 | @media (max-width: 568px) { 97 | /* line 82, ../sass/_content.sass */ 98 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 99 | content: " إعادة الاتصال في" attr(data-retry-in-value) "...س"; 100 | } 101 | } 102 | /* line 90, ../sass/_content.sass */ 103 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry { 104 | display: none; 105 | } 106 | /* line 93, ../sass/_content.sass */ 107 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before { 108 | content: ".فشلت محاولة الاتصال"; 109 | } 110 | -------------------------------------------------------------------------------- /themes/offline-language-chinese-simplified-indicator.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 5, ../sass/offline-language-chinese-simplified-indicator.sass */ 3 | .offline-ui.offline-ui-up .offline-ui-content:before { 4 | content: "鍦ㄧ嚎"; 5 | } 6 | /* line 10, ../sass/offline-language-chinese-simplified-indicator.sass */ 7 | .offline-ui.offline-ui-down .offline-ui-content:before { 8 | content: "绂荤嚎"; 9 | } 10 | -------------------------------------------------------------------------------- /themes/offline-language-chinese-simplified.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 6, ../sass/_content.sass */ 3 | .offline-ui .offline-ui-retry:before { 4 | content: "重连"; 5 | } 6 | /* line 11, ../sass/_content.sass */ 7 | .offline-ui.offline-ui-up .offline-ui-content:before { 8 | content: "您的电脑已经连接到网络。"; 9 | } 10 | @media (max-width: 1024px) { 11 | /* line 11, ../sass/_content.sass */ 12 | .offline-ui.offline-ui-up .offline-ui-content:before { 13 | content: "您的设备已经连接到网络。"; 14 | } 15 | } 16 | @media (max-width: 568px) { 17 | /* line 11, ../sass/_content.sass */ 18 | .offline-ui.offline-ui-up .offline-ui-content:before { 19 | content: "您的设备已经连接到网络。"; 20 | } 21 | } 22 | /* line 22, ../sass/_content.sass */ 23 | .offline-ui.offline-ui-down .offline-ui-content:before { 24 | content: "您的电脑失去了网络连接。"; 25 | } 26 | @media (max-width: 1024px) { 27 | /* line 22, ../sass/_content.sass */ 28 | .offline-ui.offline-ui-down .offline-ui-content:before { 29 | content: "您的设备失去了网络连接。"; 30 | } 31 | } 32 | @media (max-width: 568px) { 33 | /* line 22, ../sass/_content.sass */ 34 | .offline-ui.offline-ui-down .offline-ui-content:before { 35 | content: "您的设备失去了网络连接。"; 36 | } 37 | } 38 | /* line 33, ../sass/_content.sass */ 39 | .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before { 40 | content: "正在尝试重连..."; 41 | } 42 | /* line 42, ../sass/_content.sass */ 43 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 44 | content: "失去网络连接。 即将重连:" attr(data-retry-in-value) "秒..."; 45 | } 46 | @media (max-width: 568px) { 47 | /* line 42, ../sass/_content.sass */ 48 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 49 | content: "即将重连:" attr(data-retry-in-value) "s..."; 50 | } 51 | } 52 | /* line 50, ../sass/_content.sass */ 53 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 54 | content: "失去网络连接。 即将重连:" attr(data-retry-in-value) "秒..."; 55 | } 56 | @media (max-width: 568px) { 57 | /* line 50, ../sass/_content.sass */ 58 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 59 | content: "即将重连:" attr(data-retry-in-value) "s..."; 60 | } 61 | } 62 | /* line 58, ../sass/_content.sass */ 63 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 64 | content: "失去网络连接。 即将重连:" attr(data-retry-in-value) "分钟..."; 65 | } 66 | @media (max-width: 568px) { 67 | /* line 58, ../sass/_content.sass */ 68 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 69 | content: "即将重连:" attr(data-retry-in-value) "m..."; 70 | } 71 | } 72 | /* line 66, ../sass/_content.sass */ 73 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 74 | content: "失去网络连接。 即将重连:" attr(data-retry-in-value) "分钟..."; 75 | } 76 | @media (max-width: 568px) { 77 | /* line 66, ../sass/_content.sass */ 78 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 79 | content: "即将重连:" attr(data-retry-in-value) "m..."; 80 | } 81 | } 82 | /* line 74, ../sass/_content.sass */ 83 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 84 | content: "失去网络连接。 即将重连:" attr(data-retry-in-value) "小时..."; 85 | } 86 | @media (max-width: 568px) { 87 | /* line 74, ../sass/_content.sass */ 88 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 89 | content: "即将重连:" attr(data-retry-in-value) "h..."; 90 | } 91 | } 92 | /* line 82, ../sass/_content.sass */ 93 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 94 | content: "失去网络连接。 即将重连:" attr(data-retry-in-value) "小时..."; 95 | } 96 | @media (max-width: 568px) { 97 | /* line 82, ../sass/_content.sass */ 98 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 99 | content: "即将重连:" attr(data-retry-in-value) "h..."; 100 | } 101 | } 102 | /* line 90, ../sass/_content.sass */ 103 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry { 104 | display: none; 105 | } 106 | /* line 93, ../sass/_content.sass */ 107 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before { 108 | content: "尝试连接网络失败。"; 109 | } 110 | -------------------------------------------------------------------------------- /themes/offline-language-chinese-traditional-indicator.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 5, ../sass/offline-language-chinese-traditional-indicator.sass */ 3 | .offline-ui.offline-ui-up .offline-ui-content:before { 4 | content: "鍦ㄧ窔"; 5 | } 6 | /* line 10, ../sass/offline-language-chinese-traditional-indicator.sass */ 7 | .offline-ui.offline-ui-down .offline-ui-content:before { 8 | content: "闆㈢窔"; 9 | } 10 | -------------------------------------------------------------------------------- /themes/offline-language-chinese-traditional.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 6, ../sass/_content.sass */ 3 | .offline-ui .offline-ui-retry:before { 4 | content: "重連"; 5 | } 6 | /* line 11, ../sass/_content.sass */ 7 | .offline-ui.offline-ui-up .offline-ui-content:before { 8 | content: "您的電腦已經連接到網絡。"; 9 | } 10 | @media (max-width: 1024px) { 11 | /* line 11, ../sass/_content.sass */ 12 | .offline-ui.offline-ui-up .offline-ui-content:before { 13 | content: "您的設備已經連接到網絡。"; 14 | } 15 | } 16 | @media (max-width: 568px) { 17 | /* line 11, ../sass/_content.sass */ 18 | .offline-ui.offline-ui-up .offline-ui-content:before { 19 | content: "您的設備已經連接到網絡。"; 20 | } 21 | } 22 | /* line 22, ../sass/_content.sass */ 23 | .offline-ui.offline-ui-down .offline-ui-content:before { 24 | content: "您的電腦失去了網絡連接。"; 25 | } 26 | @media (max-width: 1024px) { 27 | /* line 22, ../sass/_content.sass */ 28 | .offline-ui.offline-ui-down .offline-ui-content:before { 29 | content: "您的設備失去了網絡連接。"; 30 | } 31 | } 32 | @media (max-width: 568px) { 33 | /* line 22, ../sass/_content.sass */ 34 | .offline-ui.offline-ui-down .offline-ui-content:before { 35 | content: "您的設備失去了網絡連接。"; 36 | } 37 | } 38 | /* line 33, ../sass/_content.sass */ 39 | .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before { 40 | content: "正在嘗試重連..."; 41 | } 42 | /* line 42, ../sass/_content.sass */ 43 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 44 | content: "失去網絡連接。即將重連:" attr(data-retry-in-value) "秒..."; 45 | } 46 | @media (max-width: 568px) { 47 | /* line 42, ../sass/_content.sass */ 48 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 49 | content: "即將重連:" attr(data-retry-in-value) "s..."; 50 | } 51 | } 52 | /* line 50, ../sass/_content.sass */ 53 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 54 | content: "失去網絡連接。即將重連:" attr(data-retry-in-value) "秒..."; 55 | } 56 | @media (max-width: 568px) { 57 | /* line 50, ../sass/_content.sass */ 58 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 59 | content: "即將重連:" attr(data-retry-in-value) "s..."; 60 | } 61 | } 62 | /* line 58, ../sass/_content.sass */ 63 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 64 | content: "失去網絡連接。即將重連:" attr(data-retry-in-value) "分鐘..."; 65 | } 66 | @media (max-width: 568px) { 67 | /* line 58, ../sass/_content.sass */ 68 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 69 | content: "即將重連:" attr(data-retry-in-value) "m..."; 70 | } 71 | } 72 | /* line 66, ../sass/_content.sass */ 73 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 74 | content: "失去網絡連接。即將重連:" attr(data-retry-in-value) "分鐘..."; 75 | } 76 | @media (max-width: 568px) { 77 | /* line 66, ../sass/_content.sass */ 78 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 79 | content: "即將重連:" attr(data-retry-in-value) "m..."; 80 | } 81 | } 82 | /* line 74, ../sass/_content.sass */ 83 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 84 | content: "失去網絡連接。即將重連:" attr(data-retry-in-value) "小時..."; 85 | } 86 | @media (max-width: 568px) { 87 | /* line 74, ../sass/_content.sass */ 88 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 89 | content: "即將重連:" attr(data-retry-in-value) "h..."; 90 | } 91 | } 92 | /* line 82, ../sass/_content.sass */ 93 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 94 | content: "失去網絡連接。即將重連:" attr(data-retry-in-value) "小時..."; 95 | } 96 | @media (max-width: 568px) { 97 | /* line 82, ../sass/_content.sass */ 98 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 99 | content: "即將重連:" attr(data-retry-in-value) "h..."; 100 | } 101 | } 102 | /* line 90, ../sass/_content.sass */ 103 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry { 104 | display: none; 105 | } 106 | /* line 93, ../sass/_content.sass */ 107 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before { 108 | content: "嘗試連接網絡失敗。"; 109 | } 110 | -------------------------------------------------------------------------------- /themes/offline-language-czech-indicator.css: -------------------------------------------------------------------------------- 1 | .offline-ui.offline-ui-up .offline-ui-content:before { 2 | content: "Online"; } 3 | .offline-ui.offline-ui-down .offline-ui-content:before { 4 | content: "Offline"; } 5 | -------------------------------------------------------------------------------- /themes/offline-language-czech.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 6, ../sass/_content.sass */ 3 | .offline-ui .offline-ui-retry:before { 4 | content: "Znovu připojit"; 5 | } 6 | /* line 11, ../sass/_content.sass */ 7 | .offline-ui.offline-ui-up .offline-ui-content:before { 8 | content: "Váš počítač je připojen k internetu."; 9 | } 10 | @media (max-width: 1024px) { 11 | /* line 11, ../sass/_content.sass */ 12 | .offline-ui.offline-ui-up .offline-ui-content:before { 13 | content: "Vaše zařízení je připojeno k internetu."; 14 | } 15 | } 16 | @media (max-width: 568px) { 17 | /* line 11, ../sass/_content.sass */ 18 | .offline-ui.offline-ui-up .offline-ui-content:before { 19 | content: "Vaše zařízení je připojeno."; 20 | } 21 | } 22 | /* line 22, ../sass/_content.sass */ 23 | .offline-ui.offline-ui-down .offline-ui-content:before { 24 | content: "Váš počítač ztratil připojení k internetu."; 25 | } 26 | @media (max-width: 1024px) { 27 | /* line 22, ../sass/_content.sass */ 28 | .offline-ui.offline-ui-down .offline-ui-content:before { 29 | content: "Vaše zařízení ztratilo připojení k internetu."; 30 | } 31 | } 32 | @media (max-width: 568px) { 33 | /* line 22, ../sass/_content.sass */ 34 | .offline-ui.offline-ui-down .offline-ui-content:before { 35 | content: "Vaše zařízení není připojeno."; 36 | } 37 | } 38 | /* line 33, ../sass/_content.sass */ 39 | .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before { 40 | content: "Zkouším se znovu připojit..."; 41 | } 42 | /* line 42, ../sass/_content.sass */ 43 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 44 | content: "Připojení ztraceno. Znovu zkusím za " attr(data-retry-in-value) " sekund..."; 45 | } 46 | @media (max-width: 568px) { 47 | /* line 42, ../sass/_content.sass */ 48 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 49 | content: "Znovu zkusím za " attr(data-retry-in-value) "s..."; 50 | } 51 | } 52 | /* line 50, ../sass/_content.sass */ 53 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 54 | content: "Připojení ztraceno. Znovu zkusím za " attr(data-retry-in-value) " sekundu..."; 55 | } 56 | @media (max-width: 568px) { 57 | /* line 50, ../sass/_content.sass */ 58 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 59 | content: "Znovu zkusím za " attr(data-retry-in-value) "s..."; 60 | } 61 | } 62 | /* line 58, ../sass/_content.sass */ 63 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 64 | content: "Připojení ztraceno. Znovu zkusím za " attr(data-retry-in-value) " minut..."; 65 | } 66 | @media (max-width: 568px) { 67 | /* line 58, ../sass/_content.sass */ 68 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 69 | content: "Znovu zkusím za " attr(data-retry-in-value) "m..."; 70 | } 71 | } 72 | /* line 66, ../sass/_content.sass */ 73 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 74 | content: "Připojení ztraceno. Znovu zkusím za " attr(data-retry-in-value) " minutu..."; 75 | } 76 | @media (max-width: 568px) { 77 | /* line 66, ../sass/_content.sass */ 78 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 79 | content: "Znovu zkusím za " attr(data-retry-in-value) "m..."; 80 | } 81 | } 82 | /* line 74, ../sass/_content.sass */ 83 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 84 | content: "Připojení ztraceno. Znovu zkusím za " attr(data-retry-in-value) " hodin..."; 85 | } 86 | @media (max-width: 568px) { 87 | /* line 74, ../sass/_content.sass */ 88 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 89 | content: "Znovu zkusím za " attr(data-retry-in-value) "h..."; 90 | } 91 | } 92 | /* line 82, ../sass/_content.sass */ 93 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 94 | content: "Připojení ztraceno. Znovu zkusím za " attr(data-retry-in-value) " hodinu..."; 95 | } 96 | @media (max-width: 568px) { 97 | /* line 82, ../sass/_content.sass */ 98 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 99 | content: "Znovu zkusím za " attr(data-retry-in-value) "h..."; 100 | } 101 | } 102 | /* line 90, ../sass/_content.sass */ 103 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry { 104 | display: none; 105 | } 106 | /* line 93, ../sass/_content.sass */ 107 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before { 108 | content: "Pokus o připojení selhal."; 109 | } 110 | -------------------------------------------------------------------------------- /themes/offline-language-dutch-indicator.css: -------------------------------------------------------------------------------- 1 | /* line 5, ../sass/offline-language-dutch-indicator.sass */ 2 | .offline-ui.offline-ui-up .offline-ui-content:before { 3 | content: "Online"; 4 | } 5 | /* line 10, ../sass/offline-language-dutch-indicator.sass */ 6 | .offline-ui.offline-ui-down .offline-ui-content:before { 7 | content: "Offline"; 8 | } 9 | -------------------------------------------------------------------------------- /themes/offline-language-dutch.css: -------------------------------------------------------------------------------- 1 | /* line 6, ../sass/_content.sass */ 2 | .offline-ui .offline-ui-retry:before { 3 | content: "Opnieuw"; 4 | } 5 | /* line 11, ../sass/_content.sass */ 6 | .offline-ui.offline-ui-up .offline-ui-content:before { 7 | content: "Computer verbonden met internet."; 8 | } 9 | @media (max-width: 1024px) { 10 | /* line 11, ../sass/_content.sass */ 11 | .offline-ui.offline-ui-up .offline-ui-content:before { 12 | content: "Apparaat verbonden met internet."; 13 | } 14 | } 15 | @media (max-width: 568px) { 16 | /* line 11, ../sass/_content.sass */ 17 | .offline-ui.offline-ui-up .offline-ui-content:before { 18 | content: "Apparaat verbonden met internet."; 19 | } 20 | } 21 | /* line 22, ../sass/_content.sass */ 22 | .offline-ui.offline-ui-down .offline-ui-content:before { 23 | content: "Computer niet verbonden met internet."; 24 | } 25 | @media (max-width: 1024px) { 26 | /* line 22, ../sass/_content.sass */ 27 | .offline-ui.offline-ui-down .offline-ui-content:before { 28 | content: "Apparaat niet verbonden met internet."; 29 | } 30 | } 31 | @media (max-width: 568px) { 32 | /* line 22, ../sass/_content.sass */ 33 | .offline-ui.offline-ui-down .offline-ui-content:before { 34 | content: "Apparaat niet verbonden met internet."; 35 | } 36 | } 37 | /* line 33, ../sass/_content.sass */ 38 | .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before { 39 | content: "Opnieuw proberen..."; 40 | } 41 | /* line 42, ../sass/_content.sass */ 42 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 43 | content: "Internetverbinding kwijt. Opnieuw proberen over " attr(data-retry-in-value) " seconden..."; 44 | } 45 | @media (max-width: 568px) { 46 | /* line 42, ../sass/_content.sass */ 47 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 48 | content: "Opnieuw proberen over " attr(data-retry-in-value) "s..."; 49 | } 50 | } 51 | /* line 50, ../sass/_content.sass */ 52 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 53 | content: "Internetverbinding kwijt. Opnieuw proberen over " attr(data-retry-in-value) " seconde..."; 54 | } 55 | @media (max-width: 568px) { 56 | /* line 50, ../sass/_content.sass */ 57 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 58 | content: "Opnieuw proberen over " attr(data-retry-in-value) "s..."; 59 | } 60 | } 61 | /* line 58, ../sass/_content.sass */ 62 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 63 | content: "Internetverbinding kwijt. Opnieuw proberen over " attr(data-retry-in-value) " minuten..."; 64 | } 65 | @media (max-width: 568px) { 66 | /* line 58, ../sass/_content.sass */ 67 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 68 | content: "Opnieuw proberen over " attr(data-retry-in-value) "m..."; 69 | } 70 | } 71 | /* line 66, ../sass/_content.sass */ 72 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 73 | content: "Internetverbinding kwijt. Opnieuw proberen over " attr(data-retry-in-value) " minuut..."; 74 | } 75 | @media (max-width: 568px) { 76 | /* line 66, ../sass/_content.sass */ 77 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 78 | content: "Opnieuw proberen over " attr(data-retry-in-value) "m..."; 79 | } 80 | } 81 | /* line 74, ../sass/_content.sass */ 82 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 83 | content: "Internetverbinding kwijt. Opnieuw proberen over " attr(data-retry-in-value) " uren..."; 84 | } 85 | @media (max-width: 568px) { 86 | /* line 74, ../sass/_content.sass */ 87 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 88 | content: "Opnieuw proberen over " attr(data-retry-in-value) "u..."; 89 | } 90 | } 91 | /* line 82, ../sass/_content.sass */ 92 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 93 | content: "Internetverbinding kwijt. Opnieuw proberen over " attr(data-retry-in-value) " uur..."; 94 | } 95 | @media (max-width: 568px) { 96 | /* line 82, ../sass/_content.sass */ 97 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 98 | content: "Opnieuw proberen over " attr(data-retry-in-value) "u..."; 99 | } 100 | } 101 | /* line 90, ../sass/_content.sass */ 102 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry { 103 | display: none; 104 | } 105 | /* line 93, ../sass/_content.sass */ 106 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before { 107 | content: "Poging mislukt."; 108 | } 109 | -------------------------------------------------------------------------------- /themes/offline-language-english-indicator.css: -------------------------------------------------------------------------------- 1 | /* line 5, ../sass/offline-language-english-indicator.sass */ 2 | .offline-ui.offline-ui-up .offline-ui-content:before { 3 | content: "Online"; 4 | } 5 | /* line 10, ../sass/offline-language-english-indicator.sass */ 6 | .offline-ui.offline-ui-down .offline-ui-content:before { 7 | content: "Offline"; 8 | } 9 | -------------------------------------------------------------------------------- /themes/offline-language-english.css: -------------------------------------------------------------------------------- 1 | /* line 6, ../sass/_content.sass */ 2 | .offline-ui .offline-ui-retry:before { 3 | content: "Reconnect"; 4 | } 5 | /* line 11, ../sass/_content.sass */ 6 | .offline-ui.offline-ui-up .offline-ui-content:before { 7 | content: "Your computer is connected to the internet."; 8 | } 9 | @media (max-width: 1024px) { 10 | /* line 11, ../sass/_content.sass */ 11 | .offline-ui.offline-ui-up .offline-ui-content:before { 12 | content: "Your device is connected to the internet."; 13 | } 14 | } 15 | @media (max-width: 568px) { 16 | /* line 11, ../sass/_content.sass */ 17 | .offline-ui.offline-ui-up .offline-ui-content:before { 18 | content: "Your device is connected."; 19 | } 20 | } 21 | /* line 22, ../sass/_content.sass */ 22 | .offline-ui.offline-ui-down .offline-ui-content:before { 23 | content: "Your computer lost its internet connection."; 24 | } 25 | @media (max-width: 1024px) { 26 | /* line 22, ../sass/_content.sass */ 27 | .offline-ui.offline-ui-down .offline-ui-content:before { 28 | content: "Your device lost its internet connection."; 29 | } 30 | } 31 | @media (max-width: 568px) { 32 | /* line 22, ../sass/_content.sass */ 33 | .offline-ui.offline-ui-down .offline-ui-content:before { 34 | content: "Your device isn't connected."; 35 | } 36 | } 37 | /* line 33, ../sass/_content.sass */ 38 | .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before { 39 | content: "Attempting to reconnect..."; 40 | } 41 | /* line 42, ../sass/_content.sass */ 42 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 43 | content: "Connection lost. Reconnecting in " attr(data-retry-in-value) " seconds..."; 44 | } 45 | @media (max-width: 568px) { 46 | /* line 42, ../sass/_content.sass */ 47 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 48 | content: "Reconnecting in " attr(data-retry-in-value) "s..."; 49 | } 50 | } 51 | /* line 50, ../sass/_content.sass */ 52 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 53 | content: "Connection lost. Reconnecting in " attr(data-retry-in-value) " second..."; 54 | } 55 | @media (max-width: 568px) { 56 | /* line 50, ../sass/_content.sass */ 57 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 58 | content: "Reconnecting in " attr(data-retry-in-value) "s..."; 59 | } 60 | } 61 | /* line 58, ../sass/_content.sass */ 62 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 63 | content: "Connection lost. Reconnecting in " attr(data-retry-in-value) " minutes..."; 64 | } 65 | @media (max-width: 568px) { 66 | /* line 58, ../sass/_content.sass */ 67 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 68 | content: "Reconnecting in " attr(data-retry-in-value) "m..."; 69 | } 70 | } 71 | /* line 66, ../sass/_content.sass */ 72 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 73 | content: "Connection lost. Reconnecting in " attr(data-retry-in-value) " minute..."; 74 | } 75 | @media (max-width: 568px) { 76 | /* line 66, ../sass/_content.sass */ 77 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 78 | content: "Reconnecting in " attr(data-retry-in-value) "m..."; 79 | } 80 | } 81 | /* line 74, ../sass/_content.sass */ 82 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 83 | content: "Connection lost. Reconnecting in " attr(data-retry-in-value) " hours..."; 84 | } 85 | @media (max-width: 568px) { 86 | /* line 74, ../sass/_content.sass */ 87 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 88 | content: "Reconnecting in " attr(data-retry-in-value) "h..."; 89 | } 90 | } 91 | /* line 82, ../sass/_content.sass */ 92 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 93 | content: "Connection lost. Reconnecting in " attr(data-retry-in-value) " hour..."; 94 | } 95 | @media (max-width: 568px) { 96 | /* line 82, ../sass/_content.sass */ 97 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 98 | content: "Reconnecting in " attr(data-retry-in-value) "h..."; 99 | } 100 | } 101 | /* line 90, ../sass/_content.sass */ 102 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry { 103 | display: none; 104 | } 105 | /* line 93, ../sass/_content.sass */ 106 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before { 107 | content: "Connection attempt failed."; 108 | } 109 | -------------------------------------------------------------------------------- /themes/offline-language-french-indicator.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 5, ../sass/offline-language-french-indicator.sass */ 3 | .offline-ui.offline-ui-up .offline-ui-content:before { 4 | content: "Connecté"; 5 | } 6 | /* line 10, ../sass/offline-language-french-indicator.sass */ 7 | .offline-ui.offline-ui-down .offline-ui-content:before { 8 | content: "Pas connecté"; 9 | } 10 | -------------------------------------------------------------------------------- /themes/offline-language-french.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 6, ../sass/_content.sass */ 3 | .offline-ui .offline-ui-retry:before { 4 | content: "Reconnecter"; 5 | } 6 | /* line 11, ../sass/_content.sass */ 7 | .offline-ui.offline-ui-up .offline-ui-content:before { 8 | content: "Votre ordinateur est connecté à Internet."; 9 | } 10 | @media (max-width: 1024px) { 11 | /* line 11, ../sass/_content.sass */ 12 | .offline-ui.offline-ui-up .offline-ui-content:before { 13 | content: "Votre appareil est connecté à Internet."; 14 | } 15 | } 16 | @media (max-width: 568px) { 17 | /* line 11, ../sass/_content.sass */ 18 | .offline-ui.offline-ui-up .offline-ui-content:before { 19 | content: "Votre appareil est connecté."; 20 | } 21 | } 22 | /* line 22, ../sass/_content.sass */ 23 | .offline-ui.offline-ui-down .offline-ui-content:before { 24 | content: "Votre ordinateur a perdu sa connexion Internet."; 25 | } 26 | @media (max-width: 1024px) { 27 | /* line 22, ../sass/_content.sass */ 28 | .offline-ui.offline-ui-down .offline-ui-content:before { 29 | content: "Votre appareil a perdu sa connexion Internet."; 30 | } 31 | } 32 | @media (max-width: 568px) { 33 | /* line 22, ../sass/_content.sass */ 34 | .offline-ui.offline-ui-down .offline-ui-content:before { 35 | content: "Votre appareil n'est pas branché."; 36 | } 37 | } 38 | /* line 33, ../sass/_content.sass */ 39 | .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before { 40 | content: "Tentative de reconnexion..."; 41 | } 42 | /* line 42, ../sass/_content.sass */ 43 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 44 | content: "Connexion perdue. Reconnexion dans " attr(data-retry-in-value) " secondes..."; 45 | } 46 | @media (max-width: 568px) { 47 | /* line 42, ../sass/_content.sass */ 48 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 49 | content: "Reconnexion dans " attr(data-retry-in-value) "s..."; 50 | } 51 | } 52 | /* line 50, ../sass/_content.sass */ 53 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 54 | content: "Connexion perdue. Reconnexion dans " attr(data-retry-in-value) " seconde..."; 55 | } 56 | @media (max-width: 568px) { 57 | /* line 50, ../sass/_content.sass */ 58 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 59 | content: "Reconnexion dans " attr(data-retry-in-value) "s..."; 60 | } 61 | } 62 | /* line 58, ../sass/_content.sass */ 63 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 64 | content: "Connexion perdue. Reconnexion dans " attr(data-retry-in-value) " minutes..."; 65 | } 66 | @media (max-width: 568px) { 67 | /* line 58, ../sass/_content.sass */ 68 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 69 | content: "Reconnexion dans " attr(data-retry-in-value) "m..."; 70 | } 71 | } 72 | /* line 66, ../sass/_content.sass */ 73 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 74 | content: "Connexion perdue. Reconnexion dans " attr(data-retry-in-value) " minute..."; 75 | } 76 | @media (max-width: 568px) { 77 | /* line 66, ../sass/_content.sass */ 78 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 79 | content: "Reconnexion dans " attr(data-retry-in-value) "m..."; 80 | } 81 | } 82 | /* line 74, ../sass/_content.sass */ 83 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 84 | content: "Connexion perdue. Reconnexion dans " attr(data-retry-in-value) " heures..."; 85 | } 86 | @media (max-width: 568px) { 87 | /* line 74, ../sass/_content.sass */ 88 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 89 | content: "Reconnexion dans " attr(data-retry-in-value) "h..."; 90 | } 91 | } 92 | /* line 82, ../sass/_content.sass */ 93 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 94 | content: "Connexion perdue. Reconnexion dans " attr(data-retry-in-value) " heure..."; 95 | } 96 | @media (max-width: 568px) { 97 | /* line 82, ../sass/_content.sass */ 98 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 99 | content: "Reconnexion dans " attr(data-retry-in-value) "h..."; 100 | } 101 | } 102 | /* line 90, ../sass/_content.sass */ 103 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry { 104 | display: none; 105 | } 106 | /* line 93, ../sass/_content.sass */ 107 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before { 108 | content: "La tentative de connexion a échoué."; 109 | } 110 | -------------------------------------------------------------------------------- /themes/offline-language-german-indicator.css: -------------------------------------------------------------------------------- 1 | /* line 5, ../sass/offline-language-german-indicator.sass */ 2 | .offline-ui.offline-ui-up .offline-ui-content:before { 3 | content: "Online"; 4 | } 5 | /* line 10, ../sass/offline-language-german-indicator.sass */ 6 | .offline-ui.offline-ui-down .offline-ui-content:before { 7 | content: "Offline"; 8 | } 9 | -------------------------------------------------------------------------------- /themes/offline-language-german.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 6, ../sass/_content.sass */ 3 | .offline-ui .offline-ui-retry:before { 4 | content: "Verbinden"; 5 | } 6 | /* line 11, ../sass/_content.sass */ 7 | .offline-ui.offline-ui-up .offline-ui-content:before { 8 | content: "Dein Computer ist mit dem Internet verbunden."; 9 | } 10 | @media (max-width: 1024px) { 11 | /* line 11, ../sass/_content.sass */ 12 | .offline-ui.offline-ui-up .offline-ui-content:before { 13 | content: "Deing Gerät ist mit dem Internet verbunden."; 14 | } 15 | } 16 | @media (max-width: 568px) { 17 | /* line 11, ../sass/_content.sass */ 18 | .offline-ui.offline-ui-up .offline-ui-content:before { 19 | content: "Dein Gerät ist online."; 20 | } 21 | } 22 | /* line 22, ../sass/_content.sass */ 23 | .offline-ui.offline-ui-down .offline-ui-content:before { 24 | content: "Dein Computer wurde vom Internet getrennt."; 25 | } 26 | @media (max-width: 1024px) { 27 | /* line 22, ../sass/_content.sass */ 28 | .offline-ui.offline-ui-down .offline-ui-content:before { 29 | content: "Dein Gerät wurde vom Internet getrennt."; 30 | } 31 | } 32 | @media (max-width: 568px) { 33 | /* line 22, ../sass/_content.sass */ 34 | .offline-ui.offline-ui-down .offline-ui-content:before { 35 | content: "Keine Internetverbindung."; 36 | } 37 | } 38 | /* line 33, ../sass/_content.sass */ 39 | .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before { 40 | content: "Versuche Verbindung wiederherzustellen..."; 41 | } 42 | /* line 42, ../sass/_content.sass */ 43 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 44 | content: "Keine Verbindung. Verbinde nochmal in " attr(data-retry-in-value) " Sekunden..."; 45 | } 46 | @media (max-width: 568px) { 47 | /* line 42, ../sass/_content.sass */ 48 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 49 | content: "Verbinde in " attr(data-retry-in-value) "s..."; 50 | } 51 | } 52 | /* line 50, ../sass/_content.sass */ 53 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 54 | content: "Keine Verbindung. Verbinde nochmal in " attr(data-retry-in-value) " Sekunde..."; 55 | } 56 | @media (max-width: 568px) { 57 | /* line 50, ../sass/_content.sass */ 58 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 59 | content: "Verbinde in " attr(data-retry-in-value) "s..."; 60 | } 61 | } 62 | /* line 58, ../sass/_content.sass */ 63 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 64 | content: "Keine Verbindung. Verbinde nochmal in " attr(data-retry-in-value) " Minuten..."; 65 | } 66 | @media (max-width: 568px) { 67 | /* line 58, ../sass/_content.sass */ 68 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 69 | content: "Verbinde in " attr(data-retry-in-value) "m..."; 70 | } 71 | } 72 | /* line 66, ../sass/_content.sass */ 73 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 74 | content: "Keine Verbindung. Verbinde nochmal in " attr(data-retry-in-value) " Minute..."; 75 | } 76 | @media (max-width: 568px) { 77 | /* line 66, ../sass/_content.sass */ 78 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 79 | content: "Verbinde in " attr(data-retry-in-value) "m..."; 80 | } 81 | } 82 | /* line 74, ../sass/_content.sass */ 83 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 84 | content: "Keine Verbindung. Verbinde nochmal in " attr(data-retry-in-value) " Stunden..."; 85 | } 86 | @media (max-width: 568px) { 87 | /* line 74, ../sass/_content.sass */ 88 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 89 | content: "Verbinde in " attr(data-retry-in-value) "h..."; 90 | } 91 | } 92 | /* line 82, ../sass/_content.sass */ 93 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 94 | content: "Keine Verbindung. Verbinde nochmal in " attr(data-retry-in-value) " Stunde..."; 95 | } 96 | @media (max-width: 568px) { 97 | /* line 82, ../sass/_content.sass */ 98 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 99 | content: "Verbinde in " attr(data-retry-in-value) "h..."; 100 | } 101 | } 102 | /* line 90, ../sass/_content.sass */ 103 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry { 104 | display: none; 105 | } 106 | /* line 93, ../sass/_content.sass */ 107 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before { 108 | content: "Verbindung Fehlgeschlagen."; 109 | } 110 | -------------------------------------------------------------------------------- /themes/offline-language-hebrew-indicator.css: -------------------------------------------------------------------------------- 1 | /* line 5, ../sass/offline-language-english-indicator.sass */ 2 | .offline-ui.offline-ui-up .offline-ui-content:before { 3 | content: "מחובר"; 4 | } 5 | /* line 10, ../sass/offline-language-english-indicator.sass */ 6 | .offline-ui.offline-ui-down .offline-ui-content:before { 7 | content: "מנותק"; 8 | } 9 | -------------------------------------------------------------------------------- /themes/offline-language-hebrew.css: -------------------------------------------------------------------------------- 1 | /* line 6, ../sass/_content.sass */ 2 | 3 | .offline-ui .offline-ui-retry:before { 4 | content: "מתחבר"; 5 | } 6 | /* line 11, ../sass/_content.sass */ 7 | 8 | .offline-ui.offline-ui-up .offline-ui-content:before { 9 | content: "המחשב לא מחובר לאינטרנט."; 10 | } 11 | 12 | @media (max-width: 1024px) { /* line 11, ../sass/_content.sass */ 13 | 14 | .offline-ui.offline-ui-up .offline-ui-content:before { 15 | content: "המכשיר לא מחובר לאינטרנט."; 16 | } 17 | } 18 | 19 | @media (max-width: 568px) { /* line 11, ../sass/_content.sass */ 20 | 21 | .offline-ui.offline-ui-up .offline-ui-content:before { 22 | content: "המכשיר מחובר."; 23 | } 24 | } 25 | /* line 22, ../sass/_content.sass */ 26 | 27 | .offline-ui.offline-ui-down .offline-ui-content:before { 28 | content: "המחשב איבד את החיבור לאינטרנט."; 29 | } 30 | 31 | @media (max-width: 1024px) { /* line 22, ../sass/_content.sass */ 32 | 33 | .offline-ui.offline-ui-down .offline-ui-content:before { 34 | content: "המכשיר איבד את החיבור לאינטרנט."; 35 | } 36 | } 37 | 38 | @media (max-width: 568px) { /* line 22, ../sass/_content.sass */ 39 | 40 | .offline-ui.offline-ui-down .offline-ui-content:before { 41 | content: "המכשיר מחובר."; 42 | } 43 | } 44 | /* line 33, ../sass/_content.sass */ 45 | 46 | .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before { 47 | content: "מנסה להתחבר..."; 48 | } 49 | /* line 42, ../sass/_content.sass */ 50 | 51 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 52 | content: "החיבור אבד. מתחבר בעוד " attr(data-retry-in-value) " שניות..."; 53 | } 54 | 55 | @media (max-width: 568px) { /* line 42, ../sass/_content.sass */ 56 | 57 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 58 | content: "מתחבר בעוד " attr(data-retry-in-value) " ש..."; 59 | } 60 | } 61 | /* line 50, ../sass/_content.sass */ 62 | 63 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 64 | content: "החיבור אבד. מתחבר בעוד " attr(data-retry-in-value) " שניות..."; 65 | } 66 | 67 | @media (max-width: 568px) { /* line 50, ../sass/_content.sass */ 68 | 69 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 70 | content: "מתחבר בעוד " attr(data-retry-in-value) " ש..."; 71 | } 72 | } 73 | /* line 58, ../sass/_content.sass */ 74 | 75 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 76 | content: "חיבור אבד. מתחבר בעוד " attr(data-retry-in-value) " דקות..."; 77 | } 78 | 79 | @media (max-width: 568px) { /* line 58, ../sass/_content.sass */ 80 | 81 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 82 | content: "מתחבר בעוד " attr(data-retry-in-value) " ד..."; 83 | } 84 | } 85 | /* line 66, ../sass/_content.sass */ 86 | 87 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 88 | content: "חיבור אבד. מתחבר בעוד " attr(data-retry-in-value) " דקה..."; 89 | } 90 | 91 | @media (max-width: 568px) { /* line 66, ../sass/_content.sass */ 92 | 93 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 94 | content: "מתחבר בעוד " attr(data-retry-in-value) " ד..."; 95 | } 96 | } 97 | /* line 74, ../sass/_content.sass */ 98 | 99 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 100 | content: "חיבור אבד. מתחבר בעוד " attr(data-retry-in-value) " שעות..."; 101 | } 102 | 103 | @media (max-width: 568px) { /* line 74, ../sass/_content.sass */ 104 | 105 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 106 | content: "מתחבר בעוד " attr(data-retry-in-value) " שע..."; 107 | } 108 | } 109 | /* line 82, ../sass/_content.sass */ 110 | 111 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 112 | content: "חיבור אבד. מתחבר בעוד " attr(data-retry-in-value) " שעה..."; 113 | } 114 | 115 | @media (max-width: 568px) { /* line 82, ../sass/_content.sass */ 116 | 117 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 118 | content: "מתחבר בעוד " attr(data-retry-in-value) " שע..."; 119 | } 120 | } 121 | /* line 90, ../sass/_content.sass */ 122 | 123 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry { 124 | display: none; 125 | } 126 | /* line 93, ../sass/_content.sass */ 127 | 128 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before { 129 | content: "חיבור מחדש נכשל."; 130 | } 131 | -------------------------------------------------------------------------------- /themes/offline-language-italian-indicator.css: -------------------------------------------------------------------------------- 1 | /* line 5, ../sass/offline-language-italian-indicator.sass */ 2 | .offline-ui.offline-ui-up .offline-ui-content:before { 3 | content: "Online"; 4 | } 5 | /* line 10, ../sass/offline-language-italian-indicator.sass */ 6 | .offline-ui.offline-ui-down .offline-ui-content:before { 7 | content: "Offline"; 8 | } 9 | -------------------------------------------------------------------------------- /themes/offline-language-italian.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 6, ../sass/_content.sass */ 3 | .offline-ui .offline-ui-retry:before { 4 | content: "Riconnetti"; 5 | } 6 | /* line 11, ../sass/_content.sass */ 7 | .offline-ui.offline-ui-up .offline-ui-content:before { 8 | content: "Il tuo computer è connesso ad internet."; 9 | } 10 | @media (max-width: 1024px) { 11 | /* line 11, ../sass/_content.sass */ 12 | .offline-ui.offline-ui-up .offline-ui-content:before { 13 | content: "Il tuo device è connesso ad internet."; 14 | } 15 | } 16 | @media (max-width: 568px) { 17 | /* line 11, ../sass/_content.sass */ 18 | .offline-ui.offline-ui-up .offline-ui-content:before { 19 | content: "Il tuo device è connesso."; 20 | } 21 | } 22 | /* line 22, ../sass/_content.sass */ 23 | .offline-ui.offline-ui-down .offline-ui-content:before { 24 | content: "Il tuo computer si è disconnesso da internet."; 25 | } 26 | @media (max-width: 1024px) { 27 | /* line 22, ../sass/_content.sass */ 28 | .offline-ui.offline-ui-down .offline-ui-content:before { 29 | content: "Il tuo device si è disconnesso da internet."; 30 | } 31 | } 32 | @media (max-width: 568px) { 33 | /* line 22, ../sass/_content.sass */ 34 | .offline-ui.offline-ui-down .offline-ui-content:before { 35 | content: "Il tuo device si è disconnesso."; 36 | } 37 | } 38 | /* line 33, ../sass/_content.sass */ 39 | .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before { 40 | content: "Connessione in corso..."; 41 | } 42 | /* line 42, ../sass/_content.sass */ 43 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 44 | content: "Connessione persa. Riconnessione tra " attr(data-retry-in-value) " secondi..."; 45 | } 46 | @media (max-width: 568px) { 47 | /* line 42, ../sass/_content.sass */ 48 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 49 | content: "Riconnessione tra " attr(data-retry-in-value) "s..."; 50 | } 51 | } 52 | /* line 50, ../sass/_content.sass */ 53 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 54 | content: "Connessione persa. Riconnessione tra " attr(data-retry-in-value) " secondo..."; 55 | } 56 | @media (max-width: 568px) { 57 | /* line 50, ../sass/_content.sass */ 58 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 59 | content: "Riconnessione tra " attr(data-retry-in-value) "s..."; 60 | } 61 | } 62 | /* line 58, ../sass/_content.sass */ 63 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 64 | content: "Connessione persa. Riconnessione tra " attr(data-retry-in-value) " minuti..."; 65 | } 66 | @media (max-width: 568px) { 67 | /* line 58, ../sass/_content.sass */ 68 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 69 | content: "Riconnessione tra " attr(data-retry-in-value) "m..."; 70 | } 71 | } 72 | /* line 66, ../sass/_content.sass */ 73 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 74 | content: "Connessione persa. Riconnessione tra " attr(data-retry-in-value) " minuto..."; 75 | } 76 | @media (max-width: 568px) { 77 | /* line 66, ../sass/_content.sass */ 78 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 79 | content: "Riconnessione tra " attr(data-retry-in-value) "m..."; 80 | } 81 | } 82 | /* line 74, ../sass/_content.sass */ 83 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 84 | content: "Connessione persa. Riconnessione tra " attr(data-retry-in-value) " ore..."; 85 | } 86 | @media (max-width: 568px) { 87 | /* line 74, ../sass/_content.sass */ 88 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 89 | content: "Riconnessione tra " attr(data-retry-in-value) "h..."; 90 | } 91 | } 92 | /* line 82, ../sass/_content.sass */ 93 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 94 | content: "Connessione persa. Riconnessione tra " attr(data-retry-in-value) " ora..."; 95 | } 96 | @media (max-width: 568px) { 97 | /* line 82, ../sass/_content.sass */ 98 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 99 | content: "Riconnessione tra " attr(data-retry-in-value) "h..."; 100 | } 101 | } 102 | /* line 90, ../sass/_content.sass */ 103 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry { 104 | display: none; 105 | } 106 | /* line 93, ../sass/_content.sass */ 107 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before { 108 | content: "Tentativo di connessione fallito."; 109 | } 110 | -------------------------------------------------------------------------------- /themes/offline-language-pashto-indicator.css: -------------------------------------------------------------------------------- 1 | /* line 5, ../sass/offline-language-pashto-indicator.sass */ 2 | .offline-ui.offline-ui-up .offline-ui-content:before { 3 | content: "Online"; 4 | } 5 | /* line 10, ../sass/offline-language-pashto-indicator.sass */ 6 | .offline-ui.offline-ui-down .offline-ui-content:before { 7 | content: "Offline"; 8 | } 9 | -------------------------------------------------------------------------------- /themes/offline-language-pashto.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 6, ../sass/_content.sass */ 3 | .offline-ui .offline-ui-retry:before { 4 | content: "بيا ونښلوي"; 5 | } 6 | /* line 11, ../sass/_content.sass */ 7 | .offline-ui.offline-ui-up .offline-ui-content:before { 8 | content: "ستاسو د کمپيوټر له انټرنيټ سره وصل دی."; 9 | } 10 | @media (max-width: 1024px) { 11 | /* line 11, ../sass/_content.sass */ 12 | .offline-ui.offline-ui-up .offline-ui-content:before { 13 | content: "ستاسو وسيله چې د انټرنټ سره نښلي."; 14 | } 15 | } 16 | @media (max-width: 568px) { 17 | /* line 11, ../sass/_content.sass */ 18 | .offline-ui.offline-ui-up .offline-ui-content:before { 19 | content: "ستاسو آله سره نښلي."; 20 | } 21 | } 22 | /* line 22, ../sass/_content.sass */ 23 | .offline-ui.offline-ui-down .offline-ui-content:before { 24 | content: "ستاسو د کمپيوټر د خپل د انټرنېټ پیوستون له لاسه ورکړ."; 25 | } 26 | @media (max-width: 1024px) { 27 | /* line 22, ../sass/_content.sass */ 28 | .offline-ui.offline-ui-down .offline-ui-content:before { 29 | content: "ستاسو آله خپل د انټرنېټ پیوستون له لاسه ورکړ."; 30 | } 31 | } 32 | @media (max-width: 568px) { 33 | /* line 22, ../sass/_content.sass */ 34 | .offline-ui.offline-ui-down .offline-ui-content:before { 35 | content: "ستاسو آله نه نښلي."; 36 | } 37 | } 38 | /* line 33, ../sass/_content.sass */ 39 | .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before { 40 | content: "هڅه کوي تر څو یو ځل بیا سره نښلوي"; 41 | } 42 | /* line 42, ../sass/_content.sass */ 43 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 44 | content: "پیوستون له لاسه ورکړ. بيا په سره نښلوي" attr(data-retry-in-value) "ثانيو ..."; 45 | } 46 | @media (max-width: 568px) { 47 | /* line 42, ../sass/_content.sass */ 48 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 49 | content: "بيا په سره نښلوي" attr(data-retry-in-value) "s..."; 50 | } 51 | } 52 | /* line 50, ../sass/_content.sass */ 53 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 54 | content: "پیوستون له لاسه ورکړ. بيا په سره نښلوي" attr(data-retry-in-value) "دوهم..."; 55 | } 56 | @media (max-width: 568px) { 57 | /* line 50, ../sass/_content.sass */ 58 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 59 | content: "بيا په سره نښلوي" attr(data-retry-in-value) "s..."; 60 | } 61 | } 62 | /* line 58, ../sass/_content.sass */ 63 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 64 | content: "پیوستون له لاسه ورکړ. بيا په سره نښلوي" attr(data-retry-in-value) "دقیقو ..."; 65 | } 66 | @media (max-width: 568px) { 67 | /* line 58, ../sass/_content.sass */ 68 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 69 | content: "بيا په سره نښلوي" attr(data-retry-in-value) "m..."; 70 | } 71 | } 72 | /* line 66, ../sass/_content.sass */ 73 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 74 | content: "پیوستون له لاسه ورکړ. بيا په سره نښلوي" attr(data-retry-in-value) "دقیقه ..."; 75 | } 76 | @media (max-width: 568px) { 77 | /* line 66, ../sass/_content.sass */ 78 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 79 | content: "بيا په سره نښلوي" attr(data-retry-in-value) "m..."; 80 | } 81 | } 82 | /* line 74, ../sass/_content.sass */ 83 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 84 | content: "پیوستون له لاسه ورکړ. بيا په سره نښلوي" attr(data-retry-in-value) "ساعتونو کې ..."; 85 | } 86 | @media (max-width: 568px) { 87 | /* line 74, ../sass/_content.sass */ 88 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 89 | content: "بيا په سره نښلوي" attr(data-retry-in-value) "h..."; 90 | } 91 | } 92 | /* line 82, ../sass/_content.sass */ 93 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 94 | content: "پیوستون له لاسه ورکړ. بيا په سره نښلوي" attr(data-retry-in-value) "ساعت ..."; 95 | } 96 | @media (max-width: 568px) { 97 | /* line 82, ../sass/_content.sass */ 98 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 99 | content: "بيا په سره نښلوي" attr(data-retry-in-value) "h..."; 100 | } 101 | } 102 | /* line 90, ../sass/_content.sass */ 103 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry { 104 | display: none; 105 | } 106 | /* line 93, ../sass/_content.sass */ 107 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before { 108 | content: "پیوستون هڅه ناکامه شوه."; 109 | } 110 | -------------------------------------------------------------------------------- /themes/offline-language-persian-indicator.css: -------------------------------------------------------------------------------- 1 | * line 5, ../sass/offline-language-english-indicator.sass */ 2 | .offline-ui.offline-ui-up .offline-ui-content:before { 3 | content: "آنلاین"; 4 | } 5 | /* line 10, ../sass/offline-language-english-indicator.sass */ 6 | .offline-ui.offline-ui-down .offline-ui-content:before { 7 | content: "آفلاین"; 8 | } 9 | -------------------------------------------------------------------------------- /themes/offline-language-persian.css: -------------------------------------------------------------------------------- 1 | /* line 6, ../sass/_content.sass */ 2 | .offline-ui .offline-ui-retry:before { 3 | content: "اتصال مجدد"; 4 | } 5 | /* line 11, ../sass/_content.sass */ 6 | .offline-ui.offline-ui-up .offline-ui-content:before { 7 | content: "ارتباط کامپیوتر شما با اینترنت برقرار است."; 8 | } 9 | @media (max-width: 1024px) { 10 | /* line 11, ../sass/_content.sass */ 11 | .offline-ui.offline-ui-up .offline-ui-content:before { 12 | content: "ارتباط دستگاه شما با اینترنت برقرار است."; 13 | } 14 | } 15 | @media (max-width: 568px) { 16 | /* line 11, ../sass/_content.sass */ 17 | .offline-ui.offline-ui-up .offline-ui-content:before { 18 | content: "دستگاه شما متصل است."; 19 | } 20 | } 21 | /* line 22, ../sass/_content.sass */ 22 | .offline-ui.offline-ui-down .offline-ui-content:before { 23 | content: "ارتباط کامپیوتر شما با اینترنت قطع شده است."; 24 | } 25 | @media (max-width: 1024px) { 26 | /* line 22, ../sass/_content.sass */ 27 | .offline-ui.offline-ui-down .offline-ui-content:before { 28 | content: "ارتباط دستگاه شما با اینترنت قطع شده است."; 29 | } 30 | } 31 | @media (max-width: 568px) { 32 | /* line 22, ../sass/_content.sass */ 33 | .offline-ui.offline-ui-down .offline-ui-content:before { 34 | content: "دستگاه شما متصل نیست."; 35 | } 36 | } 37 | /* line 33, ../sass/_content.sass */ 38 | .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before { 39 | content: "تلاش برای اتصال مجدد..."; 40 | } 41 | /* line 42, ../sass/_content.sass */ 42 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 43 | content: "اتصال قطع شد. اتصال مجدد در " attr(data-retry-in-value) " ثانیه..."; 44 | } 45 | @media (max-width: 568px) { 46 | /* line 42, ../sass/_content.sass */ 47 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 48 | content: "اتصال مجدد در " attr(data-retry-in-value) "s..."; 49 | } 50 | } 51 | /* line 50, ../sass/_content.sass */ 52 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 53 | content: "اتصال قطع شد. اتصال مجدد در " attr(data-retry-in-value) " ثانیه..."; 54 | } 55 | @media (max-width: 568px) { 56 | /* line 50, ../sass/_content.sass */ 57 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 58 | content: "اتصال مجدد در " attr(data-retry-in-value) "s..."; 59 | } 60 | } 61 | /* line 58, ../sass/_content.sass */ 62 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 63 | content: "اتصال قطع شد. اتصال مجدد در " attr(data-retry-in-value) " دقیقه..."; 64 | } 65 | @media (max-width: 568px) { 66 | /* line 58, ../sass/_content.sass */ 67 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 68 | content: "اتصال مجدد در " attr(data-retry-in-value) "m..."; 69 | } 70 | } 71 | /* line 66, ../sass/_content.sass */ 72 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 73 | content: "اتصال قطع شد. اتصال مجدد در " attr(data-retry-in-value) " دقیقه..."; 74 | } 75 | @media (max-width: 568px) { 76 | /* line 66, ../sass/_content.sass */ 77 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 78 | content: "اتصال مجدد در " attr(data-retry-in-value) "m..."; 79 | } 80 | } 81 | /* line 74, ../sass/_content.sass */ 82 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 83 | content: "اتصال قطع شد. اتصال مجدد در " attr(data-retry-in-value) " ساعت..."; 84 | } 85 | @media (max-width: 568px) { 86 | /* line 74, ../sass/_content.sass */ 87 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 88 | content: "اتصال مجدد در " attr(data-retry-in-value) "h..."; 89 | } 90 | } 91 | /* line 82, ../sass/_content.sass */ 92 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 93 | content: "اتصال قطع شد. اتصال مجدد در " attr(data-retry-in-value) " ساعت..."; 94 | } 95 | @media (max-width: 568px) { 96 | /* line 82, ../sass/_content.sass */ 97 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 98 | content: "اتصال مجدد در " attr(data-retry-in-value) "h..."; 99 | } 100 | } 101 | /* line 90, ../sass/_content.sass */ 102 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry { 103 | display: none; 104 | } 105 | /* line 93, ../sass/_content.sass */ 106 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before { 107 | content: "تلاش برای اتصال مجدد بی نتیجه بود."; 108 | } 109 | -------------------------------------------------------------------------------- /themes/offline-language-polish-indicator.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 5, ../sass/offline-language-polish-indicator.sass */ 3 | .offline-ui.offline-ui-up .offline-ui-content:before { 4 | content: "Połączony"; 5 | } 6 | /* line 10, ../sass/offline-language-polish-indicator.sass */ 7 | .offline-ui.offline-ui-down .offline-ui-content:before { 8 | content: "Rozłączony"; 9 | } 10 | -------------------------------------------------------------------------------- /themes/offline-language-polish.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 6, ../sass/_content.sass */ 3 | .offline-ui .offline-ui-retry:before { 4 | content: "Połącz teraz"; 5 | } 6 | /* line 11, ../sass/_content.sass */ 7 | .offline-ui.offline-ui-up .offline-ui-content:before { 8 | content: "Twój komputer jest podłączony do internetu."; 9 | } 10 | @media (max-width: 1024px) { 11 | /* line 11, ../sass/_content.sass */ 12 | .offline-ui.offline-ui-up .offline-ui-content:before { 13 | content: "Twoje urządzenie jest podłączone do internetu."; 14 | } 15 | } 16 | @media (max-width: 568px) { 17 | /* line 11, ../sass/_content.sass */ 18 | .offline-ui.offline-ui-up .offline-ui-content:before { 19 | content: "Twoje urządzenie jest podłączone."; 20 | } 21 | } 22 | /* line 22, ../sass/_content.sass */ 23 | .offline-ui.offline-ui-down .offline-ui-content:before { 24 | content: "Twój komputer stracił połączenie z internetem."; 25 | } 26 | @media (max-width: 1024px) { 27 | /* line 22, ../sass/_content.sass */ 28 | .offline-ui.offline-ui-down .offline-ui-content:before { 29 | content: "Twoje urządzenie straciło połączenie z internetem."; 30 | } 31 | } 32 | @media (max-width: 568px) { 33 | /* line 22, ../sass/_content.sass */ 34 | .offline-ui.offline-ui-down .offline-ui-content:before { 35 | content: "Twoje urządzenie nie jest podłączone."; 36 | } 37 | } 38 | /* line 33, ../sass/_content.sass */ 39 | .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before { 40 | content: "Próbuję połączyć..."; 41 | } 42 | /* line 42, ../sass/_content.sass */ 43 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 44 | content: "Połączenie utracone. Ponawiam za " attr(data-retry-in-value) " sekund..."; 45 | } 46 | @media (max-width: 568px) { 47 | /* line 42, ../sass/_content.sass */ 48 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 49 | content: "Ponawiam za " attr(data-retry-in-value) "s..."; 50 | } 51 | } 52 | /* line 50, ../sass/_content.sass */ 53 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 54 | content: "Połączenie utracone. Ponawiam za " attr(data-retry-in-value) " sekundę..."; 55 | } 56 | @media (max-width: 568px) { 57 | /* line 50, ../sass/_content.sass */ 58 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 59 | content: "Ponawiam za " attr(data-retry-in-value) "s..."; 60 | } 61 | } 62 | /* line 58, ../sass/_content.sass */ 63 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 64 | content: "Połączenie utracone. Ponawiam za " attr(data-retry-in-value) " minut..."; 65 | } 66 | @media (max-width: 568px) { 67 | /* line 58, ../sass/_content.sass */ 68 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 69 | content: "Ponawiam za " attr(data-retry-in-value) "m..."; 70 | } 71 | } 72 | /* line 66, ../sass/_content.sass */ 73 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 74 | content: "Połączenie utracone. Ponawiam za " attr(data-retry-in-value) " minutę..."; 75 | } 76 | @media (max-width: 568px) { 77 | /* line 66, ../sass/_content.sass */ 78 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 79 | content: "Ponawiam za " attr(data-retry-in-value) "m..."; 80 | } 81 | } 82 | /* line 74, ../sass/_content.sass */ 83 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 84 | content: "Połączenie utracone. Ponawiam za " attr(data-retry-in-value) " godzin..."; 85 | } 86 | @media (max-width: 568px) { 87 | /* line 74, ../sass/_content.sass */ 88 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 89 | content: "Ponawiam za " attr(data-retry-in-value) "h..."; 90 | } 91 | } 92 | /* line 82, ../sass/_content.sass */ 93 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 94 | content: "Połączenie utracone. Ponawiam za " attr(data-retry-in-value) " godzinę..."; 95 | } 96 | @media (max-width: 568px) { 97 | /* line 82, ../sass/_content.sass */ 98 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 99 | content: "Ponawiam za " attr(data-retry-in-value) "h..."; 100 | } 101 | } 102 | /* line 90, ../sass/_content.sass */ 103 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry { 104 | display: none; 105 | } 106 | /* line 93, ../sass/_content.sass */ 107 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before { 108 | content: "Nieudana próba podłączenia."; 109 | } 110 | -------------------------------------------------------------------------------- /themes/offline-language-portuguese-brazil-indicator.css: -------------------------------------------------------------------------------- 1 | /* line 5, ../sass/offline-language-portuguese-brazil-indicator.sass */ 2 | .offline-ui.offline-ui-up .offline-ui-content:before { 3 | content: "Conectado"; 4 | } 5 | /* line 10, ../sass/offline-language-portuguese-brazil-indicator.sass */ 6 | .offline-ui.offline-ui-down .offline-ui-content:before { 7 | content: "Desconectado"; 8 | } 9 | -------------------------------------------------------------------------------- /themes/offline-language-portuguese-brazil.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 6, ../sass/_content.sass */ 3 | .offline-ui .offline-ui-retry:before { 4 | content: "Reconectar"; 5 | } 6 | /* line 11, ../sass/_content.sass */ 7 | .offline-ui.offline-ui-up .offline-ui-content:before { 8 | content: "Seu computador está conectado à internet."; 9 | } 10 | @media (max-width: 1024px) { 11 | /* line 11, ../sass/_content.sass */ 12 | .offline-ui.offline-ui-up .offline-ui-content:before { 13 | content: "O dispositivo está conectado à internet."; 14 | } 15 | } 16 | @media (max-width: 568px) { 17 | /* line 11, ../sass/_content.sass */ 18 | .offline-ui.offline-ui-up .offline-ui-content:before { 19 | content: "O dispositivo está conectado."; 20 | } 21 | } 22 | /* line 22, ../sass/_content.sass */ 23 | .offline-ui.offline-ui-down .offline-ui-content:before { 24 | content: "O computador perdeu sua conexão com a internet."; 25 | } 26 | @media (max-width: 1024px) { 27 | /* line 22, ../sass/_content.sass */ 28 | .offline-ui.offline-ui-down .offline-ui-content:before { 29 | content: "O dispositivo perdeu sua conexão com a internet."; 30 | } 31 | } 32 | @media (max-width: 568px) { 33 | /* line 22, ../sass/_content.sass */ 34 | .offline-ui.offline-ui-down .offline-ui-content:before { 35 | content: "Seu dispositivo não está conectado."; 36 | } 37 | } 38 | /* line 33, ../sass/_content.sass */ 39 | .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before { 40 | content: "Tentando reconectar..."; 41 | } 42 | /* line 42, ../sass/_content.sass */ 43 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 44 | content: "Conexão perdida. Reconectando em " attr(data-retry-in-value) " segundos..."; 45 | } 46 | @media (max-width: 568px) { 47 | /* line 42, ../sass/_content.sass */ 48 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 49 | content: "Reconectando em " attr(data-retry-in-value) "s..."; 50 | } 51 | } 52 | /* line 50, ../sass/_content.sass */ 53 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 54 | content: "Conexão perdida. Reconectando em " attr(data-retry-in-value) " segundo..."; 55 | } 56 | @media (max-width: 568px) { 57 | /* line 50, ../sass/_content.sass */ 58 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 59 | content: "Reconectando em " attr(data-retry-in-value) "s..."; 60 | } 61 | } 62 | /* line 58, ../sass/_content.sass */ 63 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 64 | content: "Conexão perdida. Reconectando em " attr(data-retry-in-value) " minutos..."; 65 | } 66 | @media (max-width: 568px) { 67 | /* line 58, ../sass/_content.sass */ 68 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 69 | content: "Reconectando em " attr(data-retry-in-value) "m..."; 70 | } 71 | } 72 | /* line 66, ../sass/_content.sass */ 73 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 74 | content: "Conexão perdida. Reconectando em " attr(data-retry-in-value) " minuto..."; 75 | } 76 | @media (max-width: 568px) { 77 | /* line 66, ../sass/_content.sass */ 78 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 79 | content: "Reconectando em " attr(data-retry-in-value) "m..."; 80 | } 81 | } 82 | /* line 74, ../sass/_content.sass */ 83 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 84 | content: "Conexão perdida. Reconectando em " attr(data-retry-in-value) " horas..."; 85 | } 86 | @media (max-width: 568px) { 87 | /* line 74, ../sass/_content.sass */ 88 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 89 | content: "Reconectando em " attr(data-retry-in-value) "h..."; 90 | } 91 | } 92 | /* line 82, ../sass/_content.sass */ 93 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 94 | content: "Conexão perdida. Reconectando em " attr(data-retry-in-value) " hora..."; 95 | } 96 | @media (max-width: 568px) { 97 | /* line 82, ../sass/_content.sass */ 98 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 99 | content: "Reconectando em " attr(data-retry-in-value) "h..."; 100 | } 101 | } 102 | /* line 90, ../sass/_content.sass */ 103 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry { 104 | display: none; 105 | } 106 | /* line 93, ../sass/_content.sass */ 107 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before { 108 | content: "Tentativa de conexão falhou."; 109 | } 110 | -------------------------------------------------------------------------------- /themes/offline-language-simplified-chinese-indicator.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 6, ../sass/offline-language-simplified-chinese-indicator.sass */ 3 | .offline-ui.offline-ui-up .offline-ui-content:before { 4 | content: "在线"; 5 | } 6 | /* line 11, ../sass/offline-language-simplified-chinese-indicator.sass */ 7 | .offline-ui.offline-ui-down .offline-ui-content:before { 8 | content: "离线"; 9 | } 10 | -------------------------------------------------------------------------------- /themes/offline-language-spanish-indicator.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 3, ../sass/offline-language-spanish-indicator.sass */ 3 | .offline-ui.offline-ui-up .offline-ui-content:before { 4 | content: "En línea"; 5 | } 6 | /* line 6, ../sass/offline-language-spanish-indicator.sass */ 7 | .offline-ui.offline-ui-down .offline-ui-content:before { 8 | content: "Fuera de línea"; 9 | } 10 | -------------------------------------------------------------------------------- /themes/offline-language-spanish.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 6, ../sass/_content.sass */ 3 | .offline-ui .offline-ui-retry:before { 4 | content: "Reconectar"; 5 | } 6 | /* line 11, ../sass/_content.sass */ 7 | .offline-ui.offline-ui-up .offline-ui-content:before { 8 | content: "Tu computador está conectado a internet."; 9 | } 10 | @media (max-width: 1024px) { 11 | /* line 11, ../sass/_content.sass */ 12 | .offline-ui.offline-ui-up .offline-ui-content:before { 13 | content: "Tu dispositivo está conectado a internet."; 14 | } 15 | } 16 | @media (max-width: 568px) { 17 | /* line 11, ../sass/_content.sass */ 18 | .offline-ui.offline-ui-up .offline-ui-content:before { 19 | content: "Tu dispositivo está conectado."; 20 | } 21 | } 22 | /* line 22, ../sass/_content.sass */ 23 | .offline-ui.offline-ui-down .offline-ui-content:before { 24 | content: "Tu computador perdió su conexión a internet."; 25 | } 26 | @media (max-width: 1024px) { 27 | /* line 22, ../sass/_content.sass */ 28 | .offline-ui.offline-ui-down .offline-ui-content:before { 29 | content: "Tu dispositivo perdió su conexión a internet."; 30 | } 31 | } 32 | @media (max-width: 568px) { 33 | /* line 22, ../sass/_content.sass */ 34 | .offline-ui.offline-ui-down .offline-ui-content:before { 35 | content: "Tu dispositivo no está conectado."; 36 | } 37 | } 38 | /* line 33, ../sass/_content.sass */ 39 | .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before { 40 | content: "Intentando reconectar..."; 41 | } 42 | /* line 42, ../sass/_content.sass */ 43 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 44 | content: "Conexión perdida. Reconectando en " attr(data-retry-in-value) " segundos..."; 45 | } 46 | @media (max-width: 568px) { 47 | /* line 42, ../sass/_content.sass */ 48 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 49 | content: "Reconectando en " attr(data-retry-in-value) "s..."; 50 | } 51 | } 52 | /* line 50, ../sass/_content.sass */ 53 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 54 | content: "Conexión perdida. Reconectando en " attr(data-retry-in-value) " segundo..."; 55 | } 56 | @media (max-width: 568px) { 57 | /* line 50, ../sass/_content.sass */ 58 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 59 | content: "Reconectando en " attr(data-retry-in-value) "s..."; 60 | } 61 | } 62 | /* line 58, ../sass/_content.sass */ 63 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 64 | content: "Conexión perdida. Reconectando en " attr(data-retry-in-value) " minutos..."; 65 | } 66 | @media (max-width: 568px) { 67 | /* line 58, ../sass/_content.sass */ 68 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 69 | content: "Reconectando en " attr(data-retry-in-value) "m..."; 70 | } 71 | } 72 | /* line 66, ../sass/_content.sass */ 73 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 74 | content: "Conexión perdida. Reconectando en " attr(data-retry-in-value) " minuto..."; 75 | } 76 | @media (max-width: 568px) { 77 | /* line 66, ../sass/_content.sass */ 78 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 79 | content: "Reconectando en " attr(data-retry-in-value) "m..."; 80 | } 81 | } 82 | /* line 74, ../sass/_content.sass */ 83 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 84 | content: "Conexión perdida. Reconectando en " attr(data-retry-in-value) " horas..."; 85 | } 86 | @media (max-width: 568px) { 87 | /* line 74, ../sass/_content.sass */ 88 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 89 | content: "Reconectando en " attr(data-retry-in-value) "h..."; 90 | } 91 | } 92 | /* line 82, ../sass/_content.sass */ 93 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 94 | content: "Conexión perdida. Reconectando en " attr(data-retry-in-value) " hora..."; 95 | } 96 | @media (max-width: 568px) { 97 | /* line 82, ../sass/_content.sass */ 98 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 99 | content: "Reconectando en " attr(data-retry-in-value) "h..."; 100 | } 101 | } 102 | /* line 90, ../sass/_content.sass */ 103 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry { 104 | display: none; 105 | } 106 | /* line 93, ../sass/_content.sass */ 107 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before { 108 | content: "Intento fallido."; 109 | } 110 | -------------------------------------------------------------------------------- /themes/offline-language-turkish-indicator.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 5, ../sass/offline-language-turkish-indicator.sass */ 3 | .offline-ui.offline-ui-up .offline-ui-content:before { 4 | content: "Çevrimiçi"; 5 | } 6 | /* line 10, ../sass/offline-language-turkish-indicator.sass */ 7 | .offline-ui.offline-ui-down .offline-ui-content:before { 8 | content: "Çevrimdışı"; 9 | } 10 | -------------------------------------------------------------------------------- /themes/offline-language-turkish.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* line 6, ../sass/_content.sass */ 3 | .offline-ui .offline-ui-retry:before { 4 | content: "Yeniden bağlan"; 5 | } 6 | /* line 11, ../sass/_content.sass */ 7 | .offline-ui.offline-ui-up .offline-ui-content:before { 8 | content: "Bilgisayarınız internete bağlı."; 9 | } 10 | @media (max-width: 1024px) { 11 | /* line 11, ../sass/_content.sass */ 12 | .offline-ui.offline-ui-up .offline-ui-content:before { 13 | content: "Cihazınız internete bağlı."; 14 | } 15 | } 16 | @media (max-width: 568px) { 17 | /* line 11, ../sass/_content.sass */ 18 | .offline-ui.offline-ui-up .offline-ui-content:before { 19 | content: "Cihazınız bağlı."; 20 | } 21 | } 22 | /* line 22, ../sass/_content.sass */ 23 | .offline-ui.offline-ui-down .offline-ui-content:before { 24 | content: "Bilgisayarınız internet bağlantısı kesildi."; 25 | } 26 | @media (max-width: 1024px) { 27 | /* line 22, ../sass/_content.sass */ 28 | .offline-ui.offline-ui-down .offline-ui-content:before { 29 | content: "Cihazınızın internet bağlantısı kesildi."; 30 | } 31 | } 32 | @media (max-width: 568px) { 33 | /* line 22, ../sass/_content.sass */ 34 | .offline-ui.offline-ui-down .offline-ui-content:before { 35 | content: "Cihazınız internete bağlı değil."; 36 | } 37 | } 38 | /* line 33, ../sass/_content.sass */ 39 | .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before { 40 | content: "Yeniden bağlanmaya çalışıyor..."; 41 | } 42 | /* line 42, ../sass/_content.sass */ 43 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 44 | content: "Bağlantı kesildi. " attr(data-retry-in-value) " saniye içinde tekrar bağlanmayı deneyecek..."; 45 | } 46 | @media (max-width: 568px) { 47 | /* line 42, ../sass/_content.sass */ 48 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before { 49 | content: " " attr(data-retry-in-value) "saniye içinde tekrar bağlanmayı deneyecek..."; 50 | } 51 | } 52 | /* line 50, ../sass/_content.sass */ 53 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 54 | content: "Bağlantı kesildi. " attr(data-retry-in-value) " saniye içinde tekrar bağlanmayı deneyecek..."; 55 | } 56 | @media (max-width: 568px) { 57 | /* line 50, ../sass/_content.sass */ 58 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before { 59 | content: " " attr(data-retry-in-value) "saniye içinde tekrar bağlanmayı deneyecek..."; 60 | } 61 | } 62 | /* line 58, ../sass/_content.sass */ 63 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 64 | content: "Bağlantı kesildi. " attr(data-retry-in-value) " dakika içersinde tekrar bağlanmayı deneyecek..."; 65 | } 66 | @media (max-width: 568px) { 67 | /* line 58, ../sass/_content.sass */ 68 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before { 69 | content: " " attr(data-retry-in-value) "dakika içersinde tekrar bağlanmayı deneyecek..."; 70 | } 71 | } 72 | /* line 66, ../sass/_content.sass */ 73 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 74 | content: "Bağlantı kesildi. " attr(data-retry-in-value) " dakika içersinde tekrar bağlanmayı deneyecek..."; 75 | } 76 | @media (max-width: 568px) { 77 | /* line 66, ../sass/_content.sass */ 78 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before { 79 | content: " " attr(data-retry-in-value) "dakika içersinde tekrar bağlanmayı deneyecek..."; 80 | } 81 | } 82 | /* line 74, ../sass/_content.sass */ 83 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 84 | content: "Bağlantı kesildi. " attr(data-retry-in-value) " saat içersinde tekrar bağlanmayı deneyecek..."; 85 | } 86 | @media (max-width: 568px) { 87 | /* line 74, ../sass/_content.sass */ 88 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before { 89 | content: " " attr(data-retry-in-value) "saat içersinde tekrar bağlanmayı deneyecek..."; 90 | } 91 | } 92 | /* line 82, ../sass/_content.sass */ 93 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 94 | content: "Bağlantı kesildi. " attr(data-retry-in-value) " saat içersinde tekrar bağlanmayı deneyecek..."; 95 | } 96 | @media (max-width: 568px) { 97 | /* line 82, ../sass/_content.sass */ 98 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before { 99 | content: " " attr(data-retry-in-value) "saat içersinde tekrar bağlanmayı deneyecek..."; 100 | } 101 | } 102 | /* line 90, ../sass/_content.sass */ 103 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry { 104 | display: none; 105 | } 106 | /* line 93, ../sass/_content.sass */ 107 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before { 108 | content: "Bağlantı denemesi başarısız oldu."; 109 | } 110 | -------------------------------------------------------------------------------- /themes/offline-theme-chrome-indicator.css: -------------------------------------------------------------------------------- 1 | /* line 3, ../sass/_offline-theme-base-indicator.sass */ 2 | .offline-ui, .offline-ui *, .offline-ui:before, .offline-ui:after, .offline-ui *:before, .offline-ui *:after { 3 | -webkit-box-sizing: border-box; 4 | -moz-box-sizing: border-box; 5 | box-sizing: border-box; 6 | } 7 | 8 | /* line 6, ../sass/_offline-theme-base-indicator.sass */ 9 | .offline-ui { 10 | display: none; 11 | position: fixed; 12 | background: white; 13 | z-index: 2000; 14 | display: inline-block; 15 | } 16 | /* line 13, ../sass/_offline-theme-base-indicator.sass */ 17 | .offline-ui .offline-ui-retry { 18 | display: none; 19 | } 20 | /* line 16, ../sass/_offline-theme-base-indicator.sass */ 21 | .offline-ui.offline-ui-up { 22 | display: block; 23 | } 24 | /* line 19, ../sass/_offline-theme-base-indicator.sass */ 25 | .offline-ui.offline-ui-down { 26 | display: block; 27 | } 28 | 29 | /* line 8, ../sass/offline-theme-chrome-indicator.sass */ 30 | .offline-ui { 31 | -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); 32 | -moz-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); 33 | box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); 34 | -webkit-border-radius: 4px 4px 0 0; 35 | -moz-border-radius: 4px 4px 0 0; 36 | -ms-border-radius: 4px 4px 0 0; 37 | -o-border-radius: 4px 4px 0 0; 38 | border-radius: 4px 4px 0 0; 39 | font-family: "Lucida Grande", sans-serif; 40 | font-size: 12px; 41 | padding: 7px; 42 | background: #f6f6f6; 43 | color: #888888; 44 | bottom: 0; 45 | left: 20px; 46 | } 47 | /* line 19, ../sass/offline-theme-chrome-indicator.sass */ 48 | .offline-ui .offline-ui-content { 49 | padding-left: 16px; 50 | } 51 | /* line 22, ../sass/offline-theme-chrome-indicator.sass */ 52 | .offline-ui .offline-ui-content:after { 53 | -webkit-border-radius: 50%; 54 | -moz-border-radius: 50%; 55 | -ms-border-radius: 50%; 56 | -o-border-radius: 50%; 57 | border-radius: 50%; 58 | content: " "; 59 | display: block; 60 | position: absolute; 61 | top: 0; 62 | bottom: 1px; 63 | left: 8px; 64 | margin: auto; 65 | height: 9px; 66 | width: 9px; 67 | } 68 | /* line 36, ../sass/offline-theme-chrome-indicator.sass */ 69 | .offline-ui.offline-ui-up .offline-ui-content:after { 70 | background: #80d580; 71 | } 72 | /* line 41, ../sass/offline-theme-chrome-indicator.sass */ 73 | .offline-ui.offline-ui-down .offline-ui-content:after { 74 | background: #ec8787; 75 | } 76 | -------------------------------------------------------------------------------- /themes/offline-theme-dark-indicator.css: -------------------------------------------------------------------------------- 1 | /* line 3, ../sass/_offline-theme-base-indicator.sass */ 2 | .offline-ui, .offline-ui *, .offline-ui:before, .offline-ui:after, .offline-ui *:before, .offline-ui *:after { 3 | -webkit-box-sizing: border-box; 4 | -moz-box-sizing: border-box; 5 | box-sizing: border-box; 6 | } 7 | 8 | /* line 6, ../sass/_offline-theme-base-indicator.sass */ 9 | .offline-ui { 10 | display: none; 11 | position: fixed; 12 | background: white; 13 | z-index: 2000; 14 | display: inline-block; 15 | } 16 | /* line 13, ../sass/_offline-theme-base-indicator.sass */ 17 | .offline-ui .offline-ui-retry { 18 | display: none; 19 | } 20 | /* line 16, ../sass/_offline-theme-base-indicator.sass */ 21 | .offline-ui.offline-ui-up { 22 | display: block; 23 | } 24 | /* line 19, ../sass/_offline-theme-base-indicator.sass */ 25 | .offline-ui.offline-ui-down { 26 | display: block; 27 | } 28 | 29 | /* line 8, ../sass/offline-theme-dark-indicator.sass */ 30 | .offline-ui { 31 | -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); 32 | -moz-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); 33 | box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); 34 | -webkit-border-radius: 4px 4px 0 0; 35 | -moz-border-radius: 4px 4px 0 0; 36 | -ms-border-radius: 4px 4px 0 0; 37 | -o-border-radius: 4px 4px 0 0; 38 | border-radius: 4px 4px 0 0; 39 | font-family: "Helvetica Neue", sans-serif; 40 | font-weight: 300; 41 | padding: 1em; 42 | background: black; 43 | color: #cccccc; 44 | bottom: 0; 45 | left: 20px; 46 | } 47 | /* line 19, ../sass/offline-theme-dark-indicator.sass */ 48 | .offline-ui .offline-ui-content { 49 | padding-left: 1.5em; 50 | } 51 | /* line 22, ../sass/offline-theme-dark-indicator.sass */ 52 | .offline-ui .offline-ui-content:after { 53 | -webkit-border-radius: 50%; 54 | -moz-border-radius: 50%; 55 | -ms-border-radius: 50%; 56 | -o-border-radius: 50%; 57 | border-radius: 50%; 58 | content: " "; 59 | display: block; 60 | position: absolute; 61 | top: 0; 62 | bottom: 0; 63 | left: 1em; 64 | margin: auto; 65 | height: 0.8em; 66 | width: 0.8em; 67 | } 68 | /* line 36, ../sass/offline-theme-dark-indicator.sass */ 69 | .offline-ui.offline-ui-up .offline-ui-content:after { 70 | background: #80d580; 71 | } 72 | /* line 41, ../sass/offline-theme-dark-indicator.sass */ 73 | .offline-ui.offline-ui-down .offline-ui-content:after { 74 | background: #e24949; 75 | } 76 | -------------------------------------------------------------------------------- /themes/offline-theme-default-indicator.css: -------------------------------------------------------------------------------- 1 | /* line 3, ../sass/_offline-theme-base-indicator.sass */ 2 | .offline-ui, .offline-ui *, .offline-ui:before, .offline-ui:after, .offline-ui *:before, .offline-ui *:after { 3 | -webkit-box-sizing: border-box; 4 | -moz-box-sizing: border-box; 5 | box-sizing: border-box; 6 | } 7 | 8 | /* line 6, ../sass/_offline-theme-base-indicator.sass */ 9 | .offline-ui { 10 | display: none; 11 | position: fixed; 12 | background: white; 13 | z-index: 2000; 14 | display: inline-block; 15 | } 16 | /* line 13, ../sass/_offline-theme-base-indicator.sass */ 17 | .offline-ui .offline-ui-retry { 18 | display: none; 19 | } 20 | /* line 16, ../sass/_offline-theme-base-indicator.sass */ 21 | .offline-ui.offline-ui-up { 22 | display: block; 23 | } 24 | /* line 19, ../sass/_offline-theme-base-indicator.sass */ 25 | .offline-ui.offline-ui-down { 26 | display: block; 27 | } 28 | 29 | /* line 11, ../sass/offline-theme-default-indicator.sass */ 30 | .offline-ui { 31 | -webkit-border-radius: 4px; 32 | -moz-border-radius: 4px; 33 | -ms-border-radius: 4px; 34 | -o-border-radius: 4px; 35 | border-radius: 4px; 36 | font-family: "Helvetica Neue", sans-serif; 37 | padding: 1em; 38 | max-width: 100%; 39 | bottom: 1em; 40 | left: 1em; 41 | } 42 | /* line 19, ../sass/offline-theme-default-indicator.sass */ 43 | .offline-ui.offline-ui-up { 44 | background: #d6e9c6; 45 | color: #468847; 46 | } 47 | /* line 23, ../sass/offline-theme-default-indicator.sass */ 48 | .offline-ui.offline-ui-down { 49 | background: #ec8787; 50 | color: #551313; 51 | } 52 | -------------------------------------------------------------------------------- /themes/offline-theme-slide-indicator.css: -------------------------------------------------------------------------------- 1 | /* line 3, ../sass/_offline-theme-base-indicator.sass */ 2 | .offline-ui, .offline-ui *, .offline-ui:before, .offline-ui:after, .offline-ui *:before, .offline-ui *:after { 3 | -webkit-box-sizing: border-box; 4 | -moz-box-sizing: border-box; 5 | box-sizing: border-box; 6 | } 7 | 8 | /* line 6, ../sass/_offline-theme-base-indicator.sass */ 9 | .offline-ui { 10 | display: none; 11 | position: fixed; 12 | background: white; 13 | z-index: 2000; 14 | display: inline-block; 15 | } 16 | /* line 13, ../sass/_offline-theme-base-indicator.sass */ 17 | .offline-ui .offline-ui-retry { 18 | display: none; 19 | } 20 | /* line 16, ../sass/_offline-theme-base-indicator.sass */ 21 | .offline-ui.offline-ui-up { 22 | display: block; 23 | } 24 | /* line 19, ../sass/_offline-theme-base-indicator.sass */ 25 | .offline-ui.offline-ui-down { 26 | display: block; 27 | } 28 | 29 | /* line 11, ../sass/offline-theme-slide-indicator.sass */ 30 | .offline-ui { 31 | -webkit-border-radius: 4px 4px 0 0; 32 | -moz-border-radius: 4px 4px 0 0; 33 | -ms-border-radius: 4px 4px 0 0; 34 | -o-border-radius: 4px 4px 0 0; 35 | border-radius: 4px 4px 0 0; 36 | font-family: "Helvetica Neue", sans-serif; 37 | padding: 1em; 38 | max-width: 100%; 39 | bottom: 0; 40 | left: 1em; 41 | } 42 | /* line 19, ../sass/offline-theme-slide-indicator.sass */ 43 | .offline-ui.offline-ui-up { 44 | background: #d6e9c6; 45 | color: #468847; 46 | } 47 | /* line 23, ../sass/offline-theme-slide-indicator.sass */ 48 | .offline-ui.offline-ui-down { 49 | background: #ec8787; 50 | color: #551313; 51 | } 52 | --------------------------------------------------------------------------------