underoos 1.0.0 → 1.1.0

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 (140) hide show
  1. data/Gemfile +5 -0
  2. data/Gemfile.lock +21 -7
  3. data/README.md +85 -10
  4. data/Rakefile +36 -1
  5. data/app/assets/javascripts/docs.js +6 -0
  6. data/app/assets/javascripts/styleguide.coffee +162 -0
  7. data/app/assets/javascripts/underoos.js +0 -1
  8. data/app/assets/stylesheets/base/_base.sass +14 -0
  9. data/app/assets/stylesheets/base/_buttons.sass +68 -0
  10. data/app/assets/stylesheets/base/_forms.sass +313 -24
  11. data/app/assets/stylesheets/base/_helpers.sass +27 -13
  12. data/app/assets/stylesheets/base/_normalize.sass +17 -9
  13. data/app/assets/stylesheets/base/_scaffold.sass +85 -0
  14. data/app/assets/stylesheets/base/_tables.sass +77 -0
  15. data/app/assets/stylesheets/base/_transitions.sass +10 -2
  16. data/app/assets/stylesheets/base/_typography.sass +183 -21
  17. data/app/assets/stylesheets/components/_accordions.sass +38 -0
  18. data/app/assets/stylesheets/components/_breadcrumbs.sass +19 -5
  19. data/app/assets/stylesheets/components/_button-groups.sass +43 -0
  20. data/app/assets/stylesheets/components/_carets.sass +13 -2
  21. data/app/assets/stylesheets/components/_carousels.sass +32 -0
  22. data/app/assets/stylesheets/components/_close.sass +15 -2
  23. data/app/assets/stylesheets/components/_components.sass +28 -0
  24. data/app/assets/stylesheets/components/_decals.sass +14 -0
  25. data/app/assets/stylesheets/components/_dropdowns.sass +88 -4
  26. data/app/assets/stylesheets/components/_media.sass +36 -0
  27. data/app/assets/stylesheets/components/_modals.sass +29 -0
  28. data/app/assets/stylesheets/components/_nav-lists.sass +20 -0
  29. data/app/assets/stylesheets/components/_navbars.sass +64 -3
  30. data/app/assets/stylesheets/components/_notifications.sass +112 -16
  31. data/app/assets/stylesheets/components/_paddles.sass +26 -0
  32. data/app/assets/stylesheets/components/_pagination.sass +23 -3
  33. data/app/assets/stylesheets/components/_pills.sass +80 -0
  34. data/app/assets/stylesheets/components/_popovers.sass +28 -0
  35. data/app/assets/stylesheets/components/_progress-bars.sass +33 -1
  36. data/app/assets/stylesheets/components/_tabs.sass +79 -0
  37. data/app/assets/stylesheets/components/_tooltips.sass +26 -0
  38. data/app/assets/stylesheets/components/_wells.sass +9 -0
  39. data/app/assets/stylesheets/layouts/_containers.sass +12 -0
  40. data/app/assets/stylesheets/layouts/_layouts.sass +5 -0
  41. data/app/assets/stylesheets/layouts/_print.sass +5 -1
  42. data/app/assets/stylesheets/layouts/_queries.sass +18 -15
  43. data/app/assets/stylesheets/layouts/_upgrades.sass +51 -40
  44. data/app/assets/stylesheets/mixins/_arrows.sass +13 -1
  45. data/app/assets/stylesheets/mixins/_clearfixins.sass +18 -4
  46. data/app/assets/stylesheets/mixins/_coloring.sass +10 -1
  47. data/app/assets/stylesheets/mixins/_columns.sass +16 -3
  48. data/app/assets/stylesheets/mixins/_conversions.sass +18 -6
  49. data/app/assets/stylesheets/mixins/_font-size.sass +16 -1
  50. data/app/assets/stylesheets/mixins/_image-tools.sass +12 -1
  51. data/app/assets/stylesheets/mixins/_inline-block.sass +21 -0
  52. data/app/assets/stylesheets/mixins/_ir.sass +14 -1
  53. data/app/assets/stylesheets/mixins/_mixins.sass +6 -0
  54. data/app/assets/stylesheets/mixins/_responsive.sass +16 -0
  55. data/app/assets/stylesheets/mixins/_sticky-footer.sass +52 -0
  56. data/app/assets/stylesheets/mixins/_tab-focus.sass +8 -1
  57. data/app/assets/stylesheets/mixins/_timing-equations.sass +34 -1
  58. data/app/assets/stylesheets/mixins/_visibility.sass +18 -5
  59. data/app/assets/stylesheets/polyfills/_box-shadow.sass +10 -0
  60. data/app/assets/stylesheets/polyfills/_box-sizing.sass +10 -1
  61. data/app/assets/stylesheets/polyfills/_functions.sass +14 -1
  62. data/app/assets/stylesheets/polyfills/_opacity.sass +10 -1
  63. data/app/assets/stylesheets/polyfills/_polyfills.sass +9 -2
  64. data/app/assets/stylesheets/polyfills/_transition.sass +10 -0
  65. data/app/assets/stylesheets/polyfills/_user-select.sass +10 -0
  66. data/app/assets/stylesheets/settings/_config.sass +26 -0
  67. data/app/assets/stylesheets/settings/_settings.sass +7 -0
  68. data/app/assets/stylesheets/settings/_theme.sass +189 -0
  69. data/app/assets/stylesheets/{styleguide.sass → underoos-docs.sass} +20 -116
  70. data/app/assets/stylesheets/underoos.sass +5 -16
  71. data/config.ru +1 -3
  72. data/features/generator.feature +13 -4
  73. data/lib/generators/underoos/assets_generator.rb +4 -2
  74. data/lib/underoos/version.rb +1 -1
  75. data/public/images.html +157 -0
  76. data/public/index.html +149 -0
  77. data/public/sherpa.css +306 -0
  78. data/public/styles.html +5374 -0
  79. data/script/javascripts +0 -1
  80. data/sherpa/config.yml +96 -0
  81. data/sherpa/layouts/images.mustache +17 -0
  82. data/sherpa/layouts/layout.mustache +77 -0
  83. data/sherpa/layouts/overview.mustache +19 -0
  84. data/sherpa/layouts/raw.mustache +25 -0
  85. data/sherpa/layouts/section.mustache +67 -0
  86. data/underoos.gemspec +0 -2
  87. data/vendor/assets/javascripts/bootstrap-alert.js +28 -32
  88. data/vendor/assets/javascripts/bootstrap-button.js +29 -33
  89. data/vendor/assets/javascripts/bootstrap-collapse.js +45 -26
  90. data/vendor/assets/javascripts/bootstrap-dropdown.js +18 -10
  91. data/vendor/assets/javascripts/bootstrap-modal.js +25 -17
  92. data/vendor/assets/javascripts/bootstrap-popover.js +13 -10
  93. data/vendor/assets/javascripts/bootstrap-tab.js +12 -7
  94. data/vendor/assets/javascripts/bootstrap-tooltip.js +40 -35
  95. data/vendor/assets/javascripts/bootstrap-transition.js +30 -20
  96. data/vendor/assets/javascripts/bootstrap-typeahead.js +24 -10
  97. data/vendor/assets/javascripts/sherpa.coffee +78 -0
  98. metadata +34 -75
  99. data/app/assets/javascripts/styleguide.js +0 -132
  100. data/app/assets/stylesheets/base/_elements.sass +0 -61
  101. data/app/assets/stylesheets/polyfills/_inline-block.sass +0 -8
  102. data/app/assets/stylesheets/themes/_default.sass +0 -119
  103. data/app/controllers/underoos/styleguides_controller.rb +0 -79
  104. data/app/views/shared/_upgrades.html.haml +0 -12
  105. data/app/views/underoos/styleguides/_assets.haml +0 -42
  106. data/app/views/underoos/styleguides/_components.haml +0 -42
  107. data/app/views/underoos/styleguides/_elements.haml +0 -242
  108. data/app/views/underoos/styleguides/_forms.haml +0 -305
  109. data/app/views/underoos/styleguides/_layouts.haml +0 -76
  110. data/app/views/underoos/styleguides/_palettes.haml +0 -18
  111. data/app/views/underoos/styleguides/_resources.haml +0 -27
  112. data/app/views/underoos/styleguides/_tables.haml +0 -124
  113. data/app/views/underoos/styleguides/_typography.haml +0 -284
  114. data/app/views/underoos/styleguides/_utilities.haml +0 -270
  115. data/app/views/underoos/styleguides/components/_accordions.haml +0 -83
  116. data/app/views/underoos/styleguides/components/_breadcrumbs.haml +0 -42
  117. data/app/views/underoos/styleguides/components/_button-groups.haml +0 -162
  118. data/app/views/underoos/styleguides/components/_carets.haml +0 -28
  119. data/app/views/underoos/styleguides/components/_close.haml +0 -20
  120. data/app/views/underoos/styleguides/components/_decals.haml +0 -40
  121. data/app/views/underoos/styleguides/components/_dropdowns.haml +0 -189
  122. data/app/views/underoos/styleguides/components/_media.haml +0 -78
  123. data/app/views/underoos/styleguides/components/_modals.haml +0 -42
  124. data/app/views/underoos/styleguides/components/_nav-lists.haml +0 -52
  125. data/app/views/underoos/styleguides/components/_navbars.haml +0 -144
  126. data/app/views/underoos/styleguides/components/_navs-showcase.haml +0 -27
  127. data/app/views/underoos/styleguides/components/_notifications.haml +0 -169
  128. data/app/views/underoos/styleguides/components/_paddles.haml +0 -68
  129. data/app/views/underoos/styleguides/components/_pagination.haml +0 -64
  130. data/app/views/underoos/styleguides/components/_popovers.haml +0 -33
  131. data/app/views/underoos/styleguides/components/_progress-bars.haml +0 -72
  132. data/app/views/underoos/styleguides/components/_tabs-pills.haml +0 -241
  133. data/app/views/underoos/styleguides/components/_tooltips.haml +0 -37
  134. data/app/views/underoos/styleguides/components/_wells.haml +0 -29
  135. data/app/views/underoos/styleguides/index.html.haml +0 -259
  136. data/app/views/underoos/styleguides/partials/_form-template.haml +0 -171
  137. data/app/views/underoos/styleguides/partials/_table-data.haml +0 -33
  138. data/app/views/underoos/styleguides/partials/_transitions.haml +0 -136
  139. data/config/routes.rb +0 -3
  140. data/vendor/assets/javascripts/bootstrap-scrollspy.js +0 -125
