playbook_ui 7.1.0 → 7.3.0.pre.alpha1
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/pb_body/body.rb +1 -1
- data/app/pb_kits/playbook/pb_caption/_caption.html.erb +7 -5
- data/app/pb_kits/playbook/pb_caption/docs/_caption_block.html.erb +11 -0
- data/app/pb_kits/playbook/pb_caption/docs/_caption_block.jsx +28 -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_date/_date.html.erb +64 -8
- data/app/pb_kits/playbook/pb_date/_date.jsx +115 -66
- data/app/pb_kits/playbook/pb_date/_date.scss +30 -0
- data/app/pb_kits/playbook/pb_date/date.rb +21 -9
- 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 +35 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_default.html.erb +21 -6
- data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +43 -12
- 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 +43 -0
- data/app/pb_kits/playbook/pb_date/docs/example.yml +4 -0
- data/app/pb_kits/playbook/pb_date/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_nav/_item.html.erb +3 -0
- data/app/pb_kits/playbook/pb_nav/_item.jsx +14 -1
- data/app/pb_kits/playbook/pb_nav/_nav.jsx +3 -0
- data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +22 -3
- data/app/pb_kits/playbook/pb_nav/docs/_borderless_nav.html.erb +6 -0
- data/app/pb_kits/playbook/pb_nav/docs/_borderless_nav.jsx +29 -0
- data/app/pb_kits/playbook/pb_nav/docs/_with_img_nav.html.erb +7 -0
- data/app/pb_kits/playbook/pb_nav/docs/_with_img_nav.jsx +42 -0
- data/app/pb_kits/playbook/pb_nav/docs/_with_img_nav.md +1 -0
- data/app/pb_kits/playbook/pb_nav/docs/example.yml +5 -0
- data/app/pb_kits/playbook/pb_nav/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_nav/item.rb +1 -0
- data/app/pb_kits/playbook/pb_nav/nav.rb +6 -1
- data/app/pb_kits/playbook/pb_pill/_pill.scss +1 -0
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +1 -3
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +26 -47
- data/app/pb_kits/playbook/pb_section_separator/_section_separator_mixin.scss +32 -0
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_line.jsx +6 -2
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text.jsx +2 -1
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text_background.jsx +2 -1
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_vertical.jsx +9 -3
- data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +1 -1
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.html.erb +4 -4
- data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_options.html.erb +16 -0
- data/app/pb_kits/playbook/pb_selectable_card/docs/example.yml +3 -2
- data/app/pb_kits/playbook/pb_selectable_card/selectable_card.rb +16 -9
- data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.html.erb +3 -2
- data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_options.html.erb +16 -0
- data/app/pb_kits/playbook/pb_selectable_card_icon/docs/example.yml +4 -3
- data/app/pb_kits/playbook/pb_selectable_card_icon/selectable_card_icon.rb +3 -0
- data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.html.erb +3 -3
- data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_options.html.erb +15 -0
- data/app/pb_kits/playbook/pb_selectable_icon/docs/example.yml +3 -2
- data/app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb +10 -0
- data/app/pb_kits/playbook/pb_time/_time.html.erb +17 -20
- data/app/pb_kits/playbook/pb_time/_time.jsx +40 -27
- data/app/pb_kits/playbook/pb_time/_time.scss +4 -24
- data/app/pb_kits/playbook/pb_time/docs/_time_align.jsx +4 -1
- data/app/pb_kits/playbook/pb_time/docs/_time_default.html.erb +11 -11
- data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +13 -1
- data/app/pb_kits/playbook/pb_time/docs/_time_sizes.jsx +4 -1
- data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +3 -1
- data/app/pb_kits/playbook/pb_time/docs/_time_timezone.jsx +7 -2
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.html.erb +3 -2
- data/app/pb_kits/playbook/props.rb +1 -1
- data/app/pb_kits/playbook/props/base.rb +6 -4
- data/lib/playbook/version.rb +1 -1
- metadata +21 -19
- data/lib/generators/kit/USAGE +0 -5
- data/lib/generators/kit/kit_generator.rb +0 -95
- data/lib/generators/kit/templates/kit_example_rails.erb.tt +0 -1
- data/lib/generators/kit/templates/kit_example_react.erb.tt +0 -10
- data/lib/generators/kit/templates/kit_example_yml.erb.tt +0 -9
- data/lib/generators/kit/templates/kit_html.erb.tt +0 -7
- data/lib/generators/kit/templates/kit_js.erb.tt +0 -1
- data/lib/generators/kit/templates/kit_jsx.erb.tt +0 -68
- data/lib/generators/kit/templates/kit_ruby.erb.tt +0 -11
- data/lib/generators/kit/templates/kit_ruby_spec.erb.tt +0 -11
- data/lib/generators/kit/templates/kit_scss.erb +0 -3
- data/lib/tasks/changelog.rake +0 -14
- data/lib/tasks/pb_release.rake +0 -88
- data/lib/tasks/playbook_tasks.rake +0 -26
@@ -0,0 +1,24 @@
|
|
1
|
+
<%= pb_rails("date", props: {
|
2
|
+
date: DateTime.now,
|
3
|
+
show_icon: true,
|
4
|
+
show_day_of_week: true
|
5
|
+
}) %>
|
6
|
+
|
7
|
+
<br><br>
|
8
|
+
|
9
|
+
<%= pb_rails("date", props: {
|
10
|
+
date: DateTime.now,
|
11
|
+
show_icon: true,
|
12
|
+
show_day_of_week: true,
|
13
|
+
alignment: "center"
|
14
|
+
}) %>
|
15
|
+
|
16
|
+
<br><br>
|
17
|
+
|
18
|
+
<%= pb_rails("date", props: {
|
19
|
+
date: DateTime.now,
|
20
|
+
show_icon: true,
|
21
|
+
show_day_of_week: true,
|
22
|
+
alignment: "right"
|
23
|
+
}) %>
|
24
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Date as FormattedDate } from '../..'
|
3
|
+
|
4
|
+
const DateAlignment = (props) => {
|
5
|
+
return (
|
6
|
+
<div>
|
7
|
+
<FormattedDate
|
8
|
+
dayOfWeek
|
9
|
+
icon
|
10
|
+
value="1995-12-25"
|
11
|
+
{...props}
|
12
|
+
/>
|
13
|
+
|
14
|
+
<br />
|
15
|
+
|
16
|
+
<FormattedDate
|
17
|
+
alignment="center"
|
18
|
+
dayOfWeek
|
19
|
+
icon
|
20
|
+
value="2020-12-25"
|
21
|
+
{...props}
|
22
|
+
/>
|
23
|
+
|
24
|
+
<br />
|
25
|
+
|
26
|
+
<FormattedDate
|
27
|
+
alignment="right"
|
28
|
+
value={new Date()}
|
29
|
+
{...props}
|
30
|
+
/>
|
31
|
+
</div>
|
32
|
+
)
|
33
|
+
}
|
34
|
+
|
35
|
+
export default DateAlignment
|
@@ -1,24 +1,39 @@
|
|
1
1
|
<%= pb_rails("date", props: {
|
2
2
|
date: Date.today,
|
3
|
-
size: "
|
3
|
+
size: "sm"
|
4
4
|
}) %>
|
5
5
|
|
6
6
|
<br>
|
7
7
|
|
8
8
|
<%= pb_rails("date", props: {
|
9
|
-
date:
|
9
|
+
date: "2012-08-02T15:49:29Z",
|
10
|
+
size: "sm"
|
10
11
|
}) %>
|
11
12
|
|
12
13
|
<br>
|
13
14
|
|
14
15
|
<%= pb_rails("date", props: {
|
15
|
-
date:
|
16
|
-
|
16
|
+
date: "2017-12-02T15:49:29Z",
|
17
|
+
show_day_of_week: true,
|
18
|
+
size: "sm"
|
19
|
+
}) %>
|
20
|
+
|
21
|
+
<br>
|
22
|
+
<br>
|
23
|
+
|
24
|
+
<%= pb_rails("date", props: {
|
25
|
+
date: Date.today,
|
26
|
+
}) %>
|
27
|
+
|
28
|
+
<br>
|
29
|
+
|
30
|
+
<%= pb_rails("date", props: {
|
31
|
+
date: "2012-08-02T15:49:29Z",
|
17
32
|
}) %>
|
18
33
|
|
19
34
|
<br>
|
20
35
|
|
21
36
|
<%= pb_rails("date", props: {
|
22
|
-
date:
|
23
|
-
|
37
|
+
date: "2017-12-02T15:49:29Z",
|
38
|
+
show_day_of_week: true
|
24
39
|
}) %>
|
@@ -1,28 +1,59 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
import { Date } from '../../'
|
2
|
+
import { Date as FormattedDate } from '../../'
|
3
3
|
|
4
|
-
const DateDefault = () => {
|
4
|
+
const DateDefault = (props) => {
|
5
5
|
return (
|
6
|
-
|
7
|
-
<
|
8
|
-
size="
|
9
|
-
value=
|
6
|
+
<>
|
7
|
+
<FormattedDate
|
8
|
+
size="sm"
|
9
|
+
value={new Date()}
|
10
|
+
{...props}
|
10
11
|
/>
|
11
12
|
|
12
13
|
<br />
|
13
14
|
|
14
|
-
<
|
15
|
-
|
15
|
+
<FormattedDate
|
16
|
+
size="sm"
|
17
|
+
value="2012-08-03"
|
18
|
+
{...props}
|
16
19
|
/>
|
17
20
|
|
18
21
|
<br />
|
19
22
|
|
20
|
-
<
|
21
|
-
|
22
|
-
|
23
|
+
<FormattedDate
|
24
|
+
showDayOfWeek
|
25
|
+
size="sm"
|
26
|
+
value="2017-12-03"
|
27
|
+
{...props}
|
23
28
|
/>
|
24
|
-
|
29
|
+
|
30
|
+
<br />
|
31
|
+
<br />
|
32
|
+
|
33
|
+
<FormattedDate
|
34
|
+
value={new Date()}
|
35
|
+
{...props}
|
36
|
+
/>
|
37
|
+
|
38
|
+
<br />
|
39
|
+
|
40
|
+
<FormattedDate
|
41
|
+
value="2012-08-03"
|
42
|
+
{...props}
|
43
|
+
/>
|
44
|
+
|
45
|
+
<br />
|
46
|
+
|
47
|
+
<FormattedDate
|
48
|
+
showDayOfWeek
|
49
|
+
value="2017-12-03"
|
50
|
+
{...props}
|
51
|
+
/>
|
52
|
+
</>
|
25
53
|
)
|
26
54
|
}
|
27
55
|
|
28
56
|
export default DateDefault
|
57
|
+
|
58
|
+
// *Development Note* - We are reviewing this kit for a potential name change due to naming collisions when `new Date()` is used.
|
59
|
+
// To avoid this bug, please use name spacing as shown in the code examples. ie `import { Date as AliasedComponentName } from '../../'
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<div>
|
2
|
+
<%= pb_rails("date", props: {
|
3
|
+
date: DateTime.now,
|
4
|
+
}) %>
|
5
|
+
|
6
|
+
<br>
|
7
|
+
|
8
|
+
<%= pb_rails("date", props: {
|
9
|
+
date: DateTime.now,
|
10
|
+
show_icon: true
|
11
|
+
}) %>
|
12
|
+
|
13
|
+
<br>
|
14
|
+
|
15
|
+
<%= pb_rails("date", props: {
|
16
|
+
date: DateTime.now,
|
17
|
+
show_day_of_week: true
|
18
|
+
}) %>
|
19
|
+
|
20
|
+
<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,43 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Date as FormattedDate } from '../..'
|
3
|
+
|
4
|
+
const DateVariants = (props) => {
|
5
|
+
return (
|
6
|
+
<div>
|
7
|
+
<FormattedDate
|
8
|
+
value="1995-12-25"
|
9
|
+
{...props}
|
10
|
+
/>
|
11
|
+
|
12
|
+
<br />
|
13
|
+
<br />
|
14
|
+
|
15
|
+
<FormattedDate
|
16
|
+
showIcon
|
17
|
+
value="1995-12-25"
|
18
|
+
{...props}
|
19
|
+
/>
|
20
|
+
|
21
|
+
<br />
|
22
|
+
<br />
|
23
|
+
|
24
|
+
<FormattedDate
|
25
|
+
showDayOfWeek
|
26
|
+
value="1995-12-25"
|
27
|
+
{...props}
|
28
|
+
/>
|
29
|
+
|
30
|
+
<br />
|
31
|
+
<br />
|
32
|
+
|
33
|
+
<FormattedDate
|
34
|
+
showDayOfWeek
|
35
|
+
showIcon
|
36
|
+
value="1995-12-25"
|
37
|
+
{...props}
|
38
|
+
/>
|
39
|
+
</div>
|
40
|
+
)
|
41
|
+
}
|
42
|
+
|
43
|
+
export default DateVariants
|
@@ -5,6 +5,9 @@
|
|
5
5
|
id: object.id) do %>
|
6
6
|
<%= content_tag(object.tag,
|
7
7
|
object.link ? object.link_options : object.options) do %>
|
8
|
+
<% if object.image_url %>
|
9
|
+
<%= pb_rails("image", props: { url: object.image_url, classname: "pb_nav_img_wrapper" }) %>
|
10
|
+
<% end %>
|
8
11
|
<% if object.icon_left %>
|
9
12
|
<%= pb_rails("icon", props: { icon: object.icon_left, classname: "pb_nav_list_item_icon_left", fixed_width: true}) %>
|
10
13
|
<% end %>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
import React from 'react'
|
4
4
|
import classnames from 'classnames'
|
5
|
-
import { Icon } from '../'
|
5
|
+
import { Icon, Image } from '../'
|
6
6
|
import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
|
7
7
|
import { globalProps } from '../utilities/globalProps.js'
|
8
8
|
|
@@ -15,6 +15,7 @@ type NavItemProps = {
|
|
15
15
|
iconLeft: string,
|
16
16
|
iconRight: string,
|
17
17
|
id?: string,
|
18
|
+
imageUrl: String,
|
18
19
|
link: string,
|
19
20
|
onClick?: EventHandler,
|
20
21
|
text: string,
|
@@ -30,6 +31,7 @@ const NavItem = (props: NavItemProps) => {
|
|
30
31
|
iconLeft,
|
31
32
|
iconRight,
|
32
33
|
id,
|
34
|
+
imageUrl,
|
33
35
|
link,
|
34
36
|
onClick = () => {},
|
35
37
|
text = '',
|
@@ -53,6 +55,17 @@ const NavItem = (props: NavItemProps) => {
|
|
53
55
|
href={link}
|
54
56
|
onClick={onClick}
|
55
57
|
>
|
58
|
+
<If condition={imageUrl}>
|
59
|
+
<div
|
60
|
+
className="pb_nav_list_item_icon_section"
|
61
|
+
key={imageUrl}
|
62
|
+
>
|
63
|
+
<Image
|
64
|
+
className="pb_nav_img_wrapper"
|
65
|
+
url={imageUrl}
|
66
|
+
/>
|
67
|
+
</div>
|
68
|
+
</If>
|
56
69
|
<If condition={iconLeft}>
|
57
70
|
<div
|
58
71
|
className="pb_nav_list_item_icon_section"
|
@@ -8,6 +8,7 @@ import { globalProps } from '../utilities/globalProps.js'
|
|
8
8
|
|
9
9
|
type NavProps = {
|
10
10
|
aria?: object,
|
11
|
+
borderless?: boolean,
|
11
12
|
children?: React.Node,
|
12
13
|
className?: string | array<string>,
|
13
14
|
data?: object,
|
@@ -22,6 +23,7 @@ type NavProps = {
|
|
22
23
|
const Nav = (props: NavProps) => {
|
23
24
|
const {
|
24
25
|
aria = {},
|
26
|
+
borderless = false,
|
25
27
|
children,
|
26
28
|
className,
|
27
29
|
data = {},
|
@@ -39,6 +41,7 @@ const Nav = (props: NavProps) => {
|
|
39
41
|
const cardCss = classnames(
|
40
42
|
buildCss('pb_nav_list', variant, orientation, {
|
41
43
|
highlight: highlight,
|
44
|
+
borderless: borderless,
|
42
45
|
}),
|
43
46
|
globalProps(props),
|
44
47
|
className
|
@@ -40,7 +40,7 @@ $selector: ".pb_nav_list";
|
|
40
40
|
text-decoration: none;
|
41
41
|
display: flex;
|
42
42
|
align-items: center;
|
43
|
-
padding: $space_sm $
|
43
|
+
padding: $space_sm $space_sm $space_sm ($space_sm - 3px);
|
44
44
|
border: 0 solid transparent;
|
45
45
|
border-width: 0 0 0 3px;
|
46
46
|
transition-property: color, border-color, background-color;
|
@@ -59,7 +59,7 @@ $selector: ".pb_nav_list";
|
|
59
59
|
}
|
60
60
|
[class*=_icon_left] {
|
61
61
|
font-size: $font_large;
|
62
|
-
margin-right: $
|
62
|
+
margin-right: $space_xs;
|
63
63
|
color: $text_lt_lighter;
|
64
64
|
}
|
65
65
|
[class*=_icon_right] {
|
@@ -69,10 +69,14 @@ $selector: ".pb_nav_list";
|
|
69
69
|
}
|
70
70
|
[class*=_text] {
|
71
71
|
font-size: $font_base;
|
72
|
-
font-weight: $bold;
|
73
72
|
color: $text_lt_default;
|
74
73
|
flex: 1;
|
75
74
|
}
|
75
|
+
[class*=_img_left] {
|
76
|
+
margin-right: $space_xs;
|
77
|
+
height: 20px;
|
78
|
+
width: 25px;
|
79
|
+
}
|
76
80
|
}
|
77
81
|
&:last-child {
|
78
82
|
border-bottom: 0;
|
@@ -167,4 +171,19 @@ $selector: ".pb_nav_list";
|
|
167
171
|
}
|
168
172
|
}
|
169
173
|
|
174
|
+
//Borderless
|
175
|
+
&[class*=_borderless] {
|
176
|
+
[class*=pb_nav_list_kit_item] {
|
177
|
+
list-style: none;
|
178
|
+
border-bottom: 0;
|
179
|
+
}
|
180
|
+
}
|
181
|
+
|
182
|
+
}
|
183
|
+
|
184
|
+
//Image Wrapper
|
185
|
+
.pb_nav_img_wrapper {
|
186
|
+
width: 24px;
|
187
|
+
height: 24px;
|
188
|
+
margin-right: $space_xs;
|
170
189
|
}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<%= pb_rails("nav", props: {borderless: true}) do %>
|
2
|
+
<%= pb_rails("nav/item", props: { text: "Photos", link: "#" }) %>
|
3
|
+
<%= pb_rails("nav/item", props: { text: "Music", link: "#" }) %>
|
4
|
+
<%= pb_rails("nav/item", props: { text: "Video", link: "#", active: true }) %>
|
5
|
+
<%= pb_rails("nav/item", props: { text: "Files", link: "#" }) %>
|
6
|
+
<% end %>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Nav } from '../../'
|
3
|
+
import NavItem from '../_item.jsx'
|
4
|
+
|
5
|
+
const BorderlessNav = () => {
|
6
|
+
return (
|
7
|
+
<Nav borderless>
|
8
|
+
<NavItem
|
9
|
+
active
|
10
|
+
link="#"
|
11
|
+
text="All Categories"
|
12
|
+
/>
|
13
|
+
<NavItem
|
14
|
+
link="#"
|
15
|
+
text="Food"
|
16
|
+
/>
|
17
|
+
<NavItem
|
18
|
+
link="#"
|
19
|
+
text="Digital"
|
20
|
+
/>
|
21
|
+
<NavItem
|
22
|
+
link="#"
|
23
|
+
text="Design Art"
|
24
|
+
/>
|
25
|
+
</Nav>
|
26
|
+
)
|
27
|
+
}
|
28
|
+
|
29
|
+
export default BorderlessNav
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<%= pb_rails("nav", props: {title: "Browse", link: "#"}) do %>
|
2
|
+
<%= pb_rails("nav/item", props: { image_url: "https://upload.wikimedia.org/wikipedia/commons/0/00/Apple_News_icon_%28macOS%29.png", text: "News Feed" }) %>
|
3
|
+
<%= pb_rails("nav/item", props: { image_url: "https://p7.hiclipart.com/preview/928/339/723/messages-iphone-apple-imessage-iphone-thumbnail.jpg", link: "#", text: "Messages", active: true }) %>
|
4
|
+
<%= pb_rails("nav/item", props: { image_url: "https://www.clipartmax.com/png/middle/103-1038653_circle-icons-calendar-svg-event-icon.png", icon_right: "angle-down", link: "#", text: "Events" }) %>
|
5
|
+
<%= pb_rails("nav/item", props: { image_url: "https://www.pngitem.com/pimgs/m/228-2289227_find-friends-icon-png-image-iphone-find-my.png", link: "#", text: "Friends" }) %>
|
6
|
+
<%= pb_rails("nav/item", props: { image_url: "https://img.favpng.com/18/5/20/blue-human-behavior-silhouette-area-communication-png-favpng-wLT3QYknSwc68uu9GAUHGS5FY_t.jpg", icon_right: "angle-down", link: "#", text: "Groups" }) %>
|
7
|
+
<% end %>
|