paint-rails 0.7.24 → 0.8.27.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (223) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +2 -2
  3. data/lib/paint-rails/version.rb +1 -1
  4. data/vendor/assets/stylesheets/bower_components/fastclick/.bower.json +1 -1
  5. data/vendor/assets/stylesheets/bower_components/fontawesome/.bower.json +1 -1
  6. data/vendor/assets/stylesheets/bower_components/foundation/.bower.json +7 -8
  7. data/vendor/assets/stylesheets/bower_components/{jquery/MIT-LICENSE.txt → foundation/LICENSE} +3 -2
  8. data/vendor/assets/stylesheets/bower_components/foundation/README.md +46 -0
  9. data/vendor/assets/stylesheets/bower_components/foundation/bower.json +2 -4
  10. data/vendor/assets/stylesheets/bower_components/foundation/css/foundation.css +417 -162
  11. data/vendor/assets/stylesheets/bower_components/foundation/css/foundation.css.map +1 -1
  12. data/vendor/assets/stylesheets/bower_components/foundation/css/foundation.min.css +1 -1
  13. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation.js +386 -197
  14. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation.min.js +5 -5
  15. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.abide.js +42 -24
  16. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.accordion.js +39 -2
  17. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.alert.js +1 -1
  18. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.clearing.js +5 -5
  19. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.dropdown.js +17 -12
  20. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.equalizer.js +1 -1
  21. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.interchange.js +3 -2
  22. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.joyride.js +53 -50
  23. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.js +24 -17
  24. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.magellan.js +4 -5
  25. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.offcanvas.js +75 -2
  26. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.orbit.js +1 -1
  27. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.reveal.js +40 -16
  28. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.slider.js +21 -6
  29. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.tab.js +25 -27
  30. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.tooltip.js +24 -15
  31. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.topbar.js +11 -11
  32. data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/jquery.js +3 -4
  33. data/vendor/assets/stylesheets/bower_components/foundation/package.json +5 -1
  34. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation.scss +0 -2
  35. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/_functions.scss +2 -2
  36. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/_settings.scss +6 -3
  37. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_accordion.scss +6 -2
  38. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_breadcrumbs.scss +2 -1
  39. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_button-groups.scss +1 -0
  40. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_buttons.scss +18 -13
  41. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_dropdown.scss +3 -2
  42. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_forms.scss +21 -23
  43. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_global.scss +73 -9
  44. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_grid.scss +15 -15
  45. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_inline-lists.scss +2 -1
  46. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_joyride.scss +1 -1
  47. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_offcanvas.scss +92 -4
  48. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_pagination.scss +1 -0
  49. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_progress-bars.scss +6 -0
  50. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_range-slider.scss +2 -2
  51. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_reveal.scss +3 -0
  52. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_tabs.scss +1 -1
  53. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_tooltips.scss +1 -1
  54. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_top-bar.scss +11 -3
  55. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_type.scss +73 -12
  56. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_visibility.scss +8 -75
  57. data/vendor/assets/stylesheets/bower_components/jquery-placeholder/.bower.json +1 -1
  58. data/vendor/assets/stylesheets/bower_components/jquery.cookie/.bower.json +1 -1
  59. data/vendor/assets/stylesheets/bower_components/jquery/.bower.json +7 -20
  60. data/vendor/assets/stylesheets/bower_components/jquery/AUTHORS.txt +278 -0
  61. data/vendor/assets/stylesheets/bower_components/jquery/LICENSE.txt +36 -0
  62. data/vendor/assets/stylesheets/bower_components/jquery/README.md +65 -0
  63. data/vendor/assets/stylesheets/bower_components/jquery/bower.json +2 -16
  64. data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.js +2590 -1958
  65. data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.min.js +4 -5
  66. data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.min.map +1 -1
  67. data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.slim.js +7877 -0
  68. data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.slim.min.js +4 -0
  69. data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.slim.min.map +1 -0
  70. data/vendor/assets/stylesheets/bower_components/jquery/sizzle/LICENSE.txt +36 -0
  71. data/vendor/assets/stylesheets/bower_components/jquery/{src/sizzle → sizzle}/dist/sizzle.js +236 -160
  72. data/vendor/assets/stylesheets/bower_components/jquery/sizzle/dist/sizzle.min.js +3 -0
  73. data/vendor/assets/stylesheets/bower_components/jquery/sizzle/dist/sizzle.min.map +1 -0
  74. data/vendor/assets/stylesheets/bower_components/jquery/src/.jshintrc +29 -0
  75. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax.js +116 -57
  76. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/jsonp.js +25 -14
  77. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/load.js +20 -12
  78. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/parseJSON.js +2 -2
  79. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/parseXML.js +4 -5
  80. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/script.js +16 -12
  81. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/var/location.js +3 -0
  82. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/var/nonce.js +2 -2
  83. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/var/rquery.js +3 -3
  84. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/xhr.js +73 -42
  85. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes.js +2 -2
  86. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/attr.js +49 -48
  87. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/classes.js +86 -67
  88. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/prop.js +63 -32
  89. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/support.js +6 -5
  90. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/val.js +40 -24
  91. data/vendor/assets/stylesheets/bower_components/jquery/src/callbacks.js +114 -87
  92. data/vendor/assets/stylesheets/bower_components/jquery/src/core.js +77 -85
  93. data/vendor/assets/stylesheets/bower_components/jquery/src/core/DOMEval.js +14 -0
  94. data/vendor/assets/stylesheets/bower_components/jquery/src/core/access.js +11 -6
  95. data/vendor/assets/stylesheets/bower_components/jquery/src/core/init.js +27 -16
  96. data/vendor/assets/stylesheets/bower_components/jquery/src/core/parseHTML.js +10 -8
  97. data/vendor/assets/stylesheets/bower_components/jquery/src/core/ready.js +20 -14
  98. data/vendor/assets/stylesheets/bower_components/jquery/src/core/support.js +18 -0
  99. data/vendor/assets/stylesheets/bower_components/jquery/src/core/var/rsingleTag.js +4 -3
  100. data/vendor/assets/stylesheets/bower_components/jquery/src/css.js +120 -55
  101. data/vendor/assets/stylesheets/bower_components/jquery/src/css/addGetHookIf.js +5 -3
  102. data/vendor/assets/stylesheets/bower_components/jquery/src/css/adjustCSS.js +65 -0
  103. data/vendor/assets/stylesheets/bower_components/jquery/src/css/curCSS.js +20 -17
  104. data/vendor/assets/stylesheets/bower_components/jquery/src/css/defaultDisplay.js +16 -14
  105. data/vendor/assets/stylesheets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +9 -6
  106. data/vendor/assets/stylesheets/bower_components/jquery/src/css/showHide.js +48 -0
  107. data/vendor/assets/stylesheets/bower_components/jquery/src/css/support.js +86 -61
  108. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/cssExpand.js +2 -2
  109. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/getStyles.js +8 -5
  110. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/isHidden.js +6 -3
  111. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/rmargin.js +3 -3
  112. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/rnumnonpx.js +2 -2
  113. data/vendor/assets/stylesheets/bower_components/jquery/src/css/{swap.js → var/swap.js} +3 -7
  114. data/vendor/assets/stylesheets/bower_components/jquery/src/data.js +49 -40
  115. data/vendor/assets/stylesheets/bower_components/jquery/src/data/Data.js +93 -74
  116. data/vendor/assets/stylesheets/bower_components/jquery/src/data/support.js +23 -0
  117. data/vendor/assets/stylesheets/bower_components/jquery/src/data/var/acceptData.js +18 -0
  118. data/vendor/assets/stylesheets/bower_components/jquery/src/data/var/{data_priv.js → dataPriv.js} +2 -2
  119. data/vendor/assets/stylesheets/bower_components/jquery/src/data/var/{data_user.js → dataUser.js} +2 -2
  120. data/vendor/assets/stylesheets/bower_components/jquery/src/deferred.js +34 -25
  121. data/vendor/assets/stylesheets/bower_components/jquery/src/deferred/exceptionHook.js +19 -0
  122. data/vendor/assets/stylesheets/bower_components/jquery/src/deprecated.js +27 -8
  123. data/vendor/assets/stylesheets/bower_components/jquery/src/dimensions.js +9 -5
  124. data/vendor/assets/stylesheets/bower_components/jquery/src/effects.js +96 -115
  125. data/vendor/assets/stylesheets/bower_components/jquery/src/effects/Tween.js +14 -7
  126. data/vendor/assets/stylesheets/bower_components/jquery/src/effects/animatedSelector.js +4 -4
  127. data/vendor/assets/stylesheets/bower_components/jquery/src/effects/support.js +58 -0
  128. data/vendor/assets/stylesheets/bower_components/jquery/src/event.js +167 -325
  129. data/vendor/assets/stylesheets/bower_components/jquery/src/event/ajax.js +11 -4
  130. data/vendor/assets/stylesheets/bower_components/jquery/src/event/alias.js +11 -23
  131. data/vendor/assets/stylesheets/bower_components/jquery/src/event/focusin.js +53 -0
  132. data/vendor/assets/stylesheets/bower_components/jquery/src/event/support.js +3 -3
  133. data/vendor/assets/stylesheets/bower_components/jquery/src/event/trigger.js +199 -0
  134. data/vendor/assets/stylesheets/bower_components/jquery/src/exports/amd.js +3 -3
  135. data/vendor/assets/stylesheets/bower_components/jquery/src/exports/global.js +2 -8
  136. data/vendor/assets/stylesheets/bower_components/jquery/src/intro.js +1 -1
  137. data/vendor/assets/stylesheets/bower_components/jquery/src/jquery.js +5 -5
  138. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation.js +206 -305
  139. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/_evalUrl.js +6 -4
  140. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/buildFragment.js +102 -0
  141. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/createSafeFragment.js +20 -0
  142. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/getAll.js +21 -0
  143. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/setGlobalEval.js +20 -0
  144. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/support.js +7 -6
  145. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/var/nodeNames.js +5 -0
  146. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -3
  147. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/var/rleadingWhitespace.js +3 -0
  148. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/var/rscriptType.js +3 -0
  149. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/var/rtagName.js +3 -0
  150. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/wrapMap.js +27 -0
  151. data/vendor/assets/stylesheets/bower_components/jquery/src/offset.js +40 -29
  152. data/vendor/assets/stylesheets/bower_components/jquery/src/outro.js +1 -0
  153. data/vendor/assets/stylesheets/bower_components/jquery/src/queue.js +23 -22
  154. data/vendor/assets/stylesheets/bower_components/jquery/src/queue/delay.js +6 -6
  155. data/vendor/assets/stylesheets/bower_components/jquery/src/selector-native.js +107 -68
  156. data/vendor/assets/stylesheets/bower_components/jquery/src/selector-sizzle.js +5 -5
  157. data/vendor/assets/stylesheets/bower_components/jquery/src/selector.js +1 -1
  158. data/vendor/assets/stylesheets/bower_components/jquery/src/serialize.js +28 -14
  159. data/vendor/assets/stylesheets/bower_components/jquery/src/support.js +63 -0
  160. data/vendor/assets/stylesheets/bower_components/jquery/src/traversing.js +32 -56
  161. data/vendor/assets/stylesheets/bower_components/jquery/src/traversing/findFilter.js +13 -13
  162. data/vendor/assets/stylesheets/bower_components/jquery/src/traversing/var/dir.js +20 -0
  163. data/vendor/assets/stylesheets/bower_components/jquery/src/traversing/var/rneedsContext.js +2 -2
  164. data/vendor/assets/stylesheets/bower_components/jquery/src/traversing/var/siblings.js +15 -0
  165. data/vendor/assets/stylesheets/bower_components/jquery/src/var/arr.js +2 -2
  166. data/vendor/assets/stylesheets/bower_components/jquery/src/var/class2type.js +3 -2
  167. data/vendor/assets/stylesheets/bower_components/jquery/src/var/concat.js +2 -2
  168. data/vendor/assets/stylesheets/bower_components/jquery/src/var/deletedIds.js +3 -0
  169. data/vendor/assets/stylesheets/bower_components/jquery/src/var/document.js +3 -0
  170. data/vendor/assets/stylesheets/bower_components/jquery/src/var/documentElement.js +5 -0
  171. data/vendor/assets/stylesheets/bower_components/jquery/src/var/hasOwn.js +2 -2
  172. data/vendor/assets/stylesheets/bower_components/jquery/src/var/indexOf.js +2 -2
  173. data/vendor/assets/stylesheets/bower_components/jquery/src/var/pnum.js +3 -3
  174. data/vendor/assets/stylesheets/bower_components/jquery/src/var/push.js +2 -2
  175. data/vendor/assets/stylesheets/bower_components/jquery/src/var/rcssNum.js +7 -0
  176. data/vendor/assets/stylesheets/bower_components/jquery/src/var/rnotwhite.js +3 -3
  177. data/vendor/assets/stylesheets/bower_components/jquery/src/var/slice.js +2 -2
  178. data/vendor/assets/stylesheets/bower_components/jquery/src/var/support.js +3 -2
  179. data/vendor/assets/stylesheets/bower_components/jquery/src/var/toString.js +2 -2
  180. data/vendor/assets/stylesheets/bower_components/jquery/src/wrap.js +19 -19
  181. data/vendor/assets/stylesheets/bower_components/modernizr/.bower.json +2 -2
  182. data/vendor/assets/stylesheets/{Brocfile.js → paint/Brocfile.js} +0 -0
  183. data/vendor/assets/stylesheets/{Gemfile → paint/Gemfile} +0 -0
  184. data/vendor/assets/stylesheets/{Gemfile.lock → paint/Gemfile.lock} +0 -0
  185. data/vendor/assets/stylesheets/paint/bin/ci +6 -0
  186. data/vendor/assets/stylesheets/paint/bin/docs +8 -0
  187. data/vendor/assets/stylesheets/{bin → paint/bin}/lint +0 -0
  188. data/vendor/assets/stylesheets/{bin → paint/bin}/setup +0 -0
  189. data/vendor/assets/stylesheets/{circle.yml → paint/circle.yml} +0 -0
  190. data/vendor/assets/stylesheets/{components → paint/components}/_button.scss +111 -35
  191. data/vendor/assets/stylesheets/paint/components/_color.scss +162 -0
  192. data/vendor/assets/stylesheets/{components → paint/components}/_dropdown.scss +12 -6
  193. data/vendor/assets/stylesheets/{components → paint/components}/_flip-panel.scss +68 -7
  194. data/vendor/assets/stylesheets/paint/components/_form.scss +882 -0
  195. data/vendor/assets/stylesheets/{components → paint/components}/_grid.scss +34 -1
  196. data/vendor/assets/stylesheets/paint/components/_icon.scss +100 -0
  197. data/vendor/assets/stylesheets/paint/components/_label.scss +125 -0
  198. data/vendor/assets/stylesheets/{components → paint/components}/_layout.scss +61 -15
  199. data/vendor/assets/stylesheets/paint/components/_modal.scss +165 -0
  200. data/vendor/assets/stylesheets/paint/components/_navigation.scss +572 -0
  201. data/vendor/assets/stylesheets/paint/components/_notification.scss +124 -0
  202. data/vendor/assets/stylesheets/{components → paint/components}/_panel.scss +51 -16
  203. data/vendor/assets/stylesheets/{components → paint/components}/_progress-bar.scss +0 -0
  204. data/vendor/assets/stylesheets/{components → paint/components}/_quick-jump.scss +11 -13
  205. data/vendor/assets/stylesheets/paint/components/_side-panel.scss +248 -0
  206. data/vendor/assets/stylesheets/paint/components/_tab.scss +164 -0
  207. data/vendor/assets/stylesheets/{components → paint/components}/_table.scss +10 -10
  208. data/vendor/assets/stylesheets/{components → paint/components}/_typography.scss +4 -7
  209. data/vendor/assets/stylesheets/{components → paint/components}/_vertical-align.scss +0 -0
  210. data/vendor/assets/stylesheets/{globals → paint/globals}/_functions.scss +3 -3
  211. data/vendor/assets/stylesheets/{globals → paint/globals}/_mixins.scss +3 -2
  212. data/vendor/assets/stylesheets/{globals → paint/globals}/_settings.scss +15 -1
  213. data/vendor/assets/stylesheets/{paint.scss → paint/paint.scss} +11 -0
  214. metadata +78 -39
  215. data/vendor/assets/images/logo.png +0 -0
  216. data/vendor/assets/stylesheets/bin/ci +0 -6
  217. data/vendor/assets/stylesheets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
  218. data/vendor/assets/stylesheets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
  219. data/vendor/assets/stylesheets/bower_components/jquery/src/var/strundefined.js +0 -3
  220. data/vendor/assets/stylesheets/components/_form.scss +0 -346
  221. data/vendor/assets/stylesheets/components/_icon.scss +0 -4
  222. data/vendor/assets/stylesheets/components/_label.scss +0 -3
  223. data/vendor/assets/stylesheets/components/_side-panel.scss +0 -154
