luca 0.6.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (233) hide show
  1. data/.gitignore +5 -0
  2. data/Gemfile +17 -0
  3. data/Gemfile.lock +77 -0
  4. data/Guardfile +22 -0
  5. data/README.md +291 -0
  6. data/Rakefile +28 -0
  7. data/app.rb +46 -0
  8. data/assets/images/glyphicons-halflings-white.png +0 -0
  9. data/assets/images/glyphicons-halflings.png +0 -0
  10. data/assets/javascripts/dependencies/backbone-min.js +37 -0
  11. data/assets/javascripts/dependencies/backbone-query.min.js +1 -0
  12. data/assets/javascripts/dependencies/bootstrap.min.js +1 -0
  13. data/assets/javascripts/dependencies/jasmine-html.js +190 -0
  14. data/assets/javascripts/dependencies/jasmine.js +2476 -0
  15. data/assets/javascripts/dependencies/jquery.js +4 -0
  16. data/assets/javascripts/dependencies/modal.js +698 -0
  17. data/assets/javascripts/dependencies/modernizr.min.js +30 -0
  18. data/assets/javascripts/dependencies/prettify.js +28 -0
  19. data/assets/javascripts/dependencies/sinon.js +3469 -0
  20. data/assets/javascripts/dependencies/spin-min.js +2 -0
  21. data/assets/javascripts/dependencies/underscore-min.js +31 -0
  22. data/assets/javascripts/dependencies/underscore-string.min.js +14 -0
  23. data/assets/javascripts/dependencies.coffee +7 -0
  24. data/assets/javascripts/luca-ui-base.coffee +12 -0
  25. data/assets/javascripts/luca-ui-spec.coffee +2 -0
  26. data/assets/javascripts/luca-ui.coffee +3 -0
  27. data/assets/javascripts/sandbox/collections/sample.coffee +0 -0
  28. data/assets/javascripts/sandbox/config.coffee +7 -0
  29. data/assets/javascripts/sandbox/sandbox.coffee +16 -0
  30. data/assets/javascripts/sandbox/templates/features/collection_helpers.luca +33 -0
  31. data/assets/javascripts/sandbox/templates/features/form_demo_code.luca +48 -0
  32. data/assets/javascripts/sandbox/templates/features/grid_demo_code.luca +24 -0
  33. data/assets/javascripts/sandbox/templates/features/introduction.luca +11 -0
  34. data/assets/javascripts/sandbox/templates/features/view_helpers.luca +43 -0
  35. data/assets/javascripts/sandbox/templates/navigation.luca +8 -0
  36. data/assets/javascripts/sandbox/views/form_demo.coffee +47 -0
  37. data/assets/javascripts/sandbox/views/grid_demo.coffee +23 -0
  38. data/assets/javascripts/sandbox/views/pages/collection_events_sample.coffee +1 -0
  39. data/assets/javascripts/sandbox/views/pages/pages_controller.coffee +28 -0
  40. data/assets/javascripts/sandbox.coffee +4 -0
  41. data/assets/javascripts/spec-dependencies.coffee +4 -0
  42. data/assets/stylesheets/bootstrap-responsive.min.css +3 -0
  43. data/assets/stylesheets/bootstrap.min.css +610 -0
  44. data/assets/stylesheets/jasmine.css +166 -0
  45. data/assets/stylesheets/luca-ui-bootstrap.css +5 -0
  46. data/assets/stylesheets/luca-ui-spec.css +3 -0
  47. data/assets/stylesheets/luca-ui.css +3 -0
  48. data/assets/stylesheets/prettify.css +40 -0
  49. data/assets/stylesheets/sandbox/sandbox.scss +4 -0
  50. data/assets/stylesheets/sandbox.css +3 -0
  51. data/config.ru +11 -0
  52. data/lib/luca/command_line.rb +69 -0
  53. data/lib/luca/rails/engine.rb +12 -0
  54. data/lib/luca/rails/version.rb +6 -0
  55. data/lib/luca/rails.rb +9 -0
  56. data/lib/luca/template.rb +51 -0
  57. data/lib/luca/test_harness.rb +106 -0
  58. data/lib/luca.rb +1 -0
  59. data/lib/sprockets/luca_template.rb +49 -0
  60. data/lib/templates/spec_manifest_javascripts.erb +7 -0
  61. data/lib/templates/spec_manifest_stylesheets.erb +11 -0
  62. data/luca.gemspec +26 -0
  63. data/public/jasmine/index.html +26 -0
  64. data/public/sandbox/api.js +1 -0
  65. data/spec/components/application_spec.coffee +0 -0
  66. data/spec/components/collection_loader_view_spec.coffee +0 -0
  67. data/spec/components/controller_spec.coffee +0 -0
  68. data/spec/components/form_view_spec.coffee +13 -0
  69. data/spec/components/grid_view_spec.coffee +0 -0
  70. data/spec/components/record_manager_spec.coffee +0 -0
  71. data/spec/components/template_spec.coffee +0 -0
  72. data/spec/containers/card_view_spec.coffee +1 -0
  73. data/spec/containers/column_view_spec.coffee +0 -0
  74. data/spec/containers/modal_view_spec.coffee +0 -0
  75. data/spec/containers/panel_view_spec.coffee +0 -0
  76. data/spec/containers/split_view_spec.coffee +0 -0
  77. data/spec/containers/tab_view_spec.coffee +0 -0
  78. data/spec/containers/viewport_spec.coffee +0 -0
  79. data/spec/core/collection_spec.coffee +215 -0
  80. data/spec/core/container_spec.coffee +0 -0
  81. data/spec/core/field_spec.coffee +0 -0
  82. data/spec/core/observer_spec.coffee +0 -0
  83. data/spec/core/view_spec.coffee +87 -0
  84. data/spec/framework_spec.coffee +48 -0
  85. data/spec/helper.coffee +120 -0
  86. data/spec/managers/collection_manager_spec.coffee +95 -0
  87. data/spec/managers/socket_manager_spec.coffee +0 -0
  88. data/src/components/application.coffee +83 -0
  89. data/src/components/base_toolbar.coffee +16 -0
  90. data/src/components/collection_loader_view.coffee +37 -0
  91. data/src/components/controller.coffee +41 -0
  92. data/src/components/fields/button_field.coffee +40 -0
  93. data/src/components/fields/checkbox_field.coffee +41 -0
  94. data/src/components/fields/file_upload_field.coffee +15 -0
  95. data/src/components/fields/hidden_field.coffee +18 -0
  96. data/src/components/fields/select_field.coffee +100 -0
  97. data/src/components/fields/text_area_field.coffee +43 -0
  98. data/src/components/fields/text_field.coffee +42 -0
  99. data/src/components/fields/type_ahead_field.coffee +10 -0
  100. data/src/components/form_button_toolbar.coffee +26 -0
  101. data/src/components/form_view.coffee +205 -0
  102. data/src/components/grid_view.coffee +208 -0
  103. data/src/components/record_manager.coffee +215 -0
  104. data/src/components/router.coffee +34 -0
  105. data/src/components/template.coffee +19 -0
  106. data/src/containers/card_view.coffee +89 -0
  107. data/src/containers/column_view.coffee +48 -0
  108. data/src/containers/modal_view.coffee +85 -0
  109. data/src/containers/panel_view.coffee +24 -0
  110. data/src/containers/split_view.coffee +12 -0
  111. data/src/containers/tab_view.coffee +77 -0
  112. data/src/containers/viewport.coffee +16 -0
  113. data/src/core/collection.coffee +319 -0
  114. data/src/core/container.coffee +256 -0
  115. data/src/core/field.coffee +68 -0
  116. data/src/core/observer.coffee +17 -0
  117. data/src/core/view.coffee +190 -0
  118. data/src/framework.coffee +110 -0
  119. data/src/index.coffee +255 -0
  120. data/src/managers/collection_manager.coffee +168 -0
  121. data/src/managers/socket_manager.coffee +54 -0
  122. data/src/modules/deferrable.coffee +18 -0
  123. data/src/modules/local_storage.coffee +50 -0
  124. data/src/stylesheets/base.scss +78 -0
  125. data/src/stylesheets/components/form_view.scss +54 -0
  126. data/src/stylesheets/components/grid_view.scss +111 -0
  127. data/src/stylesheets/components/toolbar.scss +15 -0
  128. data/src/stylesheets/containers/container.scss +7 -0
  129. data/src/stylesheets/containers/modal_view.scss +0 -0
  130. data/src/stylesheets/containers/tab_view.scss +33 -0
  131. data/src/stylesheets/normalize.scss +430 -0
  132. data/src/templates/components/bootstrap_form_controls.luca +7 -0
  133. data/src/templates/components/collection_loader_view.luca +5 -0
  134. data/src/templates/components/form_view.luca +15 -0
  135. data/src/templates/components/grid_view.luca +9 -0
  136. data/src/templates/components/grid_view_empty_text.luca +3 -0
  137. data/src/templates/containers/basic.luca +1 -0
  138. data/src/templates/containers/tab_selector_container.luca +8 -0
  139. data/src/templates/containers/tab_view.luca +1 -0
  140. data/src/templates/containers/toolbar_wrapper.luca +1 -0
  141. data/src/templates/fields/button_field.luca +2 -0
  142. data/src/templates/fields/button_field_link.luca +5 -0
  143. data/src/templates/fields/checkbox_field.luca +9 -0
  144. data/src/templates/fields/file_upload_field.luca +8 -0
  145. data/src/templates/fields/hidden_field.luca +1 -0
  146. data/src/templates/fields/select_field.luca +7 -0
  147. data/src/templates/fields/text_area_field.luca +8 -0
  148. data/src/templates/fields/text_field.luca +13 -0
  149. data/src/templates/sample/contents.luca +1 -0
  150. data/src/templates/sample/welcome.luca +1 -0
  151. data/vendor/assets/images/glyphicons-halflings-white.png +0 -0
  152. data/vendor/assets/images/glyphicons-halflings.png +0 -0
  153. data/vendor/assets/javascripts/luca-spec-dependencies.js +6135 -0
  154. data/vendor/assets/javascripts/luca-ui-base.js +1527 -0
  155. data/vendor/assets/javascripts/luca-ui-spec.js +3654 -0
  156. data/vendor/assets/javascripts/luca-ui.js +2763 -0
  157. data/vendor/assets/luca-ui/base.css +85 -0
  158. data/vendor/assets/luca-ui/components/application.js +91 -0
  159. data/vendor/assets/luca-ui/components/base_toolbar.js +23 -0
  160. data/vendor/assets/luca-ui/components/controller.js +38 -0
  161. data/vendor/assets/luca-ui/components/fields/button_field.js +45 -0
  162. data/vendor/assets/luca-ui/components/fields/checkbox_field.js +43 -0
  163. data/vendor/assets/luca-ui/components/fields/file_upload_field.js +20 -0
  164. data/vendor/assets/luca-ui/components/fields/hidden_field.js +20 -0
  165. data/vendor/assets/luca-ui/components/fields/select_field.js +97 -0
  166. data/vendor/assets/luca-ui/components/fields/text_area_field.js +48 -0
  167. data/vendor/assets/luca-ui/components/fields/text_field.js +46 -0
  168. data/vendor/assets/luca-ui/components/fields/type_ahead_field.js +13 -0
  169. data/vendor/assets/luca-ui/components/form_button_toolbar.js +32 -0
  170. data/vendor/assets/luca-ui/components/form_view.css +32 -0
  171. data/vendor/assets/luca-ui/components/form_view.js +207 -0
  172. data/vendor/assets/luca-ui/components/grid_view.css +76 -0
  173. data/vendor/assets/luca-ui/components/grid_view.js +202 -0
  174. data/vendor/assets/luca-ui/components/record_manager.js +207 -0
  175. data/vendor/assets/luca-ui/components/router.js +36 -0
  176. data/vendor/assets/luca-ui/components/template.js +26 -0
  177. data/vendor/assets/luca-ui/components/toolbar.css +11 -0
  178. data/vendor/assets/luca-ui/containers/card_view.js +98 -0
  179. data/vendor/assets/luca-ui/containers/column_view.js +52 -0
  180. data/vendor/assets/luca-ui/containers/container.css +3 -0
  181. data/vendor/assets/luca-ui/containers/modal_view.css +0 -0
  182. data/vendor/assets/luca-ui/containers/modal_view.js +87 -0
  183. data/vendor/assets/luca-ui/containers/panel_view.js +34 -0
  184. data/vendor/assets/luca-ui/containers/split_view.js +13 -0
  185. data/vendor/assets/luca-ui/containers/tab_view.css +16 -0
  186. data/vendor/assets/luca-ui/containers/tab_view.js +80 -0
  187. data/vendor/assets/luca-ui/containers/viewport.js +18 -0
  188. data/vendor/assets/luca-ui/core/collection.js +221 -0
  189. data/vendor/assets/luca-ui/core/container.js +205 -0
  190. data/vendor/assets/luca-ui/core/field.js +59 -0
  191. data/vendor/assets/luca-ui/core/observer.js +42 -0
  192. data/vendor/assets/luca-ui/core/view.js +127 -0
  193. data/vendor/assets/luca-ui/framework.js +110 -0
  194. data/vendor/assets/luca-ui/index.js +5 -0
  195. data/vendor/assets/luca-ui/managers/collection_manager.js +98 -0
  196. data/vendor/assets/luca-ui/managers/socket_manager.js +52 -0
  197. data/vendor/assets/luca-ui/modules/deferrable.js +21 -0
  198. data/vendor/assets/luca-ui/modules/local_storage.js +81 -0
  199. data/vendor/assets/luca-ui/normalize.css +359 -0
  200. data/vendor/assets/luca-ui/stylesheets/base.css +85 -0
  201. data/vendor/assets/luca-ui/stylesheets/components/form_view.css +32 -0
  202. data/vendor/assets/luca-ui/stylesheets/components/grid_view.css +76 -0
  203. data/vendor/assets/luca-ui/stylesheets/components/toolbar.css +11 -0
  204. data/vendor/assets/luca-ui/stylesheets/containers/container.css +3 -0
  205. data/vendor/assets/luca-ui/stylesheets/containers/modal_view.css +0 -0
  206. data/vendor/assets/luca-ui/stylesheets/containers/tab_view.css +16 -0
  207. data/vendor/assets/luca-ui/stylesheets/normalize.css +359 -0
  208. data/vendor/assets/luca-ui/templates/components/bootstrap_form_controls.js +4 -0
  209. data/vendor/assets/luca-ui/templates/components/form_view.js +4 -0
  210. data/vendor/assets/luca-ui/templates/components/grid_view.js +4 -0
  211. data/vendor/assets/luca-ui/templates/components/grid_view_empty_text.js +4 -0
  212. data/vendor/assets/luca-ui/templates/containers/basic.js +4 -0
  213. data/vendor/assets/luca-ui/templates/containers/tab_selector_container.js +4 -0
  214. data/vendor/assets/luca-ui/templates/containers/tab_view.js +4 -0
  215. data/vendor/assets/luca-ui/templates/containers/toolbar_wrapper.js +4 -0
  216. data/vendor/assets/luca-ui/templates/fields/button_field.js +4 -0
  217. data/vendor/assets/luca-ui/templates/fields/button_field_link.js +4 -0
  218. data/vendor/assets/luca-ui/templates/fields/checkbox_field.js +4 -0
  219. data/vendor/assets/luca-ui/templates/fields/file_upload_field.js +4 -0
  220. data/vendor/assets/luca-ui/templates/fields/hidden_field.js +4 -0
  221. data/vendor/assets/luca-ui/templates/fields/select_field.js +4 -0
  222. data/vendor/assets/luca-ui/templates/fields/text_area_field.js +4 -0
  223. data/vendor/assets/luca-ui/templates/fields/text_field.js +4 -0
  224. data/vendor/assets/luca-ui/templates/sample/contents.js +4 -0
  225. data/vendor/assets/luca-ui/templates/sample/welcome.js +4 -0
  226. data/vendor/assets/stylesheets/luca-spec-dependencies.css +166 -0
  227. data/vendor/assets/stylesheets/luca-ui-bootstrap.css +1201 -0
  228. data/vendor/assets/stylesheets/luca-ui-spec.css +586 -0
  229. data/vendor/assets/stylesheets/luca-ui.css +586 -0
  230. data/views/index.erb +20 -0
  231. data/views/jasmine.erb +22 -0
  232. data/views/spec_harness.erb +29 -0
  233. metadata +361 -0
