Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

first commit

  • Loading branch information...
commit 4a00a89f3e87160f2fc0742ed5460546300fdac6 0 parents
@icholy authored
26 .gitignore
@@ -0,0 +1,26 @@
+# Numerous always-ignore extensions
+*.diff
+*.err
+*.orig
+*.log
+*.rej
+*.swo
+*.swp
+*.vi
+*~
+*.sass-cache
+
+# OS or Editor folders
+.DS_Store
+.cache
+.project
+.settings
+.tmproj
+nbproject
+Thumbs.db
+
+# NPM packages folder.
+node_modules/
+
+# Brunch folder for temporary files.
+tmp/
65 README.md
@@ -0,0 +1,65 @@
+# Brunch with js
+This is a simple js skeleton for [Brunch](http://brunch.io/).
+
+Main languages are JavaScript,
+[Stylus](http://learnboost.github.com/stylus/) and
+[Handlebars](http://handlebarsjs.com/).
+
+## Getting started
+
+Clone the repo and run `npm install` & `brunch build`.
+See more info on the [official site](http://brunch.io)
+
+## Overview
+
+ config.coffee
+ README.md
+ /app/
+ /assets/
+ index.html
+ images/
+ /lib/
+ models/
+ styles/
+ views/
+ templates/
+ application.js
+ initialize.js
+ /test/
+ functional/
+ unit/
+ /vendor/
+ scripts/
+ backbone.js
+ jquery.js
+ console-helper.js
+ underscore.js
+ styles/
+ normalize.css
+ helpers.css
+
+* `config.coffee` contains configuration of your app. You can set plugins /
+languages that would be used here.
+* `app/assets` contains images / static files. Contents of the directory would
+be copied to `build/` without change.
+Other `app/` directories could contain files that would be compiled. Languages,
+that compile to JS (coffeescript, roy etc.) or js files and located in app are
+automatically wrapped in module closure so they can be loaded by
+`require('module/location')`.
+* `app/models` & `app/views` contain base classes your app should inherit from.
+* `test/` contains feature & unit tests.
+* `vendor/` contains all third-party code. The code wouldn’t be wrapped in
+modules, it would be loaded instantly instead.
+
+This all will generate `public/` (by default) directory when `brunch build` or `brunch watch` is executed.
+
+## Other
+Versions of software the skeleton uses:
+
+* jQuery 1.7.2
+* Backbone 0.9.1
+* Underscore 1.3.3
+* HTML5Boilerplate 3.0.3
+
+The license is [public domain](http://creativecommons.org/publicdomain/zero/1.0/).
+Use it however you want.
10 app/app.js
@@ -0,0 +1,10 @@
+
+// Application bootstrapper.
+
+var App = Em.Application.create({
+ Views : Em.Namespace.create(),
+ Models : Em.Namespace.create(),
+ Controllers : Em.Namespace.create()
+});
+
+module.exports = App;
0  app/assets/images/.gitkeep
No changes.
24 app/assets/index.html
@@ -0,0 +1,24 @@
+<!doctype html>
+<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
+<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
+<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
+<head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <title>Example brunch application</title>
+ <meta name="viewport" content="width=device-width">
+ <link rel="stylesheet" href="stylesheets/app.css">
+ <script src="javascripts/vendor.js"></script>
+ <script src="javascripts/app.js"></script>
+ <script>require('initialize');</script>
+</head>
+<body>
+ <script type="text/x-handlebars">
+ {{#view App.Views.MyView}}
+ <h1>Ember User</h1>
+ <p>{{view.stuff.fullName}}</p>
+ {{/view}}
+ </script>
+</body>
+</html>
3  app/controllers.js
@@ -0,0 +1,3 @@
+// Load all your controllers here
+
+require('controllers/my_controller');
11 app/controllers/my_controller.js
@@ -0,0 +1,11 @@
+
+require('models/my_model');
+
+var App = require('app');
+
+App.myController = Em.Object.create({
+ theMan: App.Models.MyModel.create({
+ firstName: 'Bob',
+ lastName: 'Marley'
+ })
+});
16 app/initialize.js
@@ -0,0 +1,16 @@
+
+require('models');
+require('controllers');
+require('views');
+
+var App = require('app');
+
+// ENV.VIEW_PRESERVES_CONTEXT = true;
+// ENV.CP_DEFAULT_CACHEABLE = true;
+
+App.reopen({
+ ready: function(){
+ this._super();
+ console.log('initializing ...');
+ }
+});
1  app/lib/view_helper.js
@@ -0,0 +1 @@
+// Put your handlebars.js helpers here.
1  app/models.js
@@ -0,0 +1 @@
+require('models/my_model');
0  app/models/.gitkeep
No changes.
12 app/models/my_model.js
@@ -0,0 +1,12 @@
+var App = require('app');
+
+App.Models.MyModel = Em.Object.extend({
+
+ firstName : null,
+ lastName : null,
+
+ fullName: function(){
+ return this.get('firstName') + ' ' + this.get('lastName');
+ }.property('firstName', 'lastName')
+
+});
1  app/views.js
@@ -0,0 +1 @@
+require('views/my_view');
12 app/views/my_view.js
@@ -0,0 +1,12 @@
+require('controllers/my_controller');
+
+var App = require('app');
+
+App.Views.MyView = Em.View.extend({
+
+ stuffBinding: 'App.myController',
+
+ click: function(e){
+ console.log('I was clicked ', e);
+ }
+});
26 app/views/styles/application.less
@@ -0,0 +1,26 @@
+// nib is a powerful lib for stylus that provides cross-browser css3 mixins.
+// No more vendor prefixes. http://visionmedia.github.com/nib/
+//@import 'library'
+
+// Apply a natural box layout model to all elements.
+// http://paulirish.com/2012/box-sizing-border-box-ftw/
+* {
+ box-sizing: border-box;
+}
+
+#home-view {
+ width: 480px;
+ margin: 0 auto;
+}
+
+h1 {
+ padding-left: 138px;
+ margin-bottom: 0.5em;
+ font-size: 5em;
+ color: #fff;
+ border-radius: 5px;
+ background-color: #91a2c0;
+ background-image: url('http://brunch.io/images/brunch.png');
+ background-repeat: no-repeat;
+ background-position: 2px;
+}
25 config.coffee
@@ -0,0 +1,25 @@
+exports.config =
+ # See docs at http://brunch.readthedocs.org/en/latest/config.html.
+ files:
+ javascripts:
+ defaultExtension: 'js'
+ joinTo:
+ 'javascripts/app.js': /^app/
+ 'javascripts/vendor.js': /^vendor/
+ order:
+ before: [
+ 'vendor/scripts/console-helper.js',
+ 'vendor/scripts/jquery-1.7.2.js',
+ 'vendor/scripts/ember-0.9.8.1.js'
+ ]
+
+ stylesheets:
+ defaultExtension: 'less'
+ joinTo: 'stylesheets/app.css'
+ order:
+ before: ['vendor/styles/normalize.css']
+ after: ['vendor/styles/helpers.css']
+
+ # templates:
+ # defaultExtension: 'hbs'
+ # joinTo: 'javascripts/app.js'
30 package.json
@@ -0,0 +1,30 @@
+{
+ "author": "Your Name",
+ "name": "package-name",
+ "description": "Package description",
+ "version": "0.0.1",
+ "homepage": "",
+ "repository": {
+ "type": "git",
+ "url": ""
+ },
+ "engines": {
+ "node": "~0.6.10"
+ },
+ "scripts": {
+ "start": "brunch watch --server"
+ },
+ "dependencies": {
+ "javascript-brunch": "> 1.0 < 1.3",
+
+ "css-brunch": "> 1.0 < 1.3",
+ "less-brunch": "> 1.0 < 1.3",
+
+ "uglify-js-brunch": "> 1.0 < 1.3",
+ "clean-css-brunch": "> 1.0 < 1.3"
+ },
+ "devDependencies": {
+ "mocha": "0.14.0",
+ "expect.js": "0.1.2"
+ }
+}
24 public/index.html
@@ -0,0 +1,24 @@
+<!doctype html>
+<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
+<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
+<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
+<head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <title>Example brunch application</title>
+ <meta name="viewport" content="width=device-width">
+ <link rel="stylesheet" href="stylesheets/app.css">
+ <script src="javascripts/vendor.js"></script>
+ <script src="javascripts/app.js"></script>
+ <script>require('initialize');</script>
+</head>
+<body>
+ <script type="text/x-handlebars">
+ {{#view App.Views.MyView}}
+ <h1>Ember User</h1>
+ <p>{{view.stuff.fullName}}</p>
+ {{/view}}
+ </script>
+</body>
+</html>
189 public/javascripts/app.js
@@ -0,0 +1,189 @@
+(function(/*! Brunch !*/) {
+ 'use strict';
+
+ if (!this.require) {
+ var modules = {};
+ var cache = {};
+ var __hasProp = ({}).hasOwnProperty;
+
+ var expand = function(root, name) {
+ var results = [], parts, part;
+ if (/^\.\.?(\/|$)/.test(name)) {
+ parts = [root, name].join('/').split('/');
+ } else {
+ parts = name.split('/');
+ }
+ for (var i = 0, length = parts.length; i < length; i++) {
+ part = parts[i];
+ if (part == '..') {
+ results.pop();
+ } else if (part != '.' && part != '') {
+ results.push(part);
+ }
+ }
+ return results.join('/');
+ };
+
+ var getFullPath = function(path, fromCache) {
+ var store = fromCache ? cache : modules;
+ var dirIndex;
+ if (__hasProp.call(store, path)) return path;
+ dirIndex = expand(path, './index');
+ if (__hasProp.call(store, dirIndex)) return dirIndex;
+ };
+
+ var cacheModule = function(name, path, contentFn) {
+ var module = {id: path, exports: {}};
+ try {
+ cache[path] = module.exports;
+ contentFn(module.exports, function(name) {
+ return require(name, dirname(path));
+ }, module);
+ cache[path] = module.exports;
+ } catch (err) {
+ delete cache[path];
+ throw err;
+ }
+ return cache[path];
+ };
+
+ var require = function(name, root) {
+ var path = expand(root, name);
+ var fullPath;
+
+ if (fullPath = getFullPath(path, true)) {
+ return cache[fullPath];
+ } else if (fullPath = getFullPath(path, false)) {
+ return cacheModule(name, fullPath, modules[fullPath]);
+ } else {
+ throw new Error("Cannot find module '" + name + "'");
+ }
+ };
+
+ var dirname = function(path) {
+ return path.split('/').slice(0, -1).join('/');
+ };
+
+ this.require = function(name) {
+ return require(name, '');
+ };
+
+ this.require.brunch = true;
+ this.require.define = function(bundle) {
+ for (var key in bundle) {
+ if (__hasProp.call(bundle, key)) {
+ modules[key] = bundle[key];
+ }
+ }
+ };
+ }
+}).call(this);
+(this.require.define({
+ "app": function(exports, require, module) {
+
+// Application bootstrapper.
+
+var App = Em.Application.create({
+ Views : Em.Namespace.create(),
+ Models : Em.Namespace.create(),
+ Controllers : Em.Namespace.create()
+});
+
+module.exports = App;
+
+ }
+}));
+(this.require.define({
+ "controllers": function(exports, require, module) {
+ // Load all your controllers here
+
+require('controllers/my_controller')
+
+ }
+}));
+(this.require.define({
+ "controllers/my_controller": function(exports, require, module) {
+
+require('models/my_model');
+
+var App = require('app');
+
+App.myController = Em.Object.create({
+ theMan: App.Models.MyModel.create({
+ firstName: 'Bob',
+ lastName: 'Marley'
+ })
+});
+ }
+}));
+(this.require.define({
+ "initialize": function(exports, require, module) {
+
+require('models');
+require('controllers');
+require('views');
+
+var App = require('app');
+
+// ENV.VIEW_PRESERVES_CONTEXT = true;
+// ENV.CP_DEFAULT_CACHEABLE = true;
+
+$(function() {
+
+ alert('herer');
+
+ // ... initialize here ... //
+
+});
+
+ }
+}));
+(this.require.define({
+ "lib/view_helper": function(exports, require, module) {
+ // Put your handlebars.js helpers here.
+
+ }
+}));
+(this.require.define({
+ "models": function(exports, require, module) {
+ require('models/my_model');
+ }
+}));
+(this.require.define({
+ "models/my_model": function(exports, require, module) {
+ var App = require('app');
+
+App.Models.MyModel = Em.Object.extend({
+
+ firstName : null,
+ lastName : null,
+
+ fullName: function(){
+ return this.get('firstName') + ' ' + this.get('lastName');
+ }.property('firstName', 'lastName')
+
+});
+ }
+}));
+(this.require.define({
+ "views": function(exports, require, module) {
+ require('views/my_view');
+ }
+}));
+(this.require.define({
+ "views/my_view": function(exports, require, module) {
+ require('controllers/my_controller');
+
+var App = require('app');
+
+App.Views.MyView = Em.View.extend({
+
+ stuffBinding: 'App.myController',
+
+ click: function(e){
+ console.log('I was clicked ', e);
+ }
+});
+
+ }
+}));
29,644 public/javascripts/vendor.js
29,644 additions, 0 deletions not shown
107 public/stylesheets/app.css
@@ -0,0 +1,107 @@
+/* HTML5 Boilerplate */
+
+article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
+audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
+audio:not([controls]) { display: none; }
+[hidden] { display: none; }
+
+html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
+html, button, input, select, textarea { font-family: sans-serif; color: #222; }
+body { margin: 0; font-size: 1em; line-height: 1.4; }
+
+::-moz-selection { background: #fe57a1; color: #fff; text-shadow: none; }
+::selection { background: #fe57a1; color: #fff; text-shadow: none; }
+
+a { color: #00e; }
+a:visited { color: #551a8b; }
+a:hover { color: #06e; }
+a:focus { outline: thin dotted; }
+a:hover, a:active { outline: 0; }
+abbr[title] { border-bottom: 1px dotted; }
+b, strong { font-weight: bold; }
+blockquote { margin: 1em 40px; }
+dfn { font-style: italic; }
+hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
+ins { background: #ff9; color: #000; text-decoration: none; }
+mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
+pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
+pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
+
+q { quotes: none; }
+q:before, q:after { content: ""; content: none; }
+small { font-size: 85%; }
+sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
+sup { top: -0.5em; }
+sub { bottom: -0.25em; }
+
+ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
+dd { margin: 0 0 0 40px; }
+nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
+
+img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
+svg:not(:root) { overflow: hidden; }
+figure { margin: 0; }
+
+form { margin: 0; }
+fieldset { border: 0; margin: 0; padding: 0; }
+
+label { cursor: pointer; }
+legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
+button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
+button, input { line-height: normal; }
+button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
+button[disabled], input[disabled] { cursor: default; }
+input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
+input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
+input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
+button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
+textarea { overflow: auto; vertical-align: top; resize: vertical; }
+input:valid, textarea:valid { }
+input:invalid, textarea:invalid { background-color: #f0dddd; }
+
+table { border-collapse: collapse; border-spacing: 0; }
+td { vertical-align: top; }
+
+.chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }
+* {
+ box-sizing: border-box;
+}
+#home-view {
+ width: 480px;
+ margin: 0 auto;
+}
+h1 {
+ padding-left: 138px;
+ margin-bottom: 0.5em;
+ font-size: 5em;
+ color: #fff;
+ border-radius: 5px;
+ background-color: #91a2c0;
+ background-image: url('http://brunch.io/images/brunch.png');
+ background-repeat: no-repeat;
+ background-position: 2px;
+}
+.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
+.ir br { display: none; }
+.hidden { display: none !important; visibility: hidden; }
+.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
+.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
+.invisible { visibility: hidden; }
+.clearfix:before, .clearfix:after { content: ""; display: table; }
+.clearfix:after { clear: both; }
+.clearfix { *zoom: 1; }
+
+@media print {
+ * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; }
+ a, a:visited { text-decoration: underline; }
+ a[href]:after { content: " (" attr(href) ")"; }
+ abbr[title]:after { content: " (" attr(title) ")"; }
+ .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
+ pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
+ thead { display: table-header-group; }
+ tr, img { page-break-inside: avoid; }
+ img { max-width: 100% !important; }
+ @page { margin: 0.5cm; }
+ p, h2, h3 { orphans: 3; widows: 3; }
+ h2, h3 { page-break-after: avoid; }
+}
1  test/spec.coffee
@@ -0,0 +1 @@
+# Write your [mocha](http://visionmedia.github.com/mocha/) specs here.
11 vendor/scripts/console-helper.js
@@ -0,0 +1,11 @@
+// Make it safe to do console.log() always.
+(function (con) {
+ var method;
+ var dummy = function() {};
+ var methods = ('assert,count,debug,dir,dirxml,error,exception,group,' +
+ 'groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,' +
+ 'time,timeEnd,trace,warn').split(',');
+ while (method = methods.pop()) {
+ con[method] = con[method] || dummy;
+ }
+})(window.console = window.console || {});
20,149 vendor/scripts/ember-0.9.8.1.js
20,149 additions, 0 deletions not shown
9,404 vendor/scripts/jquery-1.7.2.js
9,404 additions, 0 deletions not shown
24 vendor/styles/helpers.css
@@ -0,0 +1,24 @@
+.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
+.ir br { display: none; }
+.hidden { display: none !important; visibility: hidden; }
+.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
+.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
+.invisible { visibility: hidden; }
+.clearfix:before, .clearfix:after { content: ""; display: table; }
+.clearfix:after { clear: both; }
+.clearfix { *zoom: 1; }
+
+@media print {
+ * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; }
+ a, a:visited { text-decoration: underline; }
+ a[href]:after { content: " (" attr(href) ")"; }
+ abbr[title]:after { content: " (" attr(title) ")"; }
+ .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
+ pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
+ thead { display: table-header-group; }
+ tr, img { page-break-inside: avoid; }
+ img { max-width: 100% !important; }
+ @page { margin: 0.5cm; }
+ p, h2, h3 { orphans: 3; widows: 3; }
+ h2, h3 { page-break-after: avoid; }
+}
65 vendor/styles/normalize.css
@@ -0,0 +1,65 @@
+/* HTML5 Boilerplate */
+
+article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
+audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
+audio:not([controls]) { display: none; }
+[hidden] { display: none; }
+
+html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
+html, button, input, select, textarea { font-family: sans-serif; color: #222; }
+body { margin: 0; font-size: 1em; line-height: 1.4; }
+
+::-moz-selection { background: #fe57a1; color: #fff; text-shadow: none; }
+::selection { background: #fe57a1; color: #fff; text-shadow: none; }
+
+a { color: #00e; }
+a:visited { color: #551a8b; }
+a:hover { color: #06e; }
+a:focus { outline: thin dotted; }
+a:hover, a:active { outline: 0; }
+abbr[title] { border-bottom: 1px dotted; }
+b, strong { font-weight: bold; }
+blockquote { margin: 1em 40px; }
+dfn { font-style: italic; }
+hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
+ins { background: #ff9; color: #000; text-decoration: none; }
+mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
+pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
+pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
+
+q { quotes: none; }
+q:before, q:after { content: ""; content: none; }
+small { font-size: 85%; }
+sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
+sup { top: -0.5em; }
+sub { bottom: -0.25em; }
+
+ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
+dd { margin: 0 0 0 40px; }
+nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
+
+img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
+svg:not(:root) { overflow: hidden; }
+figure { margin: 0; }
+
+form { margin: 0; }
+fieldset { border: 0; margin: 0; padding: 0; }
+
+label { cursor: pointer; }
+legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
+button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
+button, input { line-height: normal; }
+button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
+button[disabled], input[disabled] { cursor: default; }
+input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
+input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
+input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
+button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
+textarea { overflow: auto; vertical-align: top; resize: vertical; }
+input:valid, textarea:valid { }
+input:invalid, textarea:invalid { background-color: #f0dddd; }
+
+table { border-collapse: collapse; border-spacing: 0; }
+td { vertical-align: top; }
+
+.chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }
Please sign in to comment.
Something went wrong with that request. Please try again.