first commit
This commit is contained in:
BIN
Cydia.app/menes/chevron.png
Normal file
BIN
Cydia.app/menes/chevron.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 289 B |
BIN
Cydia.app/menes/chevron@2x.png
Normal file
BIN
Cydia.app/menes/chevron@2x.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 415 B |
BIN
Cydia.app/menes/indicator-c7ced5-4d4d70.gif
Normal file
BIN
Cydia.app/menes/indicator-c7ced5-4d4d70.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
575
Cydia.app/menes/menes.js
Normal file
575
Cydia.app/menes/menes.js
Normal file
@@ -0,0 +1,575 @@
|
||||
/* XXX: this message is ultra-lame */
|
||||
var _assert = function (expr, value) {
|
||||
if (!expr) {
|
||||
var message = "_assert(" + value + ")";
|
||||
console.log(message);
|
||||
throw message;
|
||||
}
|
||||
}
|
||||
|
||||
// Compatibility {{{
|
||||
if (typeof Array.prototype.push != "function")
|
||||
Array.prototype.push = function (value) {
|
||||
this[this.length] = value;
|
||||
};
|
||||
// }}}
|
||||
|
||||
var $ = function (arg, doc) {
|
||||
if (this.magic_ != $.prototype.magic_)
|
||||
return new $(arg);
|
||||
|
||||
if (arg == null)
|
||||
arg = [];
|
||||
|
||||
var type = $.type(arg);
|
||||
|
||||
if (type == "function")
|
||||
$.ready(arg);
|
||||
else if (type == "string") {
|
||||
if (typeof doc == 'undefined')
|
||||
doc = document;
|
||||
if (arg.charAt(0) == '#') {
|
||||
/* XXX: this is somewhat incorrect-a-porter */
|
||||
var element = doc.getElementById(arg.substring(1));
|
||||
return $(element == null ? [] : [element]);
|
||||
} else if (arg.charAt(0) == '.')
|
||||
return $(doc.getElementsByClassName(arg.substring(1)));
|
||||
else
|
||||
return $([doc]).descendants(arg);
|
||||
} else if (typeof arg.length != 'undefined') {
|
||||
_assert(typeof doc == 'undefined', "non-query with document to $");
|
||||
this.set(arg);
|
||||
return this;
|
||||
} else _assert(false, "unknown argument to $: " + typeof arg);
|
||||
};
|
||||
|
||||
$.xml = function (value) {
|
||||
return value
|
||||
.replace(/&/, "&")
|
||||
.replace(/</, "<")
|
||||
.replace(/>/, ">")
|
||||
.replace(/"/, """)
|
||||
.replace(/'/, "'")
|
||||
;
|
||||
}
|
||||
|
||||
$.type = function (value) {
|
||||
var type = typeof value;
|
||||
|
||||
if ((type == "function" || type == "object") && value.toString != null) {
|
||||
var string = value.toString();
|
||||
if (string.substring(0, 8) == "[object ")
|
||||
return string.substring(8, string.length - 1);
|
||||
}
|
||||
|
||||
return type;
|
||||
};
|
||||
|
||||
(function () {
|
||||
var ready_ = null;
|
||||
|
||||
$.ready = function (_function) {
|
||||
if (ready_ == null) {
|
||||
ready_ = [];
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
for (var i = 0; i != ready_.length; ++i)
|
||||
ready_[i]();
|
||||
}, false);
|
||||
}
|
||||
|
||||
ready_.push(_function);
|
||||
};
|
||||
})();
|
||||
|
||||
/* XXX: verify arg3 overflow */
|
||||
$.each = function (values, _function, arg0, arg1, arg2) {
|
||||
for (var i = 0, e = values.length; i != e; ++i)
|
||||
_function(values[i], arg0, arg1, arg2);
|
||||
};
|
||||
|
||||
/* XXX: verify arg3 overflow */
|
||||
$.map = function (values, _function, arg0, arg1, arg2) {
|
||||
var mapped = [];
|
||||
for (var i = 0, e = values.length; i != e; ++i)
|
||||
mapped.push(_function(values[i], arg0, arg1, arg2));
|
||||
return mapped;
|
||||
};
|
||||
|
||||
$.array = function (values) {
|
||||
if (values.constructor == Array)
|
||||
return values;
|
||||
_assert(typeof values.length != 'undefined', "$.array on underlying non-array");
|
||||
var array = [];
|
||||
for (var i = 0; i != values.length; ++i)
|
||||
array.push(values[i]);
|
||||
return array;
|
||||
};
|
||||
|
||||
$.document = function (node) {
|
||||
for (;;) {
|
||||
var parent = node.parentNode;
|
||||
if (parent == null)
|
||||
return node;
|
||||
node = parent;
|
||||
}
|
||||
};
|
||||
|
||||
$.reclass = function (_class) {
|
||||
return new RegExp('(\\s|^)' + _class + '(\\s|$)');
|
||||
};
|
||||
|
||||
$.prototype = {
|
||||
magic_: 2041085062,
|
||||
|
||||
add: function (nodes) {
|
||||
Array.prototype.push.apply(this, $.array(nodes));
|
||||
},
|
||||
|
||||
at: function (name, value) {
|
||||
if (typeof value == 'undefined')
|
||||
return $.map(this, function (node) {
|
||||
return node.getAttribute(name);
|
||||
});
|
||||
else if (value == null)
|
||||
$.each(this, function (node) {
|
||||
node.removeAttribute();
|
||||
});
|
||||
else
|
||||
$.each(this, function (node) {
|
||||
node.setAttribute(name, value);
|
||||
});
|
||||
},
|
||||
|
||||
set: function (nodes) {
|
||||
this.length = 0;
|
||||
this.add(nodes);
|
||||
},
|
||||
|
||||
/* XXX: verify arg3 overflow */
|
||||
each: function (_function, arg0, arg1, arg2) {
|
||||
$.each(this, function (node) {
|
||||
_function($([node]), arg0, arg1, arg2);
|
||||
});
|
||||
},
|
||||
|
||||
css: function (name, value) {
|
||||
$.each(this, function (node) {
|
||||
node.style[name] = value;
|
||||
});
|
||||
},
|
||||
|
||||
addClass: function (_class) {
|
||||
$.each(this, function (node) {
|
||||
if (!$([node]).hasClass(_class)[0])
|
||||
node.className += " " + _class;
|
||||
});
|
||||
},
|
||||
|
||||
blur: function () {
|
||||
$.each(this, function (node) {
|
||||
node.blur();
|
||||
});
|
||||
},
|
||||
|
||||
focus: function () {
|
||||
$.each(this, function (node) {
|
||||
node.focus();
|
||||
});
|
||||
},
|
||||
|
||||
removeClass: function (_class) {
|
||||
$.each(this, function (node) {
|
||||
node.className = node.className.replace($.reclass(_class), ' ');
|
||||
});
|
||||
},
|
||||
|
||||
hasClass: function (_class) {
|
||||
return $.map(this, function (node) {
|
||||
return node.className.match($.reclass(_class));
|
||||
});
|
||||
},
|
||||
|
||||
append: function (children) {
|
||||
if ($.type(children) == "string")
|
||||
$.each(this, function (node) {
|
||||
var doc = $.document(node);
|
||||
|
||||
// XXX: implement wrapper system
|
||||
var div = doc.createElement("div");
|
||||
div.innerHTML = children;
|
||||
|
||||
while (div.childNodes.length != 0) {
|
||||
var child = div.childNodes[0];
|
||||
node.appendChild(child);
|
||||
}
|
||||
});
|
||||
else
|
||||
$.each(this, function (node) {
|
||||
$.each(children, function (child) {
|
||||
node.appendChild(child);
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
xpath: function (expression) {
|
||||
var value = $([]);
|
||||
|
||||
$.each(this, function (node) {
|
||||
var doc = $.document(node);
|
||||
var results = doc.evaluate(expression, node, null, XPathResult.ANY_TYPE, null);
|
||||
var result;
|
||||
while (result = results.iterateNext())
|
||||
value.add([result]);
|
||||
});
|
||||
|
||||
return value;
|
||||
},
|
||||
|
||||
clone: function (deep) {
|
||||
return $($.map(this, function (node) {
|
||||
return node.cloneNode(deep);
|
||||
}));
|
||||
},
|
||||
|
||||
descendants: function (expression) {
|
||||
var descendants = $([]);
|
||||
|
||||
$.each(this, function (node) {
|
||||
var nodes = node.getElementsByTagName(expression);
|
||||
descendants.add(nodes);
|
||||
});
|
||||
|
||||
return descendants;
|
||||
},
|
||||
|
||||
remove: function () {
|
||||
$.each(this, function (node) {
|
||||
node.parentNode.removeChild(node);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
$.scroll = function (x, y) {
|
||||
window.scrollTo(x, y);
|
||||
};
|
||||
|
||||
// XXX: document.all?
|
||||
$.all = function (doc) {
|
||||
if (typeof doc == 'undefined')
|
||||
doc = document;
|
||||
return $(doc.getElementsByTagName("*"));
|
||||
};
|
||||
|
||||
$.inject = function (a, b) {
|
||||
if ($.type(a) == "string") {
|
||||
$.prototype[a] = function (value) {
|
||||
if (typeof value == 'undefined')
|
||||
return $.map(this, function (node) {
|
||||
return b.get(node);
|
||||
});
|
||||
else
|
||||
$.each(this, function (node, value) {
|
||||
b.set(node, value);
|
||||
}, value);
|
||||
};
|
||||
} else for (var name in a)
|
||||
$.inject(name, a[name]);
|
||||
};
|
||||
|
||||
$.inject({
|
||||
_default: {
|
||||
get: function (node) {
|
||||
return node.style.defaultValue;
|
||||
},
|
||||
set: function (node, value) {
|
||||
node.style.defaultValue = value;
|
||||
}
|
||||
},
|
||||
|
||||
height: {
|
||||
get: function (node) {
|
||||
return node.height;
|
||||
},
|
||||
set: function (node, value) {
|
||||
node.height = value;
|
||||
}
|
||||
},
|
||||
|
||||
html: {
|
||||
get: function (node) {
|
||||
return node.innerHTML;
|
||||
},
|
||||
set: function (node, value) {
|
||||
node.innerHTML = value;
|
||||
}
|
||||
},
|
||||
|
||||
href: {
|
||||
get: function (node) {
|
||||
return node.href;
|
||||
},
|
||||
set: function (node, value) {
|
||||
node.href = value;
|
||||
}
|
||||
},
|
||||
|
||||
name: {
|
||||
get: function (node) {
|
||||
return node.name;
|
||||
},
|
||||
set: function (node, value) {
|
||||
node.name = value;
|
||||
}
|
||||
},
|
||||
|
||||
parent: {
|
||||
get: function (node) {
|
||||
return node.parentNode;
|
||||
}
|
||||
},
|
||||
|
||||
src: {
|
||||
get: function (node) {
|
||||
return node.src;
|
||||
},
|
||||
set: function (node, value) {
|
||||
node.src = value;
|
||||
}
|
||||
},
|
||||
|
||||
type: {
|
||||
get: function (node) {
|
||||
return node.localName;
|
||||
}
|
||||
},
|
||||
|
||||
value: {
|
||||
get: function (node) {
|
||||
return node.value;
|
||||
},
|
||||
set: function (node, value) {
|
||||
// XXX: do I really need this?
|
||||
if (true || node.localName != "select")
|
||||
node.value = value;
|
||||
else {
|
||||
var options = node.options;
|
||||
for (var i = 0, e = options.length; i != e; ++i)
|
||||
if (options[i].value == value) {
|
||||
if (node.selectedIndex != i)
|
||||
node.selectedIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
width: {
|
||||
get: function (node) {
|
||||
return node.offsetWidth;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Query String Parsing {{{
|
||||
$.query = function () {
|
||||
var args = {};
|
||||
|
||||
var search = location.search;
|
||||
if (search != null) {
|
||||
_assert(search[0] == "?", "query string without ?");
|
||||
|
||||
var values = search.substring(1).split("&");
|
||||
for (var index in values) {
|
||||
var value = values[index]
|
||||
var equal = value.indexOf("=");
|
||||
var name;
|
||||
|
||||
if (equal == -1) {
|
||||
name = value;
|
||||
value = null;
|
||||
} else {
|
||||
name = value.substring(0, equal);
|
||||
value = value.substring(equal + 1);
|
||||
value = decodeURIComponent(value);
|
||||
}
|
||||
|
||||
name = decodeURIComponent(name);
|
||||
if (typeof args[name] == "undefined")
|
||||
args[name] = [];
|
||||
if (value != null)
|
||||
args[name].push(value);
|
||||
}
|
||||
}
|
||||
|
||||
return args;
|
||||
};
|
||||
// }}}
|
||||
// Event Registration {{{
|
||||
// XXX: unable to remove registration
|
||||
$.prototype.event = function (event, _function) {
|
||||
$.each(this, function (node) {
|
||||
// XXX: smooth over this pointer ugliness
|
||||
if (node.addEventListener)
|
||||
node.addEventListener(event, _function, false);
|
||||
else if (node.attachEvent)
|
||||
node.attachEvent("on" + event, _function);
|
||||
else
|
||||
// XXX: multiple registration SNAFU
|
||||
node["on" + event] = _function;
|
||||
});
|
||||
};
|
||||
|
||||
$.each([
|
||||
"click", "load", "submit"
|
||||
], function (event) {
|
||||
$.prototype[event] = function (_function) {
|
||||
if (typeof _function == 'undefined')
|
||||
_assert(false, "undefined function to $.[event]");
|
||||
else
|
||||
this.event(event, _function);
|
||||
};
|
||||
});
|
||||
// }}}
|
||||
// Timed Animation {{{
|
||||
$.interpolate = function (duration, event) {
|
||||
var start = new Date();
|
||||
|
||||
var next = function () {
|
||||
setTimeout(update, 0);
|
||||
};
|
||||
|
||||
var update = function () {
|
||||
var time = new Date() - start;
|
||||
|
||||
if (time >= duration)
|
||||
event(1);
|
||||
else {
|
||||
event(time / duration);
|
||||
next();
|
||||
}
|
||||
};
|
||||
|
||||
next();
|
||||
};
|
||||
// }}}
|
||||
// AJAX Requests {{{
|
||||
// XXX: abstract and implement other cases
|
||||
$.xhr = function (url, method, headers, data, events) {
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open(method, url, true);
|
||||
|
||||
for (var name in headers)
|
||||
xhr.setRequestHeader(name.replace(/_/, "-"), headers[name]);
|
||||
|
||||
if (events == null)
|
||||
events = {};
|
||||
|
||||
xhr.onreadystatechange = function () {
|
||||
if (xhr.readyState == 4) {
|
||||
var status = xhr.status;
|
||||
var text = xhr.responseText;
|
||||
if (events.response != null)
|
||||
events.response(status, text);
|
||||
if (status == 200) {
|
||||
if (events.success != null)
|
||||
events.success(text);
|
||||
} else {
|
||||
if (events.failure != null)
|
||||
events.failure(status);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
xhr.send(data);
|
||||
};
|
||||
|
||||
$.call = function (url, post, onsuccess) {
|
||||
var events = {};
|
||||
|
||||
if (onsuccess != null)
|
||||
events.complete = function (text) {
|
||||
onsuccess(eval(text));
|
||||
};
|
||||
|
||||
if (post == null)
|
||||
$.xhr(url, "POST", null, null, events);
|
||||
else
|
||||
$.xhr(url, "POST", {
|
||||
Content_Type: "application/json"
|
||||
}, $.json(post), events);
|
||||
};
|
||||
// }}}
|
||||
// WWW Form URL Encoder {{{
|
||||
$.form = function (parameters) {
|
||||
var data = "";
|
||||
|
||||
var ampersand = false;
|
||||
for (var name in parameters) {
|
||||
if (!ampersand)
|
||||
ampersand = true;
|
||||
else
|
||||
data += "&";
|
||||
|
||||
var value = parameters[name];
|
||||
|
||||
data += escape(name);
|
||||
data += "=";
|
||||
data += escape(value);
|
||||
}
|
||||
|
||||
return data;
|
||||
};
|
||||
// }}}
|
||||
// JSON Serializer {{{
|
||||
$.json = function (value) {
|
||||
if (value == null)
|
||||
return "null";
|
||||
|
||||
var type = $.type(value);
|
||||
|
||||
if (type == "number")
|
||||
return value;
|
||||
else if (type == "string")
|
||||
return "\"" + value
|
||||
.replace(/\\/, "\\\\")
|
||||
.replace(/\t/, "\\t")
|
||||
.replace(/\r/, "\\r")
|
||||
.replace(/\n/, "\\n")
|
||||
.replace(/"/, "\\\"")
|
||||
+ "\"";
|
||||
else if (value.constructor == Array) {
|
||||
var json = "[";
|
||||
var comma = false;
|
||||
|
||||
for (var i = 0; i != value.length; ++i) {
|
||||
if (!comma)
|
||||
comma = true;
|
||||
else
|
||||
json += ",";
|
||||
|
||||
json += $.json(value[i]);
|
||||
}
|
||||
|
||||
return json + "]";
|
||||
} else if (
|
||||
value.constructor == Object &&
|
||||
value.toString() == "[object Object]"
|
||||
) {
|
||||
var json = "{";
|
||||
var comma = false;
|
||||
|
||||
for (var name in value) {
|
||||
if (!comma)
|
||||
comma = true;
|
||||
else
|
||||
json += ",";
|
||||
|
||||
json += name + ":" + $.json(value[name]);
|
||||
}
|
||||
return json + "}";
|
||||
} else {
|
||||
return value;
|
||||
}
|
||||
};
|
||||
// }}}
|
||||
885
Cydia.app/menes/style.css
Normal file
885
Cydia.app/menes/style.css
Normal file
@@ -0,0 +1,885 @@
|
||||
/* iPhone.css - iPhone Interface Cascading Style Sheet
|
||||
* Copyright (C) 2007-2008 Jay Freeman (saurik)
|
||||
*/
|
||||
|
||||
/*
|
||||
* Redistribution and use in source and binary
|
||||
* forms, with or without modification, are permitted
|
||||
* provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the
|
||||
* above copyright notice, this list of conditions
|
||||
* and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the
|
||||
* above copyright notice, this list of conditions
|
||||
* and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. The name of the author may not be used to endorse
|
||||
* or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
||||
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/* .clearfix {{{ */
|
||||
.clearfix:after {
|
||||
content: ".";
|
||||
display: block;
|
||||
clear: both;
|
||||
visibility: hidden;
|
||||
line-height: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.clearfix {
|
||||
display: block;
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
* {
|
||||
border: 0;
|
||||
-moz-border-radius: 0;
|
||||
-webkit-border-radius: 0;
|
||||
box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
/*font-family: inherit;*/
|
||||
font-size: 100%;
|
||||
font-style: inherit;
|
||||
font-weight: inherit;
|
||||
margin: 0;
|
||||
outline: 0;
|
||||
padding: 0;
|
||||
text-decoration: none;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
sup {
|
||||
font-size: smaller;
|
||||
margin-top: -6px;
|
||||
position: relative;
|
||||
top: -6px;
|
||||
}
|
||||
|
||||
select {
|
||||
border: 1px solid #999999;
|
||||
}
|
||||
|
||||
panel {
|
||||
display: block;
|
||||
width: 320px;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: Helvetica, Arial;
|
||||
-webkit-text-size-adjust: none;
|
||||
-webkit-user-select: none;
|
||||
margin: 0 auto;
|
||||
width: 320px;
|
||||
}
|
||||
|
||||
body.white {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
body.pinstripe {
|
||||
background: #c7ced5 url(cydia://uikit-image/UIPinstripe.png);
|
||||
background-size: 7px 1px;
|
||||
}
|
||||
|
||||
dialog {
|
||||
display: block;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
dialog > panel {
|
||||
display: block;
|
||||
}
|
||||
|
||||
a {
|
||||
color: blue;
|
||||
text-underline-style: dotted;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
pre, tt {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
pre {
|
||||
letter-spacing: -2px;
|
||||
}
|
||||
|
||||
em {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.default {
|
||||
color: #aaaabb;
|
||||
}
|
||||
|
||||
.deleted {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* #toolbar {{{ */
|
||||
dialog > toolbar {
|
||||
background: url(toolbar.png) #6d84a2 repeat-x;
|
||||
border-bottom: 1px solid #2d3642;
|
||||
height: 45px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
dialog > toolbar > h1 {
|
||||
color: #ffffff;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
height: 100%;
|
||||
margin: 1px auto 0 auto;
|
||||
text-shadow: rgba(0, 0, 0, 0.4) 0px -1px 0;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
}
|
||||
/* }}} */
|
||||
/* (back|forward)-button {{{ */
|
||||
dialog > toolbar > a.back-button,
|
||||
dialog > toolbar > a.forward-button {
|
||||
color: #ffffff;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
margin-top: -28px;
|
||||
padding: 0 3px;
|
||||
text-decoration: none;
|
||||
text-shadow: rgba(0, 0, 0, 0.6) 0px -1px 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
dialog > toolbar > a.back-button {
|
||||
-webkit-border-image: url(backButton.png) 0 8 0 14;
|
||||
border-width: 0 8px 0 14px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
dialog > toolbar > a.forward-button {
|
||||
-webkit-border-image: url(toolButton.png) 0 5 0 5;
|
||||
border-width: 0 5px;
|
||||
float: right;
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
panel > block {
|
||||
/*background-color: #ccd1d5;*/
|
||||
/*background-color: white;*/
|
||||
/*background-color: #c7ced5;*/
|
||||
background-color: transparent;
|
||||
//background-color: #ffffff;
|
||||
border-bottom: 1px solid #999999;
|
||||
border-top: 1px solid #999999;
|
||||
border-left: 1px dotted #999999;
|
||||
border-right: 1px dotted #999999;
|
||||
-moz-border-radius: 9px;
|
||||
-webkit-border-radius: 9px;
|
||||
//border: 1px solid #999999;
|
||||
display: block;
|
||||
font-size: 16px;
|
||||
margin: 9px;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
panel > fieldset > div > hr,
|
||||
panel > block > hr {
|
||||
border-top: 1px dashed #999999;
|
||||
}
|
||||
|
||||
panel > fieldset {
|
||||
background-color: #ffffff;
|
||||
border: 1px solid #999999;
|
||||
-moz-border-radius: 9px;
|
||||
-webkit-border-radius: 9px;
|
||||
font-size: 16px;
|
||||
margin: 9px;
|
||||
}
|
||||
|
||||
panel > input[type="submit"] {
|
||||
/*-webkit-border-image: url(whiteButton.png) 0 12 0 12;
|
||||
-moz-border-radius: 0;
|
||||
-webkit-border-radius: 0;
|
||||
border-width: 0px 12px;*/
|
||||
border: none;
|
||||
color: #000000;
|
||||
display: block;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
margin: 9px;
|
||||
height: 44px;
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
width: 302px;
|
||||
}
|
||||
|
||||
list > label {
|
||||
background: #a7b3bc url(cydia://uikit-image/UISectionListHeaderBackground.png);
|
||||
background-repeat: repeat-x no-repeat-y;
|
||||
margin-bottom: 0px;
|
||||
padding: 4px 15px 1px 15px;
|
||||
display: block;
|
||||
color: white;
|
||||
font-size: inherit;
|
||||
font-weight: bold;
|
||||
text-shadow: rgba(0, 0, 0, 0.5) 0px 1px 0;
|
||||
}
|
||||
|
||||
panel > label {
|
||||
display: block;
|
||||
margin: 13px 0 -4px 24px;
|
||||
line-height: 24px;
|
||||
font-size: inherit;
|
||||
font-weight: bold;
|
||||
color: #4d4d70;
|
||||
text-shadow: rgba(255, 255, 255, 0.75) 1px 1px 0;
|
||||
}
|
||||
|
||||
panel > fieldset > a,
|
||||
panel > fieldset > div,
|
||||
panel > fieldset > textarea {
|
||||
border-top: 1px solid #999999;
|
||||
}
|
||||
|
||||
/* XXX: should be a.left:nth-last-child(2) */
|
||||
panel > fieldset > a.left,
|
||||
panel > fieldset > a.middle,
|
||||
panel > fieldset > a:first-child,
|
||||
panel > fieldset > div:first-child,
|
||||
panel > fieldset > textarea:first-child {
|
||||
border-top: 0;
|
||||
}
|
||||
|
||||
list > fieldset > a,
|
||||
list > fieldset > div,
|
||||
list > fieldset > textarea {
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
}
|
||||
|
||||
fieldset > a:not([type="ad"]),
|
||||
fieldset > div,
|
||||
fieldset > textarea {
|
||||
/* XXX: small differences due to font bugs */
|
||||
padding: 12px 14px 10px 14px;
|
||||
}
|
||||
|
||||
/*fieldset > a:not([type="ad"]):last-child,
|
||||
fieldset > div:last-child {
|
||||
padding-bottom: 10px;
|
||||
}*/
|
||||
|
||||
fieldset > a[type="ad"] {
|
||||
/* XXX: small differences due to font bugs */
|
||||
padding: 4px 4px 2px 5px;
|
||||
}
|
||||
|
||||
panel > fieldset > a[type="ad"]:first-child > div:first-child,
|
||||
panel > fieldset > a[type="comment"]:first-child > div:first-child,
|
||||
panel > fieldset > a[type="profile"]:first-child > div:first-child,
|
||||
panel > fieldset > a[type="thumb"]:first-child > div:first-child {
|
||||
-moz-border-radius-topleft: 9px;
|
||||
-webkit-border-top-left-radius: 9px;
|
||||
}
|
||||
|
||||
panel > fieldset > a[type="ad"]:last-child > div:first-child,
|
||||
panel > fieldset > a[type="comment"]:last-child > div:first-child,
|
||||
panel > fieldset > a[type="profile"]:last-child > div:first-child,
|
||||
panel > fieldset > a[type="thumb"]:last-child > div:first-child {
|
||||
-moz-border-radius-bottomleft: 9px;
|
||||
-webkit-border-bottom-left-radius: 9px;
|
||||
}
|
||||
|
||||
fieldset > a[type="ad"] > div:first-child {
|
||||
border: 1px solid #999999;
|
||||
}
|
||||
|
||||
list > fieldset > a[type="comment"] > div:first-child,
|
||||
list > fieldset > a[type="profile"] > div:first-child,
|
||||
list > fieldset > a[type="thumb"] > div:first-child {
|
||||
border: 1px solid #e0e0e0;
|
||||
}
|
||||
|
||||
panel > fieldset > a[type="comment"] > div:first-child {
|
||||
border: 1px solid #999999;
|
||||
border-bottom-style: dashed;
|
||||
}
|
||||
|
||||
panel > fieldset > a[type="profile"] > div:first-child,
|
||||
panel > fieldset:not(.header) > a[type="thumb"] > div:first-child {
|
||||
border: 1px solid #999999;
|
||||
}
|
||||
|
||||
div[tile] {
|
||||
float: right;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
}
|
||||
|
||||
div[tile="app"] { background-image: url(http://cache.saurik.com/cydia/tile/app.png); }
|
||||
div[tile="call"] { background-image: url(http://cache.saurik.com/cydia/tile/call.png); }
|
||||
div[tile="map"] { background-image: url(http://cache.saurik.com/cydia/tile/map.png); }
|
||||
div[tile="media"] { background-image: url(http://cache.saurik.com/cydia/tile/media.png); }
|
||||
div[tile="music"] { background-image: url(http://cache.saurik.com/cydia/tile/video.png); }
|
||||
div[tile="site"] { background-image: url(http://cache.saurik.com/cydia/tile/site.png); }
|
||||
|
||||
fieldset > a[type="ad"] > div:first-child {
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
border-right: none;
|
||||
display: inline-block;
|
||||
height: 40px;
|
||||
line-height: 38px;
|
||||
/* XXX: small differences due to font bugs */
|
||||
/* XXX: 1px difference due to border stupidity */
|
||||
margin: -5px 5px -3px -6px;
|
||||
width: 40px;
|
||||
}
|
||||
|
||||
panel > fieldset > a[type="comment"] {
|
||||
border-bottom-style: dashed;
|
||||
}
|
||||
|
||||
fieldset > a[type="comment"] > div:first-child {
|
||||
-webkit-background-size: 44px;
|
||||
height: 44px;
|
||||
width: 44px;
|
||||
}
|
||||
|
||||
fieldset > a[type="header"] > div:first-child {
|
||||
height: 64px;
|
||||
width: 64px;
|
||||
}
|
||||
|
||||
fieldset > a[type="profile"] > div:first-child {
|
||||
-webkit-background-size: 50px;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
fieldset > a[type="thumb"] > div:first-child {
|
||||
height: 64px;
|
||||
width: 64px;
|
||||
}
|
||||
|
||||
fieldset > a[type="comment"] > div:first-child,
|
||||
fieldset > a[type="header"] > div:first-child,
|
||||
fieldset > a[type="profile"] > div:first-child,
|
||||
fieldset > a[type="thumb"] > div:first-child {
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
display: inline-block;
|
||||
/* XXX: small differences due to font bugs */
|
||||
/* XXX: 1px difference due to border stupidity */
|
||||
margin: -13px 7px -11px -15px;
|
||||
}
|
||||
|
||||
fieldset > a > img.icon,
|
||||
fieldset > div > img.icon {
|
||||
height: auto;
|
||||
/* XXX: small differences due to font bugs */
|
||||
margin: -7px 6px -9px -8px;
|
||||
max-height: 30px;
|
||||
min-width: 30px;
|
||||
width: 30px;
|
||||
}
|
||||
|
||||
fieldset > a.sixth > img.icon {
|
||||
position: relative;
|
||||
left: 7px;
|
||||
}
|
||||
|
||||
panel > block > p,
|
||||
fieldset > div > p,
|
||||
panel > block > ul,
|
||||
fieldset > div > ul {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
panel > block > ul,
|
||||
fieldset > div > ul {
|
||||
margin-left: 13px;
|
||||
}
|
||||
|
||||
panel > block > p,
|
||||
fieldset > div > p {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
fieldset > div > p:first-child,
|
||||
fieldset > div > ul:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
fieldset > div > p:last-child,
|
||||
fieldset > div > ul:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
fieldset > a {
|
||||
color: inherit;
|
||||
display: block;
|
||||
}
|
||||
|
||||
fieldset > textarea,
|
||||
fieldset > div > input:not([type="checkbox"]),
|
||||
fieldset > div > select,
|
||||
fieldset > div > div > select {
|
||||
background: none;
|
||||
-webkit-box-shadow: none;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
/* Chevrons {{{ */
|
||||
|
||||
fieldset > a[href]:not([type="ad"]),
|
||||
fieldset > div > select,
|
||||
fieldset > div > div > select {
|
||||
background-repeat: no-repeat;
|
||||
background-image: url(chevron.png);
|
||||
}
|
||||
|
||||
@media screen and (-webkit-min-device-pixel-ratio: 2) {
|
||||
fieldset > a[href]:not([type="ad"]),
|
||||
fieldset > div > select,
|
||||
fieldset > div > div > select {
|
||||
background-image: url(chevron@2x.png);
|
||||
background-size: 10px 13px;
|
||||
} }
|
||||
|
||||
/* Horizontal */
|
||||
|
||||
list > fieldset > a[href] {
|
||||
background-position: 295px center;
|
||||
}
|
||||
|
||||
panel > fieldset > a[href] {
|
||||
background-position: 275px center;
|
||||
}
|
||||
|
||||
panel > fieldset > a[href].half {
|
||||
background-position: 125px center;
|
||||
}
|
||||
|
||||
panel > fieldset > a[href].third {
|
||||
background-position: 75px center;
|
||||
}
|
||||
|
||||
panel > fieldset > a[href].sixth {
|
||||
background: none;
|
||||
}
|
||||
|
||||
list > fieldset > a:not([href]) > select,
|
||||
list > fieldset > div > select,
|
||||
list > fieldset > div > div > select {
|
||||
background-position: 183px center;
|
||||
}
|
||||
|
||||
panel > fieldset > a:not([href]) > select,
|
||||
panel > fieldset > div > select,
|
||||
panel > fieldset > div > div > select {
|
||||
background-position: 163px center;
|
||||
}
|
||||
|
||||
/* }}} */
|
||||
|
||||
fieldset > textarea,
|
||||
fieldset > div > input,
|
||||
fieldset > div > select,
|
||||
fieldset > div > div > select,
|
||||
fieldset > a > div > label + label,
|
||||
fieldset > div > div > label + label {
|
||||
color: #193250;
|
||||
}
|
||||
|
||||
fieldset > textarea,
|
||||
fieldset > div > input,
|
||||
fieldset > div > select,
|
||||
fieldset > div > div > select {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
fieldset > div > input {
|
||||
padding-left: 7px;
|
||||
padding-right: 14px;
|
||||
}
|
||||
|
||||
fieldset > div > input[type="checkbox"] {
|
||||
border: 1px solid #999999;
|
||||
-moz-border-radius: 7px;
|
||||
-webkit-border-radius: 7px;
|
||||
float: right;
|
||||
margin: -7px -8px;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
}
|
||||
|
||||
fieldset > div > select,
|
||||
fieldset > div > div > select,
|
||||
fieldset > div > input:not([type="checkbox"]) {
|
||||
border: none;
|
||||
float: right;
|
||||
height: 40px;
|
||||
margin: -11px -13px -11px -14px;
|
||||
}
|
||||
|
||||
panel > fieldset > div > select,
|
||||
panel > fieldset > div > div > select,
|
||||
panel > fieldset > div > input:not([type="checkbox"]) {
|
||||
width: 187px;
|
||||
}
|
||||
|
||||
list > fieldset > div > select,
|
||||
list > fieldset > div > div > select,
|
||||
list > fieldset > div > input:not([type="checkbox"]) {
|
||||
width: 207px;
|
||||
}
|
||||
|
||||
fieldset > textarea {
|
||||
padding: 10px;
|
||||
width: 320px;
|
||||
}
|
||||
|
||||
fieldset > div > div,
|
||||
fieldset > a > div {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
fieldset > div > div {
|
||||
width: 273px;
|
||||
}
|
||||
|
||||
fieldset > a[type="ad"] > div:nth-child(2) {
|
||||
width: 218px;
|
||||
}
|
||||
|
||||
fieldset > a:not([type]) > div {
|
||||
width: 250px;
|
||||
}
|
||||
|
||||
fieldset > a:not([href]) > img.icon + div,
|
||||
fieldset > div > img.icon + div {
|
||||
width: 244px;
|
||||
}
|
||||
|
||||
fieldset > a[href] > img.icon + div {
|
||||
width: 221px;
|
||||
}
|
||||
|
||||
fieldset > a[type="profile"] > div:nth-child(2) > label:nth-child(1).unknown {
|
||||
color: #aaaabb;
|
||||
}
|
||||
|
||||
fieldset > a[type="profile"] > div:nth-child(2) > label:only-child {
|
||||
left: 4px;
|
||||
position: relative;
|
||||
top: 3px;
|
||||
}
|
||||
|
||||
fieldset > a[type="thumb"] > div:nth-child(2) > label:only-child {
|
||||
position: relative;
|
||||
top: 10px;
|
||||
}
|
||||
|
||||
fieldset > a[type="profile"] > div:nth-child(2) > label + label {
|
||||
display: block;
|
||||
font-size: 13px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
fieldset > a[type="thumb"] > div:nth-child(2) > label + label {
|
||||
display: block;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
fieldset > a[type="profile"] > div:nth-child(2) {
|
||||
width: 207px;
|
||||
}
|
||||
|
||||
fieldset > a[type="thumb"] > div:nth-child(2) {
|
||||
width: 193px;
|
||||
}
|
||||
|
||||
fieldset > a[type="profile"] > div:nth-child(2) {
|
||||
margin: -5px 0;
|
||||
}
|
||||
|
||||
fieldset > a[type="profile"] > div:nth-child(2),
|
||||
fieldset > a[type="thumb"] > div:nth-child(2) {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
fieldset > a > label:first-child,
|
||||
fieldset > a > div > label:first-child,
|
||||
fieldset > div > label:first-child,
|
||||
fieldset > div > div > label:first-child {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* XXX: this doesn't handle icon offsets */
|
||||
list > fieldset > a:not([type]) > div > label + label,
|
||||
list > fieldset > div > div > label + label {
|
||||
margin-left: 94px;
|
||||
}
|
||||
|
||||
panel > fieldset > a:not([type]) > div > label + label,
|
||||
panel > fieldset > div > div > label + label {
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
panel > img {
|
||||
display: block;
|
||||
margin: 9px auto 4px auto;
|
||||
height: auto;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
fieldset > a[type="ad"] {
|
||||
}
|
||||
|
||||
fieldset > a[type="ad"] > div:nth-child(2) {
|
||||
position: relative;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
fieldset > a[type="ad"] > div > label:first-child {
|
||||
color: #2d2d50;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
line-height: 15px;
|
||||
}
|
||||
|
||||
fieldset > a[type="ad"] > div > label + label {
|
||||
position: absolute;
|
||||
top: 17px;
|
||||
left: 156px;
|
||||
font-size: 9.5px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
panel > fieldset > a.middle,
|
||||
panel > fieldset > a.right {
|
||||
border-left: 1px solid #999999;
|
||||
}
|
||||
|
||||
panel > fieldset > a.half {
|
||||
display: inline-block;
|
||||
width: 150px;
|
||||
}
|
||||
|
||||
panel > fieldset > a.third {
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
panel > fieldset > a.sixth {
|
||||
display: inline-block;
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
fieldset.half > a {
|
||||
background: none;
|
||||
background-position: 120px center;
|
||||
}
|
||||
|
||||
fieldset.half > a > img.icon + div {
|
||||
width: 65px;
|
||||
}
|
||||
|
||||
fieldset.right {
|
||||
float: right;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
block + fieldset.right,
|
||||
fieldset + fieldset.right {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
fieldset.half {
|
||||
width: 146px;
|
||||
}
|
||||
|
||||
panel > fieldset.dashed > a,
|
||||
panel > fieldset.dashed > div,
|
||||
panel > fieldset.dashed > textarea,
|
||||
list > fieldset.dashed > a,
|
||||
list > fieldset.dashed > div,
|
||||
list > fieldset.dashed > textarea {
|
||||
border-style: dashed;
|
||||
}
|
||||
|
||||
fieldset > a[type="thumb"]:first-child > back {
|
||||
-moz-border-radius-topright: 9px;
|
||||
-webkit-border-top-right-radius: 9px;
|
||||
}
|
||||
|
||||
fieldset > a[type="thumb"]:last-child > back {
|
||||
-moz-border-radius-bottomright: 9px;
|
||||
-webkit-border-bottom-right-radius: 9px;
|
||||
}
|
||||
|
||||
fieldset > a[type="thumb"] > back {
|
||||
background-repeat: no-repeat;
|
||||
border: 1px solid #999999;
|
||||
display: block;
|
||||
height: 64px;
|
||||
left: 62px;
|
||||
position: absolute;
|
||||
opacity: 0.2;
|
||||
top: -1px;
|
||||
width: 237px;
|
||||
}
|
||||
|
||||
.mm {
|
||||
border: 1px solid #999999;
|
||||
-moz-border-radius: 9px;
|
||||
-webkit-border-radius: 9px;
|
||||
}
|
||||
|
||||
a.mm {
|
||||
display: block;
|
||||
margin: 9px;
|
||||
}
|
||||
|
||||
div.mm img {
|
||||
height: auto;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
fieldset > a.small {
|
||||
font-size: 12px;
|
||||
padding-top: 9px;
|
||||
}
|
||||
|
||||
fieldset > a.small label {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
top: 1px;
|
||||
}
|
||||
|
||||
fieldset > a.small > img.icon {
|
||||
max-height: 22px;
|
||||
min-width: 22px;
|
||||
width: 22px;
|
||||
}
|
||||
|
||||
fieldset > a.small.half > img.icon + div {
|
||||
width: 79px;
|
||||
}
|
||||
|
||||
fieldset > a.small.third > img.icon + div {
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
fieldset > a.small.sixth > img.icon + div {
|
||||
width: 0px;
|
||||
}
|
||||
|
||||
panel.centered > label {
|
||||
margin-left: 0px;
|
||||
margin-right: 0px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
panel > iframe {
|
||||
margin: -9px 0;
|
||||
}
|
||||
|
||||
panel > iframe:first-child,
|
||||
panel > iframe + iframe {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
/* Rating Stars {{{ */
|
||||
.ratings {
|
||||
margin: -2px 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.rated {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.rated.left {
|
||||
margin-right: 9px;
|
||||
}
|
||||
|
||||
.rated label {
|
||||
font-weight: bold;
|
||||
margin-right: 3px;
|
||||
position: relative;
|
||||
top: -3px;
|
||||
}
|
||||
|
||||
.rating {
|
||||
display: inline-block;
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
.rating .back,
|
||||
.rating .fore,
|
||||
.rating .star {
|
||||
background: url(http://cache.saurik.com/crystal/16x16/actions/knewstuff.png);
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.rating .back,
|
||||
.rating .fore {
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
.rating .star {
|
||||
display: inline-block;
|
||||
width: 16px;
|
||||
}
|
||||
|
||||
.rating .back {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
.rating .fore {
|
||||
/*border-right: 1px solid #999999;*/
|
||||
position: absolute;
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
panel > fieldset.header {
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
margin: -5px 9px -11px 9px;
|
||||
}
|
||||
|
||||
panel > fieldset.header > a > div > label {
|
||||
color: #4d4d70;
|
||||
text-shadow: rgba(255, 255, 255, 0.75) 1px 1px 0;
|
||||
}
|
||||
Reference in New Issue
Block a user