compass_formalize 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. data/.DS_Store +0 -0
  2. data/.gitignore +2 -0
  3. data/README.md +6 -0
  4. data/Rakefile +4 -0
  5. data/compass_formalize.gemspec +20 -0
  6. data/lib/compass_formalize.rb +2 -0
  7. data/stylesheets/_formalize.sass +271 -0
  8. data/templates/.DS_Store +0 -0
  9. data/templates/dojo/button.png +0 -0
  10. data/templates/dojo/dojo.formalize.js +174 -0
  11. data/templates/dojo/dojo.formalize.min.js +1 -0
  12. data/templates/dojo/manifest.rb +37 -0
  13. data/templates/dojo/select_arrow.gif +0 -0
  14. data/templates/extjs/.DS_Store +0 -0
  15. data/templates/extjs/button.png +0 -0
  16. data/templates/extjs/extjs.formalize.js +168 -0
  17. data/templates/extjs/extjs.formalize.min.js +1 -0
  18. data/templates/extjs/manifest.rb +37 -0
  19. data/templates/extjs/select_arrow.gif +0 -0
  20. data/templates/jquery/.DS_Store +0 -0
  21. data/templates/jquery/button.png +0 -0
  22. data/templates/jquery/jquery.formalize.js +158 -0
  23. data/templates/jquery/jquery.formalize.min.js +1 -0
  24. data/templates/jquery/manifest.rb +37 -0
  25. data/templates/jquery/select_arrow.gif +0 -0
  26. data/templates/mootools/.DS_Store +0 -0
  27. data/templates/mootools/button.png +0 -0
  28. data/templates/mootools/manifest.rb +37 -0
  29. data/templates/mootools/mootools.formalize.js +163 -0
  30. data/templates/mootools/mootools.formalize.min.js +1 -0
  31. data/templates/mootools/select_arrow.gif +0 -0
  32. data/templates/project/manifest.rb +18 -0
  33. data/templates/prototype/.DS_Store +0 -0
  34. data/templates/prototype/button.png +0 -0
  35. data/templates/prototype/manifest.rb +37 -0
  36. data/templates/prototype/prototype.formalize.js +171 -0
  37. data/templates/prototype/prototype.formalize.min.js +1 -0
  38. data/templates/prototype/select_arrow.gif +0 -0
  39. data/templates/yui/.DS_Store +0 -0
  40. data/templates/yui/button.png +0 -0
  41. data/templates/yui/manifest.rb +37 -0
  42. data/templates/yui/select_arrow.gif +0 -0
  43. data/templates/yui/yui.formalize.js +168 -0
  44. data/templates/yui/yui.formalize.min.js +1 -0
  45. metadata +130 -0
