fortitude-sass 0.6.1 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/app/assets/stylesheets/fortitude/api/blocks/_badge.scss +32 -54
  4. data/app/assets/stylesheets/fortitude/api/blocks/_bare-list.scss +1 -5
  5. data/app/assets/stylesheets/fortitude/api/blocks/_block-list.scss +17 -19
  6. data/app/assets/stylesheets/fortitude/api/blocks/_box.scss +13 -12
  7. data/app/assets/stylesheets/fortitude/api/blocks/_button.scss +28 -79
  8. data/app/assets/stylesheets/fortitude/api/blocks/_container.scss +11 -7
  9. data/app/assets/stylesheets/fortitude/api/blocks/_flag.scss +67 -140
  10. data/app/assets/stylesheets/fortitude/api/blocks/_flashbar.scss +2 -2
  11. data/app/assets/stylesheets/fortitude/api/blocks/_fluid-container.scss +1 -1
  12. data/app/assets/stylesheets/fortitude/api/blocks/_inline-list.scss +2 -2
  13. data/app/assets/stylesheets/fortitude/api/blocks/_input.scss +178 -160
  14. data/app/assets/stylesheets/fortitude/api/blocks/_layout.scss +103 -62
  15. data/app/assets/stylesheets/fortitude/api/blocks/_list-navigation.scss +3 -3
  16. data/app/assets/stylesheets/fortitude/api/blocks/_media.scss +74 -32
  17. data/app/assets/stylesheets/fortitude/api/blocks/_modal.scss +0 -1
  18. data/app/assets/stylesheets/fortitude/api/blocks/_navigationbar.scss +0 -1
  19. data/app/assets/stylesheets/fortitude/api/blocks/_shade.scss +1 -7
  20. data/app/assets/stylesheets/fortitude/api/blocks/_tabs-navigation.scss +9 -24
  21. data/app/assets/stylesheets/fortitude/api/blocks/_tabs.scss +8 -2
  22. data/app/assets/stylesheets/fortitude/api/blocks/_text.scss +0 -1
  23. data/app/assets/stylesheets/fortitude/api/blocks/_tooltip.scss +52 -21
  24. data/app/assets/stylesheets/fortitude/api/blocks/_ui-list.scss +17 -22
  25. data/app/assets/stylesheets/fortitude/api/blocks/_wings.scss +0 -1
  26. data/app/assets/stylesheets/fortitude/base/_lists.scss +2 -9
  27. data/app/assets/stylesheets/fortitude/blocks/_box.scss +0 -4
  28. data/app/assets/stylesheets/fortitude/blocks/_flag.scss +67 -59
  29. data/app/assets/stylesheets/fortitude/blocks/_input.scss +10 -7
  30. data/app/assets/stylesheets/fortitude/blocks/_layout.scss +8 -8
  31. data/app/assets/stylesheets/fortitude/blocks/_media.scss +36 -27
  32. data/app/assets/stylesheets/fortitude/blocks/_navigationbar.scss +22 -0
  33. data/app/assets/stylesheets/fortitude/blocks/_ui-list.scss +2 -2
  34. data/app/assets/stylesheets/fortitude/tools/_functions.scss +4 -0
  35. data/bower.json +1 -1
  36. data/lib/fortitude-sass/version.rb +1 -1
  37. metadata +2 -2
@@ -2,30 +2,34 @@
2
2
  #CONTAINER
3
3
  \*------------------------------------*/
4
4
 
5
- $fortitude-container-breakpoints: (xs: 100%, sm: 72rem + $fortitude-base-spacing-unit, md: 94rem + $fortitude-base-spacing-unit, lg: 114rem + $fortitude-base-spacing-unit) !default;
5
+ $fortitude-container-breakpoints: (
6
+ xs: 100%,
7
+ sm: 72rem + $fortitude-base-spacing-unit,
8
+ md: 94rem + $fortitude-base-spacing-unit,
9
+ lg: 114rem + $fortitude-base-spacing-unit
10
+ ) !default;
6
11
 
7
- // Here we set a variable assuming that `box-sizing: border-box;` is not set
8
- // globally. If it has been previously been defined, the following variable will
9
- // be overriden and will be set to `true`.
10
12
  $fortitude-global-border-box: false !default;
11
13
 