@@ -0,0 +1,359 @@
1
+ /* normalize.css 2011-11-04T15:38 UTC - http://github.com/necolas/normalize.css */
2
+ /* =============================================================================
3
+ HTML5 display definitions
4
+ ========================================================================== */
5
+ /*
6
+ * Corrects block display not defined in IE6/7/8/9 & FF3
7
+ */
8
+ article,
9
+ aside,
10
+ details,
11
+ figcaption,
12
+ figure,
13
+ footer,
14
+ header,
15
+ hgroup,
16
+ nav,
17
+ section {
18
+ display: block; }
19
+
20
+ /*
21
+ * Corrects inline-block display not defined in IE6/7/8/9 & FF3
22
+ */
23
+ audio,
24
+ canvas,
25
+ video {
26
+ display: inline-block;
27
+ *display: inline;
28
+ *zoom: 1; }
29
+
30
+ /*
31
+ * Prevents modern browsers from displaying 'audio' without controls
32
+ */
33
+ audio:not([controls]) {
34
+ display: none; }
35
+
36
+ /*
37
+ * Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4
38
+ * Known issue: no IE6 support
39
+ */
40
+ [hidden] {
41
+ display: none; }
42
+
43
+ /* =============================================================================
44
+ Base
45
+ ========================================================================== */
46
+ /*
47
+ * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
48
+ * http://clagnut.com/blog/348/#c790
49
+ * 2. Keeps page centred in all browsers regardless of content height
50
+ * 3. Prevents iOS text size adjust after orientation change, without disabling user zoom
51
+ * www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
52
+ */
53
+ html {
54
+ font-size: 100%;
55
+ /* 1 */
56
+ overflow-y: scroll;
57
+ /* 2 */
58
+ -webkit-text-size-adjust: 100%;
59
+ /* 3 */
60
+ -ms-text-size-adjust: 100%;
61
+ /* 3 */ }
62
+
63
+ /*
64
+ * Addresses margins handled incorrectly in IE6/7
65
+ */
66
+ body {
67
+ margin: 0; }
68
+
69
+ /*
70
+ * Addresses font-family inconsistency between 'textarea' and other form elements.
71
+ */
72
+ body,
73
+ button,
74
+ input,
75
+ select,
76
+ textarea {
77
+ font-family: sans-serif; }
78
+
79
+ /* =============================================================================
80
+ Links
81
+ ========================================================================== */
82
+ /*
83
+ * Addresses outline displayed oddly in Chrome
84
+ */
85
+ a:focus {
86
+ outline: thin dotted; }
87
+
88
+ /*
89
+ * Improves readability when focused and also mouse hovered in all browsers
90
+ * people.opera.com/patrickl/experiments/keyboard/test
91
+ */
92
+ a:hover,
93
+ a:active {
94
+ outline: 0; }
95
+
96
+ /* =============================================================================
97
+ Typography
98
+ ========================================================================== */
99
+ /*
100
+ * Neutralise smaller font-size in 'section' and 'article' in FF4+, Chrome, S5
101
+ */
102
+ h1 {
103
+ font-size: 2em; }
104
+
105
+ /*
106
+ * Addresses styling not present in IE7/8/9, S5, Chrome
107
+ */
108
+ abbr[title] {
109
+ border-bottom: 1px dotted; }
110
+
111
+ /*
112
+ * Addresses style set to 'bolder' in FF3+, S4/5, Chrome
113
+ */
114
+ b,
115
+ strong {
116
+ font-weight: bold; }
117
+
118
+ blockquote {
119
+ margin: 1em 40px; }
120
+
121
+ /*
122
+ * Addresses styling not present in S5, Chrome
123
+ */
124
+ dfn {
125
+ font-style: italic; }
126
+
127
+ /*
128
+ * Addresses styling not present in IE6/7/8/9
129
+ */
130
+ mark {
131
+ background: #ff0;
132
+ color: #000; }
133
+
134
+ /*
135
+ * Corrects font family set oddly in IE6, S4/5, Chrome
136
+ * en.wikipedia.org/wiki/User:Davidgothberg/Test59
137
+ */
138
+ pre,
139
+ code,
140
+ kbd,
141
+ samp {
142
+ font-family: monospace, serif;
143
+ _font-family: 'courier new', monospace;
144
+ font-size: 1em; }
145
+
146
+ /*
147
+ * Improves readability of pre-formatted text in all browsers
148
+ */
149
+ pre {
150
+ white-space: pre;
151
+ white-space: pre-wrap;
152
+ word-wrap: break-word; }
153
+
154
+ /*
155
+ * 1. Addresses CSS quotes not supported in IE6/7
156
+ * 2. Addresses quote property not supported in S4
157
+ */
158
+ /* 1 */
159
+ q {
160
+ quotes: none; }
161
+
162
+ /* 2 */
163
+ q:before,
164
+ q:after {
165
+ content: '';
166
+ content: none; }
167
+
168
+ small {
169
+ font-size: 75%; }
170
+
171
+ /*
172
+ * Prevents sub and sup affecting line-height in all browsers
173
+ * gist.github.com/413930
174
+ */
175
+ sub,
176
+ sup {
177
+ font-size: 75%;
178
+ line-height: 0;
179
+ position: relative;
180
+ vertical-align: baseline; }
181
+
182
+ sup {
183
+ top: -0.5em; }
184
+
185
+ sub {
186
+ bottom: -0.25em; }
187
+
188
+ /* =============================================================================
189
+ Lists
190
+ ========================================================================== */
191
+ ul,
192
+ ol {
193
+ margin-left: 0;
194
+ padding: 0 0 0 40px; }
195
+
196
+ dd {
197
+ margin: 0 0 0 40px; }
198
+
199
+ nav ul,
200
+ nav ol {
201
+ list-style: none;
202
+ list-style-image: none; }
203
+
204
+ /* =============================================================================
205
+ Embedded content
206
+ ========================================================================== */
207
+ /*
208
+ * 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
209
+ * 2. Improves image quality when scaled in IE7
210
+ * code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
211
+ */
212
+ img {
213
+ border: 0;
214
+ /* 1 */
215
+ -ms-interpolation-mode: bicubic;
216
+ /* 2 */ }
217
+
218
+ /*
219
+ * Corrects overflow displayed oddly in IE9
220
+ */
221
+ svg:not(:root) {
222
+ overflow: hidden; }
223
+
224
+ /* =============================================================================
225
+ Figures
226
+ ========================================================================== */
227
+ /*
228
+ * Addresses margin not present in IE6/7/8/9, S5, O11
229
+ */
230
+ figure {
231
+ margin: 0; }
232
+
233
+ /* =============================================================================
234
+ Forms
235
+ ========================================================================== */
236
+ /*
237
+ * Corrects margin displayed oddly in IE6/7
238
+ */
239
+ form {
240
+ margin: 0; }
241
+
242
+ /*
243
+ * Define consistent border, margin, and padding
244
+ */
245
+ fieldset {
246
+ border: 1px solid #c0c0c0;
247
+ margin: 0 2px;
248
+ padding: 0.35em 0.625em 0.75em; }
249
+
250
+ /*
251
+ * 1. Corrects color not being inherited in IE6/7/8/9
252
+ * 2. Corrects alignment displayed oddly in IE6/7
253
+ */
254
+ legend {
255
+ border: 0;
256
+ /* 1 */
257
+ *margin-left: -7px;
258
+ /* 2 */ }
259
+
260
+ /*
261
+ * 1. Corrects font size not being inherited in all browsers
262
+ * 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome
263
+ * 3. Improves appearance and consistency in all browsers
264
+ */
265
+ button,
266
+ input,
267
+ select,
268
+ textarea {
269
+ font-size: 100%;
270
+ /* 1 */
271
+ margin: 0;
272
+ /* 2 */
273
+ vertical-align: baseline;
274
+ /* 3 */
275
+ *vertical-align: middle;
276
+ /* 3 */ }
277
+
278
+ /*
279
+ * Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet
280
+ */
281
+ button,
282
+ input {
283
+ line-height: normal;
284
+ /* 1 */ }
285
+
286
+ /*
287
+ * 1. Improves usability and consistency of cursor style between image-type 'input' and others
288
+ * 2. Corrects inability to style clickable 'input' types in iOS
289
+ * 3. Removes inner spacing in IE7 without affecting normal text inputs
290
+ * Known issue: inner spacing remains in IE6
291
+ */
292
+ button,
293
+ input[type="button"],
294
+ input[type="reset"],
295
+ input[type="submit"] {
296
+ cursor: pointer;
297
+ /* 1 */
298
+ -webkit-appearance: button;
299
+ /* 2 */
300
+ *overflow: visible;
301
+ /* 3 */ }
302
+
303
+ /*
304
+ * 1. Addresses box sizing set to content-box in IE8/9
305
+ * 2. Removes excess padding in IE8/9
306
+ */
307
+ input[type="checkbox"],
308
+ input[type="radio"] {
309
+ box-sizing: border-box;
310
+ /* 1 */
311
+ padding: 0;
312
+ /* 2 */ }
313
+
314
+ /*
315
+ * 1. Addresses appearance set to searchfield in S5, Chrome
316
+ * 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof)
317
+ */
318
+ input[type="search"] {
319
+ -webkit-appearance: textfield;
320
+ /* 1 */
321
+ -moz-box-sizing: content-box;
322
+ -webkit-box-sizing: content-box;
323
+ /* 2 */
324
+ box-sizing: content-box; }
325
+
326
+ /*
327
+ * Removes inner padding that is displayed in S5, Chrome on OS X
328
+ */
329
+ input[type="search"]::-webkit-search-decoration {
330
+ -webkit-appearance: none; }
331
+
332
+ /*
333
+ * Removes inner padding and border in FF3+
334
+ * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
335
+ */
336
+ button::-moz-focus-inner,
337
+ input::-moz-focus-inner {
338
+ border: 0;
339
+ padding: 0; }
340
+
341
+ /*
342
+ * 1. Removes default vertical scrollbar in IE6/7/8/9
343
+ * 2. Improves readability and alignment in all browsers
344
+ */
345
+ textarea {
346
+ overflow: auto;
347
+ /* 1 */
348
+ vertical-align: top;
349
+ /* 2 */ }
350
+
351
+ /* =============================================================================
352
+ Tables
353
+ ========================================================================== */
354
+ /*
355
+ * Remove most spacing between table cells
356
+ */
357
+ table {
358
+ border-collapse: collapse;
359
+ border-spacing: 0; }
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["components/bootstrap_form_controls"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class=\'form-actions\'>\n <a class=\'btn btn-primary\'>\n <i class=\'icon-ok icon-white\'></i>\n Save Changes\n </a>\n <a class=\'btn\'>\n <i class=\'icon-remove\'></i>\n Cancel\n </a>\n</div>\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["components/form_view"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class=\'luca-ui-form-view-wrapper\' id=\'', cid ,'-wrapper\'>\n <div class=\'form-view-header\'>\n <div class=\'toolbar-container top\' id=\'', cid ,'-top-toolbar-container\'></div>\n </div>\n '); if(legend){ __p.push('\n <fieldset>\n <legend>\n ', legend ,'\n </legend>\n <div class=\'form-view-flash-container\'></div>\n <div class=\'form-view-body\'></div>\n </fieldset>\n '); } else { __p.push('\n <ul class=\'form-view-flash-container\'></ul>\n <div class=\'form-view-body\'></div>\n '); } __p.push('\n <div class=\'form-view-footer\'>\n <div class=\'toolbar-container bottom\' id=\'', cid ,'-bottom-toolbar-container\'></div>\n </div>\n</div>\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["components/grid_view"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class=\'luca-ui-grid-view-wrapper\'>\n <div class=\'grid-view-header\'>\n <div class=\'toolbar-container top\'></div>\n </div>\n <div class=\'grid-view-body\'>\n <table cellpadding=\'0\' cellspacing=\'0\' class=\'luca-ui-grid-view scrollable-table\' width=\'100%\'>\n <thead class=\'fixed\'></thead>\n <tbody class=\'scrollable\'></tbody>\n </table>\n </div>\n <div class=\'grid-view-footer\'>\n <div class=\'toolbar-container bottom\'></div>\n </div>\n</div>\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["components/grid_view_empty_text"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class=\'empty-text-wrapper\'>\n <p>\n ', text ,'\n </p>\n</div>\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["containers/basic"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class=\'', classes ,'\' id=\'', id ,'\' style=\'', style ,'\'></div>\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["containers/tab_selector_container"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class=\'tab-selector-container\' id=\'', cid ,'-tab-selector\'>\n <ul class=\'nav nav-tabs\' id=\'', cid ,'-tabs-nav\'>\n '); for(var i = 0; i < components.length; i++ ) { __p.push('\n '); var component = components[i];__p.push('\n <li class=\'tab-selector\' data-target=\'', i ,'\'>\n <a data-target=\'', i ,'\'>\n ', component.title ,'\n </a>\n </li>\n '); } __p.push('\n </ul>\n</div>\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["containers/tab_view"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class=\'tab-content\' id=\'', cid ,'-tab-view-content\'></div>\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["containers/toolbar_wrapper"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class=\'luca-ui-toolbar-wrapper\' id=\'', id ,'\'></div>\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["fields/button_field"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<label>&nbsp</label>\n<input class=\'btn ', input_class ,'\' id=\'', input_id ,'\' style=\'', inputStyles ,'\' type=\'', input_type ,'\' value=\'', input_value ,'\' />\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["fields/button_field_link"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<a class=\'btn ', input_class ,'\'>\n '); if(icon_class.length) { __p.push('\n <i class=\'', icon_class ,'\'></i>\n '); } __p.push('\n ', input_value ,'\n</a>\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["fields/checkbox_field"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<label for=\'', input_id ,'\'>\n ', label ,'\n <input name=\'', input_name ,'\' style=\'', inputStyles ,'\' type=\'checkbox\' value=\'', input_value ,'\' />\n</label>\n'); if(helperText) { __p.push('\n<p class=\'helper-text help-block\'>\n ', helperText ,'\n</p>\n'); } __p.push('\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["fields/file_upload_field"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<label for=\'', input_id ,'\'>\n ', label ,'\n</label>\n<input id=\'', input_id ,'\' name=\'', input_name ,'\' style=\'', inputStyles ,'\' type=\'file\' />\n'); if(helperText) { __p.push('\n<p class=\'helper-text help-block\'>\n ', helperText ,'\n</p>\n'); } __p.push('\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["fields/hidden_field"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<input id=\'', input_id ,'\' name=\'', input_name ,'\' type=\'hidden\' value=\'', input_value ,'\' />\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["fields/select_field"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<label for=\'', input_id ,'\'>\n ', label ,'\n</label>\n<select id=\'', input_id ,'\' name=\'', input_name ,'\' style=\'', inputStyles ,'\'></select>\n'); if(helperText) { __p.push('\n<p class=\'helper-text help-block\'>\n ', helperText ,'\n</p>\n'); } __p.push('\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["fields/text_area_field"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<label for=\'', input_id ,'\'>\n ', label ,'\n</label>\n<textarea class=\'', input_class ,'\' id=\'', input_id ,'\' name=\'', input_name ,'\' style=\'', inputStyles ,'\'></textarea>\n'); if(helperText) { __p.push('\n<p class=\'helper-text help-block\'>\n ', helperText ,'\n</p>\n'); } __p.push('\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["fields/text_field"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<label class=\'control-label\' for=\'', input_id ,'\'>\n ', label ,'\n</label>\n'); if( typeof(addOn) !== "undefined" ) { __p.push('\n<span class=\'add-on\'>\n ', addOn ,'\n</span>\n'); } __p.push('\n<input id=\'', input_id ,'\' name=\'', input_name ,'\' placeholder=\'', placeHolder ,'\' style=\'', inputStyles ,'\' type=\'text\' />\n'); if(helperText) { __p.push('\n<p class=\'helper-text help-block\'>\n ', helperText ,'\n</p>\n'); } __p.push('\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["sample/contents"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<p>Sample Contents</p>\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,4 @@
1
+ (function() {
2
+ Luca.templates || (Luca.templates = {});
3
+ Luca.templates["sample/welcome"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('welcome.luca\n');}return __p.join('');};
4
+ }).call(this);
@@ -0,0 +1,166 @@
1
+ body {
2
+ font-family: "Helvetica Neue Light", "Lucida Grande", "Calibri", "Arial", sans-serif;
3
+ }
4
+
5
+
6
+ .jasmine_reporter a:visited, .jasmine_reporter a {
7
+ color: #303;
8
+ }
9
+
10
+ .jasmine_reporter a:hover, .jasmine_reporter a:active {
11
+ color: blue;
12
+ }
13
+
14
+ .run_spec {
15
+ float:right;
16
+ padding-right: 5px;
17
+ font-size: .8em;
18
+ text-decoration: none;
19
+ }
20
+
21
+ .jasmine_reporter {
22
+ margin: 0 5px;
23
+ }
24
+
25
+ .banner {
26
+ color: #303;
27
+ background-color: #fef;
28
+ padding: 5px;
29
+ }
30
+
31
+ .logo {
32
+ float: left;
33
+ font-size: 1.1em;
34
+ padding-left: 5px;
35
+ }
36
+
37
+ .logo .version {
38
+ font-size: .6em;
39
+ padding-left: 1em;
40
+ }
41
+
42
+ .runner.running {
43
+ background-color: yellow;
44
+ }
45
+
46
+
47
+ .options {
48
+ text-align: right;
49
+ font-size: .8em;
50
+ }
51
+
52
+
53
+
54
+
55
+ .suite {
56
+ border: 1px outset gray;
57
+ margin: 5px 0;
58
+ padding-left: 1em;
59
+ }
60
+
61
+ .suite .suite {
62
+ margin: 5px;
63
+ }
64
+
65
+ .suite.passed {
66
+ background-color: #dfd;
67
+ }
68
+
69
+ .suite.failed {
70
+ background-color: #fdd;
71
+ }
72
+
73
+ .spec {
74
+ margin: 5px;
75
+ padding-left: 1em;
76
+ clear: both;
77
+ }
78
+
79
+ .spec.failed, .spec.passed, .spec.skipped {
80
+ padding-bottom: 5px;
81
+ border: 1px solid gray;
82
+ }
83
+
84
+ .spec.failed {
85
+ background-color: #fbb;
86
+ border-color: red;
87
+ }
88
+
89
+ .spec.passed {
90
+ background-color: #bfb;
91
+ border-color: green;
92
+ }
93
+
94
+ .spec.skipped {
95
+ background-color: #bbb;
96
+ }
97
+
98
+ .messages {
99
+ border-left: 1px dashed gray;
100
+ padding-left: 1em;
101
+ padding-right: 1em;
102
+ }
103
+
104
+ .passed {
105
+ background-color: #cfc;
106
+ display: none;
107
+ }
108
+
109
+ .failed {
110
+ background-color: #fbb;
111
+ }
112
+
113
+ .skipped {
114
+ color: #777;
115
+ background-color: #eee;
116
+ display: none;
117
+ }
118
+
119
+
120
+ /*.resultMessage {*/
121
+ /*white-space: pre;*/
122
+ /*}*/
123
+
124
+ .resultMessage span.result {
125
+ display: block;
126
+ line-height: 2em;
127
+ color: black;
128
+ }
129
+
130
+ .resultMessage .mismatch {
131
+ color: black;
132
+ }
133
+
134
+ .stackTrace {
135
+ white-space: pre;
136
+ font-size: .8em;
137
+ margin-left: 10px;
138
+ max-height: 5em;
139
+ overflow: auto;
140
+ border: 1px inset red;
141
+ padding: 1em;
142
+ background: #eef;
143
+ }
144
+
145
+ .finished-at {
146
+ padding-left: 1em;
147
+ font-size: .6em;
148
+ }
149
+
150
+ .show-passed .passed,
151
+ .show-skipped .skipped {
152
+ display: block;
153
+ }
154
+
155
+
156
+ #jasmine_content {
157
+ position:fixed;
158
+ right: 100%;
159
+ }
160
+
161
+ .runner {
162
+ border: 1px solid gray;
163
+ display: block;
164
+ margin: 5px 0;
165
+ padding: 2px 0 2px 10px;
166
+ }