@@ -1,42 +0,0 @@
1
-
2
- #components_buttongroups.sg-spy-landing
3
- = render :partial => 'underoos/styleguides/components/button-groups'
4
- #components_dropdowns.sg-spy-landing
5
- = render :partial => 'underoos/styleguides/components/dropdowns'
6
- #components_tabs_pills.sg-spy-landing
7
- = render :partial => 'underoos/styleguides/components/tabs-pills'
8
- #components_nav_lists.sg-spy-landing
9
- = render :partial => 'underoos/styleguides/components/nav-lists'
10
- #components_breadcrumbs.sg-spy-landing
11
- = render :partial => 'underoos/styleguides/components/breadcrumbs'
12
- #components_pagination.sg-spy-landing
13
- = render :partial => 'underoos/styleguides/components/pagination'
14
- #components_navs_showcase.sg-spy-landing
15
- = render :partial => 'underoos/styleguides/components/navs-showcase'
16
- #components_accordions.sg-spy-landing
17
- = render :partial => 'underoos/styleguides/components/accordions'
18
- #components_navbars.sg-spy-landing
19
- = render :partial => 'underoos/styleguides/components/navbars'
20
- #components_paddles.sg-spy-landing
21
- = render :partial => 'underoos/styleguides/components/paddles'
22
- #components_modals.sg-spy-landing
23
- = render :partial => 'underoos/styleguides/components/modals'
24
- #components_notifications.sg-spy-landing
25
- = render :partial => 'underoos/styleguides/components/notifications'
26
- #components_decals.sg-spy-landing
27
- = render :partial => 'underoos/styleguides/components/decals'
28
- #components_tooltips.sg-spy-landing
29
- = render :partial => 'underoos/styleguides/components/tooltips'
30
- #components_popovers.sg-spy-landing
31
- = render :partial => 'underoos/styleguides/components/popovers'
32
- #components_progress_bars.sg-spy-landing
33
- = render :partial => 'underoos/styleguides/components/progress-bars'
34
- #components_carets.sg-spy-landing
35
- = render :partial => 'underoos/styleguides/components/carets'
36
- #components_close.sg-spy-landing
37
- = render :partial => 'underoos/styleguides/components/close'
38
- #components_wells.sg-spy-landing
39
- = render :partial => 'underoos/styleguides/components/wells'
40
- #components_media.sg-spy-landing
41
- = render :partial => 'underoos/styleguides/components/media'
42
-
@@ -1,242 +0,0 @@
1
-
2
- #elements_basenav.sg-spy-landing
3
- .sg-subsection
4
- %h3.sg-subheading Base nav <span>elements.sass</span>
5
- .sg-half.pull
6
- %p The base nav is generally the first class in the list for components like tabs, pills, breadcrumbs, pagination and navigation lists. Use this class as a building block for custom navigation systems.
7
- %pre.prettyprint.html
8
- = preserve do
9
- :escaped
10
- <nav>
11
- <ol class="nav">
12
- <li><a href="#">Nav 1</a></li>
13
- <li><a href="#">Nav 2</a></li>
14
- <li class="active"><a href="#">Active</a></li>
15
- <li><a href="#">Nav 4</a></li>
16
- </ul>
17
- </nav>
18
- %pre.prettyprint.haml.hidden
19
- = preserve do
20
- :escaped
21
- %nav
22
- %ol.nav
23
- %li
24
- %a(href="#") Nav 1
25
- %li
26
- %a(href="#") Nav 2
27
- %li.active
28
- %a(href="#") Active
29
- %li
30
- %a(href="#") Nav 4
31
- .sg-half.push
32
- .well
33
- %nav
34
- %ol.nav
35
- %li
36
- %a(href="#") Nav 1
37
- %li
38
- %a(href="#") Nav 2
39
- %li.active
40
- %a(href="#") Active
41
- %li
42
- %a(href="#") Nav 4
43
- .well
44
- %nav
45
- %ol.nav.inline
46
- %li
47
- %a(href="#") Nav 1
48
- %li
49
- %a(href="#") Nav 2
50
- %li.active
51
- %a(href="#") Active
52
- %li
53
- %a(href="#") Nav 4
54
- .sg-subsection
55
- .sg-half.pull
56
- .notification.warning.fade.in
57
- %p <strong>Warning!</strong> All navigation components depend on this class being attached to the container element
58
- .sg-half.push
59
- .notification.important.fade.in
60
- %p <strong>Note!</strong> For convenience, add the <code>inline</code> class to the <code>.nav</code> element to display the base nav as, well inline
61
-
62
- #elements_buttons.sg-spy-landing
63
- .sg-subsection
64
- %h3.sg-subheading Buttons <span>elements.sass, button-btn-mixin.sass</span>
65
- %table.box.banded.thead-decorate
66
- %thead
67
- %tr
68
- %th Button
69
- %th Class
70
- %th Description
71
- %tbody
72
- %tr
73
- %td <button class="btn">Default</button>
74
- %td <code>.btn</code>
75
- %td The default button is typically used in forms
76
- %tr
77
- %td <button class="btn info">Info</button>
78
- %td <code>.btn.info</code>
79
- %td The info button is an alternate to the default button
80
- %tr
81
- %td <button class="btn important">Important</button>
82
- %td <code>.btn.important</code>
83
- %td The important button is used to showcase a primary action
84
- %tr
85
- %td <button class="btn success">Success</button>
86
- %td <code>.btn.success</code>
87
- %td The success button indicates a successful or positive action
88
- %tr
89
- %td <button class="btn warning">Warning</button>
90
- %td <code>.btn.warning</code>
91
- %td The warning button indicates caution should be taken with this action
92
- %tr
93
- %td <button class="btn danger">Danger</button>
94
- %td <code>.btn.danger</code>
95
- %td The danger button indicates a dangerous or potentially negative action
96
- %tr
97
- %td <button class="btn primary">Primary</button>
98
- %td <code>.btn.primary</code>
99
- %td The primary button is based off of the CI settings within the application
100
- .sg-subsection
101
- .sg-half.pull
102
- %h4 About these buttons
103
- %p As a convention, buttons should only be used for actions while hyperlinks are to be used for objects. For instance, "Download" should be a button while "recent activity" should be a link.
104
- %br
105
- %p Button styles can be applied to anything with the <code>.btn</code> class. Typically you'll want to apply these to only <code>&lt;a&gt;</code> and <code>&lt;button&gt;</code> elements or <code>input</code> button elements.
106
- .sg-half.push
107
- %h4 The structure
108
- %pre.prettyprint.html
109
- = preserve do
110
- :escaped
111
- <button class="btn">Default</button>
112
- <button class="btn important">Important</button>
113
-
114
- <a class="btn">Default</a>
115
- <a class="btn important">Important</a>
116
-
117
- <input class="btn" type="submit" value="Submit"></input>
118
- <input class="btn" type="reset" value="Reset"></input>
119
- %pre.prettyprint.haml.hidden
120
- = preserve do
121
- :escaped
122
- %button.btn Default
123
- %button.btn.important Important
124
-
125
- %a.btn Default
126
- %a.btn.important Important
127
-
128
- %input.btn(type="submit" value="Submit")
129
- %input.btn(type="reset" value="Reset")
130
- .sg-subsection(style="margin-top:2.5em")
131
- .sg-half.pull
132
- %h4 Links render different
133
- %p <code>a</code> elements have <code>font-style:bold</code>
134
- %br
135
- .well
136
- %button.btn(href="#") Button
137
- %a.btn(href="#") Link
138
- %button.btn.primary(href="#") Button
139
- %a.btn.primary(href="#") Link
140
- %input.submit.btn(name="submit" type="submit" value="Input Submit")
141
- %input.reset.btn.primary(name="reset" type="reset" value="Input Reset")
142
-
143
- %br
144
- %h4 Sizing
145
- %p Add either <code>.small</code> or <code>.large</code> class to change the size
146
- %br
147
- .well
148
- %button.btn.small(href="#") Small
149
- %button.btn.large(href="#") Large
150
- %button.btn.primary.small(href="#") Small
151
- %button.btn.primary.large(href="#") Large
152
-
153
- .sg-half.push
154
- %h4 Disabled states
155
- %p Add the <code>.disabled</code> class or <code>:disabled</code> attribute
156
- %br
157
- .well
158
- %button.btn(href="#" disabled) Button
159
- %a.btn.disabled(href="#") Link
160
- %button.btn.primary(href="#" disabled) Button
161
- %a.btn.primary.disabled(href="#") Link
162
-
163
- %br
164
- %h4 Error states
165
- %p Applied by adding the <code>.error</code> class
166
- %br
167
- .well
168
- %button.btn.error(href="#") Button
169
- %a.btn.error(href="#") Link
170
- %button.btn.primary.error(href="#") Button
171
- %a.btn.primary.error(href="#") Link
172
-
173
-
174
-
175
- #elements_images.sg-spy-landing
176
- .sg-subsection
177
- %h3.sg-subheading Images <span>elements.sass</span>
178
- .sg-half.pull
179
- %h4 Standard image element
180
- %p Images by default have the style setting of <code>max-width:100%</code> applied to allow scaling in a fluid grid.
181
- %pre.prettyprint.html
182
- = preserve do
183
- :escaped
184
- <img src="http://placehold.it/160x90" alt="image"/>
185
- %pre.prettyprint.haml.hidden
186
- = preserve do
187
- :escaped
188
- %img(src="http://placehold.it/160x90" alt="image")
189
- .sg-half.push
190
- .well
191
- %img(src="http://placehold.it/160x90" alt="image")
192
- .sg-subsection
193
- .sg-half.pull
194
- %h4 The figure element
195
- %p The <code>figure</code> element represents self-contained content, frequently with a <code>figcaption</code>. Typically used with images, illustrations, diagrams, or code snippets, referenced in the main text.
196
- %pre.prettyprint.html
197
- = preserve do
198
- :escaped
199
- <figure>
200
- <img src="http://placehold.it/160x90" alt="image"/>
201
- <figcaption>caption</figcaption>
202
- </figure>
203
- %pre.prettyprint.haml.hidden
204
- = preserve do
205
- :escaped
206
- %figure
207
- %img(src="http://placehold.it/160x90" alt="image")
208
- %figcaption>caption
209
- .sg-half.push
210
- %br
211
- .well
212
- %figure
213
- %img(src="http://placehold.it/160x90" alt="image")
214
- %figcaption <small>placehold.it</small>
215
-
216
-
217
- #elements_video.sg-spy-landing
218
- .sg-subsection
219
- %h3.sg-subheading Video <span>elements.sass</span>
220
- .sg-half.pull
221
- %p Standard video, controls, and poster image utilizing the <code>video</code> tag. Nothing special is done to the <code>video</code> element, just make sure to include a poster image and the appropriate sources!
222
- %pre.prettyprint.html
223
- = preserve do
224
- :escaped
225
- <video controls="" poster="...">
226
- <source src="video.mp4" type="video/mp4; codecs=\"...\"">
227
- <source src="video.ogv" type="video/ogg; codecs=\"...\"">
228
- </video>
229
- %pre.prettyprint.haml.hidden
230
- = preserve do
231
- :escaped
232
- %video(controls="" poster="...")
233
- %source(src="video.mp4" type="video/mp4; codecs=\"...\"")
234
- %source(src="video.ogv" type="video/ogg; codecs=\"...\"")
235
- .notification.important.fade.in
236
- %p <strong>Note!</strong> More information on the <a href="http://dochub.io/#html/video">video element</a>.
237
- .sg-half.push
238
- .well
239
- %video(controls="" poster="http://placehold.it/320x180&text=Poster")
240
- %source(src="/path/to/myvideo.mp4" type="video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"")
241
- %source(src="/path/to/myvideo.ogv" type="video/ogg; codecs=\"theora, vorbis\"")
242
-
@@ -1,305 +0,0 @@
1
-
2
- #forms_type.sg-spy-landing
3
- .sg-subsection
4
- %table.box.banded.thead-decorate
5
- %thead
6
- %tr
7
- %th Name
8
- %th Class
9
- %th Description
10
- %tfoot
11
- %tr
12
- %td(colspan="3") Apply the class directly on the <code>form</code> element
13
- %tbody
14
- %tr
15
- %td
16
- %strong Vertical
17
- %td(style="color: #999;") <em>not required</em>
18
- %td Stacked label, controls and hints
19
- %tr
20
- %td
21
- %strong Horizontal
22
- %td <code>.form-horizontal</code>
23
- %td Labels and controls on the same line, stacked hints
24
- %tr
25
- %td
26
- %strong Inline
27
- %td <code>.form-inline</code>
28
- %td All controls on the same line
29
- %tr
30
- %td
31
- %strong Search
32
- %td <code>.form-search</code>
33
- %td Similar to inline, but targets a search field
34
-
35
- #forms_example.sg-spy-landing
36
- .sg-subsection
37
- %h3.sg-subheading Example forms <span>forms.sass</span>
38
- .sg-quarter.pull
39
- %h4 Basic form
40
- %p Small sample of form control elements using the default layout.
41
- .sg-threequarter.push
42
- %form.well.dark
43
- %ol
44
- %li
45
- %label.label(for="example_url") Domain Name<abbr title="required">*</abbr>
46
- %input.input-medium(id="example_url" type="url" name="example[url]" placeholder="www.example.com")
47
- %p.hint Enter your domain name!
48
- %li.boolean
49
- %label(for="example_check" name="example[check]")
50
- %input(id="example_check" name="example[check]" type="checkbox" value="0")
51
- Check this box!
52
- %li.form-actions.dark
53
- %button.btn(type="submit") Submit
54
-
55
- .sg-subsection
56
- .sg-quarter.pull
57
- %h4 Search form
58
- %p Add the class <code>search-query</code> to input elements for rounded corners.
59
- .sg-threequarter.push
60
- %form.form-search.well.dark
61
- %ol
62
- %li
63
- %input.search-query.input-small(type="search" name="test[search]" placeholder="google")
64
- %button.btn(type="submit") Search
65
-
66
- .sg-subsection
67
- .sg-quarter.pull
68
- %h4 Inline form
69
- %p Use the inline form for small forms needing a compact style.
70
- .sg-threequarter.push
71
- %form.form-inline.well.dark
72
- %ol
73
- %li
74
- %input.input-small(type="email" name="test[email]" placeholder="email")
75
- %input.input-small(type="password" name="test[password]" placeholder="password")
76
- %button.btn(type="submit") Go
77
-
78
- #forms_vertical.sg-spy-landing
79
- .sg-subsection
80
- %h3.sg-subheading Vertical form
81
- %form
82
- = render :partial => 'underoos/styleguides/partials/form-template', :locals => {:uid => "vert_", :legend => 'I am Legend', :state => "", :disabled => "", :dark => ""}
83
-
84
- #forms_horizontal.sg-spy-landing
85
- .sg-subsection
86
- %h3.sg-subheading Horizontal form
87
- %form.form-horizontal.well.dark
88
- = render :partial => 'underoos/styleguides/partials/form-template', :locals => {:uid => "horz_", :legend => 'Legend, starring Tom Cruise', :state => "", :disabled => "", :dark => "dark"}
89
- .notification.important.fade.in
90
- %p <strong>Tip!</strong> Add one of the <code>.well</code> classes to the <code>form</code> element to contain it from other items on the page
91
-
92
- #forms_structure.sg-spy-landing
93
- .sg-subsection
94
- %h3.sg-subheading Form structure
95
- %p Forms are built around the structure output from <a href="https://github.com/justinfrench/formtastic">formtastic</a>.
96
- %pre.prettyprint.html
97
- = preserve do
98
- :escaped
99
- <form class="form-horizontal well dark">
100
- <ol>
101
- <li>
102
- <label class="label" for="example_url">Domain Name<abbr title="required">*</abbr></label>
103
- <input class="input-medium" id="example_url" name="example[url]" placeholder="www.example.com" type="url">
104
- <p class="hint">Enter your domain name!</p>
105
- </li>
106
- <li class="boolean">
107
- <label for="example_check" name="example[check]">
108
- <input id="example_check" name="example[check]" type="checkbox" value="0">
109
- Check this box!
110
- </label>
111
- </li>
112
- <li class="form-actions dark">
113
- <button class="btn" type="submit">Submit</button>
114
- </li>
115
- </ol>
116
- </form>
117
- %pre.haml.hidden
118
- = preserve do
119
- :escaped
120
- %form.form-horizontal.well.dark
121
- %ol
122
- %li
123
- %label.label(for="example_url")
124
- Domain Name
125
- %abbr(title="required") *
126
- %input#example_url.input-medium(name="example[url]" placeholder="www.example.com" type="url")
127
- %p.hint Enter your domain name!
128
- %li.boolean
129
- %label(for="example_check" name="example[check]")
130
- %input#example_check(name="example[check]" type="checkbox" value="0") Check this box!
131
- %li.form-actions dark
132
- %button.btn(type="submit") Submit
133
-
134
- #forms_state.sg-spy-landing
135
- .sg-subsection
136
- %h3.sg-subheading Form states
137
- .sg-half.pull
138
- %form.form-horizontal.well
139
- = render :partial => 'underoos/styleguides/partials/form-template', :locals => {:uid => "disabled_", :legend => 'Disabled states', :state => "", :disabled => "disabled", :dark => ""}
140
- .notification.important.fade.in
141
- %p <strong>Note!</strong> Add <code>.disable</code> to the <code>li</code> and a <code>disable</code> attribute to form controls
142
- .sg-half.push
143
- %form.form-horizontal.well
144
- = render :partial => 'underoos/styleguides/partials/form-template', :locals => {:uid => "errors_", :legend => 'Error states', :state => "error", :disabled => "", :dark => ""}
145
- .notification.important.fade.in
146
- %p <strong>Note!</strong> Add the <code>.error</code> class to the <code>li</code> for the problem element
147
-
148
- .sg-subsection
149
- .sg-half.pull
150
- %form.form-horizontal.well
151
- = render :partial => 'underoos/styleguides/partials/form-template', :locals => {:uid => "warn_", :legend => 'Warning states', :state => "warning", :disabled => "", :dark => ""}
152
- .notification.important.fade.in
153
- %p <strong>Note!</strong> Add the <code>.warning</code> class to the <code>li</code> for the problem element
154
- .sg-half.push
155
- %form.form-horizontal.well
156
- = render :partial => 'underoos/styleguides/partials/form-template', :locals => {:uid => "success_", :legend => 'Success states', :state => "success", :disabled => "", :dark => ""}
157
- .notification.important.fade.in
158
- %p <strong>Note!</strong> Add the <code>.success</code> class to the <code>li</code> for the winning element
159
-
160
- #forms_inputs.sg-spy-landing
161
- .sg-subsection
162
- %h3.sg-subheading Additional input controls
163
- %table.box.banded.thead-decorate
164
- %thead
165
- %tr
166
- %th Control
167
- %th Type
168
- %th Description
169
- %tfoot
170
- %tr
171
- %td(colspan="3") Descriptions courtesy <a href="https://developer.mozilla.org">Mozilla Developer Network</a>
172
- %tbody
173
- %tr
174
- %td
175
- %input.input-xlarge(type="email" name="email" placeholder="name@example.com")
176
- %td <code>email</code>
177
- %td Text field for editing an e-mail address, <code>:valid</code> and <code>:invalid</code> pseudo-classes are applied
178
- %tr
179
- %td
180
- %input.input-xlarge(type="password" name="password" placeholder="password")
181
- %td <code>password</code>
182
- %td A single-line text field whose value is obscured
183
- %tr
184
- %td
185
- %input.input-xlarge(type="url" name="url" placeholder="www.example.com")
186
- %td <code>url</code>
187
- %td Text field for editing a URL, <code>:valid</code> and <code>:invalid</code> pseudo-classes are applied
188
- %tr
189
- %td
190
- %input.input-xlarge(type="tel" name="tel" placeholder="303-867-5309")
191
- %td <code>tel</code>
192
- %td Text field for entering a telephone number, <code>:valid</code> and <code>:invalid</code> pseudo-classes are applied
193
- %tr
194
- %td
195
- %input.input-xlarge(type="datetime" name="datetime" placeholder="2012-01-29 12:06:23:21")
196
- %td <code>datetime</code>
197
- %td Date and time control with the time zone set to UTC
198
- %tr
199
- %td
200
- %input.input-xlarge(type="datetime-local" name="datetime-local" placeholder="2012-01-29 12:06:23:21")
201
- %td <code>datetime-local</code>
202
- %td Date and time control with no time zone
203
- %tr
204
- %td
205
- %input.input-xlarge(type="time" name="time" placeholder="12:06:23:21")
206
- %td <code>time</code>
207
- %td Time control with no time zone
208
- %tr
209
- %td
210
- %input.input-xlarge(type="date" name="date" placeholder="2012-01-29")
211
- %td <code>date</code>
212
- %td Date control with no time zone
213
- %tr
214
- %td
215
- %input.input-xlarge(type="month" name="month" placeholder="2012-01")
216
- %td <code>month</code>
217
- %td Date control consisting of a year and a month with no time zone
218
- %tr
219
- %td
220
- %input.input-xlarge(type="week" name="week" placeholder="42")
221
- %td <code>week</code>
222
- %td Date control consisting of a week-year number and a week number with no time zone
223
- %tr
224
- %td
225
- %input.input-xlarge(type="number" name="number" placeholder="5" min="0" max="10")
226
- %td <code>number</code>
227
- %td Control for floating point values, add <code>min</code> and <code>max</code> attributes to create a spinner
228
- %tr
229
- %td
230
- %input.input-xlarge(type="range" name="range" placeholder="5" min="0" max="10" step=".5")
231
- %td <code>range</code>
232
- %td Slider control for numbers where exact value is not important, add <code>min</code>, <code>max</code> and <code>step</code> attributes
233
- %tr
234
- %td
235
- %input.input-xlarge(type="color" name="color" placeholder="#fff" alt="color")
236
- %td <code>color</code>
237
- %td A control for specifying a color
238
- %tr
239
- %td
240
- %input.input-xlarge(type="hidden" name="hidden" placeholder="hidden")
241
- %td <code>hidden</code>
242
- %td A control that is not displayed, but whose value is submitted to the server
243
-
244
- #forms_typeahead.sg-spy-landing
245
- .sg-subsection
246
- %h3.sg-subheading Typeahead <span>forms.sass, dropdowns.sass</span>
247
- .sg-onethird.pull
248
- %p For quick auto-complete functionality, utilize the typeahead component. It's a combination of an input with a <code>data-provide="typeahead"</code> attribute and a drop down menu.
249
- %br
250
- %p The component requires <a href="http://twitter.github.com/bootstrap/javascript.html#typeahead">Bootstrap's typeahead plugin</a>.
251
- %br
252
- %p The plugin, appends a <code>ul.typeahead.dropdown-menu</code> list to the <code>body</code> element. There are no specific styles included within underoos for typeaheads as they are primarily a combination of existing components.
253
- .sg-twothird.push
254
- .well
255
- %form
256
- %ol
257
- %li
258
- %input.input-medium#superfriends(type="text" data-provide="typeahead" autocomplete="off" placeholder="Add Superfriends")
259
- %pre.prettyprint.html
260
- = preserve do
261
- :escaped
262
- <form>
263
- <ol>
264
- <li>
265
- <input id="superfriends" data-provide="typeahead" autocomplete="off" placeholder="Add" type="text">
266
- </li>
267
- </ol>
268
- </form>
269
- %pre.prettyprint.haml.hidden
270
- = preserve do
271
- :escaped
272
- %form
273
- %ol
274
- %li
275
- %input#superfriends(type="text" data-provide="typeahead" autocomplete="off" placeholder="Add")
276
- %pre.prettyprint
277
- = preserve do
278
- :escaped
279
- // Instantiate the typeahead instance based off an id
280
- $('#superfriends').typeahead({source:['Aquaman', 'Superman'] , items:10})
281
-
282
- .notification.important.fade.in
283
- %p <strong>Tip!</strong> Make sure to include the attribute <code>autocomplete="off"</code> to disable the browser's default behavior
284
-
285
-
286
- #forms_editable.sg-spy-landing
287
- .sg-subsection
288
- %h3.sg-subheading Content editable elements <span>forms.sass</span>
289
- .sg-onethird.pull
290
- %p Applying the attribute <code>contenteditable="true"</code> to elements allows the user to change the contents within the item. Elements that are editable typically include states for <code>hover</code> and <code>focus</code> while a user is editing.
291
- .sg-twothird.push
292
- .well
293
- %h3(contenteditable="true") Edit Title
294
- %p(contenteditable="true") Edit Description
295
- %pre.prettyprint.html
296
- = preserve do
297
- :escaped
298
- <h3 contenteditable="true">Edit Title</h3>
299
- <p contenteditable="true">Edit Description</p>
300
- %pre.prettyprint.haml.hidden
301
- = preserve do
302
- :escaped
303
- %h3(contenteditable="true") Edit Title
304
- %p(contenteditable="true") Edit Description
305
-