playbook_ui 6.3.1 → 6.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/packs/site_styles/docs/_kit_doc.scss +0 -1
- data/app/pb_kits/playbook/pb_button/_button_mixins.scss +31 -17
- data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +16 -8
- data/app/pb_kits/playbook/pb_caption/_caption.jsx +3 -1
- data/app/pb_kits/playbook/pb_caption/_caption.scss +3 -0
- data/app/pb_kits/playbook/pb_caption/caption.rb +4 -1
- data/app/pb_kits/playbook/pb_caption/docs/_caption_variants.html.erb +1 -0
- data/app/pb_kits/playbook/pb_caption/docs/_caption_variants.jsx +16 -0
- data/app/pb_kits/playbook/pb_caption/docs/_caption_variants.md +3 -0
- data/app/pb_kits/playbook/pb_caption/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_caption/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_card/_card_mixin.scss +1 -0
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +12 -6
- data/app/pb_kits/playbook/pb_date/_date.html.erb +32 -8
- data/app/pb_kits/playbook/pb_date/_date.jsx +76 -67
- data/app/pb_kits/playbook/pb_date/_date.scss +25 -0
- data/app/pb_kits/playbook/pb_date/date.rb +20 -11
- data/app/pb_kits/playbook/pb_date/docs/_date_alignment.html.erb +24 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_alignment.jsx +32 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_default.html.erb +1 -9
- data/app/pb_kits/playbook/pb_date/docs/_date_default_react.jsx +20 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_default_react.md +3 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_timezone.html.erb +51 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_timezone.md +6 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_variants.html.erb +27 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_variants.jsx +39 -0
- data/app/pb_kits/playbook/pb_date/docs/_description.md +2 -0
- data/app/pb_kits/playbook/pb_date/docs/example.yml +6 -2
- data/app/pb_kits/playbook/pb_date/docs/index.js +3 -1
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_dark.jsx +1 -1
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_default.jsx +1 -1
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +5 -2
- data/app/pb_kits/playbook/pb_icon/docs/_icon_default_dark.html.erb +3 -1
- data/app/pb_kits/playbook/pb_icon/docs/_icon_default_dark.jsx +7 -5
- data/app/pb_kits/playbook/pb_nav/_horizontal_nav.scss +6 -4
- data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +18 -14
- data/app/pb_kits/playbook/pb_radio/_radio.scss +9 -4
- data/app/pb_kits/playbook/pb_select/_select.scss +8 -4
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +6 -3
- data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +35 -37
- data/app/pb_kits/playbook/pb_table/styles/_hover.scss +15 -12
- data/app/pb_kits/playbook/pb_table/styles/_mobile.scss +6 -4
- data/app/pb_kits/playbook/pb_table/styles/_table-dark.scss +6 -4
- data/app/pb_kits/playbook/pb_text_input/_text_input.scss +4 -4
- data/app/pb_kits/playbook/pb_time/_time.jsx +7 -5
- data/app/pb_kits/playbook/pb_time/docs/_time_dark.jsx +0 -2
- data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +1 -3
- data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +0 -3
- data/app/pb_kits/playbook/pb_time/docs/_time_timezone.jsx +59 -0
- data/app/pb_kits/playbook/pb_time/docs/_time_timezone.md +11 -0
- data/app/pb_kits/playbook/pb_time/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_time/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_title/_title.jsx +1 -1
- data/app/pb_kits/playbook/pb_title/_title.scss +5 -5
- data/app/pb_kits/playbook/pb_title/docs/_title_variants.html.erb +1 -0
- data/app/pb_kits/playbook/pb_title/docs/_title_variants.jsx +17 -0
- data/app/pb_kits/playbook/pb_title/docs/_title_variants.md +3 -0
- data/app/pb_kits/playbook/pb_title/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_title/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +4 -2
- data/lib/playbook/version.rb +1 -1
- metadata +17 -2
- data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +0 -28
@@ -1,2 +1,27 @@
|
|
1
1
|
@import "../pb_icon/icon";
|
2
2
|
@import "../pb_title/title";
|
3
|
+
|
4
|
+
[class^=pb_date_kit] {
|
5
|
+
display: flex;
|
6
|
+
flex-direction: row;
|
7
|
+
align-items: center;
|
8
|
+
> div {
|
9
|
+
margin-right: 4px !important;
|
10
|
+
}
|
11
|
+
|
12
|
+
&[class*=_center] {
|
13
|
+
display: flex;
|
14
|
+
flex-direction: row;
|
15
|
+
align-items: center;
|
16
|
+
justify-content: center;
|
17
|
+
margin-right: 4px !important;
|
18
|
+
}
|
19
|
+
|
20
|
+
&[class*=_right] {
|
21
|
+
display: flex;
|
22
|
+
flex-direction: row;
|
23
|
+
align-items: center;
|
24
|
+
justify-content: flex-end;
|
25
|
+
margin-left: 4px !important;
|
26
|
+
}
|
27
|
+
}
|
@@ -10,30 +10,39 @@ module Playbook
|
|
10
10
|
partial "pb_date/date"
|
11
11
|
|
12
12
|
prop :date, required: true
|
13
|
-
prop :
|
14
|
-
|
15
|
-
|
13
|
+
prop :timezone, default: "America/New_York"
|
14
|
+
prop :alignment, type: Playbook::Props::Enum,
|
15
|
+
values: %w[left center right],
|
16
|
+
default: "left"
|
17
|
+
prop :show_icon, type: Playbook::Props::Boolean,
|
18
|
+
default: false
|
19
|
+
prop :show_day_of_week, type: Playbook::Props::Boolean,
|
20
|
+
default: false
|
16
21
|
|
17
22
|
def classname
|
18
|
-
generate_classname("pb_date_kit")
|
23
|
+
generate_classname("pb_date_kit", alignment)
|
19
24
|
end
|
20
25
|
|
21
|
-
def
|
22
|
-
|
26
|
+
def date_day_of_week
|
27
|
+
pb_date_time.to_day_of_week
|
23
28
|
end
|
24
29
|
|
25
|
-
def
|
26
|
-
|
30
|
+
def day
|
31
|
+
pb_date_time.to_day
|
27
32
|
end
|
28
33
|
|
29
|
-
def
|
30
|
-
|
34
|
+
def month
|
35
|
+
pb_date_time.to_month.capitalize
|
36
|
+
end
|
37
|
+
|
38
|
+
def year
|
39
|
+
pb_date_time.to_year
|
31
40
|
end
|
32
41
|
|
33
42
|
private
|
34
43
|
|
35
44
|
def pb_date_time
|
36
|
-
Playbook::PbKit::PbDateTime.new(date)
|
45
|
+
Playbook::PbKit::PbDateTime.new(date, timezone)
|
37
46
|
end
|
38
47
|
end
|
39
48
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
|
2
|
+
<%= pb_rails("date", props: {
|
3
|
+
date: DateTime.now,
|
4
|
+
show_icon: true,
|
5
|
+
show_day_of_week: true
|
6
|
+
}) %>
|
7
|
+
|
8
|
+
<br><br>
|
9
|
+
|
10
|
+
<%= pb_rails("date", props: {
|
11
|
+
date: DateTime.now,
|
12
|
+
show_icon: true,
|
13
|
+
show_day_of_week: true,
|
14
|
+
alignment: "center"
|
15
|
+
}) %>
|
16
|
+
|
17
|
+
<br><br>
|
18
|
+
|
19
|
+
<%= pb_rails("date", props: {
|
20
|
+
date: DateTime.now,
|
21
|
+
show_icon: true,
|
22
|
+
show_day_of_week: true,
|
23
|
+
alignment: "right"
|
24
|
+
}) %>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Date as FormattedDate } from '../..'
|
3
|
+
|
4
|
+
const DateAlignment = () => {
|
5
|
+
return (
|
6
|
+
<div>
|
7
|
+
<FormattedDate
|
8
|
+
date="1995-12-25"
|
9
|
+
dayOfWeek
|
10
|
+
icon
|
11
|
+
/>
|
12
|
+
|
13
|
+
<br />
|
14
|
+
|
15
|
+
<FormattedDate
|
16
|
+
alignment="center"
|
17
|
+
date="2020-12-25"
|
18
|
+
dayOfWeek
|
19
|
+
icon
|
20
|
+
/>
|
21
|
+
|
22
|
+
<br />
|
23
|
+
|
24
|
+
<FormattedDate
|
25
|
+
alignment="right"
|
26
|
+
date={new Date()}
|
27
|
+
/>
|
28
|
+
</div>
|
29
|
+
)
|
30
|
+
}
|
31
|
+
|
32
|
+
export default DateAlignment
|
@@ -1,17 +1,9 @@
|
|
1
1
|
<%= pb_rails("date", props: {
|
2
2
|
date: Date.today,
|
3
|
-
size: "lg"
|
4
3
|
}) %>
|
5
4
|
|
6
|
-
<br
|
7
|
-
|
8
|
-
<%= pb_rails("date", props: {
|
9
|
-
date: DateTime.now
|
10
|
-
}) %>
|
11
|
-
|
12
|
-
<br>
|
5
|
+
<br />
|
13
6
|
|
14
7
|
<%= pb_rails("date", props: {
|
15
8
|
date: "2012-08-02T15:49:29Z",
|
16
|
-
size: "xs"
|
17
9
|
}) %>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Date as FormattedDate } from '../..'
|
3
|
+
|
4
|
+
const DateDefaultReact = () => {
|
5
|
+
return (
|
6
|
+
<div>
|
7
|
+
<FormattedDate
|
8
|
+
date="2012-12-25"
|
9
|
+
/>
|
10
|
+
|
11
|
+
<br />
|
12
|
+
|
13
|
+
<FormattedDate
|
14
|
+
date={new Date()}
|
15
|
+
/>
|
16
|
+
</div>
|
17
|
+
)
|
18
|
+
}
|
19
|
+
|
20
|
+
export default DateDefaultReact
|
@@ -0,0 +1,51 @@
|
|
1
|
+
<%= pb_rails("caption", props: { text: "East Coast (Default)"}) %>
|
2
|
+
<%= pb_rails("date", props: {
|
3
|
+
date: DateTime.now,
|
4
|
+
timezone: "America/New_York"
|
5
|
+
}) %>
|
6
|
+
|
7
|
+
<br>
|
8
|
+
|
9
|
+
<%= pb_rails("caption", props: { text: "West Coast"}) %>
|
10
|
+
<%= pb_rails("date", props: {
|
11
|
+
date: DateTime.now,
|
12
|
+
timezone: "America/Los_Angeles"
|
13
|
+
}) %>
|
14
|
+
|
15
|
+
<br>
|
16
|
+
|
17
|
+
<%= pb_rails("caption", props: { text: "Toyko, Japan"}) %>
|
18
|
+
<%= pb_rails("date", props: {
|
19
|
+
date: DateTime.now,
|
20
|
+
timezone: "Asia/Tokyo"
|
21
|
+
}) %>
|
22
|
+
|
23
|
+
<br>
|
24
|
+
|
25
|
+
<%= pb_rails("caption", props: { text: "Anti-pattern example"}) %>
|
26
|
+
|
27
|
+
<%= pb_rails("date", props: {
|
28
|
+
date: Date.today,
|
29
|
+
timezone: "Australia/Sydney"
|
30
|
+
}) %>
|
31
|
+
<%= pb_rails("body", props: { text: "Date.today ignores Timezone"}) %>
|
32
|
+
|
33
|
+
<br>
|
34
|
+
|
35
|
+
<%= pb_rails("caption", props: { text: "DateTime respects Timezone"}) %>
|
36
|
+
|
37
|
+
<%= pb_rails("date", props: {
|
38
|
+
date: DateTime.now,
|
39
|
+
timezone: "Australia/Sydney"
|
40
|
+
}) %>
|
41
|
+
|
42
|
+
<%= pb_rails("body", props: { text: "'.now' in Australia is tomorrow (if you're EST after 10am)"}) %>
|
43
|
+
|
44
|
+
<br>
|
45
|
+
|
46
|
+
<%= pb_rails("caption", props: { text: "String Dates"}) %>
|
47
|
+
<%= pb_rails("date", props: {
|
48
|
+
date: "2012-08-02T00:49:29Z",
|
49
|
+
}) %>
|
50
|
+
|
51
|
+
<%= pb_rails("body", props: { text: "Defaults to UTC, then changes due to EST Timezone."}) %>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
Depending on the data you send to the `date` prop you might have unexpected results due to ruby `Date` and `DateTime` classes.
|
2
|
+
|
3
|
+
Don't care about timezones? Use `Date`.
|
4
|
+
|
5
|
+
If you need a date that recognizes a timezone, especially when paired with the [Time kit](/kits/time), leverage `DateTime`.
|
6
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<div>
|
2
|
+
<%= pb_rails("date", props: {
|
3
|
+
date: DateTime.now,
|
4
|
+
}) %>
|
5
|
+
|
6
|
+
<br><br>
|
7
|
+
|
8
|
+
<%= pb_rails("date", props: {
|
9
|
+
date: DateTime.now,
|
10
|
+
show_icon: true
|
11
|
+
}) %>
|
12
|
+
|
13
|
+
<br><br>
|
14
|
+
|
15
|
+
<%= pb_rails("date", props: {
|
16
|
+
date: DateTime.now,
|
17
|
+
show_day_of_week: true
|
18
|
+
}) %>
|
19
|
+
|
20
|
+
<br><br>
|
21
|
+
|
22
|
+
<%= pb_rails("date", props: {
|
23
|
+
date: DateTime.now,
|
24
|
+
show_icon: true,
|
25
|
+
show_day_of_week: true
|
26
|
+
}) %>
|
27
|
+
</div>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Date as FormattedDate } from '../..'
|
3
|
+
|
4
|
+
const DateVariants = () => {
|
5
|
+
return (
|
6
|
+
<div>
|
7
|
+
<FormattedDate
|
8
|
+
date="1995-12-25"
|
9
|
+
/>
|
10
|
+
|
11
|
+
<br />
|
12
|
+
<br />
|
13
|
+
|
14
|
+
<FormattedDate
|
15
|
+
date="1995-12-25"
|
16
|
+
showIcon
|
17
|
+
/>
|
18
|
+
|
19
|
+
<br />
|
20
|
+
<br />
|
21
|
+
|
22
|
+
<FormattedDate
|
23
|
+
date="1995-12-25"
|
24
|
+
showDayOfWeek
|
25
|
+
/>
|
26
|
+
|
27
|
+
<br />
|
28
|
+
<br />
|
29
|
+
|
30
|
+
<FormattedDate
|
31
|
+
date="1995-12-25"
|
32
|
+
showDayOfWeek
|
33
|
+
showIcon
|
34
|
+
/>
|
35
|
+
</div>
|
36
|
+
)
|
37
|
+
}
|
38
|
+
|
39
|
+
export default DateVariants
|
@@ -2,8 +2,12 @@ examples:
|
|
2
2
|
|
3
3
|
rails:
|
4
4
|
- date_default: Default
|
5
|
-
|
5
|
+
- date_timezone: Timezones
|
6
|
+
- date_variants: Variants
|
7
|
+
- date_alignment: Alignment
|
6
8
|
|
7
9
|
react:
|
8
|
-
-
|
10
|
+
- date_default_react: Default
|
11
|
+
- date_variants: Variants
|
12
|
+
- date_alignment: Alignment
|
9
13
|
|
@@ -18,13 +18,16 @@ $form_pill_colors: (
|
|
18
18
|
padding: 0 $space-sm/3;
|
19
19
|
height: $pb_form_pill_height;
|
20
20
|
border-radius: $pb_form_pill_height/2;
|
21
|
+
cursor: pointer;
|
21
22
|
@each $color_name, $color_value in $form_pill_colors {
|
22
23
|
&[class*=_#{$color_name}] {
|
23
24
|
background-color: rgba($color_value, $opacity-1);
|
24
25
|
transition: background-color 0.2s ease;
|
25
26
|
box-shadow: none;
|
26
|
-
|
27
|
-
|
27
|
+
@media (hover:hover) {
|
28
|
+
&:hover {
|
29
|
+
background-color: rgba($color_value, $opacity-2);
|
30
|
+
}
|
28
31
|
}
|
29
32
|
#{$selector}_text {
|
30
33
|
color: $color_value;
|
@@ -1,13 +1,15 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
import { Icon } from '../../'
|
2
|
+
import { Body, Icon } from '../../'
|
3
3
|
|
4
4
|
const IconDefaultDark = () => {
|
5
5
|
return (
|
6
6
|
<div>
|
7
|
-
<
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
<Body dark>
|
8
|
+
<Icon
|
9
|
+
fixedWidth
|
10
|
+
icon="user"
|
11
|
+
/>
|
12
|
+
</Body>
|
11
13
|
</div>
|
12
14
|
)
|
13
15
|
}
|
@@ -45,11 +45,13 @@ $selector: ".pb_nav_list";
|
|
45
45
|
color: $text_lt_default;
|
46
46
|
}
|
47
47
|
|
48
|
-
|
49
|
-
|
50
|
-
#{$selector}_item_icon,
|
51
|
-
#{$selector}_item_text {
|
48
|
+
@media (hover:hover) {
|
49
|
+
&:hover {
|
52
50
|
color: $primary;
|
51
|
+
#{$selector}_item_icon,
|
52
|
+
#{$selector}_item_text {
|
53
|
+
color: $primary;
|
54
|
+
}
|
53
55
|
}
|
54
56
|
}
|
55
57
|
}
|
@@ -46,13 +46,15 @@ $selector: ".pb_nav_list";
|
|
46
46
|
transition-property: color, border-color, background-color;
|
47
47
|
transition-duration: 0.15s;
|
48
48
|
transition-timing-function: $bezier;
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
49
|
+
@media (hover:hover) {
|
50
|
+
&:hover {
|
51
|
+
background-color: rgba($primary, 0.03);
|
52
|
+
[class*=_icon] {
|
53
|
+
color: $primary;
|
54
|
+
}
|
55
|
+
[class*=_text] {
|
56
|
+
color: $primary;
|
57
|
+
}
|
56
58
|
}
|
57
59
|
}
|
58
60
|
[class*=_icon_left] {
|
@@ -110,13 +112,15 @@ $selector: ".pb_nav_list";
|
|
110
112
|
flex: 1;
|
111
113
|
font-weight: $regular;
|
112
114
|
}
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
115
|
+
@media (hover:hover) {
|
116
|
+
&:hover {
|
117
|
+
background-color: rgba($primary, 0.03);
|
118
|
+
[class*=_icon] {
|
119
|
+
color: $primary;
|
120
|
+
}
|
121
|
+
[class*=_text] {
|
122
|
+
color: $primary;
|
123
|
+
}
|
120
124
|
}
|
121
125
|
}
|
122
126
|
}
|