├── .gitignore ├── .replit ├── LICENSE.txt ├── Procfile ├── README.md ├── app.json ├── package-lock.json ├── package.json ├── render.yaml ├── replit.nix ├── src └── index.js ├── ssl └── README.md └── static ├── bare-client.js ├── bare-client.js.map ├── bookmark.png ├── c.html ├── contrib ├── amethystnetwork-dev.png ├── b3at.png ├── duce.jpeg └── luphoria.png ├── css ├── chrome-tabs-dark-theme.css ├── chrome-tabs-dark-theme.styl ├── chrome-tabs.css ├── chrome-tabs.styl ├── css.css └── main.css ├── dcd.png ├── favicon.ico ├── fbl ├── firebug-lite-debug.js └── license.txt ├── ht.gif ├── icon.png ├── index.html ├── inobounce.min.js ├── internal ├── extensions │ ├── index.html │ └── marketplace.html ├── manager.js └── newTab │ └── main.html ├── js ├── bookmarks.js ├── chrome-tabs.js ├── draggabilly.pkgd.min.js ├── extensions.js ├── js.js ├── weather.js ├── x │ ├── DarkMode.js │ ├── core.js │ └── demoex.js └── xor.js ├── search.svg ├── skin ├── classic │ ├── blank.gif │ ├── buttonBg.png │ ├── buttonBgHover.png │ ├── detach.png │ ├── detachHover.png │ ├── disable.gif │ ├── disable.png │ ├── disableHover.gif │ ├── disableHover.png │ ├── down.png │ ├── downActive.png │ ├── downHover.png │ ├── errorIcon-sm.png │ ├── errorIcon.gif │ ├── errorIcon.png │ ├── firebug.css │ ├── firebug.html │ ├── firebug.png │ ├── group.gif │ ├── infoIcon.gif │ ├── infoIcon.png │ ├── loading_16.gif │ ├── min.png │ ├── minHover.png │ ├── off.png │ ├── offHover.png │ ├── pixel_transparent.gif │ ├── roundCorner.svg │ ├── search.gif │ ├── search.png │ ├── shadow.gif │ ├── shadow2.gif │ ├── shadowAlpha.png │ ├── sprite.png │ ├── tabHoverLeft.png │ ├── tabHoverMid.png │ ├── tabHoverRight.png │ ├── tabLeft.png │ ├── tabMenuCheckbox.png │ ├── tabMenuPin.png │ ├── tabMenuRadio.png │ ├── tabMenuTarget.png │ ├── tabMenuTargetHover.png │ ├── tabMid.png │ ├── tabRight.png │ ├── textEditorBorders.gif │ ├── textEditorBorders.png │ ├── textEditorCorners.gif │ ├── textEditorCorners.png │ ├── titlebarMid.png │ ├── toolbarMid.png │ ├── tree_close.gif │ ├── tree_open.gif │ ├── twistyClosed.png │ ├── twistyOpen.png │ ├── up.png │ ├── upActive.png │ ├── upHover.png │ ├── warningIcon.gif │ └── warningIcon.png ├── light │ ├── blank.gif │ ├── buttonBg.png │ ├── buttonBgHover.png │ ├── close.png │ ├── closeHover.png │ ├── detach.png │ ├── detachHover.png │ ├── disable.gif │ ├── disable.png │ ├── disableHover.gif │ ├── disableHover.png │ ├── down.png │ ├── downActive.png │ ├── downHover.png │ ├── errorIcon-sm.png │ ├── errorIcon.gif │ ├── errorIcon.png │ ├── firebug.css │ ├── firebug.html │ ├── firebug.png │ ├── group.gif │ ├── infoIcon.gif │ ├── infoIcon.png │ ├── loading_16.gif │ ├── min.png │ ├── minHover.png │ ├── off.png │ ├── offHover.png │ ├── pixel_transparent.gif │ ├── roundCorner.svg │ ├── search.gif │ ├── search.png │ ├── shadow.gif │ ├── shadow2.gif │ ├── shadowAlpha.png │ ├── sprite.png │ ├── tabHoverLeft.png │ ├── tabHoverMid.png │ ├── tabHoverRight.png │ ├── tabLeft.png │ ├── tabMenuCheckbox.png │ ├── tabMenuPin.png │ ├── tabMenuRadio.png │ ├── tabMenuTarget.png │ ├── tabMenuTargetHover.png │ ├── tabMid.png │ ├── tabRight.png │ ├── textEditorBorders.gif │ ├── textEditorBorders.png │ ├── textEditorCorners.gif │ ├── textEditorCorners.png │ ├── titlebarMid.png │ ├── toolbarMid.png │ ├── tree_close.gif │ ├── tree_open.gif │ ├── twistyClosed.png │ ├── twistyOpen.png │ ├── up.png │ ├── upActive.png │ ├── upHover.png │ ├── warningIcon.gif │ └── warningIcon.png └── xp │ ├── blank.gif │ ├── buttonBg.gif │ ├── buttonBg.png │ ├── buttonBgHover.gif │ ├── buttonBgHover.png │ ├── debugger.css │ ├── detach.gif │ ├── detach.png │ ├── detachHover.gif │ ├── detachHover.png │ ├── disable.gif │ ├── disable.png │ ├── disableHover.gif │ ├── disableHover.png │ ├── down.gif │ ├── down.png │ ├── downActive.png │ ├── downHover.gif │ ├── downHover.png │ ├── errorIcon-sm.gif │ ├── errorIcon-sm.png │ ├── errorIcon.gif │ ├── errorIcon.png │ ├── firebug-1.3a2.css │ ├── firebug.IE6.css │ ├── firebug.css │ ├── firebug.html │ ├── firebug.png │ ├── group.gif │ ├── html.css │ ├── infoIcon.gif │ ├── infoIcon.png │ ├── loading_16.gif │ ├── min.gif │ ├── min.png │ ├── minHover.gif │ ├── minHover.png │ ├── off.gif │ ├── off.png │ ├── offHover.gif │ ├── offHover.png │ ├── pixel_transparent.gif │ ├── roundCorner.svg │ ├── search.gif │ ├── search.png │ ├── shadow.gif │ ├── shadow2.gif │ ├── shadowAlpha.png │ ├── sprite.gif │ ├── sprite.png │ ├── tabHoverLeft.png │ ├── tabHoverMid.png │ ├── tabHoverRight.png │ ├── tabLeft.png │ ├── tabMenuCheckbox.gif │ ├── tabMenuCheckbox.png │ ├── tabMenuPin.gif │ ├── tabMenuPin.png │ ├── tabMenuRadio.gif │ ├── tabMenuRadio.png │ ├── tabMenuTarget.gif │ ├── tabMenuTarget.png │ ├── tabMenuTargetHover.gif │ ├── tabMenuTargetHover.png │ ├── tabMid.png │ ├── tabRight.png │ ├── textEditorBorders.gif │ ├── textEditorBorders.png │ ├── textEditorCorners.gif │ ├── textEditorCorners.png │ ├── titlebarMid.png │ ├── toolbarMid.png │ ├── tree_close.gif │ ├── tree_open.gif │ ├── twistyClosed.png │ ├── twistyOpen.png │ ├── up.gif │ ├── up.png │ ├── upActive.png │ ├── upHover.gif │ ├── upHover.png │ ├── warningIcon.gif │ └── warningIcon.png └── uv ├── README.md ├── sw.js ├── uv.bundle.js ├── uv.config.js ├── uv.handler.js └── uv.sw.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | ssl/cert.* 3 | ssl/key.* -------------------------------------------------------------------------------- /.replit: -------------------------------------------------------------------------------- 1 | language = "nodejs" 2 | run = ["npm", "start"] 3 | onBoot = "chmod u+x webretro.sh" 4 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: npm start 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # NOTICE: 3 | 4 | You CANNOT deploy to Vercel, Netifly, GitHub Pages, or Cloudflare pages. They are static hosts, they just act as a web facing file system, you need the actual proxy for this to work. 5 | 6 | 16 | 17 |
18 | 19 | Hypertabs 20 | 21 | 22 | 23 | 24 |
25 | 26 |
27 |

Get Started

28 | To get started, press one of the buttons below to deploy Hypertabs 29 |
30 |
31 | 32 | 33 | 34 | 35 | 36 |
37 | 38 | ## Discord Server 39 | 40 | Press the join button to join the server: 41 | 42 | [![Join us on Discord](https://invidget.switchblade.xyz/fzrmxgu2NR?theme=light)](https://discord.gg/fzrmxgu2NR) 43 | 44 | ## Credits 45 | 46 | - [B3ATDROP3R](https://github.com/B3ATDROP3R) 47 | - [Caracal.js](https://github.com/caracal-js) 48 | - [luphoria](https://github.com/luphoria) 49 | -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Hypertabs", 3 | "description": "Unofficial Hypertabs easy deployment version with TompHTTP bare server included.", 4 | "repository": "https://github.com/amethystnetwork-dev/Hypertabs", 5 | "logo": "https://github.com/amethystnetwork-dev/Hypertabs/blob/main/static/icon.png?raw=true", 6 | "keywords": ["amethystnetwork-dev"] 7 | } 8 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hypertabs", 3 | "version": "1.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "hypertabs", 9 | "version": "1.0.0", 10 | "license": "GPL-3.0-or-later", 11 | "dependencies": { 12 | "@tomphttp/bare-server-node": "1.0.4-deps1", 13 | "serve-static": "^1.15.0" 14 | }, 15 | "engines": { 16 | "node": ">=18.0.0", 17 | "npm": ">=8.0.0" 18 | } 19 | }, 20 | "node_modules/@tomphttp/bare-server-node": { 21 | "version": "1.0.4-deps1", 22 | "license": "GPL-3.0", 23 | "dependencies": { 24 | "commander": "^9.0.0", 25 | "dotenv": "^16.0.2", 26 | "headers-polyfill": "3.0.9", 27 | "http-errors": "^2.0.0" 28 | }, 29 | "bin": { 30 | "bare-server-node": "bin.js" 31 | }, 32 | "engines": { 33 | "node": ">=16.0.0" 34 | } 35 | }, 36 | "node_modules/commander": { 37 | "version": "9.4.0", 38 | "license": "MIT", 39 | "engines": { 40 | "node": "^12.20.0 || >=14" 41 | } 42 | }, 43 | "node_modules/debug": { 44 | "version": "2.6.9", 45 | "license": "MIT", 46 | "dependencies": { 47 | "ms": "2.0.0" 48 | } 49 | }, 50 | "node_modules/debug/node_modules/ms": { 51 | "version": "2.0.0", 52 | "license": "MIT" 53 | }, 54 | "node_modules/depd": { 55 | "version": "2.0.0", 56 | "license": "MIT", 57 | "engines": { 58 | "node": ">= 0.8" 59 | } 60 | }, 61 | "node_modules/destroy": { 62 | "version": "1.2.0", 63 | "license": "MIT", 64 | "engines": { 65 | "node": ">= 0.8", 66 | "npm": "1.2.8000 || >= 1.4.16" 67 | } 68 | }, 69 | "node_modules/dotenv": { 70 | "version": "16.0.2", 71 | "license": "BSD-2-Clause", 72 | "engines": { 73 | "node": ">=12" 74 | } 75 | }, 76 | "node_modules/ee-first": { 77 | "version": "1.1.1", 78 | "license": "MIT" 79 | }, 80 | "node_modules/encodeurl": { 81 | "version": "1.0.2", 82 | "license": "MIT", 83 | "engines": { 84 | "node": ">= 0.8" 85 | } 86 | }, 87 | "node_modules/escape-html": { 88 | "version": "1.0.3", 89 | "license": "MIT" 90 | }, 91 | "node_modules/etag": { 92 | "version": "1.8.1", 93 | "license": "MIT", 94 | "engines": { 95 | "node": ">= 0.6" 96 | } 97 | }, 98 | "node_modules/fresh": { 99 | "version": "0.5.2", 100 | "license": "MIT", 101 | "engines": { 102 | "node": ">= 0.6" 103 | } 104 | }, 105 | "node_modules/headers-polyfill": { 106 | "version": "3.0.9", 107 | "license": "MIT" 108 | }, 109 | "node_modules/http-errors": { 110 | "version": "2.0.0", 111 | "license": "MIT", 112 | "dependencies": { 113 | "depd": "2.0.0", 114 | "inherits": "2.0.4", 115 | "setprototypeof": "1.2.0", 116 | "statuses": "2.0.1", 117 | "toidentifier": "1.0.1" 118 | }, 119 | "engines": { 120 | "node": ">= 0.8" 121 | } 122 | }, 123 | "node_modules/inherits": { 124 | "version": "2.0.4", 125 | "license": "ISC" 126 | }, 127 | "node_modules/mime": { 128 | "version": "1.6.0", 129 | "license": "MIT", 130 | "bin": { 131 | "mime": "cli.js" 132 | }, 133 | "engines": { 134 | "node": ">=4" 135 | } 136 | }, 137 | "node_modules/ms": { 138 | "version": "2.1.3", 139 | "license": "MIT" 140 | }, 141 | "node_modules/on-finished": { 142 | "version": "2.4.1", 143 | "license": "MIT", 144 | "dependencies": { 145 | "ee-first": "1.1.1" 146 | }, 147 | "engines": { 148 | "node": ">= 0.8" 149 | } 150 | }, 151 | "node_modules/parseurl": { 152 | "version": "1.3.3", 153 | "license": "MIT", 154 | "engines": { 155 | "node": ">= 0.8" 156 | } 157 | }, 158 | "node_modules/range-parser": { 159 | "version": "1.2.1", 160 | "license": "MIT", 161 | "engines": { 162 | "node": ">= 0.6" 163 | } 164 | }, 165 | "node_modules/send": { 166 | "version": "0.18.0", 167 | "license": "MIT", 168 | "dependencies": { 169 | "debug": "2.6.9", 170 | "depd": "2.0.0", 171 | "destroy": "1.2.0", 172 | "encodeurl": "~1.0.2", 173 | "escape-html": "~1.0.3", 174 | "etag": "~1.8.1", 175 | "fresh": "0.5.2", 176 | "http-errors": "2.0.0", 177 | "mime": "1.6.0", 178 | "ms": "2.1.3", 179 | "on-finished": "2.4.1", 180 | "range-parser": "~1.2.1", 181 | "statuses": "2.0.1" 182 | }, 183 | "engines": { 184 | "node": ">= 0.8.0" 185 | } 186 | }, 187 | "node_modules/serve-static": { 188 | "version": "1.15.0", 189 | "license": "MIT", 190 | "dependencies": { 191 | "encodeurl": "~1.0.2", 192 | "escape-html": "~1.0.3", 193 | "parseurl": "~1.3.3", 194 | "send": "0.18.0" 195 | }, 196 | "engines": { 197 | "node": ">= 0.8.0" 198 | } 199 | }, 200 | "node_modules/setprototypeof": { 201 | "version": "1.2.0", 202 | "license": "ISC" 203 | }, 204 | "node_modules/statuses": { 205 | "version": "2.0.1", 206 | "license": "MIT", 207 | "engines": { 208 | "node": ">= 0.8" 209 | } 210 | }, 211 | "node_modules/toidentifier": { 212 | "version": "1.0.1", 213 | "license": "MIT", 214 | "engines": { 215 | "node": ">=0.6" 216 | } 217 | } 218 | }, 219 | "dependencies": { 220 | "@tomphttp/bare-server-node": { 221 | "version": "1.0.4-deps1", 222 | "requires": { 223 | "commander": "^9.0.0", 224 | "dotenv": "^16.0.2", 225 | "headers-polyfill": "3.0.9", 226 | "http-errors": "^2.0.0" 227 | } 228 | }, 229 | "commander": { 230 | "version": "9.4.0" 231 | }, 232 | "debug": { 233 | "version": "2.6.9", 234 | "requires": { 235 | "ms": "2.0.0" 236 | }, 237 | "dependencies": { 238 | "ms": { 239 | "version": "2.0.0" 240 | } 241 | } 242 | }, 243 | "depd": { 244 | "version": "2.0.0" 245 | }, 246 | "destroy": { 247 | "version": "1.2.0" 248 | }, 249 | "dotenv": { 250 | "version": "16.0.2" 251 | }, 252 | "ee-first": { 253 | "version": "1.1.1" 254 | }, 255 | "encodeurl": { 256 | "version": "1.0.2" 257 | }, 258 | "escape-html": { 259 | "version": "1.0.3" 260 | }, 261 | "etag": { 262 | "version": "1.8.1" 263 | }, 264 | "fresh": { 265 | "version": "0.5.2" 266 | }, 267 | "headers-polyfill": { 268 | "version": "3.0.9" 269 | }, 270 | "http-errors": { 271 | "version": "2.0.0", 272 | "requires": { 273 | "depd": "2.0.0", 274 | "inherits": "2.0.4", 275 | "setprototypeof": "1.2.0", 276 | "statuses": "2.0.1", 277 | "toidentifier": "1.0.1" 278 | } 279 | }, 280 | "inherits": { 281 | "version": "2.0.4" 282 | }, 283 | "mime": { 284 | "version": "1.6.0" 285 | }, 286 | "ms": { 287 | "version": "2.1.3" 288 | }, 289 | "on-finished": { 290 | "version": "2.4.1", 291 | "requires": { 292 | "ee-first": "1.1.1" 293 | } 294 | }, 295 | "parseurl": { 296 | "version": "1.3.3" 297 | }, 298 | "range-parser": { 299 | "version": "1.2.1" 300 | }, 301 | "send": { 302 | "version": "0.18.0", 303 | "requires": { 304 | "debug": "2.6.9", 305 | "depd": "2.0.0", 306 | "destroy": "1.2.0", 307 | "encodeurl": "~1.0.2", 308 | "escape-html": "~1.0.3", 309 | "etag": "~1.8.1", 310 | "fresh": "0.5.2", 311 | "http-errors": "2.0.0", 312 | "mime": "1.6.0", 313 | "ms": "2.1.3", 314 | "on-finished": "2.4.1", 315 | "range-parser": "~1.2.1", 316 | "statuses": "2.0.1" 317 | } 318 | }, 319 | "serve-static": { 320 | "version": "1.15.0", 321 | "requires": { 322 | "encodeurl": "~1.0.2", 323 | "escape-html": "~1.0.3", 324 | "parseurl": "~1.3.3", 325 | "send": "0.18.0" 326 | } 327 | }, 328 | "setprototypeof": { 329 | "version": "1.2.0" 330 | }, 331 | "statuses": { 332 | "version": "2.0.1" 333 | }, 334 | "toidentifier": { 335 | "version": "1.0.1" 336 | } 337 | } 338 | } 339 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hypertabs", 3 | "version": "1.0.0", 4 | "description": "Unofficial Hypertabs easy deployment version with TompHTTP bare server included.", 5 | "type": "module", 6 | "scripts": { 7 | "start": "node src/index.js" 8 | }, 9 | "files": ["static", "src", ".gitignore", "app.json", ".replit", "replit.nix", "Procfile"], 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/amethystnetwork-dev/Hypertabs" 13 | }, 14 | "keywords": ["amethystnetwork-dev"], 15 | "author": "", 16 | "license": "GPL-3.0-or-later", 17 | "dependencies": { 18 | "@tomphttp/bare-server-node": "1.0.4-deps1", 19 | "serve-static": "^1.15.0" 20 | }, 21 | "engines": { 22 | "npm": ">=8.0.0", 23 | "node": ">=18.0.0" 24 | } 25 | } -------------------------------------------------------------------------------- /render.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | - type: web 3 | name: hypertabs 4 | env: node 5 | buildCommand: npm install 6 | startCommand: npm start -------------------------------------------------------------------------------- /replit.nix: -------------------------------------------------------------------------------- 1 | { pkgs }: { 2 | deps = [ 3 | pkgs.nodejs-16_x 4 | ]; 5 | } -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import createBareServer from '@tomphttp/bare-server-node'; 2 | import { fileURLToPath } from "url"; 3 | import { createServer as createHttpsServer } from "node:https"; 4 | import { createServer as createHttpServer } from "node:http"; 5 | import { readFileSync, existsSync } from "node:fs"; 6 | import serveStatic from "serve-static"; 7 | 8 | // The following message MAY NOT be removed 9 | console.log("Hypertabs\nThis program comes with ABSOLUTELY NO WARRANTY.\nThis is free software, and you are welcome to redistribute it\nunder the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nYou should have received a copy of the GNU General Public License\nalong with this program. If not, see .\n"); 10 | 11 | const bare = createBareServer("/bare/"); 12 | const serve = serveStatic(fileURLToPath(new URL("../static/", import.meta.url)), { fallthrough: false }); 13 | var server; 14 | if(existsSync("../ssl/key.pem") && existsSync("../ssl/cert.pem")) { 15 | server = createHttpsServer({ 16 | key: readFileSync("../ssl/key.pem"), 17 | cert: readFileSync("../ssl/cert.pem") 18 | }); 19 | } else server = createHttpServer(); 20 | 21 | server.on("request", (req, res) => { 22 | if(bare.shouldRoute(req)) bare.routeRequest(req, res); else { 23 | serve(req, res, (err) => { 24 | res.writeHead(err?.statusCode || 500, null, { 25 | "Content-Type": "text/plain", 26 | }); 27 | res.end('Error') 28 | }) 29 | } 30 | }); 31 | 32 | server.on("upgrade", (req, socket, head) => { 33 | if(bare.shouldRoute(req, socket, head)) bare.routeUpgrade(req, socket, head); else socket.end(); 34 | }); 35 | 36 | server.on('listening', () => { 37 | const addr = server.address(); 38 | 39 | console.log(`Server running on port ${addr.port}`) 40 | console.log(''); 41 | console.log('You can now view it in your browser.') 42 | /* Code for listing IPS from website-aio */ 43 | console.log(`Local: http://${addr.family === 'IPv6' ? `[${addr.address}]` : addr.address}:${addr.port}`); 44 | try { console.log(`On Your Network: http://${address.ip()}:${addr.port}`); } catch (err) {/* Can't find LAN interface */}; 45 | if(process.env.REPL_SLUG && process.env.REPL_OWNER) console.log(`Replit: https://${process.env.REPL_SLUG}.${process.env.REPL_OWNER}.repl.co`); 46 | }); 47 | 48 | server.listen({ port: (process.env.PORT || 8080) }) -------------------------------------------------------------------------------- /ssl/README.md: -------------------------------------------------------------------------------- 1 | # SSL config 2 | 3 | To enable SSL when using a provider that does not provide them, place your certificates in the SSL folder. 4 | 5 | The certificate should be named `cert.pem` and the private key named `key.pem` -------------------------------------------------------------------------------- /static/bookmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/bookmark.png -------------------------------------------------------------------------------- /static/c.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | 17 | 18 | Hypertab Contributors 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 |

