shipyard-framework 0.5.69 → 0.5.70
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/assets/stylesheets/shipyard/_components.sass +1 -0
- data/assets/stylesheets/shipyard/components/_buttons.sass +7 -7
- data/assets/stylesheets/shipyard/components/_forms.sass +13 -10
- data/assets/stylesheets/shipyard/components/_horizontal-rules.sass +11 -0
- data/assets/stylesheets/shipyard/components/_icons.sass +0 -5
- data/assets/stylesheets/shipyard/components/_input-radio-checkbox.sass +1 -1
- data/assets/stylesheets/shipyard/components/_input-switch.sass +27 -19
- data/assets/stylesheets/shipyard/core/_typography.sass +0 -12
- data/assets/stylesheets/shipyard/mixins/_prefixed.sass +9 -4
- data/assets/stylesheets/shipyard/utilities/_positioning.sass +2 -0
- data/assets/stylesheets/shipyard/variables/_misc.sass +8 -7
- data/lib/shipyard-framework/version.rb +1 -1
- data/styleguide/Gemfile.lock +1 -1
- data/styleguide/_assets/css/views.sass +4 -0
- data/styleguide/components/checkboxes.md +102 -19
- data/styleguide/components/forms.html +0 -17
- data/styleguide/components/horizontal-rules.md +75 -0
- data/styleguide/components/icons.md +3 -3
- data/styleguide/components/index.md +1 -1
- data/styleguide/components/modals/_modal.html +1 -1
- data/styleguide/components/modals/example-billing.html +1 -1
- data/styleguide/components/modals/example-downgrade.html +8 -27
- data/styleguide/components/modals/example-survey.html +52 -0
- data/styleguide/components/radio-buttons.md +36 -18
- data/styleguide/utilities/typography.md +1 -57
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9ffe0c591ade0072321117debf737834f8b996c1c241c201c1b5a235e4c835c9
|
4
|
+
data.tar.gz: 5ea90413b10bd35bb92e5dfe80ab621af420f2385a2ab48f464b0ae0d17ace30
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 435f65ebc2cbe2dbe8f08e51278b6a4a7771e6488e1de82e807f5aa225f3e8c01cf2c6310e06385a8d67ede150f4cc7be0ae17b90340ebf48d869ee9e1aa2ea1
|
7
|
+
data.tar.gz: 469eaf26a4e08013c2b2233ad5524fdb1ef4a86a77a8d53d1a8bcff0ee3b376149e1bf01fd37d9ec306b856c570c4a43bbe7749ea574374e91e7808b7e577def
|
@@ -17,7 +17,7 @@
|
|
17
17
|
+btn-hover(darken($bg, 10%), #fff)
|
18
18
|
|
19
19
|
@mixin btn-color($color, $text-color: null, $border-color: null)
|
20
|
-
background: $color
|
20
|
+
background-color: $color
|
21
21
|
@if $border-color
|
22
22
|
border-color: $border-color
|
23
23
|
@else
|
@@ -118,14 +118,14 @@
|
|
118
118
|
+btn-hover(darken($blue, 12%))
|
119
119
|
|
120
120
|
&-secondary
|
121
|
-
+btn-color(
|
122
|
-
+btn-hover(
|
121
|
+
+btn-color(transparent, $text-color-light, darken($gray-lightest, 7%))
|
122
|
+
+btn-hover(transparent, darken($text-color-light, 15%), darken($gray-lightest, 17%))
|
123
123
|
&-link
|
124
|
-
+btn-color(
|
125
|
-
+btn-hover(
|
124
|
+
+btn-color(transparent, $blue, darken($gray-lightest, 7%))
|
125
|
+
+btn-hover(transparent, $blue-dark, darken($gray-lightest, 17%))
|
126
126
|
&-dark
|
127
|
-
+btn-color(
|
128
|
-
+btn-hover(
|
127
|
+
+btn-color(transparent, darken($text-color-light, 5%), lighten($gray-light, 5%))
|
128
|
+
+btn-hover(transparent, darken($text-color-light, 20%), darken($gray-light, 5%))
|
129
129
|
|
130
130
|
&-caution
|
131
131
|
+btn-color($red-dark)
|
@@ -13,8 +13,9 @@
|
|
13
13
|
border: 2px solid $border-color
|
14
14
|
transition: background-color 300ms ease, border-color 300ms ease, opacity 300ms ease
|
15
15
|
+appearance(none)
|
16
|
-
|
17
|
-
|
16
|
+
+background-clip(padding-box)
|
17
|
+
&:hover, &:focus, .btn:hover &
|
18
|
+
border-color: $border-color-dark
|
18
19
|
|
19
20
|
&-group
|
20
21
|
+clearfix
|
@@ -27,7 +28,7 @@
|
|
27
28
|
&-select
|
28
29
|
display: block
|
29
30
|
width: 100%
|
30
|
-
background: #fff
|
31
|
+
background-color: #fff
|
31
32
|
height: 50px
|
32
33
|
font: $font
|
33
34
|
font-weight: $medium
|
@@ -40,7 +41,6 @@
|
|
40
41
|
+when('error')
|
41
42
|
border-color: $red
|
42
43
|
&:hover, &:focus
|
43
|
-
border-color: $border-color-dark
|
44
44
|
+when('error')
|
45
45
|
border-color: darken($red, 15%)
|
46
46
|
&-container
|
@@ -75,7 +75,7 @@
|
|
75
75
|
&-text
|
76
76
|
font: $font
|
77
77
|
color: $text-color
|
78
|
-
background: #fff
|
78
|
+
background-color: #fff
|
79
79
|
position: relative
|
80
80
|
height: 50px
|
81
81
|
font-size: 16px
|
@@ -88,14 +88,17 @@
|
|
88
88
|
+when('error')
|
89
89
|
border-color: $red
|
90
90
|
&:hover, &:focus
|
91
|
-
border-color: $border-color-dark
|
92
91
|
+when('error')
|
93
92
|
border-color: darken($red, 15%)
|
94
93
|
&-connect
|
95
|
-
&-top
|
96
|
-
&-middle
|
97
|
-
&-bottom
|
98
|
-
|
94
|
+
&-top,
|
95
|
+
&-middle,
|
96
|
+
&-bottom
|
97
|
+
border-color: rgba($bg-to-border, .37)
|
98
|
+
+background-clip(initial)
|
99
|
+
&:hover, &:focus
|
100
|
+
z-index: 1
|
101
|
+
border-color: rgba($bg-to-border, .50)
|
99
102
|
&-top
|
100
103
|
border-radius: 5px 5px 0 0
|
101
104
|
&-middle
|
@@ -0,0 +1,11 @@
|
|
1
|
+
+component('hr')
|
2
|
+
height: 0
|
3
|
+
border: 0 solid $border-color-lighter
|
4
|
+
border-width: 2px 0 0
|
5
|
+
+respond-to(margin, (x0: 20px 0, x1: 30px 0))
|
6
|
+
&-dark
|
7
|
+
border-color: $border-color
|
8
|
+
&-light
|
9
|
+
border-color: $border-color-lightest
|
10
|
+
&-thin
|
11
|
+
border-width: 1px 0 0
|
@@ -1,33 +1,41 @@
|
|
1
|
-
$sizes: (sm: 18px
|
1
|
+
$sizes: (sm: 18px)
|
2
2
|
|
3
3
|
+component('input-switch')
|
4
|
+
outline: none
|
5
|
+
cursor: pointer
|
4
6
|
position: relative
|
5
|
-
|
6
|
-
display: block
|
7
|
+
display: inline-block
|
7
8
|
border-radius: 50px
|
8
|
-
|
9
|
-
|
10
|
-
|
9
|
+
+width-height(36px, 20px)
|
10
|
+
+background-clip(initial)
|
11
|
+
&, &:hover, &:focus
|
12
|
+
+btn-color($red, $border-color: transparent)
|
13
|
+
&:checked
|
14
|
+
&, &:hover, &:focus
|
15
|
+
+btn-color($green, $border-color: transparent)
|
16
|
+
|
17
|
+
&-secondary
|
18
|
+
+extend
|
19
|
+
&, &:hover, &:focus
|
20
|
+
+btn-color($border-color, $border-color: transparent)
|
21
|
+
|
22
|
+
// Checkbox Switch: White Dot
|
23
|
+
&::after
|
24
|
+
top: 0
|
25
|
+
left: 0
|
11
26
|
content: ''
|
12
27
|
display: block
|
13
28
|
position: absolute
|
14
|
-
top: 2px
|
15
|
-
left: 2px
|
16
|
-
background: #fff
|
17
29
|
border-radius: 50%
|
30
|
+
background-color: #fff
|
18
31
|
transition: transform 300ms ease
|
32
|
+
+width-height(16px)
|
33
|
+
&:checked::after
|
34
|
+
transform: translatex(100%)
|
19
35
|
|
36
|
+
// Checkbox Switch: Sizes
|
20
37
|
@each $name, $size in $sizes
|
21
38
|
&-#{$name}
|
22
|
-
+extend
|
23
39
|
+width-height($size * 2 - 4px, $size)
|
24
|
-
&::
|
40
|
+
&::after
|
25
41
|
+width-height($size - 4px)
|
26
|
-
|
27
|
-
&-false
|
28
|
-
background: $red
|
29
|
-
|
30
|
-
&-true
|
31
|
-
background: $green
|
32
|
-
&::before
|
33
|
-
transform: translatex(100%)
|
@@ -15,18 +15,6 @@
|
|
15
15
|
color: darken($blue, 10%)
|
16
16
|
text-decoration: underline
|
17
17
|
|
18
|
-
+component('hr')
|
19
|
-
height: 0
|
20
|
-
border: 0 solid $border-color-light
|
21
|
-
border-width: 2px 0 0
|
22
|
-
+respond-to(margin, (x0: 20px 0, x1: 30px 0))
|
23
|
-
&-dark
|
24
|
-
border-color: $border-color
|
25
|
-
&-light
|
26
|
-
border-color: $border-color-lightest
|
27
|
-
&-thin
|
28
|
-
border-width: 1px 0 0
|
29
|
-
|
30
18
|
strong
|
31
19
|
font-weight: $bold
|
32
20
|
|
@@ -1,15 +1,20 @@
|
|
1
1
|
@mixin appearance($value)
|
2
|
-
appearance: $value
|
3
|
-
-moz-appearance: $value
|
4
2
|
-webkit-appearance: $value
|
3
|
+
-moz-appearance: $value
|
4
|
+
appearance: $value
|
5
5
|
|
6
6
|
@mixin backdrop-filter($value)
|
7
|
-
backdrop-filter: $value
|
8
7
|
-webkit-backdrop-filter: $value
|
8
|
+
backdrop-filter: $value
|
9
|
+
|
10
|
+
@mixin background-clip($value)
|
11
|
+
-webkit-background-clip: $value
|
12
|
+
-moz-background-clip: $value
|
13
|
+
background-clip: $value
|
9
14
|
|
10
15
|
@mixin mask($value)
|
11
|
-
mask: $value
|
12
16
|
-webkit-mask: $value
|
17
|
+
mask: $value
|
13
18
|
|
14
19
|
@mixin placeholder
|
15
20
|
&::placeholder
|
@@ -6,10 +6,11 @@ $bg-color: $gray-lightest !default
|
|
6
6
|
$box-shadow: 0 1px 2px rgba($gray-darkest,.08) !default
|
7
7
|
$border-radius: 5px !default
|
8
8
|
|
9
|
-
$border
|
10
|
-
$border-color
|
11
|
-
$border-color-
|
12
|
-
$border-color-
|
13
|
-
$border-color-
|
14
|
-
$border-color-
|
15
|
-
$border-color-
|
9
|
+
$bg-to-border: darken($bg-color, 50%)
|
10
|
+
$border-color: rgba($bg-to-border, .3) !default
|
11
|
+
$border-color-dark: rgba($bg-to-border, .45) !default
|
12
|
+
$border-color-darker: rgba($bg-to-border, .55) !default
|
13
|
+
$border-color-darkest: rgba($bg-to-border, .60) !default
|
14
|
+
$border-color-light: rgba($bg-to-border, .24) !default
|
15
|
+
$border-color-lighter: rgba($bg-to-border, .12) !default
|
16
|
+
$border-color-lightest: rgba($bg-to-border, .08) !default
|
data/styleguide/Gemfile.lock
CHANGED
@@ -12,20 +12,21 @@ labels:
|
|
12
12
|
|
13
13
|
---
|
14
14
|
|
15
|
-
##
|
16
|
-
<p class="text-light margin-bottom-md">Useful when you want to group a series of checkboxes together
|
15
|
+
## Inline Checkbox Lists
|
16
|
+
<p class="text-light margin-bottom-md">Useful when you want to group a series of checkboxes together on a single line.</p>
|
17
17
|
|
18
|
-
<ul class="input-list">
|
18
|
+
<ul class="input-list margin-bottom-lg">
|
19
19
|
{% for label in page.labels %}
|
20
|
-
<li class="input-item">
|
21
|
-
<input id="checkbox-
|
22
|
-
<label for="checkbox-
|
20
|
+
<li class="input-item-inline">
|
21
|
+
<input id="checkbox-inline-{{ forloop.index }}" name="checkbox-list" type="checkbox" class="input input-checkbox" {% if forloop.index == 1 %}checked{% endif %} />
|
22
|
+
<label for="checkbox-inline-{{ forloop.index }}" class="input-label">Inline Label</label>
|
23
23
|
</li>
|
24
24
|
{% endfor %}
|
25
25
|
</ul>
|
26
|
+
|
26
27
|
```html
|
27
28
|
<ul class="input-list">
|
28
|
-
<li class="input-item">
|
29
|
+
<li class="input-item-inline">
|
29
30
|
<input id="checkbox-id" name="checkbox-name" type="checkbox" class="input input-checkbox" checked />
|
30
31
|
<label for="checkbox-id" class="input-label">Checkbox Label</label>
|
31
32
|
</li>
|
@@ -34,21 +35,38 @@ labels:
|
|
34
35
|
|
35
36
|
---
|
36
37
|
|
37
|
-
##
|
38
|
-
<p class="text-light margin-bottom-md">Useful when you want to group a series of checkboxes together
|
39
|
-
|
40
|
-
<ul class="input-list">
|
41
|
-
{% for label in page.labels %}
|
42
|
-
<li class="input-item-inline">
|
43
|
-
<input id="checkbox-inline-{{ forloop.index }}" name="checkbox-list" type="checkbox" class="input input-checkbox" {% if forloop.index == 1 %}checked{% endif %} />
|
44
|
-
<label for="checkbox-inline-{{ forloop.index }}" class="input-label">Inline Label</label>
|
45
|
-
</li>
|
46
|
-
{% endfor %}
|
47
|
-
</ul>
|
38
|
+
## Stacked Checkbox Lists
|
39
|
+
<p class="text-light margin-bottom-md">Useful when you want to group a series of checkboxes together in a list (stacked by default).</p>
|
48
40
|
|
41
|
+
<div class="col-container margin-bottom-sm margin-bottom-x1-lg">
|
42
|
+
<div class="col col-100 col-x1-50 margin-bottom-sm margin-bottom-x1-none">
|
43
|
+
<div class="rounded bg-white box-padding">
|
44
|
+
<ul class="input-list">
|
45
|
+
{% for label in page.labels %}
|
46
|
+
<li class="input-item">
|
47
|
+
<input id="checkbox-light-{{ forloop.index }}" name="checkbox-list" type="checkbox" class="input input-checkbox" {% if forloop.index == 1 %}checked{% endif %} />
|
48
|
+
<label for="checkbox-light-{{ forloop.index }}" class="input-label">{{ label }}</label>
|
49
|
+
</li>
|
50
|
+
{% endfor %}
|
51
|
+
</ul>
|
52
|
+
</div>
|
53
|
+
</div>
|
54
|
+
<div class="col col-100 col-x1-50">
|
55
|
+
<div class="box-secondary box-padding">
|
56
|
+
<ul class="input-list">
|
57
|
+
{% for label in page.labels %}
|
58
|
+
<li class="input-item">
|
59
|
+
<input id="checkbox-dark-{{ forloop.index }}" name="checkbox-list" type="checkbox" class="input input-checkbox" {% if forloop.index == 1 %}checked{% endif %} />
|
60
|
+
<label for="checkbox-dark-{{ forloop.index }}" class="input-label">{{ label }}</label>
|
61
|
+
</li>
|
62
|
+
{% endfor %}
|
63
|
+
</ul>
|
64
|
+
</div>
|
65
|
+
</div>
|
66
|
+
</div>
|
49
67
|
```html
|
50
68
|
<ul class="input-list">
|
51
|
-
<li class="input-item
|
69
|
+
<li class="input-item">
|
52
70
|
<input id="checkbox-id" name="checkbox-name" type="checkbox" class="input input-checkbox" checked />
|
53
71
|
<label for="checkbox-id" class="input-label">Checkbox Label</label>
|
54
72
|
</li>
|
@@ -115,3 +133,68 @@ labels:
|
|
115
133
|
Button Text
|
116
134
|
</button>
|
117
135
|
```
|
136
|
+
|
137
|
+
---
|
138
|
+
|
139
|
+
## Checkbox Switches
|
140
|
+
<p class="text-light margin-bottom-md">Switches are useful when the user has a choice to toggle on and off. Note: For the best UX, please make sure that the switch saves immediately each time it changes state.</p>
|
141
|
+
|
142
|
+
<div class="box box-xs margin-bottom-sm padding-top-md padding-bottom-md padding-left-sm padding-right-sm padding-left-x1-lg padding-right-x1-lg">
|
143
|
+
<div class="col-container-nowrap">
|
144
|
+
<div class="components-checkboxes-switch-col col col-100 text-light text-overflow-ellipsis">Praesent commodo cursus magna, vel scelerisque aenean eu leo quam pellentesque ornare sem lacinia quam.</div>
|
145
|
+
<div class="col margin-left-sm">
|
146
|
+
<input type="checkbox" class="input input-switch" checked />
|
147
|
+
</div>
|
148
|
+
</div>
|
149
|
+
</div>
|
150
|
+
<div class="box-secondary box-xs padding-top-md padding-bottom-md padding-left-sm padding-right-sm padding-left-x1-lg padding-right-x1-lg">
|
151
|
+
<div class="col-container-nowrap">
|
152
|
+
<div class="components-checkboxes-switch-col col col-100 text-light text-overflow-ellipsis">Praesent commodo cursus magna, vel scelerisque aenean eu leo quam pellentesque ornare sem lacinia quam.</div>
|
153
|
+
<div class="col margin-left-sm">
|
154
|
+
<input type="checkbox" class="input input-switch" />
|
155
|
+
</div>
|
156
|
+
</div>
|
157
|
+
</div>
|
158
|
+
```html
|
159
|
+
<input type="checkbox" class="input input-switch" />
|
160
|
+
```
|
161
|
+
|
162
|
+
---
|
163
|
+
|
164
|
+
## Secondary Checkbox Switches
|
165
|
+
<p class="text-light margin-bottom-md">Useful when you don't need to draw attention to the bright-red, off state.</p>
|
166
|
+
|
167
|
+
<div class="box box-xs margin-bottom-sm padding-top-md padding-bottom-md padding-left-sm padding-right-sm padding-left-x1-lg padding-right-x1-lg">
|
168
|
+
<div class="col-container-nowrap">
|
169
|
+
<div class="components-checkboxes-switch-col col col-100 text-light text-overflow-ellipsis">Praesent commodo cursus magna, vel scelerisque aenean eu leo quam pellentesque ornare sem lacinia quam.</div>
|
170
|
+
<div class="col margin-left-sm">
|
171
|
+
<input type="checkbox" class="input input-switch-secondary" checked />
|
172
|
+
</div>
|
173
|
+
</div>
|
174
|
+
</div>
|
175
|
+
<div class="box-secondary box-xs padding-top-md padding-bottom-md padding-left-sm padding-right-sm padding-left-x1-lg padding-right-x1-lg">
|
176
|
+
<div class="col-container-nowrap">
|
177
|
+
<div class="components-checkboxes-switch-col col col-100 text-light text-overflow-ellipsis">Praesent commodo cursus magna, vel scelerisque aenean eu leo quam pellentesque ornare sem lacinia quam.</div>
|
178
|
+
<div class="col margin-left-sm">
|
179
|
+
<input type="checkbox" class="input input-switch-secondary" />
|
180
|
+
</div>
|
181
|
+
</div>
|
182
|
+
</div>
|
183
|
+
```html
|
184
|
+
<input type="checkbox" class="input input-switch" />
|
185
|
+
```
|
186
|
+
|
187
|
+
---
|
188
|
+
|
189
|
+
## Small Checkbox Switches
|
190
|
+
<p class="text-light margin-bottom-md">Useful when you want to show checkboxes inline next to a text label.</p>
|
191
|
+
<div>
|
192
|
+
<input id="small-switch-off" type="checkbox" class="input input-switch input-switch-sm align-middle" />
|
193
|
+
<label for="small-switch-off" class="text-sm text-light margin-left-xxs medium margin-right-md">Checkbox Switch Off</label>
|
194
|
+
|
195
|
+
<input id="small-switch-on" type="checkbox" class="input input-switch input-switch-sm align-middle" checked />
|
196
|
+
<label for="small-switch-on" class="text-sm text-light margin-left-xxs medium">Checkbox Switch On</label>
|
197
|
+
</div>
|
198
|
+
```html
|
199
|
+
<input type="checkbox" class="input input-switch input-switch-sm" />
|
200
|
+
```
|
@@ -31,23 +31,6 @@ title: Shipyard Forms
|
|
31
31
|
</select>
|
32
32
|
</div>
|
33
33
|
</div>
|
34
|
-
<div class="input-group">
|
35
|
-
<h2>Switches</h2>
|
36
|
-
<div class="col-container margin-top-xs">
|
37
|
-
<div class="col col-20">
|
38
|
-
<label class="label">Medium Switches</label>
|
39
|
-
<button class="input-switch-md"></button>
|
40
|
-
<button class="input-switch-md input-switch-true"></button>
|
41
|
-
<button class="input-switch-md input-switch-false"></button>
|
42
|
-
</div>
|
43
|
-
<div class="col col-20">
|
44
|
-
<label class="label">Small Switches</label>
|
45
|
-
<button class="input-switch-sm"></button>
|
46
|
-
<button class="input-switch-sm input-switch-true"></button>
|
47
|
-
<button class="input-switch-sm input-switch-false"></button>
|
48
|
-
</div>
|
49
|
-
</div>
|
50
|
-
</div>
|
51
34
|
|
52
35
|
<hr />
|
53
36
|
|
@@ -0,0 +1,75 @@
|
|
1
|
+
---
|
2
|
+
title: Horizontal Rules
|
3
|
+
description: Shipyard doesn't make any assumptions on how you want to common tags like an `hr` to styled. As a result, we would recommend extending the `.hr` class in your own SASS files to achieve the results below on all `hr` tags (e.g. `@extend .hr`).
|
4
|
+
text_sizes: [xxs, xs, sm, md, lg, xl, xxl, xxxl]
|
5
|
+
text_shades: [normal, light, lighter, lightest]
|
6
|
+
---
|
7
|
+
|
8
|
+
{% include page-heading.html page=page %}
|
9
|
+
|
10
|
+
{% note :warning %}
|
11
|
+
<p markdown="1">
|
12
|
+
Please note that the code examples below are **not possible** without `hr { @extend .hr }` somewhere in your application's sass files. If you haven't done this, then you'll need to include the `.hr` class on every horizontal rule.
|
13
|
+
</p>
|
14
|
+
{% endnote %}
|
15
|
+
|
16
|
+
---
|
17
|
+
|
18
|
+
## Default Horizontal Rules
|
19
|
+
<div class="utilities-typography-hr-box-default">
|
20
|
+
<hr class="utilities-typography-hr" />
|
21
|
+
</div>
|
22
|
+
<div class="utilities-typography-hr-box-dark">
|
23
|
+
<hr class="utilities-typography-hr" />
|
24
|
+
</div>
|
25
|
+
<div class="utilities-typography-hr-box-light">
|
26
|
+
<hr class="utilities-typography-hr" />
|
27
|
+
</div>
|
28
|
+
|
29
|
+
```html
|
30
|
+
<hr />
|
31
|
+
```
|
32
|
+
|
33
|
+
---
|
34
|
+
|
35
|
+
## Thin Horizontal Rules `.hr-thin`
|
36
|
+
{: .margin-bottom-md }
|
37
|
+
|
38
|
+
<div class="utilities-typography-hr-box-default">
|
39
|
+
<hr class="utilities-typography-hr hr-thin" />
|
40
|
+
</div>
|
41
|
+
<div class="utilities-typography-hr-box-dark">
|
42
|
+
<hr class="utilities-typography-hr hr-thin" />
|
43
|
+
</div>
|
44
|
+
<div class="utilities-typography-hr-box-light">
|
45
|
+
<hr class="utilities-typography-hr hr-thin" />
|
46
|
+
</div>
|
47
|
+
|
48
|
+
```html
|
49
|
+
<hr class="hr-thin" />
|
50
|
+
```
|
51
|
+
|
52
|
+
---
|
53
|
+
|
54
|
+
## Dark Horizontal Rules
|
55
|
+
<p class="text-light margin-bottom-md" markdown="1">Useful when you have a horizontal rule on a darker background.</p>
|
56
|
+
|
57
|
+
<div class="utilities-typography-hr-box-dark">
|
58
|
+
<hr class="utilities-typography-hr hr-dark" />
|
59
|
+
</div>
|
60
|
+
```html
|
61
|
+
<hr class="hr-dark" />
|
62
|
+
```
|
63
|
+
|
64
|
+
---
|
65
|
+
|
66
|
+
## Light Horizontal Rules
|
67
|
+
<p class="text-light margin-bottom-md" markdown="1">Useful when you have a horizontal rule on a lighter background.</p>
|
68
|
+
|
69
|
+
<div class="utilities-typography-hr-box-light">
|
70
|
+
<hr class="utilities-typography-hr hr-light" />
|
71
|
+
</div>
|
72
|
+
|
73
|
+
```html
|
74
|
+
<hr class="hr-light" />
|
75
|
+
```
|
@@ -81,15 +81,15 @@ description: Shipyard comes with several default icons that you're welcome to us
|
|
81
81
|
---
|
82
82
|
|
83
83
|
### Centered Icons
|
84
|
-
<p class="text-light margin-bottom-md" markdown="1">One of the most common problems when using an icon is that doesn't line up with the text content next to it. Don't worry though, we've got you covered — simply apply the `.
|
84
|
+
<p class="text-light margin-bottom-md" markdown="1">One of the most common problems when using an icon is that doesn't line up with the text content next to it. Don't worry though, we've got you covered — simply apply the `.align-middle` class to any icon to fix this issue.</p>
|
85
85
|
|
86
86
|
<div class="margin-bottom-lg">
|
87
|
-
<button class="btn btn-secondary">{% icon :plus, class: '
|
87
|
+
<button class="btn btn-secondary">{% icon :plus, class: 'align-middle icon-sm margin-right-xxs' %} Create</button>
|
88
88
|
</div>
|
89
89
|
|
90
90
|
```erb
|
91
91
|
<button class="btn btn-secondary">
|
92
|
-
<%= icon :plus, class: '
|
92
|
+
<%= icon :plus, class: 'align-middle icon-sm' %>
|
93
93
|
Create
|
94
94
|
</button>
|
95
95
|
```
|
@@ -1,6 +1,6 @@
|
|
1
1
|
---
|
2
2
|
title: Shipyard Components
|
3
|
-
components: [Boxes, Buttons, Empty States, Alerts, Notes, Forms, Radio Buttons, Checkboxes, Icons, Modals, Tooltips, Code, Tables]
|
3
|
+
components: [Boxes, Buttons, Empty States, Alerts, Notes, Forms, Radio Buttons, Checkboxes, Icons, Modals, Tooltips, Code, Tables, Horizontal Rules]
|
4
4
|
---
|
5
5
|
|
6
6
|
{% include page-heading.html page=page %}
|
@@ -90,7 +90,7 @@
|
|
90
90
|
</div>
|
91
91
|
<div class="col align-right">
|
92
92
|
<span class="btn-sm btn-x1-md white-space-nowrap padding-none">
|
93
|
-
{% icon :lock, class: 'green-dark
|
93
|
+
{% icon :lock, class: 'green-dark align-middle margin-right-xxs' %}
|
94
94
|
<span class="text-sm text-lighter medium">Secure Server</span>
|
95
95
|
</span>
|
96
96
|
</div>
|
@@ -70,7 +70,7 @@ title: Shipyard Modal Example
|
|
70
70
|
</div>
|
71
71
|
<div class="col align-right">
|
72
72
|
<span class="btn-sm btn-x1-md white-space-nowrap padding-none">
|
73
|
-
{% icon :lock, class: 'green-dark
|
73
|
+
{% icon :lock, class: 'green-dark align-middle margin-right-xxs' %}
|
74
74
|
<span class="text-sm text-lighter medium">Secure Server</span>
|
75
75
|
</span>
|
76
76
|
</div>
|
@@ -1,51 +1,32 @@
|
|
1
1
|
---
|
2
2
|
title: Shipyard Modal Example
|
3
3
|
answers:
|
4
|
-
-
|
5
|
-
-
|
6
|
-
- Codeship is too expensive for our needs.
|
7
|
-
- Codeship is missing a feature that we needed.
|
8
|
-
- We're unsatisfied with our experience.
|
4
|
+
- I'd like to continue using Codeship on the free plan.
|
5
|
+
- I will no longer be using Codeship.
|
9
6
|
---
|
10
7
|
|
11
8
|
{% include page-heading.html page=page %}
|
12
9
|
|
13
10
|
<div class="modal-container" modal="example-small">
|
14
11
|
<div class="modal modal-sm modal-billing" role="dialog">
|
15
|
-
<div class="
|
16
|
-
|
17
|
-
<span class="modal-downgrade-coupon code-inline strong"><span class="modal-downgrade-tag bg-green-dark margin-right-none rounded-left">{% icon :tag, class: 'icon-center modal-downgrade-tag-icon' %}</span><span class="modal-downgrade-coupon-txt">50% OFF</span></span>
|
18
|
-
one month if you decide to stay.
|
19
|
-
<button class="alert-cta btn btn-cta btn-sm" modal-close>Apply Discount</button>
|
20
|
-
</div>
|
21
|
-
<div class="modal-content rounded-0">
|
22
|
-
<div class="modal-title">
|
23
|
-
<h1 class="text-lg text-x1-xl">Codeship Basic Downgrade</h1>
|
24
|
-
</div>
|
12
|
+
<div class="modal-content">
|
13
|
+
<h1 class="modal-title text-lg text-x1-xl">Codeship Basic Downgrade</h1>
|
25
14
|
<p class="text-light margin-bottom-md">
|
26
|
-
|
27
|
-
and experience on why Codeship wasn't a good fit for your team.
|
15
|
+
Our mission is to ensure that Codeship enables all users to be successful with their projects. The best way to do this is through continuous feedback. Before we process your request, please let us know why you're canceling your current Codeship Basic plan.
|
28
16
|
</p>
|
29
17
|
<form>
|
30
18
|
<ul class="input-list">
|
31
19
|
{% for answer in page.answers %}
|
32
20
|
<li class="input-item">
|
33
|
-
<input id="
|
34
|
-
<label for="
|
21
|
+
<input id="radio-{{ forloop.index }}" name="radio-name" type="radio" class="input input-radio" {% if forloop.index == 1 %}checked{% endif %} />
|
22
|
+
<label for="radio-{{ forloop.index }}" class="input-label">{{ answer }}</label>
|
35
23
|
</li>
|
36
24
|
{% endfor %}
|
37
25
|
</ul>
|
38
|
-
<div class="input-group">
|
39
|
-
<label class="label">Please provide additional details:</label>
|
40
|
-
<textarea class="input input-text input-full input-lg" placeholder="How could we have made your experience better?"></textarea>
|
41
|
-
</div>
|
42
26
|
</form>
|
43
27
|
</div>
|
44
28
|
<div class="modal-ctas">
|
45
|
-
<
|
46
|
-
<span class="display-none display-x1-inline">Confirm</span> Downgrade
|
47
|
-
</button>
|
48
|
-
<button class="btn btn-cta btn-sm btn-x1-md margin-right-xxs margin-right-x1-xs" modal-close>Apply Discount</button>
|
29
|
+
<a href="{{ site.baseurl }}/components/modals/example-survey" class="btn btn-primary btn-sm btn-x1-md margin-right-xxs margin-right-x1-xs" modal-close>Continue</a>
|
49
30
|
<button class="btn btn-secondary btn-sm btn-x1-md" modal-close>Cancel</button>
|
50
31
|
</div>
|
51
32
|
</div>
|
@@ -0,0 +1,52 @@
|
|
1
|
+
---
|
2
|
+
title: Shipyard Modal Example
|
3
|
+
answers:
|
4
|
+
- We're happy with Codeship, but we don't need it anymore.
|
5
|
+
- We've chosen another CI/CD provider.
|
6
|
+
- Codeship is too expensive for our needs.
|
7
|
+
- Codeship is missing a feature that we needed.
|
8
|
+
- We're unsatisfied with our experience.
|
9
|
+
---
|
10
|
+
|
11
|
+
{% include page-heading.html page=page %}
|
12
|
+
|
13
|
+
<div class="modal-container" modal="example-small">
|
14
|
+
<div class="modal modal-sm modal-billing" role="dialog">
|
15
|
+
<div class="alert alert-success margin-bottom-none rounded-top medium text-sm">
|
16
|
+
We'd like to offer you
|
17
|
+
<span class="modal-downgrade-coupon code-inline strong"><span class="modal-downgrade-tag bg-green-dark margin-right-none rounded-left">{% icon :tag, class: 'align-middle modal-downgrade-tag-icon' %}</span><span class="modal-downgrade-coupon-txt">50% OFF</span></span>
|
18
|
+
one month if you decide to stay.
|
19
|
+
<button class="alert-cta btn btn-cta btn-sm" modal-close>Apply Discount</button>
|
20
|
+
</div>
|
21
|
+
<div class="modal-content rounded-0">
|
22
|
+
<div class="modal-title">
|
23
|
+
<h1 class="text-lg text-x1-xl">Codeship Basic Downgrade</h1>
|
24
|
+
</div>
|
25
|
+
<p class="text-light margin-bottom-md">
|
26
|
+
We'd appreciate it if you would take a moment to share your thoughts
|
27
|
+
and experience on why Codeship wasn't a good fit for your team.
|
28
|
+
</p>
|
29
|
+
<form>
|
30
|
+
<ul class="input-list">
|
31
|
+
{% for answer in page.answers %}
|
32
|
+
<li class="input-item">
|
33
|
+
<input id="checkbox-{{ forloop.index }}" name="checkbox-name" type="checkbox" class="input input-checkbox" />
|
34
|
+
<label for="checkbox-{{ forloop.index }}" class="input-label">{{ answer }}</label>
|
35
|
+
</li>
|
36
|
+
{% endfor %}
|
37
|
+
</ul>
|
38
|
+
<div class="input-group">
|
39
|
+
<label class="label">Please provide additional details:</label>
|
40
|
+
<textarea class="input input-text input-full input-lg" placeholder="How could we have made your experience better?"></textarea>
|
41
|
+
</div>
|
42
|
+
</form>
|
43
|
+
</div>
|
44
|
+
<div class="modal-ctas">
|
45
|
+
<button class="btn btn-caution btn-sm btn-x1-md margin-right-xxs margin-right-x1-xs" modal-close>
|
46
|
+
<span class="display-none display-x1-inline">Confirm</span> Downgrade
|
47
|
+
</button>
|
48
|
+
<button class="btn btn-cta btn-sm btn-x1-md margin-right-xxs margin-right-x1-xs" modal-close>Apply Discount</button>
|
49
|
+
<button class="btn btn-secondary btn-sm btn-x1-md" modal-close>Cancel</button>
|
50
|
+
</div>
|
51
|
+
</div>
|
52
|
+
</div>
|
@@ -12,21 +12,21 @@ labels:
|
|
12
12
|
|
13
13
|
---
|
14
14
|
|
15
|
-
##
|
16
|
-
<p class="text-light margin-bottom-md">Useful when you want to group a series of radio buttons together
|
15
|
+
## Inline Radio-Button Lists
|
16
|
+
<p class="text-light margin-bottom-md">Useful when you want to group a series of radio buttons together on a single line.</p>
|
17
17
|
|
18
|
-
<ul class="input-list">
|
18
|
+
<ul class="input-list margin-bottom-lg">
|
19
19
|
{% for label in page.labels %}
|
20
|
-
<li class="input-item">
|
21
|
-
<input id="radio-
|
22
|
-
<label for="radio-
|
20
|
+
<li class="input-item-inline">
|
21
|
+
<input id="radio-inline-{{ forloop.index }}" name="radio-list" type="radio" class="input input-radio" {% if forloop.index == 1 %}checked{% endif %} />
|
22
|
+
<label for="radio-inline-{{ forloop.index }}" class="input-label">Inline Label</label>
|
23
23
|
</li>
|
24
24
|
{% endfor %}
|
25
25
|
</ul>
|
26
26
|
|
27
27
|
```html
|
28
28
|
<ul class="input-list">
|
29
|
-
<li class="input-item">
|
29
|
+
<li class="input-item-inline">
|
30
30
|
<input id="radio-id" name="radio-name" type="radio" class="input input-radio" checked />
|
31
31
|
<label for="radio-id" class="input-label">Radio Button Label</label>
|
32
32
|
</li>
|
@@ -35,21 +35,39 @@ labels:
|
|
35
35
|
|
36
36
|
---
|
37
37
|
|
38
|
-
##
|
39
|
-
<p class="text-light margin-bottom-md">Useful when you want to group a series of radio buttons together
|
38
|
+
## Stacked Radio-Button Lists
|
39
|
+
<p class="text-light margin-bottom-md">Useful when you want to group a series of radio buttons together in a list (stacked by default).</p>
|
40
40
|
|
41
|
-
<
|
42
|
-
|
43
|
-
<
|
44
|
-
<
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
</
|
41
|
+
<div class="col-container margin-bottom-sm margin-bottom-x1-lg">
|
42
|
+
<div class="col col-100 col-x1-50 margin-bottom-sm margin-bottom-x1-none">
|
43
|
+
<div class="rounded bg-white box-padding">
|
44
|
+
<ul class="input-list">
|
45
|
+
{% for label in page.labels %}
|
46
|
+
<li class="input-item">
|
47
|
+
<input id="radio-light-{{ forloop.index }}" name="radio-light-list" type="radio" class="input input-radio" {% if forloop.index == 1 %}checked{% endif %} />
|
48
|
+
<label for="radio-light-{{ forloop.index }}" class="input-label">{{ label }}</label>
|
49
|
+
</li>
|
50
|
+
{% endfor %}
|
51
|
+
</ul>
|
52
|
+
</div>
|
53
|
+
</div>
|
54
|
+
<div class="col col-100 col-x1-50">
|
55
|
+
<div class="box-secondary box-padding">
|
56
|
+
<ul class="input-list">
|
57
|
+
{% for label in page.labels %}
|
58
|
+
<li class="input-item">
|
59
|
+
<input id="radio-dark-{{ forloop.index }}" name="radio-dark-list" type="radio" class="input input-radio" {% if forloop.index == 1 %}checked{% endif %} />
|
60
|
+
<label for="radio-dark-{{ forloop.index }}" class="input-label">{{ label }}</label>
|
61
|
+
</li>
|
62
|
+
{% endfor %}
|
63
|
+
</ul>
|
64
|
+
</div>
|
65
|
+
</div>
|
66
|
+
</div>
|
49
67
|
|
50
68
|
```html
|
51
69
|
<ul class="input-list">
|
52
|
-
<li class="input-item
|
70
|
+
<li class="input-item">
|
53
71
|
<input id="radio-id" name="radio-name" type="radio" class="input input-radio" checked />
|
54
72
|
<label for="radio-id" class="input-label">Radio Button Label</label>
|
55
73
|
</li>
|
@@ -41,7 +41,7 @@ text_shades: [normal, light, lighter, lightest]
|
|
41
41
|
</div>
|
42
42
|
</div>
|
43
43
|
|
44
|
-
|
44
|
+
---
|
45
45
|
|
46
46
|
<div class="col-container">
|
47
47
|
<div class="col">
|
@@ -67,59 +67,3 @@ text_shades: [normal, light, lighter, lightest]
|
|
67
67
|
</div>
|
68
68
|
</div>
|
69
69
|
</div>
|
70
|
-
|
71
|
-
---
|
72
|
-
|
73
|
-
## Horizontal Rules
|
74
|
-
<p class="text-light margin-bottom-md" markdown="1">Shipyard doesn't make any assumptions on how you want to common tags like an `hr` to styled. As a result, we would recommend extending the `.hr` class in your own SASS files to achieve the results below on all `hr` tags (e.g. `@extend .hr`).</p>
|
75
|
-
|
76
|
-
<div class="utilities-typography-hr-box-default">
|
77
|
-
<hr class="utilities-typography-hr" />
|
78
|
-
</div>
|
79
|
-
<div class="utilities-typography-hr-box-dark">
|
80
|
-
<hr class="utilities-typography-hr hr-dark" />
|
81
|
-
</div>
|
82
|
-
<div class="utilities-typography-hr-box-light">
|
83
|
-
<hr class="utilities-typography-hr hr-light" />
|
84
|
-
</div>
|
85
|
-
|
86
|
-
{% note :warning %}
|
87
|
-
<p markdown="1">
|
88
|
-
Please note that the code examples below are **not possible** without `hr { @extend .hr }` somewhere in your application's sass files. If you haven't done this, then you'll need to include the `.hr` class on every horizontal rule.
|
89
|
-
</p>
|
90
|
-
{% endnote %}
|
91
|
-
|
92
|
-
```html
|
93
|
-
<hr />
|
94
|
-
|
95
|
-
<!-- Useful on darker backgrounds. -->
|
96
|
-
<hr class="hr-dark" />
|
97
|
-
|
98
|
-
<!-- Useful on lighter backgrounds. -->
|
99
|
-
<hr class="hr-light" />
|
100
|
-
```
|
101
|
-
|
102
|
-
---
|
103
|
-
|
104
|
-
## Thin Horizontal Rules `.hr-thin`
|
105
|
-
{: .margin-bottom-md }
|
106
|
-
|
107
|
-
<div class="utilities-typography-hr-box-default">
|
108
|
-
<hr class="utilities-typography-hr hr-thin" />
|
109
|
-
</div>
|
110
|
-
<div class="utilities-typography-hr-box-dark">
|
111
|
-
<hr class="utilities-typography-hr hr-dark hr-thin" />
|
112
|
-
</div>
|
113
|
-
<div class="utilities-typography-hr-box-light">
|
114
|
-
<hr class="utilities-typography-hr hr-light hr-thin" />
|
115
|
-
</div>
|
116
|
-
|
117
|
-
```html
|
118
|
-
<hr class="hr-thin" />
|
119
|
-
|
120
|
-
<!-- Useful on darker backgrounds. -->
|
121
|
-
<hr class="hr-thin hr-dark" />
|
122
|
-
|
123
|
-
<!-- Useful on lighter backgrounds. -->
|
124
|
-
<hr class="hr-thin hr-light" />
|
125
|
-
```
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shipyard-framework
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.70
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Codeship
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-11-
|
11
|
+
date: 2017-11-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionview
|
@@ -220,6 +220,7 @@ files:
|
|
220
220
|
- assets/stylesheets/shipyard/components/_hamburger.sass
|
221
221
|
- assets/stylesheets/shipyard/components/_header.sass
|
222
222
|
- assets/stylesheets/shipyard/components/_hero.sass
|
223
|
+
- assets/stylesheets/shipyard/components/_horizontal-rules.sass
|
223
224
|
- assets/stylesheets/shipyard/components/_icons.sass
|
224
225
|
- assets/stylesheets/shipyard/components/_input-radio-checkbox.sass
|
225
226
|
- assets/stylesheets/shipyard/components/_input-switch.sass
|
@@ -316,12 +317,14 @@ files:
|
|
316
317
|
- styleguide/components/code.html
|
317
318
|
- styleguide/components/empty-states.html
|
318
319
|
- styleguide/components/forms.html
|
320
|
+
- styleguide/components/horizontal-rules.md
|
319
321
|
- styleguide/components/icons.md
|
320
322
|
- styleguide/components/index.md
|
321
323
|
- styleguide/components/modals/_modal.html
|
322
324
|
- styleguide/components/modals/example-billing.html
|
323
325
|
- styleguide/components/modals/example-downgrade.html
|
324
326
|
- styleguide/components/modals/example-small.html
|
327
|
+
- styleguide/components/modals/example-survey.html
|
325
328
|
- styleguide/components/modals/example-tall.html
|
326
329
|
- styleguide/components/modals/index.md
|
327
330
|
- styleguide/components/notes.md
|