12
- @mixin fortitude-container {
14
+ @mixin fortitude-container($extensions: ()) {
13
15
  @include fortitude-clearfix;
16
+
14
17
  margin-right: auto;
15
18
  margin-left: auto;
19
+
16
20
  @each $fortitude-alias, $fortitude-breakpoint in $fortitude-breakpoints {
17
21
  $fortitude-query: fortitude-query($fortitude-breakpoint);
22
+
18
23
  @if not $fortitude-query {
19
- // if there is no media query.
20
24
  width: map-get($fortitude-container-breakpoints, $fortitude-alias);
21
25
  }
22
26
  @else {
23
- // if there is a media query.
24
27
  @media #{$fortitude-query} {
25
28
  width: map-get($fortitude-container-breakpoints, $fortitude-alias);
26
29
  }
27
30
  }
28
31
  }
32
+
29
33
  @if $fortitude-global-border-box == false {
30
34
  box-sizing: border-box;
31
35
  }
@@ -1,17 +1,10 @@
1
- /*------------------------------------*\
2
- #FLAG
3
- \*------------------------------------*/
1
+ $fortitude-flag-gutter--default: $fortitude-base-spacing-unit !default;
4
2
 
5
- /**
6
- * The flag object is a design pattern similar to the media object, however it
7
- * utilises `display: table[-cell];` to give us control over the vertical
8
- * alignments of the text and image. csswizardry.com/2013/05/the-flag-object
9
- **/
3
+ $fortitude-flag-gutter--small: halve($fortitude-flag-gutter--default) !default;
10
4
 
11
- // Predefine the variables below in order to alter and enable specific features.
12
- $fortitude-flag-gutter: $fortitude-base-spacing-unit !default;
13
- $fortitude-flag-gutter--small: halve($fortitude-flag-gutter) !default;
14
- $fortitude-flag-gutter--large: double($fortitude-flag-gutter) !default;
5
+ $fortitude-flag-gutter--large: double($fortitude-flag-gutter--default) !default;
6
+
7
+ $fortitude-flag-collapse-at--responsive: 720px !default;
15
8
 
16
9
  $fortitude-enable-flag--small: false !default;
17
10
  $fortitude-enable-flag--large: false !default;
@@ -20,179 +13,113 @@ $fortitude-enable-flag--flush: false !default;
20
13
  $fortitude-enable-flag--top: false !default;
21
14
  $fortitude-enable-flag--bottom: false !default;
22
15
  $fortitude-enable-flag--responsive: false !default;
23
- $fortitude-flag-collapse-at: 720px !default;
24
-
25
- @mixin fortitude-flag {
26
- /**
27
- * 1. Allows us to control vertical alignments
28
- * 2. Force the object to be the full width of its parent. Combined with [1],
29
- * this makes the object behave in a quasi-`display: block;` manner.
30
- **/
16
+
17
+ @mixin fortitude-flag($extensions: ()) {
31
18
  display: table;
32
- /* [1] */
33
19
  width: 100%;
34
- /* [2] */
35
20
  }
36
21
 
37
- @mixin fortitude-flag__object {
38
- /**
39
- * 1. Default to aligning content to their middles.
40
- **/
41
- display: table-cell;
42
- vertical-align: middle;
43
- /* [1] */
44
- padding-right: $fortitude-flag-gutter;
45
- > img {
22
+ @mixin fortitude-flag--rev {
23
+ direction: rtl;
24
+ }
25
+
26
+ @mixin fortitude-flag--responsive {
27
+ @media screen and (max-width: $fortitude-flag-collapse-at) {
28
+ @if $fortitude-enable-flag--rev == true {
29
+ direction: ltr;
30
+
31
+ @content;
32
+ }
33
+
46
34
  display: block;
47
- margin-left: auto;
48
- margin-right: auto;
49
- max-width: none;
50
35
  }
51
36
  }
52
37
 
53
- @mixin fortitude-flag__body {
54
- /**
55
- * The container for the main content of the flag object.
56
- *
57
- * 1. Forces the `.flag__body` to take up all remaining space.
58
- * 2. Default to aligning content to their middles.
59
- **/
38
+ @mixin fortitude-flag__object($extensions: ()) {
60
39
  display: table-cell;
61
- width: 100%;
62
- /* [1] */
63
40
  vertical-align: middle;
64
- /* [2] */
41
+ padding-right: $fortitude-flag-gutter--default;
65
42
  }
66
43
 
67
- @mixin fortitude-flag--small__object {
68
- padding-right: $fortitude-flag-gutter--small;
44
+ @mixin fortitude-flag__object--top {
45
+ vertical-align: top;
69
46
  }
70
47
 
71
- @mixin fortitude-flag--small--rev__object {
72
- padding-right: 0;
73
- padding-left: $fortitude-flag-gutter--small;
48
+ @mixin fortitude-flag__object--bottom {
49
+ vertical-align: bottom;
74
50
  }
75
51
 
76
- @mixin fortitude-flag--large__object {
77
- padding-right: $fortitude-flag-gutter--large;
52
+ @mixin fortitude-flag__object--flush {
53
+ padding-right: 0;
54
+ padding-left: 0;
78
55
  }
79
56
 
80
- @mixin fortitude-flag--large--rev__object {
81
- padding-right: 0;
82
- padding-left: $fortitude-flag-gutter--large;
57
+ @mixin fortitude-flag__object--small {
58
+ padding-right: $fortitude-flag-gutter--small;
83
59
  }
84
60
 
85
- @mixin fortitude-flag--rev {
86
- /**
87
- * 1. Swap the rendered direction of the object…
88
- **/
89
- direction: rtl;
90
- /* [1] */
61
+ @mixin fortitude-flag__object--large {
62
+ padding-right: $fortitude-flag-gutter--large;
91
63
  }
92
64
 
93
- @mixin fortitude-flag--rev__object {
94
- /**
95
- * 1. Swap the rendered direction of the object…
96
- * 2. …and reset it.
97
- * 3. Reassign margins to the correct sides.
98
- **/
65
+ @mixin fortitude-flag__object--rev {
99
66
  direction: ltr;
100
- /* [2] */
101
67
  padding-right: 0;
102
- /* [3] */
103
- padding-left: $fortitude-flag-gutter;
104
- /* [3] */
68
+ padding-left: $fortitude-flag-gutter--default;
105
69
  }
106
70
 
107
- @mixin fortitude-flag--rev__body {
108
- /**
109
- * 2. …and reset it.
110
- **/
111
- direction: ltr;
112
- /* [2] */
71
+ @mixin fortitude-flag__object--rev--small {
72
+ padding-right: 0;
73
+ padding-left: $fortitude-flag-gutter--small;
113
74
  }
114
75
 
115
- @mixin fortitude-flag--flush__object {
76
+ @mixin fortitude-flag__object--rev--large {
116
77
  padding-right: 0;
117
- padding-left: 0;
78
+ padding-left: $fortitude-flag-gutter--large;
118
79
  }
119
80
 
120
- @mixin fortitude-flag--top__object {
121
- vertical-align: top;
81
+ @mixin fortitude-flag__object--responsive {
82
+ display: block;
83
+ padding-right: 0;
84
+ padding-left: 0;
85
+ margin-bottom: $fortitude-flag-gutter--default;
122
86
  }
123
87
 
124
- @mixin fortitude-flag--top__body {
125
- vertical-align: top;
88
+ @mixin fortitude-flag__object--responsive--small {
89
+ padding-right: 0;
90
+ padding-left: 0;
126
91
  }
127
92
 
128
- @mixin fortitude-flag--bottom__object {
129
- vertical-align: bottom;
93
+ @mixin fortitude-flag__object--responsive--large {
94
+ padding-right: 0;
95
+ padding-left: 0;
130
96
  }
131
97
 
132
- @mixin fortitude-flag--bottom__body {
133
- vertical-align: bottom;
98
+ @mixin fortitude-flag__object__content($extensions: ()) {
99
+ display: block;
100
+ margin-left: auto;
101
+ margin-right: auto;
102
+ max-width: none;
134
103
  }
135
104
 
136
- @mixin fortitude-flag--responsive {
137
- /**
138
- * Responsive flag objects.
139
- *
140
- * There is a very pragmatic, simple implementation of a responsive flag
141
- * object, which simply places the text-content beneath the image-content.
142
- *
143
- * We use a `max-width` media query because:
144
- *
145
- * a) it is the least verbose method in terms of amount of code required.
146
- * b) the flag object’s default state is image-next-to-text, so its stacked
147
- * state is the exception, rather than the rule.
148
- **/
149
- @media screen and (max-width: $fortitude-flag-collapse-at) {
150
- @if $fortitude-enable-flag--rev == true {
151
- /**
152
- * Disable reversal of content because there is no concept of
153
- * ‘reversed’ in a stacked layout.
154
- **/
155
- direction: ltr;
156
- }
157
- display: block;
158
- @content;
159
- }
105
+ @mixin fortitude-flag__body($extensions: ()) {
106
+ display: table-cell;
107
+ width: 100%;
108
+ vertical-align: middle;
160
109
  }
161
110
 
162
- @mixin fortitude-flag--responsive__object {
163
- /**
164
- * Rework the spacings on regular flag objects.
165
- **/
166
- display: block;
167
- padding-right: 0;
168
- padding-left: 0;
169
- margin-bottom: $fortitude-flag-gutter;
111
+ @mixin fortitude-flag__body--top {
112
+ vertical-align: top;
170
113
  }
171
114
 
172
- @mixin fortitude-flag--responsive__body {
173
- display: block;
115
+ @mixin fortitude-flag__body--bottom {
116
+ vertical-align: bottom;
174
117
  }
175
118
 
176
- @mixin fortitude-flag--responsive--small__object {
177
- /**
178
- * Small responsive flags.
179
- *
180
- * Take a little more heavy-handed approach to reworking
181
- * spacings on flags that are also small flags in their regular
182
- * state.
183
- **/
184
- padding-right: 0;
185
- padding-left: 0;
119
+ @mixin fortitude-flag__body--rev {
120
+ direction: ltr;
186
121
  }
187
122
 
188
- @mixin fortitude-flag--responsive--large__object {
189
- /**
190
- * Large responsive flags.
191
- *
192
- * Take a little more heavy-handed approach to reworking
193
- * spacings on flags that are also large flags in their regular
194
- * state.
195
- **/
196
- padding-right: 0;
197
- padding-left: 0;
123
+ @mixin fortitude-flag__body--responsive {
124
+ display: block;
198
125
  }
@@ -6,12 +6,12 @@
6
6
  * A simple flashbar object.
7
7
  **/
8
8
 
9
- @mixin fortitude-flashbar {
9
+ @mixin fortitude-flashbar($extensions: ()) {
10
10
  @include fortitude-clearfix;
11
11
  position: relative;
12
12
  }
13
13
 
14
- @mixin fortitude-flashbar__close {
14
+ @mixin fortitude-flashbar__close($extensions: ()) {
15
15
  position: absolute;
16
16
  right: halve($fortitude-base-spacing-unit);
17
17
  }
@@ -2,7 +2,7 @@
2
2
  #FLUID-CONTAINER
3
3
  \*------------------------------------*/
4
4
 
5
- @mixin fortitude-fluid-container {
5
+ @mixin fortitude-fluid-container($extensions: ()) {
6
6
  @include fortitude-clearfix;
7
7
  width: 100%;
8
8
  }
@@ -2,10 +2,10 @@
2
2
  #INLINE-LIST
3
3
  \*------------------------------------*/
4
4
 
5
- @mixin fortitude-inline-list {
5
+ @mixin fortitude-inline-list($extensions: ()) {
6
6
  display: inline;
7
7
  }
8
8
 
9
- @mixin fortitude-inline-list__item {
9
+ @mixin fortitude-inline-list__item($extensions: ()) {
10
10
  display: inline;
11
11
  }
@@ -2,334 +2,332 @@
2
2
  #INPUT
3
3
  \*------------------------------------*/
4
4
 
5
- $fortitude-field-input-placeholder-color: #a9a9a9 !default;
6
- $fortitude-field-input-height: double($fortitude-base-spacing-unit) !default;
7
5
  $fortitude-field-input-background-color: white !default;
8
- $fortitude-field-input-border-width: 0.1rem !default;
9
- $fortitude-field-input-border-style: solid !default;
10
6
  $fortitude-field-input-border-color: #a9a9a9 !default;
11
7
  $fortitude-field-input-border-radius: 0.2rem !default;
8
+ $fortitude-field-input-border-style: solid !default;
9
+ $fortitude-field-input-border-width: 0.1rem !default;
10
+ $fortitude-field-input-height: double($fortitude-base-spacing-unit) !default;
11
+ $fortitude-field-input-placeholder-color: #a9a9a9 !default;
12
12
 
13
- $fortitude-text-input-placeholder-color: $fortitude-field-input-placeholder-color !default;
14
- $fortitude-text-input-height: $fortitude-field-input-height !default;
15
13
  $fortitude-text-input-background-color: $fortitude-field-input-background-color !default;
16
- $fortitude-text-input-border-width: $fortitude-field-input-border-width !default;
17
- $fortitude-text-input-border-style: $fortitude-field-input-border-style !default;
18
14
  $fortitude-text-input-border-color: $fortitude-field-input-border-color !default;
19
15
  $fortitude-text-input-border-radius: $fortitude-field-input-border-radius !default;
16
+ $fortitude-text-input-border-style: $fortitude-field-input-border-style !default;
17
+ $fortitude-text-input-border-width: $fortitude-field-input-border-width !default;
18
+ $fortitude-text-input-height: $fortitude-field-input-height !default;
19
+ $fortitude-text-input-placeholder-color: $fortitude-field-input-placeholder-color !default;
20
20
 
21
- $fortitude-textarea-input-placeholder-color: $fortitude-field-input-placeholder-color !default;
22
- $fortitude-textarea-input-height: $fortitude-field-input-height !default;
23
21
  $fortitude-textarea-input-background-color: $fortitude-field-input-background-color !default;
24
- $fortitude-textarea-input-border-width: $fortitude-field-input-border-width !default;
25
- $fortitude-textarea-input-border-style: $fortitude-field-input-border-style !default;
26
22
  $fortitude-textarea-input-border-color: $fortitude-field-input-border-color !default;
27
23
  $fortitude-textarea-input-border-radius: $fortitude-field-input-border-radius !default;
24
+ $fortitude-textarea-input-border-style: $fortitude-field-input-border-style !default;
25
+ $fortitude-textarea-input-border-width: $fortitude-field-input-border-width !default;
26
+ $fortitude-textarea-input-height: $fortitude-field-input-height !default;
27
+ $fortitude-textarea-input-placeholder-color: $fortitude-field-input-placeholder-color !default;
28
28
 
29
- $fortitude-select-input-placeholder-color: $fortitude-field-input-placeholder-color !default;
30
- $fortitude-select-input-height: $fortitude-field-input-height !default;
31
29
  $fortitude-select-input-background-color: $fortitude-field-input-background-color !default;
32
- $fortitude-select-input-border-width: $fortitude-field-input-border-width !default;
33
- $fortitude-select-input-border-style: $fortitude-field-input-border-style !default;
34
30
  $fortitude-select-input-border-color: $fortitude-field-input-border-color !default;
35
31
  $fortitude-select-input-border-radius: $fortitude-field-input-border-radius !default;
32
+ $fortitude-select-input-border-style: $fortitude-field-input-border-style !default;
33
+ $fortitude-select-input-border-width: $fortitude-field-input-border-width !default;
34
+ $fortitude-select-input-height: $fortitude-field-input-height !default;
35
+ $fortitude-select-input-placeholder-color: $fortitude-field-input-placeholder-color !default;
36
36
 
37
- $fortitude-color-input-placeholder-color: $fortitude-field-input-placeholder-color !default;
38
- $fortitude-color-input-height: $fortitude-field-input-height !default;
39
37
  $fortitude-color-input-background-color: $fortitude-field-input-background-color !default;
40
- $fortitude-color-input-border-width: $fortitude-field-input-border-width !default;
41
- $fortitude-color-input-border-style: $fortitude-field-input-border-style !default;
42
38
  $fortitude-color-input-border-color: $fortitude-field-input-border-color !default;
43
39
  $fortitude-color-input-border-radius: $fortitude-field-input-border-radius !default;
40
+ $fortitude-color-input-border-style: $fortitude-field-input-border-style !default;
41
+ $fortitude-color-input-border-width: $fortitude-field-input-border-width !default;
42
+ $fortitude-color-input-height: $fortitude-field-input-height !default;
43
+ $fortitude-color-input-placeholder-color: $fortitude-field-input-placeholder-color !default;
44
44
 
45
- $fortitude-range-input-height: $fortitude-field-input-height !default;
46
45
  $fortitude-range-input-background-color: false !default;
47
- $fortitude-range-input-border-width: 0 !default;
48
- $fortitude-range-input-border-style: $fortitude-field-input-border-style !default;
49
46
  $fortitude-range-input-border-color: $fortitude-field-input-border-color !default;
50
47
  $fortitude-range-input-border-radius: $fortitude-field-input-border-radius !default;
48
+ $fortitude-range-input-border-style: $fortitude-field-input-border-style !default;
49
+ $fortitude-range-input-border-width: 0 !default;
50
+ $fortitude-range-input-height: $fortitude-field-input-height !default;
51
51
 
52
- $fortitude-switch-input-size: $fortitude-base-spacing-unit - 0.4rem !default;
53
52
  $fortitude-switch-input-background-color: false !default;
54
- $fortitude-switch-input-border-width: 0.1rem !default;
55
- $fortitude-switch-input-border-style: solid !default;
56
53
  $fortitude-switch-input-border-color: #a9a9a9 !default;
57
54
  $fortitude-switch-input-border-radius: 0.2rem !default;
55
+ $fortitude-switch-input-border-style: solid !default;
56
+ $fortitude-switch-input-border-width: 0.1rem !default;
57
+ $fortitude-switch-input-size: $fortitude-base-spacing-unit - 0.4rem !default;
58
58
 
59
- $fortitude-checkbox-input-size: $fortitude-switch-input-size !default;
60
59
  $fortitude-checkbox-input-background-color: $fortitude-switch-input-background-color !default;
61
- $fortitude-checkbox-input-border-width: $fortitude-switch-input-border-width !default;
62
- $fortitude-checkbox-input-border-style: $fortitude-switch-input-border-style !default;
63
60
  $fortitude-checkbox-input-border-color: $fortitude-switch-input-border-color !default;
64
61
  $fortitude-checkbox-input-border-radius: $fortitude-switch-input-border-radius !default;
62
+ $fortitude-checkbox-input-border-style: $fortitude-switch-input-border-style !default;
63
+ $fortitude-checkbox-input-border-width: $fortitude-switch-input-border-width !default;
64
+ $fortitude-checkbox-input-size: $fortitude-switch-input-size !default;
65
65
 
66
- $fortitude-radio-input-size: $fortitude-switch-input-size !default;
67
66
  $fortitude-radio-input-background-color: $fortitude-switch-input-background-color !default;
68
- $fortitude-radio-input-border-width: $fortitude-switch-input-border-width !default;
69
- $fortitude-radio-input-border-style: $fortitude-switch-input-border-style !default;
70
67
  $fortitude-radio-input-border-color: $fortitude-switch-input-border-color !default;
71
68
  $fortitude-radio-input-border-radius: 10rem !default;
69
+ $fortitude-radio-input-border-style: $fortitude-switch-input-border-style !default;
70
+ $fortitude-radio-input-border-width: $fortitude-switch-input-border-width !default;
71
+ $fortitude-radio-input-size: $fortitude-switch-input-size !default;
72
72
 
73
73
  $fortitude-enable-input--full: false !default;
74
74
  $fortitude-enable-input--pill: false !default;
75
75
 
76
- // Here we set a variable assuming that `box-sizing: border-box;` is not set
77
- // globally. If it has been previously been defined, the following variable will
78
- // be overriden and will be set to `true`.
79
76
  $fortitude-global-border-box: false !default;
80
77
 
81
- @mixin fortitude-input {
82
- /**
83
- * 1. Allow us to style box model properties.
84
- * 2. Line different sized inputs up a little nicer.
85
- * 3. Make inputs inherit use their initial styles (fixes zooming on iOS).
86
- * 4. Fixes odd inner spacing in IE7.
87
- **/
78
+ @mixin fortitude-input($extensions: ()) {
88
79
  @include fortitude-font-size($fortitude-base-font-size);
89
- /* [3] */
80
+
90
81
  display: inline-block;
91
- /* [1] */
82
+ position: relative;
92
83
  vertical-align: middle;
93
- /* [2] */
94
84
  font: inherit;
95
85
  overflow: visible;
96
- /* [4] */
97
86
  max-width: 100%;
87
+
98
88
  @if $fortitude-global-border-box == false {
99
89
  box-sizing: border-box;
100
- /* [10] */
101
90
  }
102
91
  }
103
92
 
104
- @mixin fortitude-text-input {
105
- @include fortitude-input;
106
- /**
107
- * 5. Reset/normalize some styles.
108
- * 6. Subtract the border size from the padding value so that inputs do not
109
- * grow larger as we add borders.
110
- **/
93
+ @mixin fortitude-text-input($extensions: ()) {
94
+ $is-full: fortitude-contains($extensions, full);
95
+ $is-pill: fortitude-contains($extensions, pill);
96
+
97
+ @include fortitude-input($extensions);
98
+
111
99
  height: $fortitude-text-input-height;
112
100
  margin: fortitude-block-margin($fortitude-text-input-height, $fortitude-text-input-border-width, $fortitude-base-line-height) 0;
113
- /* [5] */
114
101
  padding: fortitude-block-padding($fortitude-text-input-height, $fortitude-text-input-border-width, $fortitude-base-line-height);
115
- /* [6] */
102
+
116
103
  @if $fortitude-text-input-border-width != 0 {
117
104
  border: $fortitude-text-input-border-width $fortitude-text-input-border-style $fortitude-text-input-border-color;
118
- }
119
- @else {
105
+ } @else {
120
106
  border: 0;
121
- /* [5] */
122
107
  }
123
- @if $fortitude-text-input-border-radius != 0 {
108
+
109
+ @if $is-pill {
110
+ @include fortitude-input--pill;
111
+ } @else if $fortitude-text-input-border-radius != 0 {
124
112
  border-radius: $fortitude-text-input-border-radius;
125
- }
126
- @else {
113
+ } @else {
127
114
  border-radius: 0;
128
- /* [5] */
129
115
  }
116
+
130
117
  @if $fortitude-text-input-background-color {
131
118
  background-color: $fortitude-text-input-background-color;
132
119
  }
120
+
121
+ @if $is-full {
122
+ @include fortitude-input--full;
123
+ }
124
+
133
125
  &::placeholder {
134
126
  color: $fortitude-text-input-placeholder-color;
135
127
  }
136
128
  }
137
129
 
138
- @mixin fortitude-textarea-input {
139
- @include fortitude-input;
140
- /**
141
- * 5. Reset/normalize some styles.
142
- * 6. Subtract the border size from the padding value so that inputs do not
143
- * grow larger as we add borders.
144
- **/
130
+ @mixin fortitude-textarea-input($extensions: ()) {
131
+ $is-full: fortitude-contains($extensions, full);
132
+ $is-pill: fortitude-contains($extensions, pill);
133
+
134
+ @include fortitude-input($extensions);
135
+
145
136
  min-height: $fortitude-textarea-input-height;
146
137
  margin: fortitude-block-margin($fortitude-textarea-input-height, $fortitude-textarea-input-border-width, $fortitude-base-line-height) 0;
147
- /* [5] */
148
138
  padding: fortitude-block-padding($fortitude-textarea-input-height, $fortitude-textarea-input-border-width, $fortitude-base-line-height);
149
- /* [6] */
139
+
150
140
  @if $fortitude-textarea-input-border-width != 0 {
151
141
  border: $fortitude-textarea-input-border-width $fortitude-textarea-input-border-style $fortitude-textarea-input-border-color;
152
- }
153
- @else {
142
+ } @else {
154
143
  border: 0;
155
- /* [5] */
156
144
  }
157
- @if $fortitude-textarea-input-border-radius != 0 {
145
+
146
+ @if $is-pill {
147
+ @include fortitude-input--pill;
148
+ } @else if $fortitude-textarea-input-border-radius != 0 {
158
149
  border-radius: $fortitude-textarea-input-border-radius;
159
- }
160
- @else {
150
+ } @else {
161
151
  border-radius: 0;
162
- /* [5] */
163
152
  }
153
+
164
154
  @if $fortitude-textarea-input-background-color {
165
155
  background-color: $fortitude-textarea-input-background-color;
166
156
  }
157
+
158
+ @if $is-full {
159
+ @include fortitude-input--full;
160
+ }
161
+
167
162
  &::placeholder {
168
163
  color: $fortitude-textarea-input-placeholder-color;
169
164
  }
170
165
  }
171
166
 
172
- @mixin fortitude-select-input {
173
- @include fortitude-input;
174
- /**
175
- * 5. Reset/normalize some styles.
176
- * 6. Subtract the border size from the padding value so that inputs do not
177
- * grow larger as we add borders.
178
- **/
167
+ @mixin fortitude-select-input($extensions: ()) {
168
+ $is-full: fortitude-contains($extensions, full);
169
+ $is-pill: fortitude-contains($extensions, pill);
170
+
171
+ @include fortitude-input($extensions);
172
+
179
173
  height: $fortitude-select-input-height;
180
174
  margin: fortitude-block-margin($fortitude-select-input-height, $fortitude-select-input-border-width, $fortitude-base-line-height) 0;
181
- /* [5] */
182
175
  padding: fortitude-block-padding($fortitude-select-input-height, $fortitude-select-input-border-width, $fortitude-base-line-height);
183
- /* [6] */
176
+
184
177
  @if $fortitude-select-input-border-width != 0 {
185
178
  border: $fortitude-select-input-border-width $fortitude-select-input-border-style $fortitude-select-input-border-color;
186
- }
187
- @else {
179
+ } @else {
188
180
  border: 0;
189
- /* [5] */
190
181
  }
191
- @if $fortitude-select-input-border-radius != 0 {
182
+
183
+ @if $is-pill {
184
+ @include fortitude-input--pill;
185
+ } @else if $fortitude-select-input-border-radius != 0 {
192
186
  border-radius: $fortitude-select-input-border-radius;
193
- }
194
- @else {
187
+ } @else {
195
188
  border-radius: 0;
196
- /* [5] */
197
189
  }
190
+
198
191
  @if $fortitude-select-input-background-color {
199
192
  background-color: $fortitude-select-input-background-color;
200
193
  }
194
+
195
+ @if $is-full {
196
+ @include fortitude-input--full;
197
+ }
198
+
201
199
  &.placeholder {
202
200
  color: $fortitude-select-input-placeholder-color;
203
201
  }
202
+
204
203
  &[multiple] {
205
204
  height: auto;
206
205
  }
207
206
  }
208
207
 
209
- @mixin fortitude-checkbox-input {
210
- @include fortitude-input;
211
- /**
212
- * 5. Reset/normalize some styles.
213
- * 6. Subtract the border size from the padding value so that inputs do not
214
- * grow larger as we add borders.
215
- **/
208
+ @mixin fortitude-checkbox-input($extensions: ()) {
209
+ $is-pill: fortitude-contains($extensions, pill);
210
+
211
+ @include fortitude-input($extensions);
212
+
216
213
  width: $fortitude-checkbox-input-size;
217
214
  height: $fortitude-checkbox-input-size;
218
215
  margin: fortitude-block-margin($fortitude-checkbox-input-size + 0.2rem, $fortitude-checkbox-input-border-width, $fortitude-base-line-height) 0;
219
- /* [5] */
220
216
  padding: fortitude-block-padding($fortitude-checkbox-input-size, $fortitude-checkbox-input-border-width, $fortitude-base-line-height);
221
- /* [6] */
217
+
222
218
  @if $fortitude-checkbox-input-border-width != 0 {
223
219
  border: $fortitude-checkbox-input-border-width $fortitude-checkbox-input-border-style $fortitude-checkbox-input-border-color;
224
- }
225
- @else {
220
+ } @else {
226
221
  border: 0;
227
- /* [5] */
228
222
  }
229
- @if $fortitude-checkbox-input-border-radius != 0 {
223
+
224
+ @if $is-pill {
225
+ @include fortitude-input--pill;
226
+ } @else if $fortitude-checkbox-input-border-radius != 0 {
230
227
  border-radius: $fortitude-checkbox-input-border-radius;
231
- }
232
- @else {
228
+ } @else {
233
229
  border-radius: 0;
234
- /* [5] */
235
230
  }
231
+
236
232
  @if $fortitude-checkbox-input-background-color {
237
233
  background-color: $fortitude-checkbox-input-background-color;
238
234
  }
239
235
  }
240
236
 
241
- @mixin fortitude-radio-input {
242
- @include fortitude-input;
243
- /**
244
- * 5. Reset/normalize some styles.
245
- * 6. Subtract the border size from the padding value so that inputs do not
246
- * grow larger as we add borders.
247
- **/
237
+ @mixin fortitude-radio-input($extensions: ()) {
238
+ $is-pill: fortitude-contains($extensions, pill);
239
+
240
+ @include fortitude-input($extensions);
241
+
248
242
  width: $fortitude-radio-input-size;
249
243
  height: $fortitude-radio-input-size;
250
244
  margin: fortitude-block-margin($fortitude-radio-input-size + 0.4rem, $fortitude-radio-input-border-width, $fortitude-base-line-height) 0;
251
- /* [5] */
252
245
  padding: fortitude-block-padding($fortitude-radio-input-size, $fortitude-radio-input-border-width, $fortitude-base-line-height);
253
- /* [6] */
246
+
254
247
  @if $fortitude-radio-input-border-width != 0 {
255
248
  border: $fortitude-radio-input-border-width $fortitude-radio-input-border-style $fortitude-radio-input-border-color;
256
- }
257
- @else {
249
+ } @else {
258
250
  border: 0;
259
- /* [5] */
260
251
  }
261
- @if $fortitude-radio-input-border-radius != 0 {
252
+
253
+ @if $is-pill {
254
+ @include fortitude-input--pill;
255
+ } @else if $fortitude-radio-input-border-radius != 0 {
262
256
  border-radius: $fortitude-radio-input-border-radius;
263
- }
264
- @else {
257
+ } @else {
265
258
  border-radius: 0;
266
- /* [5] */
267
259
  }
260
+
268
261
  @if $fortitude-radio-input-background-color {
269
262
  background-color: $fortitude-radio-input-background-color;
270
263
  }
271
264
  }
272
265
 
273
- @mixin fortitude-range-input {
274
- @include fortitude-input;
275
- /**
276
- * 5. Reset/normalize some styles.
277
- * 6. Subtract the border size from the padding value so that inputs do not
278
- * grow larger as we add borders.
279
- **/
266
+ @mixin fortitude-range-input($extensions: ()) {
267
+ $is-full: fortitude-contains($extensions, full);
268
+ $is-pill: fortitude-contains($extensions, pill);
269
+
270
+ @include fortitude-input($extensions);
271
+
280
272
  height: $fortitude-range-input-height;
281
273
  margin: fortitude-block-margin($fortitude-range-input-height, $fortitude-range-input-border-width, $fortitude-base-line-height) 0;
282
- /* [5] */
283
274
  padding: fortitude-block-padding($fortitude-range-input-height, $fortitude-range-input-border-width, $fortitude-base-line-height) 0;
284
- /* [6] */
275
+
285
276
  @if $fortitude-range-input-border-width != 0 {
286
277
  border: $fortitude-range-input-border-width $fortitude-range-input-border-style $fortitude-range-input-border-color;
287
- }
288
- @else {
278
+ } @else {
289
279
  border: 0;
290
- /* [5] */
291
280
  }
292
- @if $fortitude-range-input-border-radius != 0 {
281
+
282
+ @if $is-pill {
283
+ @include fortitude-input--pill;
284
+ } @else if $fortitude-range-input-border-radius != 0 {
293
285
  border-radius: $fortitude-range-input-border-radius;
294
- }
295
- @else {
286
+ } @else {
296
287
  border-radius: 0;
297
- /* [5] */
298
288
  }
289
+
299
290
  @if $fortitude-range-input-background-color {
300
291
  background-color: $fortitude-range-input-background-color;
301
292
  }
293
+
294
+ @if $is-full {
295
+ @include fortitude-input--full;
296
+ }
302
297
  }
303
298
 
304
- @mixin fortitude-color-input {
305
- @include fortitude-input;
306
- /**
307
- * 5. Reset/normalize some styles.
308
- * 6. Subtract the border size from the padding value so that inputs do not
309
- * grow larger as we add borders.
310
- **/
299
+ @mixin fortitude-color-input($extensions: ()) {
300
+ $is-full: fortitude-contains($extensions, full);
301
+ $is-pill: fortitude-contains($extensions, pill);
302
+
303
+ @include fortitude-input($extensions);
304
+
311
305
  height: $fortitude-color-input-height;
312
306
  margin: fortitude-block-margin($fortitude-color-input-height, $fortitude-color-input-border-width, $fortitude-base-line-height) 0;
313
- /* [5] */
314
307
  padding: fortitude-block-padding($fortitude-color-input-height, $fortitude-color-input-border-width, $fortitude-base-line-height);
315
- /* [6] */
308
+
316
309
  @if $fortitude-color-input-border-width != 0 {
317
310
  border: $fortitude-color-input-border-width $fortitude-color-input-border-style $fortitude-color-input-border-color;
318
- }
319
- @else {
311
+ } @else {
320
312
  border: 0;
321
- /* [5] */
322
313
  }
323
- @if $fortitude-color-input-border-radius != 0 {
314
+
315
+ @if $is-pill {
316
+ @include fortitude-input--pill;
317
+ } @else if $fortitude-color-input-border-radius != 0 {
324
318
  border-radius: $fortitude-color-input-border-radius;
325
- }
326
- @else {
319
+ } @else {
327
320
  border-radius: 0;
328
- /* [5] */
329
321
  }
322
+
330
323
  @if $fortitude-color-input-background-color {
331
324
  background-color: $fortitude-color-input-background-color;
332
325
  }
326
+
327
+ @if $is-full {
328
+ @include fortitude-input--full;
329
+ }
330
+
333
331
  &::placeholder {
334
332
  color: $fortitude-color-input-placeholder-color;
335
333
  }
@@ -340,5 +338,25 @@ $fortitude-global-border-box: false !default;
340
338
  }
341
339
 
342
340
  @mixin fortitude-input--pill {
343
- border-radius: 10rem;
341
+ border-radius: 100rem;
344
342
  }
343
+
344
+
345
+ @mixin fortitude-input__target {
346
+ background-color: transparent;
347
+ border: 0;
348
+ border-radius: 0;
349
+ padding: 0;
350
+ margin: 0;
351
+ outline: 0;
352
+ position: absolute;
353
+ top: 0;
354
+ right: 0;
355
+ bottom: 0;
356
+ left: 0;
357
+ width: 100%;
358
+ height: 100%;
359
+ -moz-appearance: none;
360
+ -webkit-appearance: none;
361
+ appearance: none;
362
+ }