Contributors

29 |

30 | These are people that contributed to the Hypertabs project. 31 |

32 |
33 |
37 | 38 | B3ATDROP3R 39 |
40 |
41 |
45 | 46 | caracal-js 47 |
48 |
52 | 53 | luphoria 54 |
55 |
59 | 60 | Amethyst Network 61 |
62 |
63 |
64 | 82 | 83 | -------------------------------------------------------------------------------- /static/contrib/amethystnetwork-dev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/contrib/amethystnetwork-dev.png -------------------------------------------------------------------------------- /static/contrib/b3at.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/contrib/b3at.png -------------------------------------------------------------------------------- /static/contrib/duce.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/contrib/duce.jpeg -------------------------------------------------------------------------------- /static/contrib/luphoria.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/contrib/luphoria.png -------------------------------------------------------------------------------- /static/css/chrome-tabs-dark-theme.css: -------------------------------------------------------------------------------- 1 | .chrome-tabs.chrome-tabs-dark-theme { 2 | background: #202124; 3 | } 4 | .chrome-tabs.chrome-tabs-dark-theme .chrome-tab .chrome-tab-dividers::before, 5 | .chrome-tabs.chrome-tabs-dark-theme .chrome-tab .chrome-tab-dividers::after { 6 | background: #4a4d51; 7 | } 8 | .chrome-tabs.chrome-tabs-dark-theme 9 | .chrome-tab 10 | .chrome-tab-background 11 | > svg 12 | .chrome-tab-geometry { 13 | fill: #292b2e; 14 | } 15 | .chrome-tabs.chrome-tabs-dark-theme 16 | .chrome-tab[active] 17 | .chrome-tab-background 18 | > svg 19 | .chrome-tab-geometry { 20 | fill: #323639; 21 | } 22 | .chrome-tabs.chrome-tabs-dark-theme .chrome-tab .chrome-tab-title { 23 | color: #9ca1a7; 24 | } 25 | .chrome-tabs.chrome-tabs-dark-theme .chrome-tab[active] .chrome-tab-title { 26 | color: #f1f3f4; 27 | } 28 | .chrome-tabs.chrome-tabs-dark-theme .chrome-tab .chrome-tab-close { 29 | background-image: url("data:image/svg+xml;utf8,"); 30 | } 31 | .chrome-tabs.chrome-tabs-dark-theme .chrome-tab .chrome-tab-close:hover { 32 | background-color: #5f6368; 33 | background-image: url("data:image/svg+xml;utf8,"); 34 | } 35 | .chrome-tabs.chrome-tabs-dark-theme .chrome-tab .chrome-tab-close:hover:active { 36 | background-color: #80868b; 37 | background-image: url("data:image/svg+xml;utf8,"); 38 | } 39 | .chrome-tabs.chrome-tabs-dark-theme .chrome-tabs-bottom-bar { 40 | background: #323639; 41 | } 42 | -------------------------------------------------------------------------------- /static/css/chrome-tabs-dark-theme.styl: -------------------------------------------------------------------------------- 1 | dividersBackgroundColor = #4a4d51 2 | activeTabBackgroundColor = #323639 3 | 4 | .chrome-tabs.chrome-tabs-dark-theme 5 | background #202124 6 | 7 | .chrome-tab 8 | 9 | .chrome-tab-dividers 10 | 11 | &::before, &::after 12 | background #4a4d51 13 | 14 | .chrome-tab-background > svg .chrome-tab-geometry 15 | fill #292b2e 16 | 17 | &[active] .chrome-tab-background > svg .chrome-tab-geometry 18 | fill activeTabBackgroundColor 19 | 20 | .chrome-tab-title 21 | color #9ca1a7 22 | 23 | &[active] .chrome-tab-title 24 | color #f1f3f4 25 | 26 | .chrome-tab-close 27 | background-image url("data:image/svg+xml;utf8,") 28 | 29 | &:hover 30 | background-color #5f6368 31 | background-image url("data:image/svg+xml;utf8,") 32 | 33 | &:active 34 | background-color #80868b 35 | background-image url("data:image/svg+xml;utf8,") 36 | 37 | .chrome-tabs-bottom-bar 38 | background activeTabBackgroundColor 39 | -------------------------------------------------------------------------------- /static/css/chrome-tabs.css: -------------------------------------------------------------------------------- 1 | .pin { 2 | width: 47px !important; 3 | } 4 | .pin .chrome-tab-close { 5 | display: none; 6 | } 7 | 8 | .chrome-tabs { 9 | box-sizing: border-box; 10 | position: relative; 11 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, 12 | Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 13 | font-size: 12px; 14 | width: 100%; 15 | height: 46px; 16 | padding: 8px 3px 4px 3px; 17 | background: #dee1e6; 18 | border-radius: 5px 5px 0 0; 19 | overflow: hidden; 20 | } 21 | .chrome-tabs * { 22 | box-sizing: inherit; 23 | font: inherit; 24 | } 25 | .chrome-tabs .chrome-tabs-content { 26 | position: relative; 27 | /* 28 | This is a useful function in CSS, it's called 'calc', and despite what you 29 | may guess based on the name, it is a calculator. You can do arithmetic on 30 | any different CSS units. 31 | */ 32 | width: calc(100% - 24px); 33 | height: 100%; 34 | } 35 | .chrome-tabs .chrome-tab { 36 | position: absolute; 37 | left: 0; 38 | height: 36px; 39 | width: 240px; 40 | border: 0; 41 | margin: 0; 42 | z-index: 1; 43 | pointer-events: none; 44 | } 45 | .chrome-tabs .chrome-tab, 46 | .chrome-tabs .chrome-tab * { 47 | user-select: none; 48 | cursor: default; 49 | } 50 | .chrome-tabs .chrome-tab .chrome-tab-dividers { 51 | position: absolute; 52 | top: 7px; 53 | bottom: 7px; 54 | left: var(--tab-content-margin); 55 | right: var(--tab-content-margin); 56 | } 57 | .chrome-tabs .chrome-tab .chrome-tab-dividers, 58 | .chrome-tabs .chrome-tab .chrome-tab-dividers::before, 59 | .chrome-tabs .chrome-tab .chrome-tab-dividers::after { 60 | pointer-events: none; 61 | } 62 | .chrome-tabs .chrome-tab .chrome-tab-dividers::before, 63 | .chrome-tabs .chrome-tab .chrome-tab-dividers::after { 64 | content: ""; 65 | display: block; 66 | position: absolute; 67 | top: 0; 68 | bottom: 0; 69 | width: 1px; 70 | background: #a9adb0; 71 | opacity: 1; 72 | transition: opacity 0.2s ease; 73 | } 74 | .chrome-tabs .chrome-tab .chrome-tab-dividers::before { 75 | left: 0; 76 | } 77 | .chrome-tabs .chrome-tab .chrome-tab-dividers::after { 78 | right: 0; 79 | } 80 | .chrome-tabs .chrome-tab:first-child .chrome-tab-dividers::before, 81 | .chrome-tabs .chrome-tab:last-child .chrome-tab-dividers::after { 82 | opacity: 0; 83 | } 84 | .chrome-tabs .chrome-tab .chrome-tab-background { 85 | position: absolute; 86 | top: 0; 87 | left: 0; 88 | width: 100%; 89 | height: 100%; 90 | overflow: hidden; 91 | pointer-events: none; 92 | } 93 | .chrome-tabs .chrome-tab .chrome-tab-background > svg { 94 | width: 100%; 95 | height: 100%; 96 | } 97 | .chrome-tabs .chrome-tab .chrome-tab-background > svg .chrome-tab-geometry { 98 | fill: #f4f5f6; 99 | } 100 | .chrome-tabs .chrome-tab[active] { 101 | z-index: 5; 102 | } 103 | .chrome-tabs 104 | .chrome-tab[active] 105 | .chrome-tab-background 106 | > svg 107 | .chrome-tab-geometry { 108 | fill: #fff; 109 | } 110 | .chrome-tabs .chrome-tab:not([active]) .chrome-tab-background { 111 | transition: opacity 0.2s ease; 112 | opacity: 0; 113 | } 114 | @media (hover: hover) { 115 | .chrome-tabs .chrome-tab:not([active]):hover { 116 | z-index: 2; 117 | } 118 | .chrome-tabs .chrome-tab:not([active]):hover .chrome-tab-background { 119 | opacity: 1; 120 | } 121 | } 122 | .chrome-tabs .chrome-tab.chrome-tab-was-just-added { 123 | top: 10px; 124 | animation: chrome-tab-was-just-added 120ms forwards ease-in-out; 125 | } 126 | .chrome-tabs .chrome-tab .chrome-tab-content { 127 | position: absolute; 128 | display: flex; 129 | top: 0; 130 | bottom: 0; 131 | left: var(--tab-content-margin); 132 | right: var(--tab-content-margin); 133 | padding: 9px 8px; 134 | border-top-left-radius: 8px; 135 | border-top-right-radius: 8px; 136 | overflow: hidden; 137 | pointer-events: all; 138 | } 139 | .chrome-tabs .chrome-tab[is-mini] .chrome-tab-content { 140 | padding-left: 2px; 141 | padding-right: 2px; 142 | } 143 | .chrome-tabs .chrome-tab .chrome-tab-favicon { 144 | position: relative; 145 | flex-shrink: 0; 146 | flex-grow: 0; 147 | height: 16px; 148 | width: 16px; 149 | background-size: 16px; 150 | margin-left: 4px; 151 | } 152 | .chrome-tabs .chrome-tab[is-small] .chrome-tab-favicon { 153 | margin-left: 0; 154 | } 155 | .chrome-tabs .chrome-tab[is-mini]:not([active]) .chrome-tab-favicon { 156 | margin-left: auto; 157 | margin-right: auto; 158 | } 159 | .chrome-tabs .chrome-tab[is-mini][active] .chrome-tab-favicon { 160 | display: none; 161 | } 162 | .chrome-tabs .chrome-tab .chrome-tab-title { 163 | flex: 1; 164 | vertical-align: top; 165 | overflow: hidden; 166 | white-space: nowrap; 167 | margin-left: 4px; 168 | color: #5f6368; 169 | -webkit-mask-image: linear-gradient( 170 | 90deg, 171 | #000 0%, 172 | #000 calc(100% - 24px), 173 | transparent 174 | ); 175 | mask-image: linear-gradient( 176 | 90deg, 177 | #000 0%, 178 | #000 calc(100% - 24px), 179 | transparent 180 | ); 181 | } 182 | .chrome-tabs .chrome-tab[is-small] .chrome-tab-title { 183 | margin-left: 0; 184 | } 185 | .chrome-tabs .chrome-tab .chrome-tab-favicon + .chrome-tab-title, 186 | .chrome-tabs .chrome-tab[is-small] .chrome-tab-favicon + .chrome-tab-title { 187 | margin-left: 8px; 188 | } 189 | .chrome-tabs .chrome-tab[is-smaller] .chrome-tab-favicon + .chrome-tab-title, 190 | .chrome-tabs .chrome-tab[is-mini] .chrome-tab-title { 191 | display: none; 192 | } 193 | .chrome-tabs .chrome-tab[active] .chrome-tab-title { 194 | color: #45474a; 195 | } 196 | .chrome-tabs .chrome-tab .chrome-tab-drag-handle { 197 | position: absolute; 198 | top: 0; 199 | bottom: 0; 200 | right: 0; 201 | left: 0; 202 | border-top-left-radius: 8px; 203 | border-top-right-radius: 8px; 204 | } 205 | .chrome-tabs .chrome-tab .chrome-tab-close { 206 | flex-grow: 0; 207 | flex-shrink: 0; 208 | position: relative; 209 | width: 16px; 210 | height: 16px; 211 | border-radius: 50%; 212 | background-image: url("data:image/svg+xml;utf8,"); 213 | background-position: center center; 214 | background-repeat: no-repeat; 215 | background-size: 8px 8px; 216 | } 217 | @media (hover: hover) { 218 | .chrome-tabs .chrome-tab .chrome-tab-close:hover { 219 | background-color: #e8eaed; 220 | } 221 | .chrome-tabs .chrome-tab .chrome-tab-close:hover:active { 222 | background-color: #dadce0; 223 | } 224 | } 225 | @media not all and (hover: hover) { 226 | .chrome-tabs .chrome-tab .chrome-tab-close:active { 227 | background-color: #dadce0; 228 | } 229 | } 230 | @media (hover: hover) { 231 | .chrome-tabs 232 | .chrome-tab:not([active]) 233 | .chrome-tab-close:not(:hover):not(:active) { 234 | opacity: 0.8; 235 | } 236 | } 237 | .chrome-tabs .chrome-tab[is-smaller] .chrome-tab-close { 238 | margin-left: auto; 239 | } 240 | .chrome-tabs .chrome-tab[is-mini]:not([active]) .chrome-tab-close { 241 | display: none; 242 | } 243 | .chrome-tabs .chrome-tab[is-mini][active] .chrome-tab-close { 244 | margin-left: auto; 245 | margin-right: auto; 246 | } 247 | @-moz-keyframes chrome-tab-was-just-added { 248 | to { 249 | top: 0; 250 | } 251 | } 252 | @-webkit-keyframes chrome-tab-was-just-added { 253 | to { 254 | top: 0; 255 | } 256 | } 257 | @-o-keyframes chrome-tab-was-just-added { 258 | to { 259 | top: 0; 260 | } 261 | } 262 | @keyframes chrome-tab-was-just-added { 263 | to { 264 | top: 0; 265 | } 266 | } 267 | .chrome-tabs.chrome-tabs-is-sorting .chrome-tab:not(.chrome-tab-is-dragging), 268 | .chrome-tabs:not(.chrome-tabs-is-sorting) 269 | .chrome-tab.chrome-tab-was-just-dragged { 270 | transition: transform 120ms ease-in-out; 271 | } 272 | .chrome-tabs .chrome-tabs-bottom-bar { 273 | position: absolute; 274 | bottom: 0; 275 | height: 4px; 276 | left: 0; 277 | width: 100%; 278 | background: #fff; 279 | z-index: 10; 280 | } 281 | .chrome-tabs-optional-shadow-below-bottom-bar { 282 | position: relative; 283 | height: 1px; 284 | width: 100%; 285 | background-image: url("data:image/svg+xml;utf8,"); 286 | background-size: 1px 1px; 287 | background-repeat: repeat-x; 288 | background-position: 0% 0%; 289 | } 290 | @media only screen and (-webkit-min-device-pixel-ratio: 2), 291 | only screen and (min--moz-device-pixel-ratio: 2), 292 | only screen and (-o-min-device-pixel-ratio: 2/1), 293 | only screen and (min-device-pixel-ratio: 2), 294 | only screen and (min-resolution: 192dpi), 295 | only screen and (min-resolution: 2dppx) { 296 | .chrome-tabs-optional-shadow-below-bottom-bar { 297 | background-image: url("data:image/svg+xml;utf8,"); 298 | } 299 | } 300 | 301 | .urlContainer { 302 | width: 100%; 303 | background-color: #222; 304 | color: #fff; 305 | height: 50px; 306 | top: 0; 307 | } 308 | 309 | .frameThing { 310 | background-color: #222; 311 | border: hidden; 312 | border-style: hidden; 313 | } 314 | 315 | .browserFrame { 316 | bottom: 0; 317 | left: 0; 318 | right: 0; 319 | height: calc(100% - 50px); 320 | width: 100%; 321 | } 322 | 323 | #createTab { 324 | color: #fff; 325 | outline: none; 326 | height: 30px; 327 | margin-top: 8px; 328 | float: right; 329 | font-size: 20px; 330 | transition: 0.3s; 331 | } 332 | 333 | #createTab:hover { 334 | color: #e04c4c; 335 | } 336 | -------------------------------------------------------------------------------- /static/css/chrome-tabs.styl: -------------------------------------------------------------------------------- 1 | chromeTabSpaceAbove = 8px 2 | chromeTabSpaceBelow = 4px 3 | activeTabBackgroundColor = #fff 4 | 5 | .chrome-tabs 6 | box-sizing border-box 7 | position relative 8 | font-family -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" 9 | font-size 12px 10 | height 46px 11 | padding chromeTabSpaceAbove 3px chromeTabSpaceBelow 3px 12 | background #dee1e6 13 | border-radius 5px 5px 0 0 14 | overflow hidden 15 | 16 | * 17 | box-sizing inherit 18 | font inherit 19 | 20 | .chrome-tabs-content 21 | position relative 22 | width 100% 23 | height 100% 24 | 25 | .chrome-tab 26 | position absolute 27 | left 0 28 | height 36px 29 | width 240px 30 | border 0 31 | margin 0 32 | z-index 1 33 | pointer-events none 34 | 35 | &, * 36 | user-select none 37 | cursor default 38 | 39 | .chrome-tab-dividers 40 | position absolute 41 | top 7px // TODO - check these are right 42 | bottom 7px 43 | left var(--tab-content-margin) 44 | right var(--tab-content-margin) 45 | 46 | &, &::before, &::after 47 | pointer-events none 48 | 49 | &::before, &::after 50 | content "" 51 | display block 52 | position absolute 53 | top 0 54 | bottom 0 55 | width 1px 56 | background #a9adb0 57 | opacity 1 58 | transition opacity .2s ease 59 | 60 | &::before 61 | left 0 62 | 63 | &::after 64 | right 0 65 | 66 | &:first-child .chrome-tab-dividers::before 67 | &:last-child .chrome-tab-dividers::after 68 | opacity 0 69 | 70 | .chrome-tab-background 71 | position absolute 72 | top 0 73 | left 0 74 | width 100% 75 | height 100% 76 | overflow hidden 77 | pointer-events none 78 | 79 | > svg 80 | width 100% 81 | height 100% 82 | 83 | .chrome-tab-geometry 84 | fill #f4f5f6 85 | 86 | &[active] 87 | z-index 5 88 | 89 | .chrome-tab-background > svg .chrome-tab-geometry 90 | fill activeTabBackgroundColor 91 | 92 | &:not([active]) 93 | 94 | .chrome-tab-background 95 | transition opacity .2s ease 96 | opacity 0 97 | 98 | @media (hover: hover) 99 | &:hover 100 | z-index 2 101 | 102 | .chrome-tab-background 103 | opacity 1 104 | 105 | @keyframes chrome-tab-was-just-added 106 | to 107 | top 0 108 | 109 | &.chrome-tab-was-just-added 110 | top 10px 111 | animation chrome-tab-was-just-added 120ms forwards ease-in-out 112 | 113 | .chrome-tab-content 114 | position absolute 115 | display flex 116 | top 0 117 | bottom 0 118 | left var(--tab-content-margin) 119 | right var(--tab-content-margin) 120 | padding 9px 8px 121 | border-top-left-radius 8px 122 | border-top-right-radius 8px 123 | overflow hidden 124 | pointer-events all 125 | 126 | &[is-mini] .chrome-tab-content 127 | padding-left 2px 128 | padding-right 2px 129 | 130 | .chrome-tab-favicon 131 | position relative 132 | flex-shrink 0 133 | flex-grow 0 134 | height 16px 135 | width 16px 136 | background-size 16px 137 | margin-left 4px 138 | 139 | &[is-small] .chrome-tab-favicon 140 | margin-left 0 141 | 142 | &[is-mini]:not([active]) .chrome-tab-favicon 143 | margin-left auto 144 | margin-right auto 145 | 146 | &[is-mini][active] .chrome-tab-favicon 147 | display none 148 | 149 | .chrome-tab-title 150 | flex 1 151 | vertical-align top 152 | overflow hidden 153 | white-space nowrap 154 | margin-left 4px 155 | color #5f6368 156 | -webkit-mask-image linear-gradient(90deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) calc(100% - 24px), transparent) 157 | mask-image linear-gradient(90deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) calc(100% - 24px), transparent) 158 | 159 | &[is-small] .chrome-tab-title 160 | margin-left 0 161 | 162 | .chrome-tab-favicon + .chrome-tab-title 163 | &[is-small] .chrome-tab-favicon + .chrome-tab-title 164 | margin-left 8px 165 | 166 | &[is-smaller] .chrome-tab-favicon + .chrome-tab-title 167 | &[is-mini] .chrome-tab-title 168 | display none 169 | 170 | &[active] .chrome-tab-title 171 | color #45474a 172 | 173 | .chrome-tab-drag-handle 174 | position absolute 175 | top 0 176 | bottom 0 177 | right 0 178 | left 0 179 | border-top-left-radius 8px 180 | border-top-right-radius 8px 181 | 182 | .chrome-tab-close 183 | flex-grow 0 184 | flex-shrink 0 185 | position relative 186 | width 16px 187 | height 16px 188 | border-radius 50% 189 | background-image url("data:image/svg+xml;utf8,") 190 | background-position center center 191 | background-repeat no-repeat 192 | background-size 8px 8px 193 | 194 | @media (hover: hover) 195 | &:hover 196 | background-color #e8eaed 197 | 198 | &:active 199 | background-color #dadce0 200 | 201 | @media not all and (hover: hover) 202 | &:active 203 | background-color #dadce0 204 | 205 | @media (hover: hover) 206 | &:not([active]) .chrome-tab-close:not(:hover):not(:active) 207 | opacity .8 208 | 209 | &[is-smaller] .chrome-tab-close 210 | margin-left auto 211 | 212 | &[is-mini]:not([active]) .chrome-tab-close 213 | display none 214 | 215 | &[is-mini][active] .chrome-tab-close 216 | margin-left auto 217 | margin-right auto 218 | 219 | &.chrome-tabs-is-sorting .chrome-tab:not(.chrome-tab-is-dragging) 220 | &:not(.chrome-tabs-is-sorting) .chrome-tab.chrome-tab-was-just-dragged 221 | transition transform 120ms ease-in-out 222 | 223 | .chrome-tabs-bottom-bar 224 | position absolute 225 | bottom 0 226 | height chromeTabSpaceBelow 227 | left 0 228 | width 100% 229 | background activeTabBackgroundColor 230 | z-index 10 231 | 232 | .chrome-tabs-optional-shadow-below-bottom-bar 233 | position relative 234 | height 1px 235 | width 100% 236 | background-image url("data:image/svg+xml;utf8,") 237 | background-size 1px 1px 238 | background-repeat repeat-x 239 | background-position 0% 0% 240 | 241 | @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) 242 | background-image url("data:image/svg+xml;utf8,") 243 | -------------------------------------------------------------------------------- /static/css/css.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css2?family=Open+Sans&display=swap"); 2 | body { 3 | font-family: Roboto, "Segoe UI", Tahoma, sans-serif; 4 | } 5 | .center { 6 | text-align: center; 7 | position: absolute; 8 | top: 50%; 9 | left: 50%; 10 | transform: translate(-50%, -55%); 11 | } 12 | 13 | .btn1 { 14 | color: antiquewhite; 15 | outline: none; 16 | background-color: Transparent; 17 | border: none; 18 | } 19 | .btn { 20 | margin-left: 3px; 21 | outline: none; 22 | color: antiquewhite; 23 | background-color: Transparent; 24 | border: none; 25 | } 26 | .btns { 27 | display: flex; 28 | flex-direction: row; 29 | justify-content: center; 30 | align-items: center; 31 | padding-top: 40px; 32 | } 33 | 34 | .head-titl { 35 | text-align: center; 36 | color: #fff; 37 | } 38 | 39 | .ppl { 40 | display: inline-grid; 41 | justify-content: center; 42 | width: 100%; 43 | height: 452px; 44 | } 45 | 46 | .duce { 47 | color: #fff; 48 | display: grid; 49 | width: min-content; 50 | } 51 | 52 | .covid { 53 | color: #fff; 54 | display: grid; 55 | width: min-content; 56 | } 57 | 58 | .b3at { 59 | color: #fff; 60 | display: grid; 61 | width: min-content; 62 | } 63 | 64 | .games-bar { 65 | position: absolute; 66 | top: 0; 67 | left: 0; 68 | width: 200px; 69 | height: 100%; 70 | background: #222; 71 | } 72 | .crm { 73 | width: 112px; 74 | height: 84px; 75 | vertical-align: top; 76 | display: grid; 77 | text-align: center; 78 | justify-items: center; 79 | align-items: center; 80 | } 81 | .icn { 82 | width: 48px; 83 | height: 48px; 84 | } 85 | .bookmarks { 86 | border-bottom: 1px solid black !important; 87 | white-space: nowrap; 88 | } 89 | #ad { 90 | margin-top: 14px; 91 | margin-right: auto; 92 | margin-bottom: auto; 93 | margin-left: auto; 94 | width: 32%; 95 | border: 1px solid green; 96 | padding: 10px; 97 | } 98 | 99 | #ht { 100 | max-width: 15%; 101 | height: auto; 102 | } 103 | fieldset { 104 | border: 1px solid #000; 105 | } 106 | #input { 107 | border: none; 108 | border-radius: calc(0.5 * 44px); 109 | font-size: 16px; 110 | outline: none; 111 | position: relative; 112 | } 113 | #inputb { 114 | border: none; 115 | border-radius: calc(0.5 * 44px); 116 | font-size: 16px; 117 | outline: none; 118 | padding-inline-end: 40px; 119 | padding-inline-start: 52px; 120 | position: relative; 121 | width: 80%; 122 | height: 44px; 123 | } 124 | #inputimg { 125 | position: absolute; 126 | left: 0; 127 | top: -1px; 128 | padding-left: 14px; 129 | outline: none; 130 | } 131 | #txt { 132 | padding-top: 50px; 133 | font-size: 25px; 134 | color: #ffffff; 135 | font-weight: normal; 136 | margin: 0; 137 | padding-top: 0; 138 | padding-bottom: 40px; 139 | } 140 | #headtxt { 141 | font-size: 80px; 142 | color: bisque; 143 | } 144 | @media only screen and (max-width: 600px) { 145 | #txt { 146 | font-size: 14px; 147 | } 148 | .center { 149 | width: 410px; 150 | } 151 | #inputb { 152 | width: 69%; 153 | } 154 | .crm { 155 | width: 93px; 156 | } 157 | #headtxt { 158 | font-size: 70px; 159 | } 160 | } 161 | @media only screen and (max-width: 400px) { 162 | #txt { 163 | font-size: 12px; 164 | width: 97%; 165 | word-wrap: normal; 166 | } 167 | .center { 168 | width: 350px; 169 | } 170 | #inputb { 171 | width: 57%; 172 | } 173 | .crm { 174 | width: 85px; 175 | } 176 | #headtxt { 177 | font-size: 60px; 178 | } 179 | } 180 | @media only screen and (max-width: 330px) { 181 | .center { 182 | width: 300px; 183 | } 184 | #weather { 185 | visibility: hidden; 186 | } 187 | } 188 | #bmenu { 189 | white-space: nowrap; 190 | overflow: hidden; 191 | text-overflow: ellipsis; 192 | max-width: 175px; 193 | } 194 | #bul { 195 | list-style-type: none; 196 | margin: 0; 197 | padding: 0; 198 | left: 0; 199 | min-width: 180px; 200 | } 201 | #bookmarka { 202 | display: inline-block; 203 | height: 29.2px; 204 | padding-left: 29.2px; 205 | font-size: 14px; 206 | text-decoration: none; 207 | font-family: "Open Sans", sans-serif; 208 | background-size: 20px 20px; 209 | background-position: 4.1px 0; 210 | background-repeat: no-repeat; 211 | text-overflow: ellipsis; 212 | overflow: hidden; 213 | max-width: 169px; 214 | white-space: nowrap; 215 | } 216 | 217 | .info { 218 | margin: 0; 219 | position: absolute; 220 | top: 2.5em; 221 | right: 2em; 222 | /* text-align: right; */ 223 | width: auto; 224 | text-align: center; 225 | color: bisque; 226 | } 227 | #alerts { 228 | text-decoration: underline; 229 | } 230 | -------------------------------------------------------------------------------- /static/css/main.css: -------------------------------------------------------------------------------- 1 | html { 2 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, 3 | Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 4 | background: #f1f3f4; 5 | overflow-y: hidden; 6 | } 7 | 8 | html, 9 | body { 10 | height: 100%; 11 | margin: 0; 12 | padding: 0; 13 | overflow: hidden; 14 | } 15 | 16 | html.dark-theme { 17 | background: #1c1c1c; 18 | } 19 | 20 | .pointer { 21 | cursor: pointer; 22 | } 23 | 24 | .pointer:hover { 25 | cursor: pointer; 26 | background: #3f4042; 27 | } 28 | 29 | .surface { 30 | box-sizing: border-box; 31 | display: flex; 32 | width: 100%; 33 | flex-direction: column; 34 | } 35 | 36 | @media (min-width: 100%) { 37 | .surface { 38 | padding: 60px; 39 | } 40 | 41 | .mock-browser { 42 | width: 100%; 43 | background: #dee1e6; 44 | border-radius: 8px; 45 | flex-shrink: 0; 46 | overflow: hidden; 47 | } 48 | 49 | html.dark-theme .mock-browser { 50 | background: #202123; 51 | } 52 | 53 | .mock-browser-content { 54 | position: relative; 55 | z-index: 1; 56 | margin-top: -1px; 57 | display: flex; 58 | } 59 | 60 | .chrome-tabs-optional-shadow-below-bottom-bar { 61 | z-index: 2; 62 | } 63 | } 64 | 65 | @media (max-width: 799px) { 66 | html { 67 | background: #fff; 68 | } 69 | 70 | html.dark-theme { 71 | background: #252729; 72 | } 73 | 74 | .mock-browser .chrome-tabs { 75 | border-radius: 0; 76 | } 77 | } 78 | 79 | .aa { 80 | background-color: #202124; 81 | width: 100%; 82 | color: white; 83 | float: right; 84 | border: 1px solid #b3b3b3; 85 | } 86 | 87 | button { 88 | font-family: inherit; 89 | display: inline-block; 90 | cursor: pointer; 91 | background: #fff; 92 | font-size: 12px; 93 | border-radius: 9999px; 94 | } 95 | 96 | @supports (-webkit-overflow-scrolling: touch) { 97 | /* Prevent double tap to zoom on iOS https://stackoverflow.com/a/47131647 */ 98 | button { 99 | touch-action: manipulation; 100 | } 101 | } 102 | 103 | button:focus { 104 | border-color: #a9adb0; 105 | outline: none; 106 | } 107 | 108 | .buttons { 109 | margin-left: -0.5em; 110 | text-align: center; 111 | } 112 | 113 | .buttons button { 114 | margin: 0.5em; 115 | } 116 | 117 | html.dark-theme button { 118 | -webkit-font-smoothing: antialiased; 119 | background: transparent; 120 | color: #fff; 121 | } 122 | 123 | html.dark-theme button:focus { 124 | border-color: #858b90; 125 | outline: none; 126 | border: none; 127 | } 128 | 129 | button:active { 130 | outline: none; 131 | border: none; 132 | } 133 | 134 | #createTab { 135 | border: none; 136 | position: absolute; 137 | outline: none; 138 | top: 0; 139 | font-size: 20px; 140 | -webkit-font-smoothing: antialiased; 141 | } 142 | 143 | .iframething { 144 | width: 100%; 145 | height: 92.3%; 146 | outline: none; 147 | border: 0; 148 | overflow-y: hidden; 149 | } 150 | 151 | .container { 152 | background: #292b2e; 153 | display: inline; 154 | } 155 | 156 | .mock-browser-content { 157 | background-color: #323639; 158 | padding: 0em 0.5em 0.2em; 159 | display: flex; 160 | } 161 | 162 | #urlbar { 163 | width: 100%; 164 | border: hidden; 165 | background: #202124; 166 | height: 26px; 167 | outline: none; 168 | color: white; 169 | border-radius: 12px; 170 | box-sizing: border-box; 171 | padding-left: 10px; 172 | font-size: small; 173 | } 174 | 175 | #extensionlist { 176 | display: flex; 177 | } 178 | 179 | .extenico { 180 | width: 24px; 181 | height: 24px; 182 | padding-top: 2px; 183 | padding-left: 8px; 184 | padding-right: 4px; 185 | } 186 | 187 | #urlbutton { 188 | float: left; 189 | display: flex; 190 | outline: none; 191 | border: 0; 192 | font-size: large; 193 | } 194 | 195 | @media only screen and (max-width: 600px) { 196 | #urlbutton { 197 | font-size: 9px; 198 | } 199 | #createTab { 200 | padding-right: 4px; 201 | } 202 | .iframething { 203 | height: 89.9%; 204 | } 205 | } 206 | 207 | @media only screen and (max-width: 400px) { 208 | .iframething { 209 | height: 87.9%; 210 | } 211 | } 212 | 213 | #options { 214 | float: right; 215 | outline: none; 216 | border: 0; 217 | font-size: large; 218 | } 219 | 220 | .dropdown-content { 221 | background-color: #2c2e31; 222 | display: none; 223 | right: 0; 224 | border: solid 1px #b3b3b3; 225 | position: absolute; 226 | min-width: 160px; 227 | box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); 228 | z-index: 1; 229 | } 230 | 231 | .dropdown-content a { 232 | color: white; 233 | padding: 12px 16px; 234 | text-decoration: none; 235 | display: block; 236 | } 237 | 238 | .dropdown-content .divider { 239 | height: 1px; 240 | width: 147px; 241 | background: #b3b3b3; 242 | margin-left: 6px; 243 | } 244 | 245 | .dropdown-content .dividerext { 246 | height: 1px; 247 | width: 313px; 248 | background: #b3b3b3; 249 | margin-left: 6px; 250 | } 251 | 252 | .dropdown-content .dividerct { 253 | height: 1px; 254 | width: 284px; 255 | background: #b3b3b3; 256 | margin-left: 6px; 257 | } 258 | 259 | .dropdown-content .dividersua { 260 | height: 1px; 261 | width: 313px; 262 | background: #b3b3b3; 263 | margin-left: 6px; 264 | } 265 | 266 | .dropdown-content .inp { 267 | position: relative; 268 | top: -1px; 269 | height: 20px; 270 | } 271 | 272 | .dropdown-content .inp:hover { 273 | cursor: default; 274 | } 275 | 276 | div#customtheme { 277 | height: 553px; 278 | } 279 | 280 | .th { 281 | cursor: default; 282 | margin-top: 7px; 283 | } 284 | 285 | .th:hover { 286 | background: #2c2e31; 287 | cursor: default; 288 | } 289 | 290 | .bt { 291 | position: relative; 292 | top: 18px; 293 | } 294 | -------------------------------------------------------------------------------- /static/dcd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/dcd.png -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/favicon.ico -------------------------------------------------------------------------------- /static/fbl/license.txt: -------------------------------------------------------------------------------- 1 | Software License Agreement (BSD License) 2 | 3 | Copyright (c) 2007, Parakey Inc. 4 | All rights reserved. 5 | 6 | Redistribution and use of this software in source and binary forms, with or without modification, 7 | are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above 10 | copyright notice, this list of conditions and the 11 | following disclaimer. 12 | 13 | * Redistributions in binary form must reproduce the above 14 | copyright notice, this list of conditions and the 15 | following disclaimer in the documentation and/or other 16 | materials provided with the distribution. 17 | 18 | * Neither the name of Parakey Inc. nor the names of its 19 | contributors may be used to endorse or promote products 20 | derived from this software without specific prior 21 | written permission of Parakey Inc. 22 | 23 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 24 | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 25 | FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 26 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 29 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 30 | OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /static/ht.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/ht.gif -------------------------------------------------------------------------------- /static/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/icon.png -------------------------------------------------------------------------------- /static/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 65 | 66 | 67 | 68 | 69 |
70 |
71 | 83 |
84 |
85 |
86 |
87 | 100 |
101 | 103 |
104 | 110 | 116 | 122 | 123 | 124 |
125 | 146 |
147 | 148 | 160 | 167 | 176 | 183 | 196 | 202 |
203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 |
214 | 232 | 233 | 234 | -------------------------------------------------------------------------------- /static/inobounce.min.js: -------------------------------------------------------------------------------- 1 | (function(global){var startY=0;var enabled=false;var supportsPassiveOption=false;try{var opts=Object.defineProperty({},"passive",{get:function(){supportsPassiveOption=true}});window.addEventListener("test",null,opts)}catch(e){}var handleTouchmove=function(evt){var el=evt.target;while(el!==document.body&&el!==document){var style=window.getComputedStyle(el);if(!style){break}if(el.nodeName==="INPUT"&&el.getAttribute("type")==="range"){return}var scrolling=style.getPropertyValue("-webkit-overflow-scrolling");var overflowY=style.getPropertyValue("overflow-y");var height=parseInt(style.getPropertyValue("height"),10);var isScrollable=scrolling==="touch"&&(overflowY==="auto"||overflowY==="scroll");var canScroll=el.scrollHeight>el.offsetHeight;if(isScrollable&&canScroll){var curY=evt.touches?evt.touches[0].screenY:evt.screenY;var isAtTop=startY<=curY&&el.scrollTop===0;var isAtBottom=startY>=curY&&el.scrollHeight-el.scrollTop===height;if(isAtTop||isAtBottom){evt.preventDefault()}return}el=el.parentNode}evt.preventDefault()};var handleTouchstart=function(evt){startY=evt.touches?evt.touches[0].screenY:evt.screenY};var enable=function(){window.addEventListener("touchstart",handleTouchstart,supportsPassiveOption?{passive:false}:false);window.addEventListener("touchmove",handleTouchmove,supportsPassiveOption?{passive:false}:false);enabled=true};var disable=function(){window.removeEventListener("touchstart",handleTouchstart,false);window.removeEventListener("touchmove",handleTouchmove,false);enabled=false};var isEnabled=function(){return enabled};var testDiv=document.createElement("div");document.documentElement.appendChild(testDiv);testDiv.style.WebkitOverflowScrolling="touch";var scrollSupport="getComputedStyle"in window&&window.getComputedStyle(testDiv)["-webkit-overflow-scrolling"]==="touch";document.documentElement.removeChild(testDiv);if(scrollSupport){enable()}var iNoBounce={enable:enable,disable:disable,isEnabled:isEnabled};if(typeof module!=="undefined"&&module.exports){module.exports=iNoBounce}if(typeof global.define==="function"){(function(define){define("iNoBounce",[],function(){return iNoBounce})})(global.define)}else{global.iNoBounce=iNoBounce}})(this); -------------------------------------------------------------------------------- /static/internal/extensions/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Extensions 7 | 8 | 9 | 10 |
11 |

You will have to reload Hypertabs to see changes.

12 |
13 |
14 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /static/internal/extensions/marketplace.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | New GameTab 8 | 9 | 136 | 137 | 138 |
139 | 142 | 149 |
150 | 190 | 191 | 192 | -------------------------------------------------------------------------------- /static/internal/manager.js: -------------------------------------------------------------------------------- 1 | const internal_pages = { 2 | // YOU MUST ADD YOUR INTERNAL PAGE TO THIS FILE IF YOU WANT IT TO WORK! 3 | // This index is how HT can reference what page to what file 4 | newtab: "/internal/newTab/main.html", 5 | extensionsmarketplace: "/internal/extensions/marketplace.html", 6 | extensions: "/internal/extensions/index.html", 7 | games: "/internal/g/index.html" 8 | } 9 | -------------------------------------------------------------------------------- /static/internal/newTab/main.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | 19 | New Hypertab 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 32 |
33 |
34 |
35 | 36 | 38 |
39 |
40 | 41 |
42 |

Hypertabs

43 | 48 | 49 | 58 | 59 | 60 |
61 | 62 |
66 | 67 | Music 68 |
69 |
70 | 71 | Contributors 72 |
73 |
77 | 78 | Join Discord 79 |
80 |
81 |
82 | 100 | 101 | -------------------------------------------------------------------------------- /static/js/bookmarks.js: -------------------------------------------------------------------------------- 1 | /* 2 | _____ _ _ _ 3 | | __ \ | | | | | | 4 | | |__) | ___ _ __ | |_ ___ __| | | |__ _ _ 5 | | ___/ / _ \ | '__| | __| / _ \ / _` | | '_ \ | | | | 6 | | | | (_) | | | | |_ | __/ | (_| | | |_) | | |_| | 7 | |_| \___/ |_| \__| \___| \__,_| |_.__/ \__, | 8 | __/ | 9 | |___/ 10 | _ _ _ _ _ _ _ 11 | /\ | | | | | | | \ | | | | | | 12 | / \ _ __ ___ ___ | |_ | |__ _ _ ___ | |_ | \| | ___ | |_ __ __ ___ _ __ | | __ 13 | / /\ \ | '_ ` _ \ / _ \ | __| | '_ \ | | | | / __| | __| | . ` | / _ \ | __| \ \ /\ / / / _ \ | '__| | |/ / 14 | / ____ \ | | | | | | | __/ | |_ | | | | | |_| | \__ \ | |_ | |\ | | __/ | |_ \ V V / | (_) | | | | < 15 | /_/ \_\ |_| |_| |_| \___| \__| |_| |_| \__, | |___/ \__| |_| \_| \___| \__| \_/\_/ \___/ |_| |_|\_\ 16 | __/ | 17 | |___/ 18 | */ 19 | 20 | function tryParse(x) { 21 | try { 22 | return JSON.parse(x); 23 | } catch (er) { 24 | return null; 25 | } 26 | } 27 | document.head.insertAdjacentHTML( 28 | "beforebegin", 29 | `` 32 | ); 33 | function initBookmarks(dep = 0) { 34 | // If the user fucks up localStorage somehow, this could occur. 35 | // Prevent issues by simply giving up. 36 | if (dep > 5) return; 37 | 38 | // Locally saved bookmarks as Stringified 2D Array 39 | let bookmarksLocal = localStorage.getItem("bookmarks"); 40 | 41 | // Where to add these element 42 | let bookmarks = document.querySelector(".bookmarks"); 43 | 44 | // If valid 45 | if (bookmarksLocal !== null && Array.isArray(tryParse(bookmarksLocal))) { 46 | // Parse 47 | let json = JSON.parse(bookmarksLocal); 48 | // Loop 49 | json.forEach((bookmark) => { 50 | // /fetch/b64/favicon.ico 51 | // Woah 52 | let [site, ico, title] = bookmark; 53 | 54 | // Create the element 55 | let elem = document.createElement("a"); 56 | elem.textContent = title; 57 | elem.setAttribute("id", "bookmarka"); 58 | elem.style.backgroundImage = "url(" + ico + ")"; 59 | elem.style.color = localStorage.getItem("tabacttit"); 60 | elem.href = site; 61 | 62 | elem.addEventListener("contextmenu", function (e) { 63 | [0].forEach.call(document.getElementsByClassName("bkmks"), (a) => { 64 | a.parentElement.removeChild(a); 65 | }); 66 | e.preventDefault(); 67 | let { pageX, pageY } = e; 68 | let menu = document.createElement("div"); 69 | menu.style.position = "fixed"; 70 | menu.style.left = pageX + "px"; 71 | menu.style.top = pageY + "px"; 72 | menu.style.backgroundColor = localStorage.getItem("tabbkg"); 73 | menu.setAttribute("id", "bmenu"); 74 | let ul = document.createElement("ul"); 75 | ul.setAttribute("id", "bul"); 76 | ul.style.color = localStorage.getItem("nt"); 77 | [ 78 | { 79 | name: "Delete", 80 | func: () => { 81 | elem.parentElement.removeChild(elem); 82 | removeBookmark(bookmark); 83 | }, 84 | }, 85 | ].forEach((i) => { 86 | let li = document.createElement("li"); 87 | li.style.color = localStorage.getItem("nt"); 88 | ul.appendChild(li); 89 | li.setAttribute("id", "bul"); 90 | li.setAttribute("class", "bkmks"); 91 | li.textContent = i.name; 92 | li.addEventListener("click", (e) => { 93 | e.preventDefault(); 94 | i.func(); 95 | }); 96 | }); 97 | menu.appendChild(ul); 98 | 99 | let a = function () { 100 | if (menu.parentElement) menu.parentElement.removeChild(menu); 101 | window.removeEventListener("input", a); 102 | }; 103 | document.body.appendChild(menu); 104 | window.addEventListener("click", a); 105 | }); 106 | 107 | bookmarks.appendChild(elem); 108 | }); 109 | } else { 110 | // Initialize new locally stored bookmark 111 | localStorage.setItem("bookmarks", "[ ]"); 112 | initBookmarks(dep + 1); 113 | } 114 | // JSON.parse 115 | // localStorage.getItem 116 | // [ [ "domain.com", "favicon", "title" ], [ ".org", "favicon", "b3at is smart" ] ] 117 | } 118 | 119 | // this is where bookmark code goes 120 | window.addEventListener("DOMContentLoaded", initBookmarks); 121 | document.body.style.backgroundColor = localStorage.getItem("tabact"); 122 | function removeBookmark(a) { 123 | let data = JSON.parse(localStorage.getItem("bookmarks")); 124 | index = data.indexOf(a); 125 | console.log(a); 126 | data.splice(index, 1); 127 | localStorage.setItem("bookmarks", JSON.stringify(data)); 128 | } 129 | -------------------------------------------------------------------------------- /static/js/draggabilly.pkgd.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Draggabilly PACKAGED v2.2.0 3 | * Make that shiz draggable 4 | * https://draggabilly.desandro.com 5 | * MIT license 6 | */ 7 | 8 | !function(i,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(t){return e(i,t)}):"object"==typeof module&&module.exports?module.exports=e(i,require("jquery")):i.jQueryBridget=e(i,i.jQuery)}(window,function(t,i){"use strict";var c=Array.prototype.slice,e=t.console,p=void 0===e?function(){}:function(t){e.error(t)};function n(d,o,u){(u=u||i||t.jQuery)&&(o.prototype.option||(o.prototype.option=function(t){u.isPlainObject(t)&&(this.options=u.extend(!0,this.options,t))}),u.fn[d]=function(t){if("string"==typeof t){var i=c.call(arguments,1);return s=i,a="$()."+d+'("'+(r=t)+'")',(e=this).each(function(t,i){var e=u.data(i,d);if(e){var n=e[r];if(n&&"_"!=r.charAt(0)){var o=n.apply(e,s);h=void 0===h?o:h}else p(a+" is not a valid method")}else p(d+" not initialized. Cannot call methods, i.e. "+a)}),void 0!==h?h:e}var e,r,s,h,a,n;return n=t,this.each(function(t,i){var e=u.data(i,d);e?(e.option(n),e._init()):(e=new o(i,n),u.data(i,d,e))}),this},r(u))}function r(t){!t||t&&t.bridget||(t.bridget=n)}return r(i||t.jQuery),n}),function(t,i){"use strict";"function"==typeof define&&define.amd?define("get-size/get-size",[],function(){return i()}):"object"==typeof module&&module.exports?module.exports=i():t.getSize=i()}(window,function(){"use strict";function m(t){var i=parseFloat(t);return-1==t.indexOf("%")&&!isNaN(i)&&i}var e="undefined"==typeof console?function(){}:function(t){console.error(t)},y=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],b=y.length;function E(t){var i=getComputedStyle(t);return i||e("Style returned "+i+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),i}var _,x=!1;function P(t){if(function(){if(!x){x=!0;var t=document.createElement("div");t.style.width="200px",t.style.padding="1px 2px 3px 4px",t.style.borderStyle="solid",t.style.borderWidth="1px 2px 3px 4px",t.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(t);var e=E(t);P.isBoxSizeOuter=_=200==m(e.width),i.removeChild(t)}}(),"string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){var i=E(t);if("none"==i.display)return function(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},i=0;i${ipdat.city}
${weather.temp}°F | ${weather.weather}`; 83 | // console.log(weather.alert.length); 84 | // if (!alert == null) { 85 | // document.getElementById('alerts').setAttribute('onclick', `location.href = '/fetch/aHR0cHM6Ly9mb3JlY2FzdC53ZWF0aGVyLmdvdg==/MapClick.php?&lat=${ipdat.latlon.replace(',', '&lon=')}'`); 86 | // document.getElementById('alerts').innerHTML = `${alert}`; 87 | // } else { 88 | // return; 89 | // }; 90 | } 91 | window.onload = () => { 92 | StartWeather(); 93 | }; 94 | -------------------------------------------------------------------------------- /static/js/x/DarkMode.js: -------------------------------------------------------------------------------- 1 | /* 2 | Dark Mode extension for Hypertabs by luphoria. 3 | Very good for use as a base for whatever extension you may want to create! 4 | 5 | version 0. 6 | REVISIONS: created extension. 7 | */ 8 | class DarkMode { 9 | static async Menu() { 10 | // Menu is a REQUIRED function for any extension with an icon. It is usually expected to open a small window that gives settings, or a tab. 11 | if (typeof DarkMode_menu === "undefined") { 12 | // initialize 13 | window.DarkMode_menu = document.createElement("div"); 14 | DarkMode_menu.id = "darkmode_menu"; 15 | DarkMode_menu.classList.add("extension_menu"); 16 | DarkMode_menu.style.width = "300px"; 17 | DarkMode_menu.style.height = "300px"; 18 | DarkMode_menu.style.right = 0; 19 | DarkMode_menu.style.paddingLeft = "4px"; 20 | DarkMode_menu.style.backgroundColor = "#202124"; 21 | DarkMode_menu.style.position = "absolute"; 22 | DarkMode_menu.innerHTML = ` 23 |

Dark Mode

24 |
25 |
26 |
27 | 28 |
`; 29 | return document 30 | .getElementsByClassName("mock-browser")[0] 31 | .append(DarkMode_menu); 32 | } 33 | // otherwise, just toggle it on/off. 34 | return toggleId(DarkMode_menu.id); 35 | } 36 | static async toggleToWhitelist(domain) { 37 | DarkMode.invert(); 38 | if (!toggleList.darken.includes(domain)) { 39 | toggleList.darken.push(domain); 40 | } else { 41 | toggleList.darken.pop(domain); 42 | } 43 | localStorage.setItem("dkm-list",JSON.stringify(toggleList)); 44 | console.log(localStorage.getItem("dkm-list")); 45 | return 46 | } 47 | static async invert() { 48 | var el, 49 | identifier = "HTdkthm", 50 | doc = document.getElementById(getActiveFrameId()).contentDocument, 51 | passed = doc.getElementById(identifier); 52 | null != passed 53 | ? passed.parentNode.removeChild(passed) 54 | : ((el = doc.createElement("style")), 55 | (el.id = identifier), 56 | el.appendChild( 57 | doc.createTextNode( 58 | ` 59 | :root{ 60 | background-color:#000000; 61 | filter:invert(100%) 62 | } 63 | img, video, svg, iframe { 64 | filter:invert(100%) 65 | } 66 | ` 67 | ) 68 | ), 69 | (doc.head || doc.querySelector("head")).appendChild(el)); 70 | } 71 | static async export() { 72 | return alert(localStorage.getItem("dkm-list")); 73 | } 74 | } 75 | 76 | Page.register({ 77 | icon64: 78 | "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACyUlEQVR4Xu2aTYiNURjHp5mmCSOpaTSaEA1ZKF8LsRiUUpqyQMpiwm7EREnTyJ5RFppSaqyUslRKMsrCUrKShY1IRr5Cycfjdzr35s5/5n3ve2djznPfX/039z3Pc/vd+3bvOe85LS0lJSX/EzNbqK81BYjvJTfJAr3mGoRXkLvkF9mu112D8HHyxSKX9bpbkG0n1yrigdfWLLc+oovIgxr5wGkd5xJEO8kjkX9nzfDLj2QbuSfygREd6xJEr6q5xV/+bh3rDiQPqXmFSR3rDiR7yHs1rzCk492B5C21rvCb9Oh4VyC4jfwR8SovdLw7kJxU6xpu63hXILhRjYVRrXEFghNqLAxojRuQ67B/i5wstmidG5AbUNtZWKd1brDpK70slmudG5B7prazsFjrXBDELM7x69GltS5AbJOaZrBea12A2H41zaBfa12A2Ak1zeCA1roAsTNqmoHPmSBiI2qawR2tdYEVvwOmtNYFiA2qaQ59Wp88SO1TyxyGtT55kFqjljk80frkQaqVfFXTHDZoj+SxmZsfeYxpffIgNaqWOXwgS7VH0iC0VS3rcFF7JA9Sz9Uyh++kV3skDUJn1bIOE9ojaRDqJt/UMoewf+DrQSlCY2pZhynz9KgMmS6r/3RYCYcnWrVXsiAzrIYFGNc+yWJxZvhYDQtwSXslCzJ95KMaFuCC9koWi6vEsCXeKOOkXfslCSKn1K4gYW2xTPsliTU+QaryiuzSfkmCyBD5KYJFCeeJ058rILHH4kpwLny2eCd1at+kQKDXZj87WJRP5ApZrb2TAoFj5M10t4YI/y7hgzxJ1mr/JLB4hvg8eVtrNkdekhvkHDlINpMl+p7zEounSwbJQyu2y5xHWGHeJ4dJh77XvMfikvoouW7xzEHWkbsqP8hTi9/+EfO4BY/UStJPdlaym+wgq0ibji8pKSkpKSkpKcpfD60zBiqrtQkAAAAASUVORK5CYII=", 79 | Info: "Dark Mode extension for Hypertabs by luphoria.", 80 | Description: 81 | "This extension can toggle a dark mode on pages viewed via Hypertabs.", 82 | page: "DarkMode", 83 | name: "DarkMode", 84 | }); 85 | 86 | localStorage.getItem("dkm-list") || localStorage.setItem("dkm-list", '{"darken":[]}'); 87 | let toggleList; 88 | try { 89 | toggleList = JSON.parse(localStorage.getItem("dkm-list")); 90 | } catch { 91 | alert("DarkMode configuration could not be initialized."); 92 | localStorage.setItem("dkm-list", '{"darken":[]}'); 93 | toggleList = JSON.parse('{"darken":[]}'); 94 | } 95 | 96 | 97 | setInfo = (parameters) => { 98 | if ( 99 | toggleList.darken.includes( 100 | document.getElementById(parameters).contentDocument.domain 101 | ) 102 | ) 103 | DarkMode.invert(); 104 | _setInfo(parameters); 105 | }; 106 | -------------------------------------------------------------------------------- /static/js/x/core.js: -------------------------------------------------------------------------------- 1 | // empty file referencing HT core. 2 | -------------------------------------------------------------------------------- /static/js/x/demoex.js: -------------------------------------------------------------------------------- 1 | Page.register({ 2 | icon64: 3 | "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACyUlEQVR4Xu2aTYiNURjHp5mmCSOpaTSaEA1ZKF8LsRiUUpqyQMpiwm7EREnTyJ5RFppSaqyUslRKMsrCUrKShY1IRr5Cycfjdzr35s5/5n3ve2djznPfX/039z3Pc/vd+3bvOe85LS0lJSX/EzNbqK81BYjvJTfJAr3mGoRXkLvkF9mu112D8HHyxSKX9bpbkG0n1yrigdfWLLc+oovIgxr5wGkd5xJEO8kjkX9nzfDLj2QbuSfygREd6xJEr6q5xV/+bh3rDiQPqXmFSR3rDiR7yHs1rzCk492B5C21rvCb9Oh4VyC4jfwR8SovdLw7kJxU6xpu63hXILhRjYVRrXEFghNqLAxojRuQ67B/i5wstmidG5AbUNtZWKd1brDpK70slmudG5B7prazsFjrXBDELM7x69GltS5AbJOaZrBea12A2H41zaBfa12A2Ak1zeCA1roAsTNqmoHPmSBiI2qawR2tdYEVvwOmtNYFiA2qaQ59Wp88SO1TyxyGtT55kFqjljk80frkQaqVfFXTHDZoj+SxmZsfeYxpffIgNaqWOXwgS7VH0iC0VS3rcFF7JA9Sz9Uyh++kV3skDUJn1bIOE9ojaRDqJt/UMoewf+DrQSlCY2pZhynz9KgMmS6r/3RYCYcnWrVXsiAzrIYFGNc+yWJxZvhYDQtwSXslCzJ95KMaFuCC9koWi6vEsCXeKOOkXfslCSKn1K4gYW2xTPsliTU+QaryiuzSfkmCyBD5KYJFCeeJ058rILHH4kpwLny2eCd1at+kQKDXZj87WJRP5ApZrb2TAoFj5M10t4YI/y7hgzxJ1mr/JLB4hvg8eVtrNkdekhvkHDlINpMl+p7zEounSwbJQyu2y5xHWGHeJ4dJh77XvMfikvoouW7xzEHWkbsqP8hTi9/+EfO4BY/UStJPdlaym+wgq0ibji8pKSkpKSkpKcpfD60zBiqrtQkAAAAASUVORK5CYII=", 4 | Info: "Dark Mode extension for Hypertabs by luphoria.", 5 | Description: 6 | "This extension can toggle a dark mode on pages viewed via Hypertabs.", 7 | page: "demo", 8 | name: "Demo", 9 | }); 10 | 11 | 12 | class Demo { 13 | static async demoFunc() { 14 | 15 | } 16 | } 17 | 18 | setInfo = (parameters) => { 19 | // anything you want to run onload you put here 20 | 21 | 22 | _setInfo(parameters); 23 | }; 24 | -------------------------------------------------------------------------------- /static/js/xor.js: -------------------------------------------------------------------------------- 1 | // xor function in one place for easy modification 2 | class xor { 3 | static encode(str) { 4 | return encodeURIComponent( 5 | str 6 | .toString() 7 | .split("") 8 | .map((char, ind) => 9 | ind % 2 ? String.fromCharCode(char.charCodeAt() ^ 2) : char 10 | ) 11 | .join("") 12 | ); 13 | } 14 | static decode(str) { 15 | if (str.charAt(str.length - 1) == "/") str = str.slice(0, -1); 16 | return decodeURIComponent(str) 17 | .split("") 18 | .map((char, ind) => 19 | ind % 2 ? String.fromCharCode(char.charCodeAt() ^ 2) : char 20 | ) 21 | .join(""); 22 | } 23 | } -------------------------------------------------------------------------------- /static/search.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/skin/classic/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/blank.gif -------------------------------------------------------------------------------- /static/skin/classic/buttonBg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/buttonBg.png -------------------------------------------------------------------------------- /static/skin/classic/buttonBgHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/buttonBgHover.png -------------------------------------------------------------------------------- /static/skin/classic/detach.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/detach.png -------------------------------------------------------------------------------- /static/skin/classic/detachHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/detachHover.png -------------------------------------------------------------------------------- /static/skin/classic/disable.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/disable.gif -------------------------------------------------------------------------------- /static/skin/classic/disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/disable.png -------------------------------------------------------------------------------- /static/skin/classic/disableHover.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/disableHover.gif -------------------------------------------------------------------------------- /static/skin/classic/disableHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/disableHover.png -------------------------------------------------------------------------------- /static/skin/classic/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/down.png -------------------------------------------------------------------------------- /static/skin/classic/downActive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/downActive.png -------------------------------------------------------------------------------- /static/skin/classic/downHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/downHover.png -------------------------------------------------------------------------------- /static/skin/classic/errorIcon-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/errorIcon-sm.png -------------------------------------------------------------------------------- /static/skin/classic/errorIcon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/errorIcon.gif -------------------------------------------------------------------------------- /static/skin/classic/errorIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/errorIcon.png -------------------------------------------------------------------------------- /static/skin/classic/firebug.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Firebug Lite 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 151 | 152 | 153 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 194 | 195 | 196 | 197 | 198 |
15 | 16 | 22 | 23 | 24 |
25 |   26 |   27 |   28 |
29 | 30 | 31 |
32 |
33 | 34 | 35 | 36 |   37 | 38 | 39 | 42 | 43 | 44 | 45 | 46 | 47 | Inspect 48 | 49 | 50 | 51 | 52 | Clear 53 | 54 | 55 | 56 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 71 | 72 | 73 |
74 | 75 |
76 | 77 | 78 |
79 | 80 | 81 | 109 | 110 | 111 |
112 |
113 | 130 |
131 |
132 | 133 |
134 | 135 | 136 |
 
137 | 138 |
146 |
147 |
148 |
149 |
150 |
154 | 155 | 156 |
 
157 | 158 | 159 |
160 | 161 | 162 |
163 |
164 |
165 | 166 |
167 | 168 | 169 | 170 | 171 | 172 |
173 | Run 174 | Clear 175 | 176 | 177 |
178 | 179 |
188 |
189 |
>>>
190 | 191 | 192 |
193 |
199 | 200 | 201 | 202 | 2 errors 203 | 204 | 205 | 212 | 213 | -------------------------------------------------------------------------------- /static/skin/classic/firebug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/firebug.png -------------------------------------------------------------------------------- /static/skin/classic/group.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/group.gif -------------------------------------------------------------------------------- /static/skin/classic/infoIcon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/infoIcon.gif -------------------------------------------------------------------------------- /static/skin/classic/infoIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/infoIcon.png -------------------------------------------------------------------------------- /static/skin/classic/loading_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/loading_16.gif -------------------------------------------------------------------------------- /static/skin/classic/min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/min.png -------------------------------------------------------------------------------- /static/skin/classic/minHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/minHover.png -------------------------------------------------------------------------------- /static/skin/classic/off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/off.png -------------------------------------------------------------------------------- /static/skin/classic/offHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/offHover.png -------------------------------------------------------------------------------- /static/skin/classic/pixel_transparent.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/pixel_transparent.gif -------------------------------------------------------------------------------- /static/skin/classic/roundCorner.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/skin/classic/search.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/search.gif -------------------------------------------------------------------------------- /static/skin/classic/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/search.png -------------------------------------------------------------------------------- /static/skin/classic/shadow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/shadow.gif -------------------------------------------------------------------------------- /static/skin/classic/shadow2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/shadow2.gif -------------------------------------------------------------------------------- /static/skin/classic/shadowAlpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/shadowAlpha.png -------------------------------------------------------------------------------- /static/skin/classic/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/sprite.png -------------------------------------------------------------------------------- /static/skin/classic/tabHoverLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/tabHoverLeft.png -------------------------------------------------------------------------------- /static/skin/classic/tabHoverMid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/tabHoverMid.png -------------------------------------------------------------------------------- /static/skin/classic/tabHoverRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/tabHoverRight.png -------------------------------------------------------------------------------- /static/skin/classic/tabLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/tabLeft.png -------------------------------------------------------------------------------- /static/skin/classic/tabMenuCheckbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/tabMenuCheckbox.png -------------------------------------------------------------------------------- /static/skin/classic/tabMenuPin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/tabMenuPin.png -------------------------------------------------------------------------------- /static/skin/classic/tabMenuRadio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/tabMenuRadio.png -------------------------------------------------------------------------------- /static/skin/classic/tabMenuTarget.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/tabMenuTarget.png -------------------------------------------------------------------------------- /static/skin/classic/tabMenuTargetHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/tabMenuTargetHover.png -------------------------------------------------------------------------------- /static/skin/classic/tabMid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/tabMid.png -------------------------------------------------------------------------------- /static/skin/classic/tabRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/tabRight.png -------------------------------------------------------------------------------- /static/skin/classic/textEditorBorders.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/textEditorBorders.gif -------------------------------------------------------------------------------- /static/skin/classic/textEditorBorders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/textEditorBorders.png -------------------------------------------------------------------------------- /static/skin/classic/textEditorCorners.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/textEditorCorners.gif -------------------------------------------------------------------------------- /static/skin/classic/textEditorCorners.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/textEditorCorners.png -------------------------------------------------------------------------------- /static/skin/classic/titlebarMid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/titlebarMid.png -------------------------------------------------------------------------------- /static/skin/classic/toolbarMid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/toolbarMid.png -------------------------------------------------------------------------------- /static/skin/classic/tree_close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/tree_close.gif -------------------------------------------------------------------------------- /static/skin/classic/tree_open.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/tree_open.gif -------------------------------------------------------------------------------- /static/skin/classic/twistyClosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/twistyClosed.png -------------------------------------------------------------------------------- /static/skin/classic/twistyOpen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/twistyOpen.png -------------------------------------------------------------------------------- /static/skin/classic/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/up.png -------------------------------------------------------------------------------- /static/skin/classic/upActive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/upActive.png -------------------------------------------------------------------------------- /static/skin/classic/upHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/upHover.png -------------------------------------------------------------------------------- /static/skin/classic/warningIcon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/warningIcon.gif -------------------------------------------------------------------------------- /static/skin/classic/warningIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/classic/warningIcon.png -------------------------------------------------------------------------------- /static/skin/light/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/blank.gif -------------------------------------------------------------------------------- /static/skin/light/buttonBg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/buttonBg.png -------------------------------------------------------------------------------- /static/skin/light/buttonBgHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/buttonBgHover.png -------------------------------------------------------------------------------- /static/skin/light/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/close.png -------------------------------------------------------------------------------- /static/skin/light/closeHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/closeHover.png -------------------------------------------------------------------------------- /static/skin/light/detach.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/detach.png -------------------------------------------------------------------------------- /static/skin/light/detachHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/detachHover.png -------------------------------------------------------------------------------- /static/skin/light/disable.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/disable.gif -------------------------------------------------------------------------------- /static/skin/light/disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/disable.png -------------------------------------------------------------------------------- /static/skin/light/disableHover.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/disableHover.gif -------------------------------------------------------------------------------- /static/skin/light/disableHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/disableHover.png -------------------------------------------------------------------------------- /static/skin/light/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/down.png -------------------------------------------------------------------------------- /static/skin/light/downActive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/downActive.png -------------------------------------------------------------------------------- /static/skin/light/downHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/downHover.png -------------------------------------------------------------------------------- /static/skin/light/errorIcon-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/errorIcon-sm.png -------------------------------------------------------------------------------- /static/skin/light/errorIcon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/errorIcon.gif -------------------------------------------------------------------------------- /static/skin/light/errorIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/errorIcon.png -------------------------------------------------------------------------------- /static/skin/light/firebug.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Firebug Lite 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 151 | 152 | 153 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 194 | 195 | 196 | 197 | 198 |
15 | 16 | 22 | 23 | 24 |
25 |   26 |   27 |   28 |
29 | 30 | 31 |
32 |
33 | 34 | 35 | 36 |   37 | 38 | 39 | 42 | 43 | 44 | 45 | 46 | 47 | Inspect 48 | 49 | 50 | 51 | 52 | Clear 53 | 54 | 55 | 56 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 71 | 72 | 73 |
74 | 75 |
76 | 77 | 78 |
79 | 80 | 81 | 109 | 110 | 111 |
112 |
113 | 130 |
131 |
132 | 133 |
134 | 135 | 136 |
 
137 | 138 |
146 |
147 |
148 |
149 |
150 |
154 | 155 | 156 |
 
157 | 158 | 159 |
160 | 161 | 162 |
163 |
164 |
165 | 166 |
167 | 168 | 169 | 170 | 171 | 172 |
173 | Run 174 | Clear 175 | 176 | 177 |
178 | 179 |
188 |
189 |
>>>
190 | 191 | 192 |
193 |
199 | 200 | 201 | 202 | 2 errors 203 | 204 | 205 | 212 | 213 | -------------------------------------------------------------------------------- /static/skin/light/firebug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/firebug.png -------------------------------------------------------------------------------- /static/skin/light/group.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/group.gif -------------------------------------------------------------------------------- /static/skin/light/infoIcon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/infoIcon.gif -------------------------------------------------------------------------------- /static/skin/light/infoIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/infoIcon.png -------------------------------------------------------------------------------- /static/skin/light/loading_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/loading_16.gif -------------------------------------------------------------------------------- /static/skin/light/min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/min.png -------------------------------------------------------------------------------- /static/skin/light/minHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/minHover.png -------------------------------------------------------------------------------- /static/skin/light/off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/off.png -------------------------------------------------------------------------------- /static/skin/light/offHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/offHover.png -------------------------------------------------------------------------------- /static/skin/light/pixel_transparent.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/pixel_transparent.gif -------------------------------------------------------------------------------- /static/skin/light/roundCorner.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/skin/light/search.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/search.gif -------------------------------------------------------------------------------- /static/skin/light/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/search.png -------------------------------------------------------------------------------- /static/skin/light/shadow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/shadow.gif -------------------------------------------------------------------------------- /static/skin/light/shadow2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/shadow2.gif -------------------------------------------------------------------------------- /static/skin/light/shadowAlpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/shadowAlpha.png -------------------------------------------------------------------------------- /static/skin/light/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/sprite.png -------------------------------------------------------------------------------- /static/skin/light/tabHoverLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/tabHoverLeft.png -------------------------------------------------------------------------------- /static/skin/light/tabHoverMid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/tabHoverMid.png -------------------------------------------------------------------------------- /static/skin/light/tabHoverRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/tabHoverRight.png -------------------------------------------------------------------------------- /static/skin/light/tabLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/tabLeft.png -------------------------------------------------------------------------------- /static/skin/light/tabMenuCheckbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/tabMenuCheckbox.png -------------------------------------------------------------------------------- /static/skin/light/tabMenuPin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/tabMenuPin.png -------------------------------------------------------------------------------- /static/skin/light/tabMenuRadio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/tabMenuRadio.png -------------------------------------------------------------------------------- /static/skin/light/tabMenuTarget.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/tabMenuTarget.png -------------------------------------------------------------------------------- /static/skin/light/tabMenuTargetHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/tabMenuTargetHover.png -------------------------------------------------------------------------------- /static/skin/light/tabMid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/tabMid.png -------------------------------------------------------------------------------- /static/skin/light/tabRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/tabRight.png -------------------------------------------------------------------------------- /static/skin/light/textEditorBorders.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/textEditorBorders.gif -------------------------------------------------------------------------------- /static/skin/light/textEditorBorders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/textEditorBorders.png -------------------------------------------------------------------------------- /static/skin/light/textEditorCorners.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/textEditorCorners.gif -------------------------------------------------------------------------------- /static/skin/light/textEditorCorners.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/textEditorCorners.png -------------------------------------------------------------------------------- /static/skin/light/titlebarMid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/titlebarMid.png -------------------------------------------------------------------------------- /static/skin/light/toolbarMid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/toolbarMid.png -------------------------------------------------------------------------------- /static/skin/light/tree_close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/tree_close.gif -------------------------------------------------------------------------------- /static/skin/light/tree_open.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/tree_open.gif -------------------------------------------------------------------------------- /static/skin/light/twistyClosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/twistyClosed.png -------------------------------------------------------------------------------- /static/skin/light/twistyOpen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/twistyOpen.png -------------------------------------------------------------------------------- /static/skin/light/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/up.png -------------------------------------------------------------------------------- /static/skin/light/upActive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/upActive.png -------------------------------------------------------------------------------- /static/skin/light/upHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/upHover.png -------------------------------------------------------------------------------- /static/skin/light/warningIcon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/warningIcon.gif -------------------------------------------------------------------------------- /static/skin/light/warningIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/light/warningIcon.png -------------------------------------------------------------------------------- /static/skin/xp/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/blank.gif -------------------------------------------------------------------------------- /static/skin/xp/buttonBg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/buttonBg.gif -------------------------------------------------------------------------------- /static/skin/xp/buttonBg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/buttonBg.png -------------------------------------------------------------------------------- /static/skin/xp/buttonBgHover.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/buttonBgHover.gif -------------------------------------------------------------------------------- /static/skin/xp/buttonBgHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/buttonBgHover.png -------------------------------------------------------------------------------- /static/skin/xp/debugger.css: -------------------------------------------------------------------------------- 1 | /* See license.txt for terms of usage */ 2 | 3 | .panelNode-script { 4 | overflow: hidden; 5 | font-family: monospace; 6 | } 7 | 8 | /************************************************************************************************/ 9 | 10 | .scriptTooltip { 11 | position: fixed; 12 | z-index: 2147483647; 13 | padding: 2px 3px; 14 | border: 1px solid #CBE087; 15 | background: LightYellow; 16 | font-family: monospace; 17 | color: #000000; 18 | } 19 | 20 | /************************************************************************************************/ 21 | 22 | .sourceBox { 23 | /* TODO: xxxpedro problem with sourceBox and scrolling elements */ 24 | /*overflow: scroll; /* see issue 1479 */ 25 | position: absolute; 26 | left: 0; 27 | top: 0; 28 | width: 100%; 29 | height: 100%; 30 | } 31 | 32 | .sourceRow { 33 | white-space: nowrap; 34 | -moz-user-select: text; 35 | } 36 | 37 | .sourceRow.hovered { 38 | background-color: #EEEEEE; 39 | } 40 | 41 | /************************************************************************************************/ 42 | 43 | .sourceLine { 44 | -moz-user-select: none; 45 | margin-right: 10px; 46 | border-right: 1px solid #CCCCCC; 47 | padding: 0px 4px 0 20px; 48 | background: #EEEEEE no-repeat 2px 0px; 49 | color: #888888; 50 | white-space: pre; 51 | font-family: monospace; /* see issue 2953 */ 52 | } 53 | 54 | .noteInToolTip { /* below sourceLine, so it overrides it */ 55 | background-color: #FFD472; 56 | } 57 | 58 | .useA11y .sourceBox .sourceViewport:focus .sourceLine { 59 | background-color: #FFFFC0; 60 | color: navy; 61 | border-right: 1px solid black; 62 | } 63 | 64 | .useA11y .sourceBox .sourceViewport:focus { 65 | outline: none; 66 | } 67 | 68 | .a11y1emSize { 69 | width: 1em; 70 | height: 1em; 71 | position: absolute; 72 | } 73 | 74 | .useA11y .panelStatusLabel:focus { 75 | outline-offset: -2px !important; 76 | } 77 | 78 | .sourceBox > .sourceRow > .sourceLine { 79 | cursor: pointer; 80 | } 81 | 82 | .sourceLine:hover { 83 | text-decoration: none; 84 | } 85 | 86 | .sourceRowText { 87 | white-space: pre; 88 | } 89 | 90 | .sourceRow[exe_line="true"] { 91 | outline: 1px solid #D9D9B6; 92 | margin-right: 1px; 93 | background-color: lightgoldenrodyellow; 94 | } 95 | 96 | .sourceRow[executable="true"] > .sourceLine { 97 | content: "-"; 98 | color: #4AA02C; /* Spring Green */ 99 | font-weight: bold; 100 | } 101 | 102 | .sourceRow[exe_line="true"] > .sourceLine { 103 | background-image: url(chrome://firebug/skin/exe.png); 104 | color: #000000; 105 | } 106 | 107 | .sourceRow[breakpoint="true"] > .sourceLine { 108 | background-image: url(chrome://firebug/skin/breakpoint.png); 109 | } 110 | 111 | .sourceRow[breakpoint="true"][condition="true"] > .sourceLine { 112 | background-image: url(chrome://firebug/skin/breakpointCondition.png); 113 | } 114 | 115 | .sourceRow[breakpoint="true"][disabledBreakpoint="true"] > .sourceLine { 116 | background-image: url(chrome://firebug/skin/breakpointDisabled.png); 117 | } 118 | 119 | .sourceRow[breakpoint="true"][exe_line="true"] > .sourceLine { 120 | background-image: url(chrome://firebug/skin/breakpointExe.png); 121 | } 122 | 123 | .sourceRow[breakpoint="true"][exe_line="true"][disabledBreakpoint="true"] > .sourceLine { 124 | background-image: url(chrome://firebug/skin/breakpointDisabledExe.png); 125 | } 126 | 127 | .sourceLine.editing { 128 | background-image: url(chrome://firebug/skin/breakpoint.png); 129 | } 130 | 131 | /************************************************************************************************/ 132 | 133 | .conditionEditor { 134 | z-index: 2147483647; 135 | position: absolute; 136 | margin-top: 0; 137 | left: 2px; 138 | width: 90%; 139 | } 140 | 141 | .conditionEditorInner { 142 | position: relative; 143 | top: -26px; 144 | height: 0; 145 | } 146 | 147 | .conditionCaption { 148 | margin-bottom: 2px; 149 | font-family: Lucida Grande, sans-serif; 150 | font-weight: bold; 151 | font-size: 11px; 152 | color: #226679; 153 | } 154 | 155 | .conditionInput { 156 | width: 100%; 157 | border: 1px solid #0096C0; 158 | font-family: monospace; 159 | font-size: inherit; 160 | } 161 | 162 | .conditionEditorInner1 { 163 | padding-left: 37px; 164 | background: url(condBorders.png) repeat-y; 165 | } 166 | 167 | .conditionEditorInner2 { 168 | padding-right: 25px; 169 | background: url(condBorders.png) repeat-y 100% 0; 170 | } 171 | 172 | .conditionEditorTop1 { 173 | background: url(condCorners.png) no-repeat 100% 0; 174 | margin-left: 37px; 175 | height: 35px; 176 | } 177 | 178 | .conditionEditorTop2 { 179 | position: relative; 180 | left: -37px; 181 | width: 37px; 182 | height: 35px; 183 | background: url(condCorners.png) no-repeat; 184 | } 185 | 186 | .conditionEditorBottom1 { 187 | background: url(condCorners.png) no-repeat 100% 100%; 188 | margin-left: 37px; 189 | height: 33px; 190 | } 191 | 192 | .conditionEditorBottom2 { 193 | position: relative; left: -37px; 194 | width: 37px; 195 | height: 33px; 196 | background: url(condCorners.png) no-repeat 0 100%; 197 | } 198 | 199 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 200 | 201 | .upsideDown { 202 | margin-top: 2px; 203 | } 204 | 205 | .upsideDown .conditionEditorInner { 206 | top: -8px; 207 | } 208 | 209 | .upsideDown .conditionEditorInner1 { 210 | padding-left: 33px; 211 | background: url(condBordersUps.png) repeat-y; 212 | } 213 | 214 | .upsideDown .conditionEditorInner2 { 215 | padding-right: 25px; 216 | background: url(condBordersUps.png) repeat-y 100% 0; 217 | } 218 | 219 | .upsideDown .conditionEditorTop1 { 220 | background: url(condCornersUps.png) no-repeat 100% 0; 221 | margin-left: 33px; 222 | height: 25px; 223 | } 224 | 225 | .upsideDown .conditionEditorTop2 { 226 | position: relative; 227 | left: -33px; 228 | width: 33px; 229 | height: 25px; 230 | background: url(condCornersUps.png) no-repeat; 231 | } 232 | 233 | .upsideDown .conditionEditorBottom1 { 234 | background: url(condCornersUps.png) no-repeat 100% 100%; 235 | margin-left: 33px; 236 | height: 43px; 237 | } 238 | 239 | .upsideDown .conditionEditorBottom2 { 240 | position: relative; 241 | left: -33px; 242 | width: 33px; 243 | height: 43px; 244 | background: url(condCornersUps.png) no-repeat 0 100%; 245 | } 246 | 247 | /************************************************************************************************/ 248 | 249 | .breakpointsGroupListBox { 250 | overflow: hidden; 251 | } 252 | 253 | .breakpointBlockHead { 254 | position: relative; 255 | padding-top: 4px; 256 | } 257 | 258 | .breakpointBlockHead > .checkbox { 259 | margin-right: 4px; 260 | } 261 | 262 | .breakpointBlockHead > .objectLink-sourceLink { 263 | top: 4px; 264 | right: 20px; 265 | background-color: #FFFFFF; /* issue 3308 */ 266 | } 267 | 268 | .breakpointBlockHead > .closeButton { 269 | position: absolute; 270 | top: 2px; 271 | right: 2px; 272 | } 273 | 274 | .breakpointCheckbox { 275 | margin-top: 0; 276 | vertical-align: top; 277 | } 278 | 279 | .breakpointName { 280 | margin-left: 4px; 281 | font-weight: bold; 282 | } 283 | 284 | .breakpointRow[aria-checked="false"] > .breakpointBlockHead > *, 285 | .breakpointRow[aria-checked="false"] > .breakpointCode { 286 | opacity: 0.5; 287 | } 288 | 289 | .breakpointRow[aria-checked="false"] .breakpointCheckbox, 290 | .breakpointRow[aria-checked="false"] .objectLink-sourceLink, 291 | .breakpointRow[aria-checked="false"] .closeButton, 292 | .breakpointRow[aria-checked="false"] .breakpointMutationType { 293 | opacity: 1.0 !important; 294 | } 295 | 296 | .breakpointCode { 297 | overflow: hidden; 298 | white-space: nowrap; 299 | padding-left: 24px; 300 | padding-bottom: 2px; 301 | border-bottom: 1px solid #D7D7D7; 302 | font-family: monospace; 303 | color: DarkGreen; 304 | } 305 | 306 | .breakpointCondition { 307 | white-space: nowrap; 308 | padding-left: 24px; 309 | padding-bottom: 2px; 310 | border-bottom: 1px solid #D7D7D7; 311 | font-family: monospace; 312 | color: Gray; 313 | } 314 | 315 | .breakpointBlock-breakpoints > .groupHeader { 316 | display: none; 317 | } 318 | 319 | .breakpointBlock-monitors > .breakpointCode { 320 | padding: 0; 321 | } 322 | 323 | .breakpointBlock-errorBreakpoints .breakpointCheckbox, 324 | .breakpointBlock-monitors .breakpointCheckbox { 325 | display: none; 326 | } 327 | 328 | .breakpointHeader { 329 | margin: 0 !important; 330 | border-top: none !important; 331 | } 332 | -------------------------------------------------------------------------------- /static/skin/xp/detach.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/detach.gif -------------------------------------------------------------------------------- /static/skin/xp/detach.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/detach.png -------------------------------------------------------------------------------- /static/skin/xp/detachHover.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/detachHover.gif -------------------------------------------------------------------------------- /static/skin/xp/detachHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/detachHover.png -------------------------------------------------------------------------------- /static/skin/xp/disable.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/disable.gif -------------------------------------------------------------------------------- /static/skin/xp/disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/disable.png -------------------------------------------------------------------------------- /static/skin/xp/disableHover.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/disableHover.gif -------------------------------------------------------------------------------- /static/skin/xp/disableHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/disableHover.png -------------------------------------------------------------------------------- /static/skin/xp/down.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/down.gif -------------------------------------------------------------------------------- /static/skin/xp/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/down.png -------------------------------------------------------------------------------- /static/skin/xp/downActive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/downActive.png -------------------------------------------------------------------------------- /static/skin/xp/downHover.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/downHover.gif -------------------------------------------------------------------------------- /static/skin/xp/downHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/downHover.png -------------------------------------------------------------------------------- /static/skin/xp/errorIcon-sm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/errorIcon-sm.gif -------------------------------------------------------------------------------- /static/skin/xp/errorIcon-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/errorIcon-sm.png -------------------------------------------------------------------------------- /static/skin/xp/errorIcon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/errorIcon.gif -------------------------------------------------------------------------------- /static/skin/xp/errorIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/errorIcon.png -------------------------------------------------------------------------------- /static/skin/xp/firebug.IE6.css: -------------------------------------------------------------------------------- 1 | /************************************************************************************************/ 2 | #fbToolbarSearch { 3 | background-image: url(search.gif) !important; 4 | } 5 | /************************************************************************************************/ 6 | .fbErrors { 7 | background-image: url(errorIcon.gif) !important; 8 | } 9 | /************************************************************************************************/ 10 | .logRow-info { 11 | background-image: url(infoIcon.gif) !important; 12 | } 13 | 14 | .logRow-warning { 15 | background-image: url(warningIcon.gif) !important; 16 | } 17 | 18 | .logRow-error { 19 | background-image: url(errorIcon.gif) !important; 20 | } 21 | -------------------------------------------------------------------------------- /static/skin/xp/firebug.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Firebug Lite 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 153 | 154 | 155 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 196 | 197 | 198 | 199 | 200 |
17 | 18 | 24 | 25 | 26 |
27 |   28 |   29 |   30 |
31 | 32 | 33 |
34 |
35 | 36 | 37 | 38 |   39 | 40 | 41 | 44 | 45 | 46 | 47 | 48 | 49 | Inspect 50 | 51 | 52 | 53 | 54 | Clear 55 | 56 | 57 | 58 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 73 | 74 | 75 |
76 | 77 |
78 | 79 | 80 |
81 | 82 | 83 | 111 | 112 | 113 |
114 |
115 | 132 |
133 |
134 | 135 |
136 | 137 | 138 |
 
139 | 140 |
148 |
149 |
150 |
151 |
152 |
156 | 157 | 158 |
 
159 | 160 | 161 |
162 | 163 | 164 |
165 |
166 |
167 | 168 |
169 | 170 | 171 | 172 | 173 | 174 |
175 | Run 176 | Clear 177 | 178 | 179 |
180 | 181 |
190 |
191 |
>>>
192 | 193 | 194 |
195 |
201 | 202 | 203 | 204 | 2 errors 205 | 206 | 207 | 214 | 215 | -------------------------------------------------------------------------------- /static/skin/xp/firebug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/firebug.png -------------------------------------------------------------------------------- /static/skin/xp/group.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/group.gif -------------------------------------------------------------------------------- /static/skin/xp/html.css: -------------------------------------------------------------------------------- 1 | /* See license.txt for terms of usage */ 2 | 3 | .panelNode-html { 4 | -moz-box-sizing: padding-box; 5 | padding: 4px 0 0 2px; 6 | } 7 | 8 | .nodeBox { 9 | position: relative; 10 | font-family: Monaco, monospace; 11 | padding-left: 13px; 12 | -moz-user-select: -moz-none; 13 | } 14 | .nodeBox.search-selection { 15 | -moz-user-select: text; 16 | } 17 | .twisty { 18 | position: absolute; 19 | left: 0px; 20 | top: 0px; 21 | width: 14px; 22 | height: 14px; 23 | } 24 | 25 | .nodeChildBox { 26 | margin-left: 12px; 27 | display: none; 28 | } 29 | 30 | .nodeLabel, 31 | .nodeCloseLabel { 32 | margin: -2px 2px 0 2px; 33 | border: 2px solid transparent; 34 | -moz-border-radius: 3px; 35 | padding: 0 2px; 36 | color: #000088; 37 | } 38 | 39 | .nodeCloseLabel { 40 | display: none; 41 | } 42 | 43 | .nodeTag { 44 | cursor: pointer; 45 | color: blue; 46 | } 47 | 48 | .nodeValue { 49 | color: #FF0000; 50 | font-weight: normal; 51 | } 52 | 53 | .nodeText, 54 | .nodeComment { 55 | margin: 0 2px; 56 | vertical-align: top; 57 | } 58 | 59 | .nodeText { 60 | color: #333333; 61 | } 62 | 63 | .nodeWhiteSpace { 64 | border: 1px solid LightGray; 65 | white-space: pre; /* otherwise the border will be collapsed around zero pixels */ 66 | margin-left: 1px; 67 | color: gray; 68 | } 69 | 70 | 71 | .nodeWhiteSpace_Space { 72 | border: 1px solid #ddd; 73 | } 74 | 75 | .nodeTextEntity { 76 | border: 1px solid gray; 77 | white-space: pre; /* otherwise the border will be collapsed around zero pixels */ 78 | margin-left: 1px; 79 | } 80 | 81 | .nodeComment { 82 | color: DarkGreen; 83 | } 84 | 85 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 86 | 87 | .nodeBox.highlightOpen > .nodeLabel { 88 | background-color: #EEEEEE; 89 | } 90 | 91 | .nodeBox.highlightOpen > .nodeCloseLabel, 92 | .nodeBox.highlightOpen > .nodeChildBox, 93 | .nodeBox.open > .nodeCloseLabel, 94 | .nodeBox.open > .nodeChildBox { 95 | display: block; 96 | } 97 | 98 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 99 | 100 | .nodeBox.selected > .nodeLabel > .nodeLabelBox, 101 | .nodeBox.selected > .nodeLabel { 102 | border-color: Highlight; 103 | background-color: Highlight; 104 | color: HighlightText !important; 105 | } 106 | 107 | .nodeBox.selected > .nodeLabel > .nodeLabelBox, 108 | .nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeTag, 109 | .nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeAttr > .nodeValue, 110 | .nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeText { 111 | color: inherit !important; 112 | } 113 | 114 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 115 | 116 | .nodeBox.highlighted > .nodeLabel { 117 | border-color: Highlight !important; 118 | background-color: cyan !important; 119 | color: #000000 !important; 120 | } 121 | 122 | .nodeBox.highlighted > .nodeLabel > .nodeLabelBox, 123 | .nodeBox.highlighted > .nodeLabel > .nodeLabelBox > .nodeTag, 124 | .nodeBox.highlighted > .nodeLabel > .nodeLabelBox > .nodeAttr > .nodeValue, 125 | .nodeBox.highlighted > .nodeLabel > .nodeLabelBox > .nodeText { 126 | color: #000000 !important; 127 | } 128 | 129 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 130 | 131 | .nodeBox.nodeHidden .nodeLabel > .nodeLabelBox, 132 | .nodeBox.nodeHidden .nodeCloseLabel, 133 | .nodeBox.nodeHidden .nodeLabel > .nodeLabelBox > .nodeText, 134 | .nodeBox.nodeHidden .nodeText { 135 | color: #888888; 136 | } 137 | 138 | .nodeBox.nodeHidden .nodeLabel > .nodeLabelBox > .nodeTag, 139 | .nodeBox.nodeHidden .nodeCloseLabel > .nodeCloseLabelBox > .nodeTag { 140 | color: #5F82D9; 141 | } 142 | 143 | .nodeBox.nodeHidden .nodeLabel > .nodeLabelBox > .nodeAttr > .nodeValue { 144 | color: #D86060; 145 | } 146 | 147 | .nodeBox.nodeHidden.selected > .nodeLabel > .nodeLabelBox, 148 | .nodeBox.nodeHidden.selected > .nodeLabel > .nodeLabelBox > .nodeTag, 149 | .nodeBox.nodeHidden.selected > .nodeLabel > .nodeLabelBox > .nodeAttr > .nodeValue, 150 | .nodeBox.nodeHidden.selected > .nodeLabel > .nodeLabelBox > .nodeText { 151 | color: SkyBlue !important; 152 | } 153 | 154 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 155 | 156 | .nodeBox.mutated > .nodeLabel, 157 | .nodeAttr.mutated, 158 | .nodeValue.mutated, 159 | .nodeText.mutated, 160 | .nodeBox.mutated > .nodeText { 161 | background-color: #EFFF79; 162 | color: #FF0000 !important; 163 | } 164 | 165 | .nodeBox.selected.mutated > .nodeLabel, 166 | .nodeBox.selected.mutated > .nodeLabel > .nodeLabelBox, 167 | .nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeAttr.mutated > .nodeValue, 168 | .nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeAttr > .nodeValue.mutated, 169 | .nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeText.mutated { 170 | background-color: #EFFF79; 171 | border-color: #EFFF79; 172 | color: #FF0000 !important; 173 | } 174 | 175 | /************************************************************************************************/ 176 | 177 | .logRow-dirxml { 178 | padding-left: 0; 179 | } 180 | 181 | .soloElement > .nodeBox { 182 | padding-left: 0; 183 | } 184 | 185 | .useA11y .nodeLabel.focused { 186 | outline: 2px solid #FF9933; 187 | -moz-outline-radius: 3px; 188 | outline-offset: -2px; 189 | } 190 | 191 | .useA11y .nodeLabelBox:focus { 192 | outline: none; 193 | } 194 | 195 | /************************************************************************************************/ 196 | 197 | .breakpointCode .twisty { 198 | display: none; 199 | } 200 | 201 | .breakpointCode .nodeBox.containerNodeBox, 202 | .breakpointCode .nodeLabel { 203 | padding-left: 0px; 204 | margin-left: 0px; 205 | font-family: Monaco, monospace !important; 206 | } 207 | 208 | .breakpointCode .nodeTag, 209 | .breakpointCode .nodeAttr, 210 | .breakpointCode .nodeText, 211 | .breakpointCode .nodeValue, 212 | .breakpointCode .nodeLabel { 213 | color: DarkGreen !important; 214 | } 215 | 216 | .breakpointMutationType { 217 | position: absolute; 218 | top: 4px; 219 | right: 20px; 220 | color: gray; 221 | } 222 | 223 | 224 | 225 | 226 | 227 | 228 | /************************************************************************************************/ 229 | /************************************************************************************************/ 230 | /************************************************************************************************/ 231 | /************************************************************************************************/ 232 | /************************************************************************************************/ 233 | /************************************************************************************************/ 234 | /************************************************************************************************/ 235 | /************************************************************************************************/ 236 | /************************************************************************************************/ 237 | /************************************************************************************************/ 238 | 239 | 240 | 241 | /************************************************************************************************/ 242 | /* Twisties */ 243 | 244 | .twisty, 245 | .logRow-errorMessage > .hasTwisty > .errorTitle, 246 | .logRow-log > .objectBox-array.hasTwisty, 247 | .logRow-spy .spyHead .spyTitle, 248 | .logGroup > .logRow, 249 | .memberRow.hasChildren > .memberLabelCell > .memberLabel, 250 | .hasHeaders .netHrefLabel, 251 | .netPageRow > .netCol > .netPageTitle { 252 | background-image: url(twistyClosed.png); 253 | background-repeat: no-repeat; 254 | background-position: 2px 2px; 255 | min-height: 12px; 256 | } 257 | 258 | .logRow-errorMessage > .hasTwisty.opened > .errorTitle, 259 | .logRow-log > .objectBox-array.hasTwisty.opened, 260 | .logRow-spy.opened .spyHead .spyTitle, 261 | .logGroup.opened > .logRow, 262 | .memberRow.hasChildren.opened > .memberLabelCell > .memberLabel, 263 | .nodeBox.highlightOpen > .nodeLabel > .twisty, 264 | .nodeBox.open > .nodeLabel > .twisty, 265 | .netRow.opened > .netCol > .netHrefLabel, 266 | .netPageRow.opened > .netCol > .netPageTitle { 267 | background-image: url(twistyOpen.png); 268 | } 269 | 270 | .twisty { 271 | background-position: 4px 4px; 272 | } -------------------------------------------------------------------------------- /static/skin/xp/infoIcon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/infoIcon.gif -------------------------------------------------------------------------------- /static/skin/xp/infoIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/infoIcon.png -------------------------------------------------------------------------------- /static/skin/xp/loading_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/loading_16.gif -------------------------------------------------------------------------------- /static/skin/xp/min.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/min.gif -------------------------------------------------------------------------------- /static/skin/xp/min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/min.png -------------------------------------------------------------------------------- /static/skin/xp/minHover.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/minHover.gif -------------------------------------------------------------------------------- /static/skin/xp/minHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/minHover.png -------------------------------------------------------------------------------- /static/skin/xp/off.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/off.gif -------------------------------------------------------------------------------- /static/skin/xp/off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/off.png -------------------------------------------------------------------------------- /static/skin/xp/offHover.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/offHover.gif -------------------------------------------------------------------------------- /static/skin/xp/offHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/offHover.png -------------------------------------------------------------------------------- /static/skin/xp/pixel_transparent.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/pixel_transparent.gif -------------------------------------------------------------------------------- /static/skin/xp/roundCorner.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/skin/xp/search.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/search.gif -------------------------------------------------------------------------------- /static/skin/xp/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/search.png -------------------------------------------------------------------------------- /static/skin/xp/shadow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/shadow.gif -------------------------------------------------------------------------------- /static/skin/xp/shadow2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/shadow2.gif -------------------------------------------------------------------------------- /static/skin/xp/shadowAlpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/shadowAlpha.png -------------------------------------------------------------------------------- /static/skin/xp/sprite.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/sprite.gif -------------------------------------------------------------------------------- /static/skin/xp/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/sprite.png -------------------------------------------------------------------------------- /static/skin/xp/tabHoverLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tabHoverLeft.png -------------------------------------------------------------------------------- /static/skin/xp/tabHoverMid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tabHoverMid.png -------------------------------------------------------------------------------- /static/skin/xp/tabHoverRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tabHoverRight.png -------------------------------------------------------------------------------- /static/skin/xp/tabLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tabLeft.png -------------------------------------------------------------------------------- /static/skin/xp/tabMenuCheckbox.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tabMenuCheckbox.gif -------------------------------------------------------------------------------- /static/skin/xp/tabMenuCheckbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tabMenuCheckbox.png -------------------------------------------------------------------------------- /static/skin/xp/tabMenuPin.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tabMenuPin.gif -------------------------------------------------------------------------------- /static/skin/xp/tabMenuPin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tabMenuPin.png -------------------------------------------------------------------------------- /static/skin/xp/tabMenuRadio.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tabMenuRadio.gif -------------------------------------------------------------------------------- /static/skin/xp/tabMenuRadio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tabMenuRadio.png -------------------------------------------------------------------------------- /static/skin/xp/tabMenuTarget.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tabMenuTarget.gif -------------------------------------------------------------------------------- /static/skin/xp/tabMenuTarget.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tabMenuTarget.png -------------------------------------------------------------------------------- /static/skin/xp/tabMenuTargetHover.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tabMenuTargetHover.gif -------------------------------------------------------------------------------- /static/skin/xp/tabMenuTargetHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tabMenuTargetHover.png -------------------------------------------------------------------------------- /static/skin/xp/tabMid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tabMid.png -------------------------------------------------------------------------------- /static/skin/xp/tabRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tabRight.png -------------------------------------------------------------------------------- /static/skin/xp/textEditorBorders.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/textEditorBorders.gif -------------------------------------------------------------------------------- /static/skin/xp/textEditorBorders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/textEditorBorders.png -------------------------------------------------------------------------------- /static/skin/xp/textEditorCorners.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/textEditorCorners.gif -------------------------------------------------------------------------------- /static/skin/xp/textEditorCorners.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/textEditorCorners.png -------------------------------------------------------------------------------- /static/skin/xp/titlebarMid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/titlebarMid.png -------------------------------------------------------------------------------- /static/skin/xp/toolbarMid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/toolbarMid.png -------------------------------------------------------------------------------- /static/skin/xp/tree_close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tree_close.gif -------------------------------------------------------------------------------- /static/skin/xp/tree_open.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/tree_open.gif -------------------------------------------------------------------------------- /static/skin/xp/twistyClosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/twistyClosed.png -------------------------------------------------------------------------------- /static/skin/xp/twistyOpen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/twistyOpen.png -------------------------------------------------------------------------------- /static/skin/xp/up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/up.gif -------------------------------------------------------------------------------- /static/skin/xp/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/up.png -------------------------------------------------------------------------------- /static/skin/xp/upActive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/upActive.png -------------------------------------------------------------------------------- /static/skin/xp/upHover.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/upHover.gif -------------------------------------------------------------------------------- /static/skin/xp/upHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/upHover.png -------------------------------------------------------------------------------- /static/skin/xp/warningIcon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/warningIcon.gif -------------------------------------------------------------------------------- /static/skin/xp/warningIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amethystnetwork-dev/Hypertabs/8c3de4a94978cb4ef33eb78bca87bef530a37557/static/skin/xp/warningIcon.png -------------------------------------------------------------------------------- /static/uv/README.md: -------------------------------------------------------------------------------- 1 | # ultraviolet-scripts 2 | Core Ultraviolet scripts 3 | 4 | # Configuration 5 | Configure Ultraviolet for both client-hooking & service worker in `uv.config.js` 6 | ```javascript 7 | self.__uv$config = { 8 | bare: '/bare/', 9 | prefix: '/service/', 10 | encodeUrl: Ultraviolet.codec.xor.encode, 11 | decodeUrl: Ultraviolet.codec.xor.decode, 12 | handler: '/uv.handler.js', 13 | bundle: '/uv.bundle.js', 14 | config: '/uv.config.js', 15 | }; 16 | ``` 17 | 18 | 19 | # Example Usage 20 | ```javascript 21 | importScripts('/PATHTOSCRIPTS/uv.sw.js'); 22 | 23 | const sw = new UVServiceWorker(); 24 | 25 | self.addEventListener('fetch', event => 26 | event.respondWith( 27 | sw.fetch(event) 28 | ) 29 | ); 30 | ``` 31 | -------------------------------------------------------------------------------- /static/uv/sw.js: -------------------------------------------------------------------------------- 1 | importScripts('/uv/uv.sw.js'); 2 | const sw = new UVServiceWorker(); 3 | 4 | self.addEventListener('fetch', event => { 5 | event.respondWith(sw.fetch(event)); 6 | }); -------------------------------------------------------------------------------- /static/uv/uv.config.js: -------------------------------------------------------------------------------- 1 | self.__uv$config = { 2 | prefix: '/uv/service/', 3 | bare: `${location.protocol}//${location.host}/bare/`, 4 | encodeUrl: Ultraviolet.codec.xor.encode, 5 | decodeUrl: Ultraviolet.codec.xor.decode, 6 | handler: '/uv/uv.handler.js', 7 | bundle: '/uv/uv.bundle.js', 8 | config: '/uv/uv.config.js', 9 | sw: '/uv/uv.sw.js', 10 | }; --------------------------------------------------------------------------------