fortitude-sass 0.6.1 → 0.6.3

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 (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
+ }