@@ -1,9 +1,15 @@
1
- $dropdown-background-color: $white !default;
2
- $dropdown-border-color: $global-section-border-color !default;
1
+ ////
2
+ /// Dropdown Component Styles
3
+ /// @group dropdown
4
+ /// @since v0.8.5
5
+ ////
6
+
7
+ $dropdown-background-color: color(white) !default;
8
+ $dropdown-border-color: color(border) !default;
3
9
  $dropdown-z-index: 100 !default;
4
- $dropdown-link-color: $body-font-color !default;
5
- $dropdown-link-hover-color: $black !default;
6
- $dropdown-link-hover-background-color: $global-section-border-color !default;
10
+ $dropdown-link-color: color(text) !default;
11
+ $dropdown-link-hover-color: color(black) !default;
12
+ $dropdown-link-hover-background-color: color(border) !default;
7
13
  $dropdown-link-active-color: $dropdown-link-color !default;
8
14
  $dropdown-link-active-background-color: lighten($dropdown-link-hover-background-color, 50%) !default;
9
15
  $dropdown-link-disabled-color: lighten($dropdown-link-color, 50%) !default;
@@ -129,7 +135,7 @@ $include-html-paint-dropdown: true !default;
129
135
  i {
130
136
  @include icon(search);
131
137
 
132
- color: $primary-color;
138
+ color: color(primary);
133
139
  line-height: $dropdown-search-icon-size;
134
140
  }
