First commit to github.
Based on original webpage version, modified to use webpack and babel.
18
.editorconfig
Normal file
@ -0,0 +1,18 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
indent_style = space
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.js]
|
||||
indent_size = 4
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[Makefile]
|
||||
indent_style = tab
|
||||
indent_size = 8
|
53
.eslintrc.json
Normal file
@ -0,0 +1,53 @@
|
||||
{
|
||||
"rules": {
|
||||
"indent": [
|
||||
2,
|
||||
4
|
||||
],
|
||||
"quotes": [
|
||||
2,
|
||||
"single"
|
||||
],
|
||||
"linebreak-style": [
|
||||
2,
|
||||
"unix"
|
||||
],
|
||||
"semi": [
|
||||
2,
|
||||
"always"
|
||||
]
|
||||
},
|
||||
"env": {
|
||||
"builtin": true,
|
||||
"browser": true,
|
||||
"jquery": true,
|
||||
"es6": true
|
||||
},
|
||||
"parserOptions": {
|
||||
"sourceType": "module"
|
||||
},
|
||||
"extends": "eslint:recommended",
|
||||
"overrides": [
|
||||
{
|
||||
"files": [ "bin/*", "babel.config.js", "webpack.config.js" ],
|
||||
"rules": {
|
||||
"no-console": 0
|
||||
},
|
||||
"env": {
|
||||
"node": true,
|
||||
"jquery": false,
|
||||
"browser": false
|
||||
}
|
||||
}, {
|
||||
"files": [ "test/*"],
|
||||
"env": {
|
||||
"jest": true
|
||||
}
|
||||
}, {
|
||||
"files": [ "js/entry1.js"],
|
||||
"env": {
|
||||
"commonjs": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
.*~
|
||||
.vscode
|
||||
/dist
|
||||
/node_modules
|
20
LICENSE
Normal file
@ -0,0 +1,20 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2010-2019 Will Scullin
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
27
README.md
Normal file
@ -0,0 +1,27 @@
|
||||
apple1js
|
||||
========
|
||||
|
||||
An Apple 1 emulator written in Javascript.
|
||||
|
||||
Things are still a little rough around the edges right now, hopefully I will have more time to clean things up.
|
||||
|
||||
First
|
||||
|
||||
```sh
|
||||
npm install
|
||||
```
|
||||
|
||||
To run a development server
|
||||
|
||||
```sh
|
||||
npm run dev
|
||||
```
|
||||
|
||||
The open
|
||||
[http://localhost:8080/apple1js.html](http://localhost:8080/apple1js.html)
|
||||
|
||||
To build a static distribution into `dist`
|
||||
|
||||
```sh
|
||||
npm run build
|
||||
```
|
161
about.html
Normal file
@ -0,0 +1,161 @@
|
||||
<!DOCTYPE html>
|
||||
<!-- -*- mode: HTML; indent-tabs-mode: nil -*- -->
|
||||
<!-- Copyright 2010 Will Scullin -->
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="keywords" content="apple2,apple,ii,javascript,emulator,html5" />
|
||||
<link rel="shortcut icon" href="logoicon.png" />
|
||||
<link rel="stylesheet" type="text/css" href="css/apple1.css" />
|
||||
<title>About Apple 1js</title>
|
||||
<script type="text/javascript">
|
||||
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-19205057-1']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
|
||||
</script>
|
||||
<meta property="og:title" content="About Apple 1js" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:description" content="Apple 1js is an Apple 1 emulator written using only JavaScript and HTML5." />
|
||||
<meta property="og:url" content="http://www.scullinsteel.com/apple1/about.html" />
|
||||
<meta property="og:image" content="http://www.scullinsteel.com/apple1/img/image.png" />
|
||||
<meta property="fb:admins" content="700585391" />
|
||||
</head>
|
||||
<body id="about">
|
||||
<div style="text-align: center">
|
||||
<span class="motter" style="font-size: 2em">Apple 1js</span>
|
||||
</div>
|
||||
<div style="max-width: 800px; margin: auto">
|
||||
<h2>What is this?</h2>
|
||||
<span class="motter"><a href="../apple1/">Apple 1js</a></span>
|
||||
is an Apple 1 emulator written entirely in JavaScript and HTML5.
|
||||
<h2>Updates</h2>
|
||||
<h3>2013-06-25</h3>
|
||||
<ul>
|
||||
<li><h4>ACI Emulation</h4>
|
||||
Programs are now loaded via ACI emulation off of virtual tapes.
|
||||
This is slower than just slamming them into memory, faster
|
||||
than emulated typing.
|
||||
Actually loading programs from audio files is on my radar, but
|
||||
quite a bit more work.
|
||||
</li>
|
||||
</ul>
|
||||
<h3>2013-06-05</h3>
|
||||
<ul>
|
||||
<li><h4>More Accurater</h4>
|
||||
I've scraped the Internet for more information. For instance
|
||||
<a href="http://cameronscloset.com/category/apple-1/">
|
||||
Cameron's Closet
|
||||
</a> had some nice info on character display.
|
||||
</li>
|
||||
<li><h4>Krusader off by default</h4>
|
||||
Krusader seems to cause some output weirdness outside of the Krusader
|
||||
shell, so I'm not using it by default anymore.
|
||||
Use #krusader to turn it back on.
|
||||
</li>
|
||||
</ul>
|
||||
<h3>2013-05-28</h3>
|
||||
<ul>
|
||||
<li><h4>Less Limited Input</h4>
|
||||
Pasting into the load window is now the same as typing. For now it
|
||||
is not any faster, though.
|
||||
</li>
|
||||
</ul>
|
||||
<h3>2013-05-27</h3>
|
||||
<ul>
|
||||
<li><h4>Krusader</h4>
|
||||
I've decided to use
|
||||
<a href="http://school.anhb.uwa.edu.au/personalpages/kwessen/apple1/Krusader.htm">Krusader</a>
|
||||
as the default ROM for now. I'm just starting to find my way around it,
|
||||
but other Apple 1 people might find it useful.
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Requirements</h2>
|
||||
<ul>
|
||||
<li><h3>A Browser with HTML5 Support</h3>
|
||||
The most recent versions of
|
||||
<a href="http://www.google.com/chrome/" target="_blank">
|
||||
Google Chrome</a>,
|
||||
<a href="http://www.apple.com/safari/" target="_blank">
|
||||
Safari</a>,
|
||||
<a href="http://www.firefox.com/" target="_blank" >
|
||||
Firefox</a>, and
|
||||
<a href="http://www.opera.com/" target="_blank">
|
||||
Opera</a>
|
||||
all seem to work reasonably well these days, although
|
||||
variations in HTML5 support pop up, and occasionally a major release
|
||||
will move things around out from under me.
|
||||
IEs prior to 9 lacks canvas tag support and are unsupported.
|
||||
<a href="http://windows.microsoft.com/ie9">IE 9+</a> renders nicely on
|
||||
a modern machine.<br/>
|
||||
</li>
|
||||
<li><h3>Basic Knowledge of the Apple 1</h3>
|
||||
If you don't know how to use an Apple 1, this won't be much fun for
|
||||
you. A good place to start is the <a href="http://applefritter.com/apple1">Apple I Owners Club</a>.
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Known Limitations</h2>
|
||||
<ul>
|
||||
<li><h3>Limited Accuracy</h3>
|
||||
Unlike the <a href="../apple2/">Apple ][</a> I wrote an emulator for, I don't own an Apple 1.
|
||||
My emulation is based on all the reference materials I was able to dig up, and by comparison
|
||||
to the behavior of other emulators.
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Acknowlegements</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<h3>I'm using the following libraries:</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="http://jquery.com">jQuery</a> and
|
||||
<a href="http://jqueryui.com">jQuery UI</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://www.JSON.org/json2.js">JSON 2</a>
|
||||
</li>
|
||||
<li>
|
||||
Base64 Utilities via
|
||||
<a href="http://kevin.vanzonneveld.net/">KvZ</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<h3>I heavily referenced:</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="http://applefritter.com/apple1">Apple I Owners Club</a>
|
||||
and the <a href="http://applefritter.com/forum">applefritter forums</a>.
|
||||
</li>
|
||||
</ul>
|
||||
<li>
|
||||
<h3>And special thanks to:</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="http://www.willegal.net/index.htm">Mike</a> for an eclectic
|
||||
collection of useful information. Someday I will work up the nerve
|
||||
to try building a replica.
|
||||
</li>
|
||||
<li>
|
||||
And of course <a href="http://www.woz.org">Woz</a>, for launching my 30+ years
|
||||
of both silly and practical computer projects.
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Contact</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="mailto:apple1js@scullinsteel.com">apple1js@scullinsteel.com</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
161
apple1js.html
Normal file
@ -0,0 +1,161 @@
|
||||
<!DOCTYPE html><!-- -*- mode: HTML; indent-tabs-mode: nil -*- -->
|
||||
<!--
|
||||
Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation. No representations are made about the suitability of this
|
||||
software for any purpose. It is provided "as is" without express or
|
||||
implied warranty.
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<title>Apple 1js - An Apple 1 Emulator in JavaScript</title>
|
||||
|
||||
<meta name="viewport" content="width=device-width user-scalable=0" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Apple 1js is an Apple 1 emulator written using only JavaScript and HTML5. Works best in the Chrome and Safari browsers." />
|
||||
<meta name="keywords" content="apple1,apple,i,javascript,emulator,html5" />
|
||||
|
||||
<link rel="apple-touch-icon" href="img/webapp-iphone.png" />
|
||||
<link rel="apple-touch-icon" size="72x72" href="img/webapp-ipad.png" />
|
||||
<link rel="shortcut icon" href="logoicon.png" />
|
||||
<link rel="stylesheet" type="text/css" href="css/apple1.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="css/custom-choc/jquery-ui-1.8.all.css" />
|
||||
|
||||
<meta property="og:title" content="Apple 1js" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:description" content="Apple 1js is an Apple 1 emulator written using only JavaScript and HTML5." />
|
||||
<meta property="og:url" content="https://www.scullinsteel.com/apple1/" />
|
||||
<meta property="og:image" content="https://www.scullinsteel.com/apple1/img/image.png" />
|
||||
|
||||
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js"></script>
|
||||
|
||||
<!-- Tapes -->
|
||||
<script type="text/javascript">
|
||||
var tapes = {};
|
||||
</script>
|
||||
<script type="text/javascript" src="tapes/apple30th.js"></script>
|
||||
<script type="text/javascript" src="tapes/applesoft.js"></script>
|
||||
<script type="text/javascript" src="tapes/basic.js"></script>
|
||||
<script type="text/javascript" src="tapes/blackjack.js"></script>
|
||||
<script type="text/javascript" src="tapes/checkers.js"></script>
|
||||
<script type="text/javascript" src="tapes/codebreaker.js"></script>
|
||||
<script type="text/javascript" src="tapes/hamurabi.js"></script>
|
||||
<script type="text/javascript" src="tapes/life.js"></script>
|
||||
<script type="text/javascript" src="tapes/little_tower.js"></script>
|
||||
<script type="text/javascript" src="tapes/lunar_lander.js"></script>
|
||||
<script type="text/javascript" src="tapes/matrix.js"></script>
|
||||
<script type="text/javascript" src="tapes/monitor.js"></script>
|
||||
<script type="text/javascript" src="tapes/microchess.js"></script>
|
||||
<script type="text/javascript" src="tapes/slots.js"></script>
|
||||
<script type="text/javascript" src="tapes/startrek.js"></script>
|
||||
<script type="text/javascript" src="tapes/startrek2003.js"></script>
|
||||
<script type="text/javascript" src="tapes/volksforth.js"></script>
|
||||
<script type="text/javascript" src="tapes/wumpus2.js"></script>
|
||||
|
||||
<!-- Web FE -->
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin: auto; width: 604px">
|
||||
<h1 style="font-size: 24px" class="motter">Apple 1js</h1>
|
||||
<h2 id="subtitle">An Apple 1 Emulator in JavaScript</h2>
|
||||
<table id="display">
|
||||
<tr>
|
||||
<td style="vertical-align: top">
|
||||
<div role="textbox" class="overscan"
|
||||
onkeydown="_keydown(event);"
|
||||
onkeyup="_keyup(event);">
|
||||
<canvas id="text" width="560" height="384"></canvas>
|
||||
</div>
|
||||
<div style="color: #75d475; position: absolute">Type E000R for BASIC</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="inset">
|
||||
<div id="khz" onclick="Apple1.toggleFPS()">0KHz</div>
|
||||
<input type="button" value="Pause" onclick="Apple1.pauseRun(this)" />
|
||||
<input type="button" value="Load" onclick="Apple1.openLoadText(event)" />
|
||||
<div id="player">
|
||||
<!--
|
||||
<div id="supply"></div>
|
||||
<div id="takeup"></div>
|
||||
-->
|
||||
<div id="tape"></div>
|
||||
</div>
|
||||
<div style="float: right">
|
||||
<input type="button" onclick="window.open('about.html','_html')"
|
||||
name="About" value="About">
|
||||
<input type="button" onclick="$('#options').dialog('open')"
|
||||
name="Options" value="Options">
|
||||
</div>
|
||||
</div>
|
||||
<div class="inset">
|
||||
<div style="margin: 0px 0px">
|
||||
<div id="keyboard"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="options" title="Options" style="display: none">
|
||||
<h3>CPU</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<input type="checkbox" checked="checked" id="speed_toggle"
|
||||
onclick="Apple1.toggleSpeed()"/>
|
||||
<label for="speed_toggle">
|
||||
Regulate Speed
|
||||
</label>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Monitor</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<input type="checkbox" id="green_screen"
|
||||
onclick="Apple1.updateScreen()" />
|
||||
<label for="green_screen">
|
||||
Green Screen
|
||||
</label>
|
||||
</li>
|
||||
<li>
|
||||
<input type="checkbox" id="show_scanlines"
|
||||
onclick="Apple1.updateScreen()" />
|
||||
<label for="show_scanlines">
|
||||
Show Scanlines
|
||||
</label>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>I/O</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<input type="checkbox" id="turbo_tape"
|
||||
onclick="Apple1.setTurboTape(this.checked)" />
|
||||
<label for="turbo_tape">
|
||||
Turbo Tape Loading
|
||||
</label>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="input_text" title="Input Text" style="display: none">
|
||||
<form action="#">
|
||||
<select id="tape_select">
|
||||
<option>Or Select Tape...</option>
|
||||
</select>
|
||||
<input type="button" onclick="$('#text_input').val('')"
|
||||
name="Clear" value="Clear" />
|
||||
<textarea id="text_input" rows="24" cols="80"></textarea>
|
||||
</form>
|
||||
</div>
|
||||
<div id="local" title="Load Local File" style="display: none">
|
||||
<form action="#">
|
||||
<input type="file" id="local_file" />
|
||||
</form>
|
||||
</div>
|
||||
<script type="text/javascript" src="dist/apple1.js"></script>
|
||||
</body>
|
||||
</html>
|
13
babel.config.js
Normal file
@ -0,0 +1,13 @@
|
||||
// babel.config.js
|
||||
module.exports = {
|
||||
presets: [
|
||||
[
|
||||
'@babel/preset-env',
|
||||
{
|
||||
targets: {
|
||||
node: 'current',
|
||||
},
|
||||
},
|
||||
],
|
||||
],
|
||||
};
|
366
css/apple1.css
Normal file
@ -0,0 +1,366 @@
|
||||
/* Copyright 2010-2013 Will Scullin */
|
||||
|
||||
img {
|
||||
border: none;
|
||||
}
|
||||
|
||||
img#badge {
|
||||
padding: 0px 12px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin: 0px;
|
||||
padding: 3px 0px 0px 10px;
|
||||
color: #fff;
|
||||
font-family: Helvetica, Ariel;
|
||||
font-size: 17px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin: 0px;
|
||||
padding: 3px 0px 0px 10px;
|
||||
color: #fff;
|
||||
font-family: Helvetica, Ariel;
|
||||
font-size: 13px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
input[type="button"] {
|
||||
width: 75px;
|
||||
}
|
||||
|
||||
input[type="text"] {
|
||||
width: 40px;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 16px 0px;
|
||||
font-size: 10px;
|
||||
background-color: #114024;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#display {
|
||||
margin: 5px 0px;
|
||||
}
|
||||
|
||||
.overscan {
|
||||
margin: auto;
|
||||
position: relative;
|
||||
background-color: black;
|
||||
padding: 16px;
|
||||
width: 560px;
|
||||
height: 384px;
|
||||
border: 6px solid #75d475;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#power {
|
||||
padding: 2px;
|
||||
border: 1px inset #ddc364;
|
||||
}
|
||||
|
||||
span.code {
|
||||
font-family: Courier;
|
||||
font-size: 14px;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: #ccc;
|
||||
}
|
||||
|
||||
.inset {
|
||||
background: #114024;
|
||||
width: 590px;
|
||||
border-radius: 6px;
|
||||
border: 3px solid #75d475;
|
||||
padding: 6px;
|
||||
margin: 10px 0px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#speed {
|
||||
margin: 9px 0px;
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
#khz {
|
||||
margin-right: 4px;
|
||||
padding: 4px;
|
||||
float: left;
|
||||
font-family: Courier;
|
||||
font-size: 12px;
|
||||
width: 60px;
|
||||
height: 15px;
|
||||
text-align: right;
|
||||
background: #000;
|
||||
color: #fff;
|
||||
border: 2px solid #75d475;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
canvas {
|
||||
position: absolute;
|
||||
top: 16px;
|
||||
left: 16px;
|
||||
cursor: crosshair;
|
||||
width: 560px;
|
||||
height: 384px;
|
||||
image-rendering: -moz-crisp-edges;
|
||||
image-rendering: -webkit-optimize-contrast;
|
||||
image-rendering: optimize-contrast;
|
||||
}
|
||||
|
||||
:-webkit-full-screen #display {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
@media screen and (min-device-width:1120px) {
|
||||
:-webkit-full-screen {
|
||||
background: #000;
|
||||
}
|
||||
|
||||
:-webkit-full-screen .overscan {
|
||||
border: 0px none !important;
|
||||
width: 1120px;
|
||||
height: 768px;
|
||||
}
|
||||
|
||||
:-webkit-full-screen canvas {
|
||||
width: 1120px;
|
||||
height: 768px;
|
||||
}
|
||||
|
||||
:-webkit-full-screen #scanlines {
|
||||
width: 1120px;
|
||||
height: 768px;
|
||||
}
|
||||
}
|
||||
|
||||
#scanlines {
|
||||
position: absolute;
|
||||
top: 16px;
|
||||
left: 16px;
|
||||
cursor: crosshair;
|
||||
z-index: 1;
|
||||
width: 560px;
|
||||
height: 384px;
|
||||
}
|
||||
|
||||
#about iframe {
|
||||
border: 1px inset #666;
|
||||
width: 99%;
|
||||
height: 99%;
|
||||
}
|
||||
|
||||
#about {
|
||||
padding: 16px;
|
||||
margin: 0px;
|
||||
font-family: "Adobe Garamond Pro",Garamond,Times;
|
||||
font-size: 14px;
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
#about a {
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
#load select {
|
||||
width: 250px;
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
#keyboard {
|
||||
border-radius: 6px;
|
||||
padding: 0px 0px 3px 0px;
|
||||
}
|
||||
|
||||
#keyboard .row {
|
||||
display: block;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
height: 43px;
|
||||
font-family: Helvetica;
|
||||
width: 605px;
|
||||
}
|
||||
|
||||
#keyboard .row0 {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
#keyboard .row2 {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#keyboard .row3 {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#keyboard .row4 {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#keyboard .key {
|
||||
display: block;
|
||||
float: left;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
background-color: #44372C;
|
||||
color: white;
|
||||
vertical-align: bottom;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
border: 5px outset #66594E;
|
||||
border-radius: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#keyboard .pressed {
|
||||
background-color: #22150A;
|
||||
border: 5px outset #44372C;
|
||||
}
|
||||
|
||||
#keyboard .key div {
|
||||
border-radius: 3px;
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#keyboard .vcenter div {
|
||||
bottom: 10px;
|
||||
}
|
||||
|
||||
#keyboard .vcenter2 div {
|
||||
bottom: 5px;
|
||||
}
|
||||
|
||||
#keyboard .key span {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#keyboard .key span.small {
|
||||
font-size: 7px;
|
||||
}
|
||||
|
||||
#keyboard .key-SHIFT {
|
||||
width: 53px;
|
||||
}
|
||||
|
||||
#keyboard .active {
|
||||
color: #4f4;
|
||||
}
|
||||
|
||||
#keyboard .key-RETURN {
|
||||
width: 52px;
|
||||
}
|
||||
|
||||
#keyboard .key-DELETE {
|
||||
width: 47px;
|
||||
}
|
||||
|
||||
#keyboard .key-TAB {
|
||||
width: 47px;
|
||||
}
|
||||
|
||||
#keyboard .key-nbsp {
|
||||
margin-left: 104px;
|
||||
width: 330px;
|
||||
}
|
||||
|
||||
#keyboard .key-POW {
|
||||
width: 38px;
|
||||
height: 38px;
|
||||
border: 2px groove black;
|
||||
background-color: #ffd;
|
||||
color: black;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
#keyboard .key-POW div {
|
||||
bottom: 15px;
|
||||
}
|
||||
|
||||
#keyboard .key-POW span {
|
||||
background: #4f4;
|
||||
color: #4f4;
|
||||
}
|
||||
|
||||
#keyboard .key-OPEN_APPLE div {
|
||||
background-image: url(../img/open-apple24.png);
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
bottom: 1px;
|
||||
left: 4px;
|
||||
}
|
||||
|
||||
#keyboard .key-OPEN_APPLE span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#keyboard .key-OPEN_APPLE.active div {
|
||||
background-image: url(../img/open-apple24-green.png);
|
||||
}
|
||||
|
||||
#keyboard .key-CLOSED_APPLE div {
|
||||
background-image: url(../img/closed-apple24.png);
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
bottom: 1px;
|
||||
left: 4px;
|
||||
}
|
||||
|
||||
#keyboard .key-CLOSED_APPLE.active div {
|
||||
background-image: url(../img/closed-apple24-green.png);
|
||||
}
|
||||
|
||||
#keyboard .key-CLOSED_APPLE span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#text_input {
|
||||
font-family: Courier, fixed;
|
||||
}
|
||||
|
||||
#player {
|
||||
position: absolute;
|
||||
left: 290px;
|
||||
top: 12px;
|
||||
border: 2px solid #75d475;
|
||||
border-radius: 4px;
|
||||
width: 100px;
|
||||
height: 10px;
|
||||
background: black;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#supply {
|
||||
width: 75px;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
background: brown;
|
||||
}
|
||||
|
||||
#takeup {
|
||||
width: 0px;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
background: brown;
|
||||
}
|
||||
|
||||
#tape {
|
||||
width: 0px;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
background: brown;
|
||||
}
|
BIN
css/custom-choc/images/ui-anim_basic_16x16.gif
Executable file
After Width: | Height: | Size: 1.5 KiB |
BIN
css/custom-choc/images/ui-bg_flat_0_aaaaaa_40x100.png
Executable file
After Width: | Height: | Size: 180 B |
BIN
css/custom-choc/images/ui-bg_glass_15_5f391b_1x400.png
Executable file
After Width: | Height: | Size: 129 B |
BIN
css/custom-choc/images/ui-bg_gloss-wave_20_1c160d_500x100.png
Executable file
After Width: | Height: | Size: 1.8 KiB |
BIN
css/custom-choc/images/ui-bg_gloss-wave_25_453326_500x100.png
Executable file
After Width: | Height: | Size: 2.4 KiB |
BIN
css/custom-choc/images/ui-bg_gloss-wave_30_44372c_500x100.png
Executable file
After Width: | Height: | Size: 3.3 KiB |
BIN
css/custom-choc/images/ui-bg_highlight-soft_20_201913_1x100.png
Executable file
After Width: | Height: | Size: 118 B |
BIN
css/custom-choc/images/ui-bg_highlight-soft_20_9c947c_1x100.png
Executable file
After Width: | Height: | Size: 153 B |
BIN
css/custom-choc/images/ui-bg_inset-soft_10_201913_1x100.png
Executable file
After Width: | Height: | Size: 106 B |
BIN
css/custom-choc/images/ui-icons_222222_256x240.png
Executable file
After Width: | Height: | Size: 4.3 KiB |
BIN
css/custom-choc/images/ui-icons_e3ddc9_256x240.png
Executable file
After Width: | Height: | Size: 4.3 KiB |
BIN
css/custom-choc/images/ui-icons_f1fd86_256x240.png
Executable file
After Width: | Height: | Size: 5.2 KiB |
BIN
css/custom-choc/images/ui-icons_ffffff_256x240.png
Executable file
After Width: | Height: | Size: 4.3 KiB |
489
css/custom-choc/jquery-ui-1.8.all.css
vendored
Executable file
@ -0,0 +1,489 @@
|
||||
/*
|
||||
* jQuery UI CSS Framework
|
||||
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
*/
|
||||
|
||||
/* Layout helpers
|
||||
----------------------------------*/
|
||||
.ui-helper-hidden { display: none; }
|
||||
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
|
||||
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
||||
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
||||
.ui-helper-clearfix { display: inline-block; }
|
||||
/* required comment for clearfix to work in Opera \*/
|
||||
* html .ui-helper-clearfix { height:1%; }
|
||||
.ui-helper-clearfix { display:block; }
|
||||
/* end clearfix */
|
||||
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
||||
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-disabled { cursor: default !important; }
|
||||
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
||||
|
||||
|
||||
/*
|
||||
* jQuery UI CSS Framework
|
||||
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Segoe%20UI,%20Helvetica,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=453326&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=25&borderColorHeader=695649&fcHeader=e3ddc9&iconColorHeader=e3ddc9&bgColorContent=201913&bgTextureContent=05_inset_soft.png&bgImgOpacityContent=10&borderColorContent=9c947c&fcContent=ffffff&iconColorContent=222222&bgColorDefault=1c160d&bgTextureDefault=12_gloss_wave.png&bgImgOpacityDefault=20&borderColorDefault=695444&fcDefault=e3ddc9&iconColorDefault=e3ddc9&bgColorHover=44372c&bgTextureHover=12_gloss_wave.png&bgImgOpacityHover=30&borderColorHover=9c947c&fcHover=ffffff&iconColorHover=ffffff&bgColorActive=201913&bgTextureActive=03_highlight_soft.png&bgImgOpacityActive=20&borderColorActive=9c947c&fcActive=e3ddc9&iconColorActive=e3ddc9&bgColorHighlight=9c947c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=20&borderColorHighlight=d0cdc3&fcHighlight=ffffff&iconColorHighlight=ffffff&bgColorError=5f391b&bgTextureError=02_glass.png&bgImgOpacityError=15&borderColorError=5f391b&fcError=ffffff&iconColorError=f1fd86&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
|
||||
*/
|
||||
|
||||
|
||||
/* Component containers
|
||||
----------------------------------*/
|
||||
.ui-widget { font-family: Segoe UI, Helvetica, Arial, sans-serif; font-size: 1.1em; }
|
||||
.ui-widget .ui-widget { font-size: 1em; }
|
||||
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Segoe UI, Helvetica, Arial, sans-serif; font-size: 1em; }
|
||||
.ui-widget-content { border: 1px solid #9c947c; background: #201913 url(images/ui-bg_inset-soft_10_201913_1x100.png) 50% bottom repeat-x; color: #ffffff; }
|
||||
.ui-widget-content a { color: #ffffff; }
|
||||
.ui-widget-header { border: 1px solid #695649; background: #453326 url(images/ui-bg_gloss-wave_25_453326_500x100.png) 50% 50% repeat-x; color: #e3ddc9; font-weight: bold; }
|
||||
.ui-widget-header a { color: #e3ddc9; }
|
||||
|
||||
/* Interaction states
|
||||
----------------------------------*/
|
||||
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #695444; background: #1c160d url(images/ui-bg_gloss-wave_20_1c160d_500x100.png) 50% 50% repeat-x; font-weight: bold; color: #e3ddc9; }
|
||||
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #e3ddc9; text-decoration: none; }
|
||||
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #9c947c; background: #44372c url(images/ui-bg_gloss-wave_30_44372c_500x100.png) 50% 50% repeat-x; font-weight: bold; color: #ffffff; }
|
||||
.ui-state-hover a, .ui-state-hover a:hover { color: #ffffff; text-decoration: none; }
|
||||
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #9c947c; background: #201913 url(images/ui-bg_highlight-soft_20_201913_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #e3ddc9; }
|
||||
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #e3ddc9; text-decoration: none; }
|
||||
.ui-widget :active { outline: none; }
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #d0cdc3; background: #9c947c url(images/ui-bg_highlight-soft_20_9c947c_1x100.png) 50% top repeat-x; color: #ffffff; }
|
||||
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #ffffff; }
|
||||
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #5f391b; background: #5f391b url(images/ui-bg_glass_15_5f391b_1x400.png) 50% 50% repeat-x; color: #ffffff; }
|
||||
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; }
|
||||
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; }
|
||||
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
|
||||
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
|
||||
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
|
||||
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
|
||||
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_e3ddc9_256x240.png); }
|
||||
.ui-state-default .ui-icon { background-image: url(images/ui-icons_e3ddc9_256x240.png); }
|
||||
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
|
||||
.ui-state-active .ui-icon {background-image: url(images/ui-icons_e3ddc9_256x240.png); }
|
||||
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
|
||||
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_f1fd86_256x240.png); }
|
||||
|
||||
/* positioning */
|
||||
.ui-icon-carat-1-n { background-position: 0 0; }
|
||||
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
||||
.ui-icon-carat-1-e { background-position: -32px 0; }
|
||||
.ui-icon-carat-1-se { background-position: -48px 0; }
|
||||
.ui-icon-carat-1-s { background-position: -64px 0; }
|
||||
.ui-icon-carat-1-sw { background-position: -80px 0; }
|
||||
.ui-icon-carat-1-w { background-position: -96px 0; }
|
||||
.ui-icon-carat-1-nw { background-position: -112px 0; }
|
||||
.ui-icon-carat-2-n-s { background-position: -128px 0; }
|
||||
.ui-icon-carat-2-e-w { background-position: -144px 0; }
|
||||
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
||||
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
||||
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
||||
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
||||
.ui-icon-triangle-1-s { background-position: -64px -16px; }
|
||||
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
||||
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
||||
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
||||
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
||||
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
||||
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
||||
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
||||
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
||||
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
||||
.ui-icon-arrow-1-s { background-position: -64px -32px; }
|
||||
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
||||
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
||||
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
||||
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
||||
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
||||
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
||||
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
||||
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
||||
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
||||
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
||||
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
||||
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
||||
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
||||
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
||||
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
||||
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
||||
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
||||
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
||||
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
||||
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
||||
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
||||
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
||||
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
||||
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
||||
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
||||
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
||||
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
||||
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
||||
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
||||
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
||||
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
||||
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
||||
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
||||
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
||||
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
||||
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
||||
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
||||
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
||||
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
||||
.ui-icon-extlink { background-position: -32px -80px; }
|
||||
.ui-icon-newwin { background-position: -48px -80px; }
|
||||
.ui-icon-refresh { background-position: -64px -80px; }
|
||||
.ui-icon-shuffle { background-position: -80px -80px; }
|
||||
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
||||
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
||||
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
||||
.ui-icon-folder-open { background-position: -16px -96px; }
|
||||
.ui-icon-document { background-position: -32px -96px; }
|
||||
.ui-icon-document-b { background-position: -48px -96px; }
|
||||
.ui-icon-note { background-position: -64px -96px; }
|
||||
.ui-icon-mail-closed { background-position: -80px -96px; }
|
||||
.ui-icon-mail-open { background-position: -96px -96px; }
|
||||
.ui-icon-suitcase { background-position: -112px -96px; }
|
||||
.ui-icon-comment { background-position: -128px -96px; }
|
||||
.ui-icon-person { background-position: -144px -96px; }
|
||||
.ui-icon-print { background-position: -160px -96px; }
|
||||
.ui-icon-trash { background-position: -176px -96px; }
|
||||
.ui-icon-locked { background-position: -192px -96px; }
|
||||
.ui-icon-unlocked { background-position: -208px -96px; }
|
||||
.ui-icon-bookmark { background-position: -224px -96px; }
|
||||
.ui-icon-tag { background-position: -240px -96px; }
|
||||
.ui-icon-home { background-position: 0 -112px; }
|
||||
.ui-icon-flag { background-position: -16px -112px; }
|
||||
.ui-icon-calendar { background-position: -32px -112px; }
|
||||
.ui-icon-cart { background-position: -48px -112px; }
|
||||
.ui-icon-pencil { background-position: -64px -112px; }
|
||||
.ui-icon-clock { background-position: -80px -112px; }
|
||||
.ui-icon-disk { background-position: -96px -112px; }
|
||||
.ui-icon-calculator { background-position: -112px -112px; }
|
||||
.ui-icon-zoomin { background-position: -128px -112px; }
|
||||
.ui-icon-zoomout { background-position: -144px -112px; }
|
||||
.ui-icon-search { background-position: -160px -112px; }
|
||||
.ui-icon-wrench { background-position: -176px -112px; }
|
||||
.ui-icon-gear { background-position: -192px -112px; }
|
||||
.ui-icon-heart { background-position: -208px -112px; }
|
||||
.ui-icon-star { background-position: -224px -112px; }
|
||||
.ui-icon-link { background-position: -240px -112px; }
|
||||
.ui-icon-cancel { background-position: 0 -128px; }
|
||||
.ui-icon-plus { background-position: -16px -128px; }
|
||||
.ui-icon-plusthick { background-position: -32px -128px; }
|
||||
.ui-icon-minus { background-position: -48px -128px; }
|
||||
.ui-icon-minusthick { background-position: -64px -128px; }
|
||||
.ui-icon-close { background-position: -80px -128px; }
|
||||
.ui-icon-closethick { background-position: -96px -128px; }
|
||||
.ui-icon-key { background-position: -112px -128px; }
|
||||
.ui-icon-lightbulb { background-position: -128px -128px; }
|
||||
.ui-icon-scissors { background-position: -144px -128px; }
|
||||
.ui-icon-clipboard { background-position: -160px -128px; }
|
||||
.ui-icon-copy { background-position: -176px -128px; }
|
||||
.ui-icon-contact { background-position: -192px -128px; }
|
||||
.ui-icon-image { background-position: -208px -128px; }
|
||||
.ui-icon-video { background-position: -224px -128px; }
|
||||
.ui-icon-script { background-position: -240px -128px; }
|
||||
.ui-icon-alert { background-position: 0 -144px; }
|
||||
.ui-icon-info { background-position: -16px -144px; }
|
||||
.ui-icon-notice { background-position: -32px -144px; }
|
||||
.ui-icon-help { background-position: -48px -144px; }
|
||||
.ui-icon-check { background-position: -64px -144px; }
|
||||
.ui-icon-bullet { background-position: -80px -144px; }
|
||||
.ui-icon-radio-off { background-position: -96px -144px; }
|
||||
.ui-icon-radio-on { background-position: -112px -144px; }
|
||||
.ui-icon-pin-w { background-position: -128px -144px; }
|
||||
.ui-icon-pin-s { background-position: -144px -144px; }
|
||||
.ui-icon-play { background-position: 0 -160px; }
|
||||
.ui-icon-pause { background-position: -16px -160px; }
|
||||
.ui-icon-seek-next { background-position: -32px -160px; }
|
||||
.ui-icon-seek-prev { background-position: -48px -160px; }
|
||||
.ui-icon-seek-end { background-position: -64px -160px; }
|
||||
.ui-icon-seek-start { background-position: -80px -160px; }
|
||||
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
||||
.ui-icon-seek-first { background-position: -80px -160px; }
|
||||
.ui-icon-stop { background-position: -96px -160px; }
|
||||
.ui-icon-eject { background-position: -112px -160px; }
|
||||
.ui-icon-volume-off { background-position: -128px -160px; }
|
||||
.ui-icon-volume-on { background-position: -144px -160px; }
|
||||
.ui-icon-power { background-position: 0 -176px; }
|
||||
.ui-icon-signal-diag { background-position: -16px -176px; }
|
||||
.ui-icon-signal { background-position: -32px -176px; }
|
||||
.ui-icon-battery-0 { background-position: -48px -176px; }
|
||||
.ui-icon-battery-1 { background-position: -64px -176px; }
|
||||
.ui-icon-battery-2 { background-position: -80px -176px; }
|
||||
.ui-icon-battery-3 { background-position: -96px -176px; }
|
||||
.ui-icon-circle-plus { background-position: 0 -192px; }
|
||||
.ui-icon-circle-minus { background-position: -16px -192px; }
|
||||
.ui-icon-circle-close { background-position: -32px -192px; }
|
||||
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
||||
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
||||
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
||||
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
||||
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
||||
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
||||
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
||||
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
||||
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
||||
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
||||
.ui-icon-circle-check { background-position: -208px -192px; }
|
||||
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
||||
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
||||
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
||||
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
||||
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
||||
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
||||
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
||||
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
||||
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
||||
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
||||
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
||||
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Corner radius */
|
||||
.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; }
|
||||
.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
|
||||
.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
|
||||
.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
||||
.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
|
||||
.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
||||
.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
||||
.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
|
||||
.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
|
||||
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/* Resizable
|
||||
----------------------------------*/
|
||||
.ui-resizable { position: relative;}
|
||||
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
|
||||
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
|
||||
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
|
||||
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
|
||||
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
|
||||
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
|
||||
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
|
||||
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
|
||||
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
|
||||
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Selectable
|
||||
----------------------------------*/
|
||||
.ui-selectable-helper { border:1px dotted black }
|
||||
/* Accordion
|
||||
----------------------------------*/
|
||||
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
|
||||
.ui-accordion .ui-accordion-li-fix { display: inline; }
|
||||
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
|
||||
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
|
||||
/* IE7-/Win - Fix extra vertical space in lists */
|
||||
.ui-accordion a { zoom: 1; }
|
||||
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
|
||||
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
|
||||
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
|
||||
.ui-accordion .ui-accordion-content-active { display: block; }/* Autocomplete
|
||||
----------------------------------*/
|
||||
.ui-autocomplete { position: absolute; cursor: default; }
|
||||
.ui-autocomplete-loading { background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat; }
|
||||
|
||||
/* workarounds */
|
||||
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
|
||||
|
||||
/* Menu
|
||||
----------------------------------*/
|
||||
.ui-menu {
|
||||
list-style:none;
|
||||
padding: 2px;
|
||||
margin: 0;
|
||||
display:block;
|
||||
}
|
||||
.ui-menu .ui-menu {
|
||||
margin-top: -3px;
|
||||
}
|
||||
.ui-menu .ui-menu-item {
|
||||
margin:0;
|
||||
padding: 0;
|
||||
zoom: 1;
|
||||
float: left;
|
||||
clear: left;
|
||||
width: 100%;
|
||||
}
|
||||
.ui-menu .ui-menu-item a {
|
||||
text-decoration:none;
|
||||
display:block;
|
||||
padding:.2em .4em;
|
||||
line-height:1.5;
|
||||
zoom:1;
|
||||
}
|
||||
.ui-menu .ui-menu-item a.ui-state-hover,
|
||||
.ui-menu .ui-menu-item a.ui-state-active {
|
||||
font-weight: normal;
|
||||
margin: -1px;
|
||||
}
|
||||
/* Button
|
||||
----------------------------------*/
|
||||
|
||||
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
|
||||
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
|
||||
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
|
||||
.ui-button-icons-only { width: 3.4em; }
|
||||
button.ui-button-icons-only { width: 3.7em; }
|
||||
|
||||
/*button text element */
|
||||
.ui-button .ui-button-text { display: block; line-height: 1.4; }
|
||||
.ui-button-text-only .ui-button-text { padding: .4em 1em; }
|
||||
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
|
||||
.ui-button-text-icon .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
|
||||
.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
|
||||
/* no icon support for input elements, provide padding by default */
|
||||
input.ui-button { padding: .4em 1em; }
|
||||
|
||||
/*button icon element(s) */
|
||||
.ui-button-icon-only .ui-icon, .ui-button-text-icon .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
|
||||
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
|
||||
.ui-button-text-icon .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
|
||||
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
||||
|
||||
/*button sets*/
|
||||
.ui-buttonset { margin-right: 7px; }
|
||||
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
|
||||
|
||||
/* workarounds */
|
||||
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* Dialog
|
||||
----------------------------------*/
|
||||
.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
|
||||
.ui-dialog .ui-dialog-titlebar { padding: .5em 1em .3em; position: relative; }
|
||||
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; }
|
||||
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
|
||||
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
|
||||
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
|
||||
.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
|
||||
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
|
||||
.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
|
||||
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
|
||||
.ui-draggable .ui-dialog-titlebar { cursor: move; }
|
||||
/* Slider
|
||||
----------------------------------*/
|
||||
.ui-slider { position: relative; text-align: left; }
|
||||
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
|
||||
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
|
||||
|
||||
.ui-slider-horizontal { height: .8em; }
|
||||
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
|
||||
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
|
||||
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
|
||||
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
|
||||
|
||||
.ui-slider-vertical { width: .8em; height: 100px; }
|
||||
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
|
||||
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
|
||||
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
|
||||
.ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs
|
||||
----------------------------------*/
|
||||
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
|
||||
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
|
||||
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
|
||||
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
|
||||
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
|
||||
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
|
||||
.ui-tabs .ui-tabs-hide { display: none !important; }
|
||||
/* Datepicker
|
||||
----------------------------------*/
|
||||
.ui-datepicker { width: 17em; padding: .2em .2em 0; }
|
||||
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
|
||||
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
|
||||
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
|
||||
.ui-datepicker .ui-datepicker-prev { left:2px; }
|
||||
.ui-datepicker .ui-datepicker-next { right:2px; }
|
||||
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
|
||||
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
|
||||
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: |