@@ -0,0 +1 @@
1
+ var FORMALIZE=(function(e,f,a){var h="placeholder" in f.createElement("input");var i="autofocus" in f.createElement("input");var g="webkitAppearance" in f.createElement("select").style;var c=d(6);var b=d(7);function d(k){var j=f.createElement("b");j.innerHTML="<!--[if IE "+k+"]><br><![endif]-->";return !!j.getElementsByTagName("br").length;}return{go:function(){for(var j in FORMALIZE.init){FORMALIZE.init[j]();}},init:{detect_webkit:function(){if(!g){return;}$$("html")[0].addClassName("is_webkit");},full_input_size:function(){if(!b||!$$("textarea, input.input_full").length){return;}$$("textarea, input.input_full").each(function(j){Element.wrap(j,"span",{"class":"input_full_wrap"});});},ie6_skin_inputs:function(){if(!c||!$$("input, select, textarea").length){return;}var j=/button|submit|reset/;var k=/date|datetime|datetime-local|email|month|number|password|range|search|tel|text|time|url|week/;$$("input").each(function(l){if(l.getAttribute("type").match(j)){l.addClassName("ie6_button");if(l.disabled){l.addClassName("ie6_button_disabled");}}else{if(l.getAttribute("type").match(k)){l.addClassName("ie6_input");if(l.disabled){l.addClassName("ie6_input_disabled");}}}});$$("textarea, select").each(function(l){if(l.disabled){l.addClassName("ie6_input_disabled");}});},autofocus:function(){if(i||!$$("[autofocus]").length){return;}$$("[autofocus]")[0].focus();},placeholder:function(){if(h||!$$("[placeholder]").length){return;}FORMALIZE.misc.add_placeholder();$$("[placeholder]").each(function(j){var l=j.getAttribute("placeholder");var k=j.up("form");j.observe("focus",function(){if(j.value===l){j.value="";j.removeClassName("placeholder_text");}});j.observe("blur",function(){FORMALIZE.misc.add_placeholder();});k.observe("submit",function(){if(j.value===l){j.value="";j.removeClassName("placeholder_text");}});k.observe("reset",function(){setTimeout(FORMALIZE.misc.add_placeholder,50);});});}},misc:{add_placeholder:function(){if(h||!$$("[placeholder]").length){return;}$$("[placeholder]").each(function(j){var k=j.getAttribute("placeholder");if(!j.value||j.value===k){j.value=k;j.addClassName("placeholder_text");}});}}};})(this,this.document);$(document).observe("dom:loaded",function(){FORMALIZE.go();});
Binary file
Binary file
@@ -0,0 +1,37 @@
1
+ # Make sure you list all the project template files here in the manifest.
2
+ discover :all
3
+
4
+ description "Teach your forms some manners."
5
+
6
+ help %Q{
7
+ Please see the Formalize website for documentation:
8
+
9
+ http://formalize.me/
10
+ }
11
+
12
+ welcome_message %Q{
13
+
14
+ Formalize assets have been copied to the proper asset folders
15
+ based on your Compass configuration.
16
+
17
+ Usage:
18
+
19
+ If you're using SCSS syntax, in your stylesheet:
20
+
21
+ @import "formalize";
22
+
23
+ or if you're using indented syntax
24
+
25
+ @import "formalize"
26
+
27
+ In your HTML markup, include the JavaScript implementation of
28
+ your choice:
29
+
30
+ // a jQuery example
31
+ <script src="/javascripts/jquery.formalize.js"></script>
32
+
33
+ Please see the Formalize website for documentation:
34
+
35
+ http://formalize.me/
36
+ }
37
+
Binary file
@@ -0,0 +1,168 @@
1
+ //
2
+ // Note: This file depends on the YUI library.
3
+ //
4
+
5
+ // Module pattern:
6
+ // http://yuiblog.com/blog/2007/06/12/module-pattern/
7
+ var FORMALIZE = (function(window, document, undefined) {
8
+ // Private constants.
9
+ var PLACEHOLDER_SUPPORTED = 'placeholder' in document.createElement('input');
10
+ var AUTOFOCUS_SUPPORTED = 'autofocus' in document.createElement('input');
11
+ var WEBKIT = 'webkitAppearance' in document.createElement('select').style;
12
+ var IE6 = parseInt(Y.UA.ie, 10) === 6;
13
+ var IE7 = parseInt(Y.UA.ie, 10) === 7;
14
+
15
+ // Expose innards of FORMALIZE.
16
+ return {
17
+ // FORMALIZE.go
18
+ go: function() {
19
+ for (var i in FORMALIZE.init) {
20
+ FORMALIZE.init[i]();
21
+ }
22
+ },
23
+ // FORMALIZE.init
24
+ init: {
25
+ // FORMALIZE.init.detect_webkit
26
+ detect_webkit: function() {
27
+ if (!WEBKIT) {
28
+ return;
29
+ }
30
+
31
+ // Tweaks for Safari + Chrome.
32
+ Y.one('html').addClass('is_webkit');
33
+ },
34
+ // FORMALIZE.init.full_input_size
35
+ full_input_size: function() {
36
+ if (!IE7 || !Y.all('textarea, input.input_full')) {
37
+ return;
38
+ }
39
+
40
+ // This fixes width: 100% on <textarea> and class="input_full".
41
+ // It ensures that form elements don't go wider than container.
42
+ Y.all('textarea, input.input_full').each(function(el) {
43
+ var wrapper = Y.Node.create('<span class="input_full_wrap"></span>');
44
+ wrapper.append(el.replace(wrapper));
45
+ });
46
+ },
47
+ // FORMALIZE.init.ie6_skin_inputs
48
+ ie6_skin_inputs: function() {
49
+ // Test for Internet Explorer 6.
50
+ if (!IE6 || !Y.all('input, select, textarea')) {
51
+ // Exit if the browser is not IE6,
52
+ // or if no form elements exist.
53
+ return;
54
+ }
55
+
56
+ // For <input type="submit" />, etc.
57
+ var button_regex = /button|submit|reset/;
58
+
59
+ // For <input type="text" />, etc.
60
+ var type_regex = /date|datetime|datetime-local|email|month|number|password|range|search|tel|text|time|url|week/;
61
+
62
+ Y.all('input').each(function(el) {
63
+ // Is it a button?
64
+ if (el.getAttribute('type').match(button_regex)) {
65
+ el.addClass('ie6_button');
66
+
67
+ /* Is it disabled? */
68
+ if (el.disabled) {
69
+ el.addClass('ie6_button_disabled');
70
+ }
71
+ }
72
+ // Or is it a textual input?
73
+ else if (el.getAttribute('type').match(type_regex)) {
74
+ el.addClass('ie6_input');
75
+
76
+ /* Is it disabled? */
77
+ if (el.disabled) {
78
+ el.addClass('ie6_input_disabled');
79
+ }
80
+ }
81
+ });
82
+
83
+ Y.all('textarea, select').each(function(el) {
84
+ /* Is it disabled? */
85
+ if (el.disabled) {
86
+ el.addClass('ie6_input_disabled');
87
+ }
88
+ });
89
+ },
90
+ // FORMALIZE.init.autofocus
91
+ autofocus: function() {
92
+ if (AUTOFOCUS_SUPPORTED || !Y.one('[autofocus]')) {
93
+ return;
94
+ }
95
+
96
+ Y.one('[autofocus]').focus();
97
+ },
98
+ // FORMALIZE.init.placeholder
99
+ placeholder: function() {
100
+ if (PLACEHOLDER_SUPPORTED || !Y.one('[placeholder]')) {
101
+ // Exit if placeholder is supported natively,
102
+ // or if page does not have any placeholder.
103
+ return;
104
+ }
105
+
106
+ FORMALIZE.misc.add_placeholder();
107
+
108
+ Y.all('[placeholder]').each(function(el) {
109
+ var text = el.getAttribute('placeholder');
110
+ var form = el.ancestor('form');
111
+
112
+ function add_placeholder() {
113
+ if (!el.get('value') || el.get('value') === text) {
114
+ el.set('value', text).addClass('placeholder_text');
115
+ }
116
+ }
117
+
118
+ el.on('focus', function() {
119
+ if (el.get('value') === text) {
120
+ el.set('value', '').removeClass('placeholder_text');
121
+ }
122
+ });
123
+
124
+ el.on('blur', function() {
125
+ FORMALIZE.misc.add_placeholder();
126
+ });
127
+
128
+ // Prevent <form> from accidentally
129
+ // submitting the placeholder text.
130
+ form.on('submit', function() {
131
+ if (el.get('value') === text) {
132
+ el.set('value', '').removeClass('placeholder_text');
133
+ }
134
+ });
135
+
136
+ form.on('reset', function() {
137
+ setTimeout(FORMALIZE.misc.add_placeholder, 50);
138
+ });
139
+ });
140
+ }
141
+ },
142
+ // FORMALIZE.misc
143
+ misc: {
144
+ // FORMALIZE.misc.add_placeholder
145
+ add_placeholder: function() {
146
+ if (PLACEHOLDER_SUPPORTED || !Y.one('[placeholder]')) {
147
+ // Exit if placeholder is supported natively,
148
+ // or if page does not have any placeholder.
149
+ return;
150
+ }
151
+
152
+ Y.all('[placeholder]').each(function(el) {
153
+ var text = el.getAttribute('placeholder');
154
+
155
+ if (!el.get('value') || el.get('value') === text) {
156
+ el.set('value', text).addClass('placeholder_text');
157
+ }
158
+ });
159
+ }
160
+ }
161
+ };
162
+ // Alias window, document.
163
+ })(this, this.document);
164
+
165
+ // Automatically calls all functions in FORMALIZE.init
166
+ Y.on('domready', function() {
167
+ FORMALIZE.go();
168
+ });
@@ -0,0 +1 @@
1
+ var FORMALIZE=(function(f,b,g){var e="placeholder" in b.createElement("input");var c="autofocus" in b.createElement("input");var d="webkitAppearance" in b.createElement("select").style;var a=parseInt(Y.UA.ie,10)===6;var h=parseInt(Y.UA.ie,10)===7;return{go:function(){for(var j in FORMALIZE.init){FORMALIZE.init[j]();}},init:{detect_webkit:function(){if(!d){return;}Y.one("html").addClass("is_webkit");},full_input_size:function(){if(!h||!Y.all("textarea, input.input_full")){return;}Y.all("textarea, input.input_full").each(function(i){var j=Y.Node.create('<span class="input_full_wrap"></span>');j.append(i.replace(j));});},ie6_skin_inputs:function(){if(!a||!Y.all("input, select, textarea")){return;}var i=/button|submit|reset/;var j=/date|datetime|datetime-local|email|month|number|password|range|search|tel|text|time|url|week/;Y.all("input").each(function(k){if(k.getAttribute("type").match(i)){k.addClass("ie6_button");if(k.disabled){k.addClass("ie6_button_disabled");}}else{if(k.getAttribute("type").match(j)){k.addClass("ie6_input");if(k.disabled){k.addClass("ie6_input_disabled");}}}});Y.all("textarea, select").each(function(k){if(k.disabled){k.addClass("ie6_input_disabled");}});},autofocus:function(){if(c||!Y.one("[autofocus]")){return;}Y.one("[autofocus]").focus();},placeholder:function(){if(e||!Y.one("[placeholder]")){return;}FORMALIZE.misc.add_placeholder();Y.all("[placeholder]").each(function(j){var l=j.getAttribute("placeholder");var k=j.ancestor("form");function i(){if(!j.get("value")||j.get("value")===l){j.set("value",l).addClass("placeholder_text");}}j.on("focus",function(){if(j.get("value")===l){j.set("value","").removeClass("placeholder_text");}});j.on("blur",function(){FORMALIZE.misc.add_placeholder();});k.on("submit",function(){if(j.get("value")===l){j.set("value","").removeClass("placeholder_text");}});k.on("reset",function(){setTimeout(FORMALIZE.misc.add_placeholder,50);});});}},misc:{add_placeholder:function(){if(e||!Y.one("[placeholder]")){return;}Y.all("[placeholder]").each(function(i){var j=i.getAttribute("placeholder");if(!i.get("value")||i.get("value")===j){i.set("value",j).addClass("placeholder_text");}});}}};})(this,this.document);Y.on("domready",function(){FORMALIZE.go();});
metadata ADDED
@@ -0,0 +1,130 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: compass_formalize
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Wynn Netherland
14
+ - Nathan Smith
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2011-04-19 00:00:00 -05:00
20
+ default_executable:
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ name: compass
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 55
31
+ segments:
32
+ - 0
33
+ - 10
34
+ - 0
35
+ version: 0.10.0
36
+ type: :runtime
37
+ version_requirements: *id001
38
+ description: Compass and Sass port of Nathan Smith's Formalize HTML form normalizer.
39
+ email:
40
+ - wynn.netherland@gmail.com
41
+ - nathan@sonspring.com
42
+ executables: []
43
+
44
+ extensions: []
45
+
46
+ extra_rdoc_files: []
47
+
48
+ files:
49
+ - .DS_Store
50
+ - .gitignore
51
+ - README.md
52
+ - Rakefile
53
+ - compass_formalize.gemspec
54
+ - lib/compass_formalize.rb
55
+ - stylesheets/_formalize.sass
56
+ - templates/.DS_Store
57
+ - templates/dojo/button.png
58
+ - templates/dojo/dojo.formalize.js
59
+ - templates/dojo/dojo.formalize.min.js
60
+ - templates/dojo/manifest.rb
61
+ - templates/dojo/select_arrow.gif
62
+ - templates/extjs/.DS_Store
63
+ - templates/extjs/button.png
64
+ - templates/extjs/extjs.formalize.js
65
+ - templates/extjs/extjs.formalize.min.js
66
+ - templates/extjs/manifest.rb
67
+ - templates/extjs/select_arrow.gif
68
+ - templates/jquery/.DS_Store
69
+ - templates/jquery/button.png
70
+ - templates/jquery/jquery.formalize.js
71
+ - templates/jquery/jquery.formalize.min.js
72
+ - templates/jquery/manifest.rb
73
+ - templates/jquery/select_arrow.gif
74
+ - templates/mootools/.DS_Store
75
+ - templates/mootools/button.png
76
+ - templates/mootools/manifest.rb
77
+ - templates/mootools/mootools.formalize.js
78
+ - templates/mootools/mootools.formalize.min.js
79
+ - templates/mootools/select_arrow.gif
80
+ - templates/project/manifest.rb
81
+ - templates/prototype/.DS_Store
82
+ - templates/prototype/button.png
83
+ - templates/prototype/manifest.rb
84
+ - templates/prototype/prototype.formalize.js
85
+ - templates/prototype/prototype.formalize.min.js
86
+ - templates/prototype/select_arrow.gif
87
+ - templates/yui/.DS_Store
88
+ - templates/yui/button.png
89
+ - templates/yui/manifest.rb
90
+ - templates/yui/select_arrow.gif
91
+ - templates/yui/yui.formalize.js
92
+ - templates/yui/yui.formalize.min.js
93
+ has_rdoc: false
94
+ homepage: http://github.com/pengwynn/compass_formalize
95
+ licenses: []
96
+
97
+ post_install_message:
98
+ rdoc_options: []
99
+
100
+ require_paths:
101
+ - lib
102
+ required_ruby_version: !ruby/object:Gem::Requirement
103
+ none: false
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ hash: 3
108
+ segments:
109
+ - 0
110
+ version: "0"
111
+ required_rubygems_version: !ruby/object:Gem::Requirement
112
+ none: false
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ hash: 17
117
+ segments:
118
+ - 1
119
+ - 3
120
+ - 5
121
+ version: 1.3.5
122
+ requirements: []
123
+
124
+ rubyforge_project: compass-960-plugin
125
+ rubygems_version: 1.6.2
126
+ signing_key:
127
+ specification_version: 3
128
+ summary: Compass compatible Sass port of Formalize.
129
+ test_files: []
130
+