135
141
  }
@@ -1,5 +1,53 @@
1
+ ////
2
+ /// Flip Panel
3
+ /// @group panel
4
+ /// @since v0.8.5
5
+ ////
6
+
1
7
  @import 'panel';
2
8
 
9
+ /// Default settings
10
+
11
+ /// @example scss - Usage
12
+ /// .flip-panel {
13
+ /// @include flip-panel;
14
+ /// }
15
+ ///
16
+ /// @example html - Default Markup
17
+ /// <div class="flip-panel [flipped]">
18
+ /// <div class="front">
19
+ /// <header>
20
+ /// <h1>Flip Panel Front</h1>
21
+ /// </header>
22
+ ///
23
+ /// <div class="content">
24
+ /// <section>
25
+ /// Flip panel front section content
26
+ /// </section>
27
+ /// </div>
28
+ ///
29
+ /// <footer>
30
+ /// <span><a>More information</a></span>
31
+ /// </footer>
32
+ /// </div> <!-- .front -->
33
+ ///
34
+ /// <div class="back">
35
+ /// <header>
36
+ /// <h1><a><i class="back-icon"></i> Back to Front</a></h1>
37
+ /// </header>
38
+ ///
39
+ /// <div class="content">
40
+ /// <section>
41
+ /// <p>Flip panel back content</p>
42
+ /// </section>
43
+ /// </div>
44
+ /// </div> <!-- .back -->
45
+ /// </div>
46
+ ///
47
+ /// @example html - Animation
48
+ /// Toggle class `.flipped` on the main selector to trigger the flipping animation
49
+ ///
50
+
3
51
  $flip-panel-default-settings: (
4
52
  header-height: panel-settings(header-height),
5
53
  footer-height: panel-settings(footer-height),
@@ -10,22 +58,22 @@ $flip-panel-default-settings: (
10
58
  transition-settings: .3s ease-in-out
11
59
  );
12
60
 
13
- @if global-variable-exists(flip-panel) {
14
- $flip-panel: map-merge-settings($flip-panel-default-settings, $flip-panel);
15
- } @else {
16
- $flip-panel: $flip-panel-default-settings;
17
- }
61
+ $flip-panel: () !default;
62
+ $flip-panel: map-merge-settings($flip-panel-default-settings, $flip-panel);
18
63
 
19
64
  $include-html-paint-flip-panel: true !default;
20
65
 
21
66
  @function flip-panel-settings($setting, $property: null) {
22
67
  @if $property {
23
- @return map-get(map-get($flip-panel, $setting), $property),
68
+ @return map-get(map-get($flip-panel, $setting), $property);
24
69
  } @else {
25
- @return map-get($flip-panel, $setting)
70
+ @return map-get($flip-panel, $setting);
26
71
  }
27
72
  }
28
73
 
74
+ /// Generate icons used for the panel header
75
+ /// @access private
76
+
29
77
  @mixin flip-panel-icons {
30
78
  $flip-panel-icons: flip-panel-settings(icons);
31
79
 
@@ -36,6 +84,11 @@ $include-html-paint-flip-panel: true !default;
36
84
  }
37
85
  }
38
86
 
87
+ /// Create the scrollable content block based on the presence of header and footer
88
+ /// @access private
89
+ /// @param {Boolean} $with-header [true] - Specify if the panel has a header
90
+ /// @param {Boolean} $with-footer [false] - Specify if the panel has a footer
91
+
39
92
  @mixin flip-panel-scroll-content($with-header: true, $with-footer: false) {
40
93
  @if $with-header {
41
94
  top: flip-panel-settings(header-height);
@@ -54,6 +107,14 @@ $include-html-paint-flip-panel: true !default;
54
107
  right: 0;
55
108
  }
56
109
 
110
+ /// Mixin that generates the flip-panel styles
111
+ /// @access public
112
+ /// @param {Boolean} $with-front-header [true] - Specify if the panel front has a header
113
+ /// @param {Boolean} $with-front-footer [true] - Specify if the panel front has a footer
114
+ /// @param {Boolean} $with-back-header [true] - Specify if the panel back has a header
115
+ /// @param {Boolean} $with-back-footer [false] - Specify if the panel back has a footer
116
+ /// @param {value} $min-height [false] - Specify a fixed height for the panel
117
+
57
118
  @mixin flip-panel (
58
119
  $with-front-header: true,
59
120
  $with-front-footer: true,
@@ -0,0 +1,882 @@
1
+ @import 'button';
2
+
3
+ $form-with-border: true !default;
4
+ $form-field-selector: '.form-field' !default;
5
+ $form-field-with-errors: '.with-errors' !default;
6
+ $form-field-error-selector: '.error' !default;
7
+ $form-select-selector: '.form-select' !default;
8
+ $form-multi-select-selector: '.form-multi-select' !default;
9
+ $form-submission-action-selector: '.action' !default;
10
+ $form-submission-action-active: '.active' !default;
11
+ $form-submission-action-confirmation-selector: '.confirmation' !default;
12
+ $form-confirm-border-color: transparentize($white, .65) !default;
13
+ $form-input-background: linear-gradient(to top, transparent, rgba($black, .03)) !default;
14
+ $form-input-background-color: $white !default;
15
+ $form-input-border-color: darken($white, 10%) !default;
16
+ $form-input-border-color-focused: $smoke !default;
17
+ $form-input-disabled-bg: rgba(255, 255, 255, 0) !default;
18
+ $form-input-height: $button-small-height !default;
19
+ $form-input-padding: $form-input-height - $base-font-size !default;
20
+ $form-input-shadow-color: rgba($black, .08) !default;
21
+ $form-input-text-color: $small-font-color !default;
22
+ $form-input-disabled-text-color: lighten($form-input-text-color, 20%) !default;
23
+ $form-label-height: $form-input-height;
24
+ $form-select-arrow-size: 4px !default;
25
+ $form-select-background: linear-gradient(to bottom, transparent, rgba($black, .03)) !default;
26
+ $form-multi-select-icon-color: $small-font-color !default;
27
+ $form-multi-select-icon-size: 14px !default;
28
+ $form-multi-select-option-color: $form-input-text-color !default;
29
+ $form-multi-select-item-border: 0 !default;
30
+ $form-multi-select-item-background: color(gray, jet) !default;
31
+ $form-multi-select-item-color: color(white) !default;
32
+ $form-multi-select-option-focused-background: color(border, light) !default;
33
+ $form-multi-select-option-focused-color: color(text) !default;
34
+ $form-multi-select-dropdown-icon: plus !default;
35
+ $form-multi-select-options-max-height: 200px !default;
36
+
37
+ $form-multi-checkbox-option-checked-background: color(info, light);
38
+ $form-multi-checkbox-option-checked-color: color(info, dark);
39
+
40
+ $include-html-paint-form: true !default;
41
+
42
+ @mixin form($with-border: $form-with-border) {
43
+ @extend %grid-column-12;
44
+
45
+ padding: 0 !important;
46
+
47
+ @if $with-border {
48
+ background-color: lighten($panel-bg, 2%);
49
+ border: solid 1px color(border);
50
+ border-radius: $global-radius;
51
+ }
52
+ }
53
+
54
+ @mixin form-fieldset($with-border: $form-with-border) {
55
+ border: 0;
56
+ margin-bottom: 0;
57
+
58
+ @if $with-border {
59
+ padding: $column-gutter / 2 $column-gutter / 2 0;
60
+ } @else {
61
+ padding: 0;
62
+ }
63
+
64
+ &:not(:last-of-type) {
65
+ border-bottom: 1px solid color(border);
66
+ }
67
+
68
+ legend {
69
+ display: none;
70
+ }
71
+ }
72
+
73
+ @mixin form-field() {
74
+ min-height: $form-input-height * 3;
75
+
76
+ &#{$form-field-with-errors} {
77
+ #{$form-field-error-selector} {
78
+ color: color(alert);
79
+ font-size: $small-font-size;
80
+ line-height: $form-input-height / 2;
81
+ padding-left: $column-gutter / 2;
82
+ }
83
+
84
+ input,
85
+ textarea,
86
+ &#{$form-select-selector} > div {
87
+ @include single-transition(border-color, 150ms, linear);
88
+
89
+ border-color: color(alert, light);
90
+ }
91
+ }
92
+ }
93
+
94
+ @mixin form-label() {
95
+ font-size: $h5-font-size;
96
+ font-weight: $font-weight-bold;
97
+ line-height: $form-label-height;
98
+ min-height: $form-label-height;
99
+ }
100
+
101
+ @mixin form-input() {
102
+ @include form-input-shared-properties;
103
+
104
+ font-size: $base-font-size;
105
+ line-height: $form-input-height;
106
+ margin-bottom: 0;
107
+ padding: 0 $form-input-padding / 2;
108
+
109
+ &::-webkit-input-placeholder {
110
+ color: lighten($form-input-text-color, 20%);
111
+ }
112
+ }
113
+
114
+ @mixin form-checkbox($inner-wrapper: '.content', $float: left, $inline: false) {
115
+ @if ($inner-wrapper == null) {
116
+ $inner-wrapper: '&';
117
+ }
118
+
119
+ $label-margin-direction: right;
120
+
121
+ @if ($float == left) {
122
+ $label-margin-direction: left;
123
+ }
124
+
125
+ @if $inline {
126
+ width: auto !important;
127
+ }
128
+
129
+ min-height: $form-input-height * 2;
130
+
131
+ label {
132
+ display: inline-block;
133
+ margin-#{$label-margin-direction}: $column-gutter / 2;
134
+ }
135
+
136
+ #{$inner-wrapper} {
137
+ display: inline-block;
138
+ float: $float;
139
+ line-height: $form-input-height;
140
+ }
141
+ }
142
+
143
+ @mixin form-select($inner-wrapper: '.content', $inline: false) {
144
+ @if ($inner-wrapper == null) {
145
+ $inner-wrapper: '&';
146
+ }
147
+
148
+ #{$inner-wrapper} {
149
+ @include form-input-shared-properties;
150
+ @include form-select-arrow;
151
+
152
+ background: $white;
153
+ background-image: $form-select-background !important;
154
+ line-height: $form-input-height;
155
+ overflow: hidden;
156
+ position: relative;
157
+
158
+ @if $inline {
159
+ float: left;
160
+ padding-right: $column-gutter;
161
+ }
162
+
163
+ select {
164
+ -webkit-appearance: none;
165
+ background: rgba($black, 0);
166
+ border: 0;
167
+ border-radius: $global-radius;
168
+ color: $form-input-text-color;
169
+ font-size: $base-font-size;
170
+ margin: 0;
171
+ padding: 0 $form-input-padding / 2;
172
+ position: relative;
173
+ text-shadow: 0 1px $white;
174
+ width: 130%;
175
+
176
+ &:focus {
177
+ color: color(link);
178
+ outline: none;
179
+ width: 100%;
180
+ z-index: 1;
181
+ }
182
+
183
+ > option {
184
+ background: color(gray, silver);
185
+ border-radius: $global-radius;
186
+ cursor: pointer;
187
+ margin: 3px;
188
+ padding: 3px 8px;
189
+ text-shadow: none;
190
+ }
191
+ }
192
+ }
193
+
194
+ &.disabled,
195
+ &.disabled #{$inner-wrapper} {
196
+ &,
197
+ select {
198
+ @include form-input-disabled;
199
+ }
200
+ }
201
+ }
202
+
203
+ @mixin form-multi-select-item-label($item-height) {
204
+ line-height: $item-height;
205
+ padding: 0 $form-multi-select-icon-size;
206
+ text-shadow: none;
207
+ transition: padding .125s ease;
208
+ }
209
+
210
+ @mixin form-multi-select-item($item, $label, $icon) {
211
+ $item-height: $form-multi-select-icon-size * 2;
212
+
213
+ #{$item} {
214
+ background-color: $form-multi-select-item-background;
215
+ border: $form-multi-select-item-border;
216
+ border-radius: $global-radius;
217
+ color: $form-multi-select-item-color;
218
+ float: left;
219
+ font-size: $small-font-size;
220
+ margin: $column-gutter / 5 $column-gutter / 5 $column-gutter / 5 0;
221
+ position: relative;
222
+
223
+ &:first-child {
224
+ margin-left: - $column-gutter / 5;
225
+ }
226
+
227
+ @if $label == false {
228
+ @include form-multi-select-item-label($item-height);
229
+ } @else {
230
+ &:hover {
231
+ #{$label} {
232
+ padding: 0 $form-multi-select-icon-size * 1.5 0 $form-multi-select-icon-size / 2;
233
+ }
234
+
235
+ #{$icon} {
236
+ display: block;
237
+ }
238
+ }
239
+
240
+ #{$label},
241
+ #{$icon} {
242
+ vertical-align: middle;
243
+ }
244
+
245
+ #{$label} {
246
+ @include form-multi-select-item-label($item-height);
247
+
248
+ display: block;
249
+ }
250
+
251
+ #{$icon} {
252
+ @include icon(times);
253
+
254
+ cursor: pointer;
255
+ display: none;
256
+ height: $item-height;
257
+ line-height: $item-height;
258
+ position: absolute;
259
+ right: -$form-multi-select-icon-size * 1000;
260
+ transition: color 300ms ease-in;
261
+ width: $form-multi-select-icon-size;
262
+
263
+ &:hover {
264
+ color: color(alert);
265
+ }
266
+
267
+ &:before {
268
+ font-size: $small-font-size;
269
+ left: -$form-multi-select-icon-size * 1000;
270
+ line-height: $item-height;
271
+ position: absolute;
272
+ }
273
+ }
274
+ }
275
+ }
276
+ }
277
+
278
+ @mixin form-multi-select-input() {
279
+ > input {
280
+ -webkit-appearance: none;
281
+ background: none !important;
282
+ border: 0 !important;
283
+ box-shadow: none !important;
284
+ cursor: default;
285
+ display: inline-block;
286
+ font-family: inherit;
287
+ line-height: $form-input-height;
288
+ margin: 0;
289
+ outline: none;
290
+ padding: 0 !important;
291
+ width: 100%;
292
+ }
293
+ }
294
+
295
+ @mixin form-multi-select-input-selector($selector: false) {
296
+ @if $selector {
297
+ #{$selector} {
298
+ @include form-multi-select-input;
299
+
300
+ display: block;
301
+ width: auto;
302
+ }
303
+ } @else {
304
+ @include form-multi-select-input;
305
+ }
306
+ }
307
+
308
+ @mixin form-multi-select-options($options, $option, $is-focused-selector) {
309
+ background-color: color(white);
310
+ border-radius: 0 0 $global-radius $global-radius;
311
+ border: 1px solid $form-input-border-color;
312
+ box-shadow: 0 1px 0 rgba(0, 0, 0, .06);
313
+ box-sizing: border-box;
314
+ display: none;
315
+ margin-bottom: $column-gutter / 2;
316
+ margin-top: -1px;
317
+ max-height: $form-multi-select-options-max-height;
318
+ min-width: 100%;
319
+ -webkit-overflow-scrolling: touch;
320
+ overflow-x: hidden;
321
+ overflow-y: auto;
322
+ position: absolute;
323
+ top: 100%;
324
+ z-index: 1;
325
+
326
+ #{$options} {
327
+ margin: 0;
328
+ padding: 0;
329
+ padding-right: 20%;
330
+ width: 120%;
331
+ }
332
+
333
+ #{$option} {
334
+ border-bottom: 1px solid $form-input-border-color;
335
+ box-sizing: border-box;
336
+ color: $form-multi-select-option-color;
337
+ cursor: pointer;
338
+ display: block;
339
+ font-size: $small-font-size;
340
+ padding: $column-gutter / 4 $column-gutter / 2;
341
+
342
+ &:last-child {
343
+ border: 0;
344
+ border-radius: 0 0 $global-radius $global-radius;
345
+ }
346
+
347
+ &#{$is-focused-selector},
348
+ &:hover {
349
+ background-color: $form-multi-select-option-focused-background;
350
+ color: $form-multi-select-option-focused-color;
351
+ transition: background .125s ease;
352
+ }
353
+
354
+ &#{$is-focused-selector}::last-child {
355
+ margin-bottom: -1px;
356
+ }
357
+ }
358
+ }
359
+
360
+ @mixin form-multi-select(
361
+ $control: '.control',
362
+ $item: '.item',
363
+ $item-label: '.label',
364
+ $item-icon: '.icon',
365
+ $input-selector: false,
366
+ $add-selector: '.add',
367
+ $clear-all-selector: false,
368
+ $options-selector: '.options-selector',
369
+ $options: '.options',
370
+ $option: '.option',
371
+ $is-open-selector: '.is-open',
372
+ $has-items-selector: '.has-value',
373
+ $is-focused-selector: '.is-focused'
374
+ ) {
375
+ position: relative;
376
+
377
+ &#{$is-open-selector} > #{$control},
378
+ #{$is-open-selector}#{$control} {
379
+ border-bottom-left-radius: 0;
380
+ border-bottom-right-radius: 0;
381
+ border-color: $form-input-border-color-focused;
382
+ }
383
+
384
+ &#{$is-open-selector} > #{$options-selector},
385
+ #{$is-open-selector} + #{$options-selector} {
386
+ display: block;
387
+ }
388
+
389
+ &#{$is-focused-selector} > #{$control},
390
+ &#{$is-focused-selector} > #{$options-selector},
391
+ #{$is-focused-selector}#{$control},
392
+ #{$is-focused-selector} + #{$options-selector} {
393
+ border-color: $form-input-border-color-focused;
394
+ }
395
+
396
+ &#{$has-items-selector} > #{$control},
397
+ #{$has-items-selector}#{$control} {
398
+ > .loading {
399
+ right: $column-gutter;
400
+ }
401
+
402
+ #{$input-selector} input,
403
+ > input {
404
+ width: auto;
405
+ }
406
+ }
407
+
408
+ &#{$is-open-selector} #{$input-selector} {
409
+ display: block;
410
+ width: 100%;
411
+ }
412
+
413
+ #{$control} {
414
+ @include form-input;
415
+ @include form-multi-select-input-selector($selector: $input-selector);
416
+ @include form-multi-select-item(
417
+ $item: $item,
418
+ $label: $item-label,
419
+ $icon: $item-icon
420
+ );
421
+
422
+ background-color: $form-input-background-color;
423
+ position: relative;
424
+ }
425
+
426
+ #{$add-selector},
427
+ #{$clear-all-selector} {
428
+ color: $form-multi-select-icon-color;
429
+ cursor: pointer;
430
+ height: $form-input-height;
431
+ line-height: $form-input-height;
432
+ overflow: hidden;
433
+ position: absolute;
434
+ text-align: right;
435
+ text-shadow: none;
436
+ top: 0;
437
+ width: $form-input-height;
438
+ }
439
+
440
+ #{$clear-all-selector} {
441
+ @include button-icon(trash-o);
442
+
443
+ margin: $column-gutter / 4
444
+ $column-gutter / 6
445
+ $column-gutter / 4
446
+ $column-gutter / 4;
447
+ right: $form-multi-select-icon-size;
448
+
449
+ &:hover {
450
+ color: color(alert, light);
451
+ }
452
+ }
453
+
454
+ #{$add-selector} {
455
+ @include button-icon($form-multi-select-dropdown-icon);
456
+
457
+ margin: $column-gutter / 4 0;
458
+ right: 0;
459
+
460
+ &:hover {
461
+ color: color(info);
462
+ }
463
+ }
464
+
465
+ #{$options-selector} {
466
+ @include form-multi-select-options(
467
+ $options: $options,
468
+ $option: $option,
469
+ $is-focused-selector: $is-focused-selector
470
+ );
471
+ }
472
+
473
+ .loading {
474
+ animation: spin 400ms infinite linear;
475
+ border: 2px solid color(gray, iron);
476
+ border-radius: 50%;
477
+ border-right-color: color(gray, oil);
478
+ box-sizing: border-box;
479
+ display: inline-block;
480
+ height: $form-multi-select-icon-size;
481
+ margin-top: -$form-multi-select-icon-size / 2;
482
+ position: relative;
483
+ right: $column-gutter;
484
+ top: 50%;
485
+ width: $form-multi-select-icon-size;
486
+ }
487
+ }
488
+
489
+ @mixin form-multi-checkbox-icon($icon) {
490
+ &:before {
491
+ @include icon($icon);
492
+
493
+ float: right;
494
+ font-size: $small-font-size;
495
+ line-height: $form-input-height;
496
+ margin-left: $column-gutter / 2;
497
+ }
498
+ }
499
+
500
+ @mixin form-multi-checkbox-option(
501
+ $is-checked-selector: $is-checked-selector,
502
+ $option-whitespace: normal
503
+ ) {
504
+ white-space: $option-whitespace;
505
+
506
+ &:before {
507
+ @include icon(square-o);
508
+
509
+ color: color(text, small);
510
+ margin-right: $column-gutter / 4;
511
+ }
512
+
513
+ &#{$is-checked-selector} {
514
+ background-color: $form-multi-checkbox-option-checked-background;
515
+ color: $form-multi-checkbox-option-checked-color;
516
+
517
+ &:before {
518
+ @include icon(check);
519
+
520
+ color: $form-multi-checkbox-option-checked-color;
521
+ }
522
+ }
523
+ }
524
+
525
+ @mixin form-multi-checkbox-options(
526
+ $options: $options,
527
+ $option: $option,
528
+ $option-whitespace: $option-whitespace,
529
+ $is-focused-selector: $is-focused-selector,
530
+ $is-checked-selector: $is-checked-selector
531
+ ) {
532
+ @include form-multi-select-options($options, $option, $is-focused-selector);
533
+
534
+ #{$option} {
535
+ @include form-multi-checkbox-option($is-checked-selector, $option-whitespace);
536
+ }
537
+ }
538
+
539
+ @mixin form-multi-checkbox(
540
+ $control: '.control',
541
+ $options-selector: '.options-selector',
542
+ $options: '.options',
543
+ $option: '.option',
544
+ $option-whitespace: nowrap,
545
+ $is-open-selector: '.is-open',
546
+ $has-items-selector: '.has-value',
547
+ $is-focused-selector: '.is-focused',
548
+ $is-checked-selector: '.is-checked'
549
+ ) {
550
+ position: relative;
551
+
552
+ #{$control} {
553
+ @include form-input;
554
+ @include form-multi-checkbox-icon(plus);
555
+
556
+ background-color: $form-input-background-color;
557
+ display: block;
558
+ }
559
+
560
+ &#{$is-open-selector} > #{$control},
561
+ #{$is-open-selector}#{$control} {
562
+ border-bottom-left-radius: 0;
563
+ border-bottom-right-radius: 0;
564
+ border-color: $form-input-border-color-focused;
565
+ }
566
+
567
+ &#{$is-open-selector} > #{$options-selector},
568
+ #{$is-open-selector} + #{$options-selector} {
569
+ display: block;
570
+ }
571
+
572
+ &#{$is-focused-selector} > #{$control},
573
+ &#{$is-focused-selector} > #{$options-selector},
574
+ #{$is-focused-selector}#{$control},
575
+ #{$is-focused-selector} + #{$options-selector} {
576
+ border-color: $form-input-border-color-focused;
577
+ }
578
+
579
+ &#{$has-items-selector} > #{$control} {
580
+ @include form-multi-checkbox-icon(check);
581
+ }
582
+
583
+ #{$options-selector} {
584
+ @include form-multi-checkbox-options(
585
+ $options: $options,
586
+ $option: $option,
587
+ $option-whitespace: $option-whitespace,
588
+ $is-focused-selector: $is-focused-selector,
589
+ $is-checked-selector: $is-checked-selector
590
+ );
591
+ }
592
+ }
593
+
594
+ @mixin form-textarea() {
595
+ @include form-input-shared-properties;
596
+
597
+ font-size: $base-font-size;
598
+ line-height: $base-line-height;
599
+ min-height: $form-input-height * 3;
600
+ padding: $form-input-padding / 2;
601
+ }
602
+
603
+ @mixin form-submission-action($height: false) {
604
+ float: left;
605
+
606
+ &:not(:first-child) {
607
+ margin-left: $column-gutter / 2;
608
+ }
609
+
610
+ #{$form-submission-action-confirmation-selector} {
611
+ backface-visibility: hidden;
612
+ background-color: color(alert);
613
+ bottom: 0;
614
+ color: color(white);
615
+ left: 0;
616
+ padding: $column-gutter !important;
617
+ position: absolute;
618
+ right: 0;
619
+ text-align: right;
620
+ top: 0;
621
+ transform: rotateX(180deg) rotateY(0deg);
622
+ transform-style: preserve-3d;
623
+ transition: transform .250s ease-in-out;
624
+ z-index: 300;
625
+
626
+ &.warning {
627
+ background-color: color(warning);
628
+ }
629
+
630
+ &.info {
631
+ background-color: color(link);
632
+ }
633
+
634
+ &.success {
635
+ background-color: color(success);
636
+ }
637
+
638
+ span {
639
+ float: left;
640
+ line-height: $button-large-height;
641
+ padding: 0;
642
+ }
643
+
644
+ @if $height {
645
+ span {
646
+ line-height: $height !important;
647
+ }
648
+ }
649
+
650
+ button {
651
+ background-color: transparent;
652
+ border: solid 1px $form-confirm-border-color;
653
+ color: $white;
654
+
655
+ &:hover {
656
+ background-color: $form-confirm-border-color;
657
+ }
658
+ }
659
+
660
+ a {
661
+ color: $white;
662
+ }
663
+ }
664
+
665
+ &#{$form-submission-action-active} {
666
+ #{$form-submission-action-confirmation-selector} {
667
+ transform: rotateX(0deg);
668
+ }
669
+ }
670
+ }
671
+
672
+ @mixin form-submission($with-border: $form-with-border, $standalone: false, $height: false) {
673
+ @extend %grid-column-12;
674
+ @include single-transition(background-color, 150ms, linear);
675
+
676
+ position: relative;
677
+
678
+ @if $standalone == false {
679
+ background-color: color(white);
680
+ border-top: 1px solid color(border);
681
+
682
+ @if $with-border {
683
+ border-bottom-left-radius: $global-radius;
684
+ border-bottom-right-radius: $global-radius;
685
+ padding: $column-gutter !important;
686
+ } @else {
687
+ padding: $column-gutter $column-gutter / 2 !important;
688
+ }
689
+ } @else {
690
+ border: 0 !important;
691
+ border-radius: 0 !important;
692
+ padding: 0 $column-gutter / 2 !important;
693
+ }
694
+
695
+ @if $height {
696
+ height: $height;
697
+ line-height: $height;
698
+ padding-bottom: 0 !important;
699
+ padding-top: 0 !important;
700
+ }
701
+
702
+ #{$form-submission-action-selector} {
703
+ @include form-submission-action($height: $height);
704
+ }
705
+
706
+ button {
707
+ @include single-transition(background-color, 150ms, linear);
708
+
709
+ margin-bottom: 0 !important;
710
+
711
+ &[type='submit'] {
712
+ @extend %button-primary;
713
+
714
+ &:disabled {
715
+ @include button-disabled;
716
+ }
717
+ }
718
+
719
+ &.secondary {
720
+ @extend %button-secondary;
721
+ }
722
+
723
+ &.error {
724
+ @extend %button-error;
725
+ }
726
+
727
+ &.warning {
728
+ @extend %button-warning;
729
+ }
730
+
731
+ &.info {
732
+ @extend %button-info;
733
+ }
734
+
735
+ &.success {
736
+ @extend %button-success;
737
+ }
738
+ }
739
+
740
+ a {
741
+ color: color(text, small);
742
+ display: inline-block;
743
+
744
+ @if $height {
745
+ padding: 0 $column-gutter;
746
+ } @else {
747
+ padding: $column-gutter / 3 $column-gutter;
748
+ }
749
+
750
+ &:hover {
751
+ color: color(text);
752
+ }
753
+ }
754
+ }
755
+
756
+ @mixin form-select-arrow() {
757
+ &:before,
758
+ &:after {
759
+ border: $form-select-arrow-size dashed;
760
+ border-color: color(text, small) transparent;
761
+ content: '';
762
+ height: 0;
763
+ pointer-events: none;
764
+ position: absolute;
765
+ right: $form-input-padding / 2;
766
+ top: ($form-input-padding + $form-select-arrow-size) / 2;
767
+ width: 0;
768
+ z-index: 1;
769
+ }
770
+
771
+ &:before {
772
+ border-bottom-style: solid;
773
+ border-top: 0;
774
+ }
775
+
776
+ &:after {
777
+ border-bottom: 0;
778
+ border-top-style: solid;
779
+ margin-top: $form-select-arrow-size * 2;
780
+ }
781
+ }
782
+
783
+ @mixin form-input-disabled() {
784
+ background-color: $form-input-disabled-bg;
785
+ cursor: not-allowed;
786
+ color: $form-input-disabled-text-color;
787
+ }
788
+
789
+ @mixin form-input-shared-properties() {
790
+ background-image: $form-input-background;
791
+ border: 1px solid;
792
+ border-color: $form-input-border-color darken($form-input-border-color, 5%);
793
+ border-radius: $global-radius;
794
+ box-shadow: 0 1px 1px $form-input-shadow-color;
795
+ color: $form-input-text-color;
796
+ height: auto;
797
+ text-shadow: 0 1px $white;
798
+
799
+ &:hover {
800
+ box-shadow: 0 1px 2px rgba($black, .1);
801
+ }
802
+
803
+ &:focus {
804
+ background-color: $white;
805
+ background-image: none;
806
+ }
807
+
808
+ &:disabled,
809
+ &[disabled],
810
+ &[readonly] {
811
+ @include form-input-disabled;
812
+ }
813
+ }
814
+
815
+ @mixin form-item-small() {
816
+ @extend %grid-column-medium-6;
817
+ @extend %grid-column-large-4;
818
+ }
819
+
820
+ @mixin form-item-medium() {
821
+ @extend %grid-column-medium-6;
822
+ @extend %grid-column-large-6;
823
+ }
824
+
825
+ @mixin form-item-large() {
826
+ @extend %grid-column-medium-12;
827
+ @extend %grid-column-large-12;
828
+ }
829
+
830
+ @include exports('paint-form') {
831
+ @if $include-html-paint-form {
832
+ .form form {
833
+ @include form;
834
+
835
+ .form-fieldset {
836
+ @include form-fieldset;
837
+
838
+ .form-field {
839
+ @include form-field;
840
+
841
+ label {
842
+ @include form-label;
843
+ }
844
+
845
+ input {
846
+ @include form-input;
847
+ }
848
+
849
+ &.form-checkbox,
850
+ &.form-radio {
851
+ @include form-checkbox;
852
+ }
853
+
854
+ &.form-select {
855
+ @include form-select;
856
+ }
857
+
858
+ &.form-multi-select .content {
859
+ @include form-multi-select(
860
+ $control: '.control',
861
+ $input-selector: '.input'
862
+ );
863
+ }
864
+
865
+ &.form-multi-checkbox .content {
866
+ @include form-multi-checkbox(
867
+ $control: '.control'
868
+ );
869
+ }
870
+
871
+ textarea {
872
+ @include form-textarea;
873
+ }
874
+ }
875
+ }
876
+ }
877
+
878
+ .form-submission {
879
+ @include form-submission;
880
+ }
881
+ }
882
+ }