playbook_ui 12.34.0 → 12.35.0.pre.alpha.iconpocwebfonts1023
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/_playbook.scss +2 -0
- data/app/pb_kits/playbook/pb_card/_card.scss +3 -0
- data/app/pb_kits/playbook/pb_card/_card.tsx +5 -6
- data/app/pb_kits/playbook/pb_card/card.html.erb +1 -3
- data/app/pb_kits/playbook/pb_card/card.rb +0 -96
- data/app/pb_kits/playbook/pb_card/card_body.rb +93 -1
- data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +11 -0
- data/app/pb_kits/playbook/pb_collapsible/_collapsible.tsx +7 -7
- data/app/pb_kits/playbook/pb_collapsible/_helper_functions.ts +25 -0
- data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleContent.tsx +20 -14
- data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.tsx +35 -17
- data/app/pb_kits/playbook/pb_collapsible/collapsible_main.html.erb +7 -2
- data/app/pb_kits/playbook/pb_collapsible/collapsible_main.rb +8 -5
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.jsx +1 -1
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_icons.html.erb +10 -0
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_icons.jsx +19 -0
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_icons.md +2 -0
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_size.md +1 -1
- data/app/pb_kits/playbook/pb_collapsible/docs/example.yml +3 -1
- data/app/pb_kits/playbook/pb_collapsible/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_collapsible/index.js +3 -3
- data/app/pb_kits/playbook/pb_dialog/_dialog.scss +14 -2
- data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_body.tsx +2 -2
- data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_footer.tsx +1 -4
- data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_header.tsx +1 -2
- data/app/pb_kits/playbook/pb_highlight/_highlight.scss +4 -3
- data/app/pb_kits/playbook/pb_highlight/docs/_highlight_default.html.erb +6 -16
- data/app/pb_kits/playbook/pb_highlight/docs/_highlight_default.jsx +2 -2
- data/app/pb_kits/playbook/pb_highlight/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_icon/docs/_icon_font.html.erb +11 -0
- data/app/pb_kits/playbook/pb_icon/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_icon/icon.html.erb +15 -1
- data/app/pb_kits/playbook/pb_icon/icon.rb +24 -2
- data/app/pb_kits/playbook/pb_message/_message.scss +18 -0
- data/app/pb_kits/playbook/pb_message/_message.tsx +2 -0
- data/app/pb_kits/playbook/pb_message/_message_mention.tsx +44 -0
- data/app/pb_kits/playbook/pb_message/docs/_message_mentions.html.erb +24 -0
- data/app/pb_kits/playbook/pb_message/docs/_message_mentions.jsx +31 -0
- data/app/pb_kits/playbook/pb_message/docs/_message_mentions.md +1 -0
- data/app/pb_kits/playbook/pb_message/docs/example.yml +2 -2
- data/app/pb_kits/playbook/pb_message/docs/index.js +1 -1
- data/app/pb_kits/playbook/pb_message/message_mention.html.erb +7 -0
- data/app/pb_kits/playbook/pb_message/message_mention.rb +15 -0
- data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +6 -0
- data/app/pb_kits/playbook/pb_nav/_item.tsx +98 -49
- data/app/pb_kits/playbook/pb_nav/_nav.scss +1 -0
- data/app/pb_kits/playbook/pb_nav/_subtle_mixin.scss +9 -11
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav.html.erb +24 -0
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav.jsx +83 -0
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_custom_icons.jsx +86 -0
- data/app/pb_kits/playbook/pb_nav/docs/example.yml +3 -0
- data/app/pb_kits/playbook/pb_nav/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_nav/item.html.erb +34 -12
- data/app/pb_kits/playbook/pb_nav/item.rb +5 -0
- data/dist/playbook-rails.js +6 -6
- data/lib/playbook/version.rb +2 -2
- metadata +22 -8
- data/app/pb_kits/playbook/pb_collapsible/types.d.ts +0 -1
@@ -29,22 +29,20 @@
|
|
29
29
|
flex: 1;
|
30
30
|
font-weight: $regular;
|
31
31
|
}
|
32
|
-
@media (hover:hover) {
|
33
|
-
&:hover {
|
34
|
-
background-color: rgba($primary, 0.03);
|
35
|
-
[class*=_icon] {
|
36
|
-
color: $primary;
|
37
|
-
}
|
38
|
-
[class*=_text] {
|
39
|
-
color: $primary;
|
40
|
-
}
|
41
|
-
}
|
42
|
-
}
|
43
32
|
}
|
44
33
|
&[class*=_active] [class*=_link] {
|
45
34
|
@include pb_title_4;
|
46
35
|
color: $primary;
|
47
36
|
letter-spacing: normal;
|
48
37
|
}
|
38
|
+
&:hover {
|
39
|
+
background-color: rgba($primary, 0.03);
|
40
|
+
[class*=_icon] {
|
41
|
+
color: $primary;
|
42
|
+
}
|
43
|
+
[class*=_text] {
|
44
|
+
color: $primary;
|
45
|
+
}
|
46
|
+
}
|
49
47
|
}
|
50
48
|
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<%= pb_rails("nav", props: { variant: "subtle" }) do %>
|
2
|
+
<%= pb_rails("nav/item", props: { text: "Overview", link: "#", collapsible: true, icon_left:"city" }) do %>
|
3
|
+
<%= pb_rails("nav", props: { variant: "subtle" }) do %>
|
4
|
+
<%= pb_rails("nav/item", props: { text: "City", link: "#" }) %>
|
5
|
+
<%= pb_rails("nav/item", props: { text: "People", link: "#" }) %>
|
6
|
+
<%= pb_rails("nav/item", props: { text: "Business", link: "#" }) %>
|
7
|
+
<% end %>
|
8
|
+
<% end %>
|
9
|
+
<%= pb_rails("nav/item", props: { text: "Albums", link: "#", active: true, collapsible: true, icon_left: "theater-masks" }) do %>
|
10
|
+
<%= pb_rails("nav", props: { variant: "subtle" }) do %>
|
11
|
+
<%= pb_rails("nav/item", props: { text: "Entertainment", link: "#" }) %>
|
12
|
+
<%= pb_rails("nav/item", props: { text: "Food", link: "#" }) %>
|
13
|
+
<%= pb_rails("nav/item", props: { text: "Style", link: "#" }) %>
|
14
|
+
<% end %>
|
15
|
+
<% end %>
|
16
|
+
<%= pb_rails("nav/item", props: { text: "Similar Artists", link: "#", collapsible: true, icon_left: "city" }) do %>
|
17
|
+
<%= pb_rails("nav", props: { variant: "subtle" }) do %>
|
18
|
+
<%= pb_rails("nav/item", props: { text: "City", link: "#" }) %>
|
19
|
+
<%= pb_rails("nav/item", props: { text: "People", link: "#" }) %>
|
20
|
+
<%= pb_rails("nav/item", props: { text: "Business", link: "#" }) %>
|
21
|
+
<% end %>
|
22
|
+
<% end %>
|
23
|
+
<% end %>
|
24
|
+
|
@@ -0,0 +1,83 @@
|
|
1
|
+
import React from "react";
|
2
|
+
|
3
|
+
import Nav from "../_nav";
|
4
|
+
import NavItem from "../_item";
|
5
|
+
|
6
|
+
const CollapsibleNav = (props) => {
|
7
|
+
return (
|
8
|
+
<Nav variant="subtle">
|
9
|
+
<NavItem
|
10
|
+
collapsible
|
11
|
+
iconLeft="city"
|
12
|
+
link="#"
|
13
|
+
text="Overview"
|
14
|
+
{...props}
|
15
|
+
>
|
16
|
+
<NavItem
|
17
|
+
link="#"
|
18
|
+
text="City"
|
19
|
+
{...props}
|
20
|
+
/>
|
21
|
+
<NavItem
|
22
|
+
link="#"
|
23
|
+
text="People"
|
24
|
+
{...props}
|
25
|
+
/>
|
26
|
+
<NavItem
|
27
|
+
link="#"
|
28
|
+
text="Business"
|
29
|
+
{...props}
|
30
|
+
/>
|
31
|
+
</NavItem>
|
32
|
+
<NavItem
|
33
|
+
active
|
34
|
+
collapsible
|
35
|
+
iconLeft="theater-masks"
|
36
|
+
link="#"
|
37
|
+
text="Albums"
|
38
|
+
{...props}
|
39
|
+
>
|
40
|
+
<NavItem
|
41
|
+
link="#"
|
42
|
+
text="Entertainment"
|
43
|
+
{...props}
|
44
|
+
/>
|
45
|
+
<NavItem
|
46
|
+
link="#"
|
47
|
+
text="Food"
|
48
|
+
{...props}
|
49
|
+
/>
|
50
|
+
<NavItem
|
51
|
+
link="#"
|
52
|
+
text="Style"
|
53
|
+
{...props}
|
54
|
+
/>
|
55
|
+
</NavItem>
|
56
|
+
<NavItem
|
57
|
+
collapsible
|
58
|
+
iconLeft="city"
|
59
|
+
link="#"
|
60
|
+
text="Similar Artists"
|
61
|
+
{...props}
|
62
|
+
>
|
63
|
+
<NavItem
|
64
|
+
link="#"
|
65
|
+
text="City"
|
66
|
+
{...props}
|
67
|
+
/>
|
68
|
+
<NavItem
|
69
|
+
link="#"
|
70
|
+
text="People"
|
71
|
+
{...props}
|
72
|
+
/>
|
73
|
+
<NavItem
|
74
|
+
link="#"
|
75
|
+
text="Business"
|
76
|
+
{...props}
|
77
|
+
/>
|
78
|
+
</NavItem>
|
79
|
+
</Nav>
|
80
|
+
);
|
81
|
+
};
|
82
|
+
|
83
|
+
export default CollapsibleNav;
|
@@ -0,0 +1,86 @@
|
|
1
|
+
import React from "react";
|
2
|
+
|
3
|
+
import Nav from "../_nav";
|
4
|
+
import NavItem from "../_item";
|
5
|
+
|
6
|
+
const CollapsibleNavCustomIcons = (props) => {
|
7
|
+
return (
|
8
|
+
<Nav variant="subtle">
|
9
|
+
<NavItem
|
10
|
+
collapsible
|
11
|
+
iconLeft="city"
|
12
|
+
iconRight={["chevron-down", "chevron-up"]}
|
13
|
+
link="#"
|
14
|
+
text="Overview"
|
15
|
+
{...props}
|
16
|
+
>
|
17
|
+
<NavItem
|
18
|
+
link="#"
|
19
|
+
text="City"
|
20
|
+
{...props}
|
21
|
+
/>
|
22
|
+
<NavItem
|
23
|
+
link="#"
|
24
|
+
text="People"
|
25
|
+
{...props}
|
26
|
+
/>
|
27
|
+
<NavItem
|
28
|
+
link="#"
|
29
|
+
text="Business"
|
30
|
+
{...props}
|
31
|
+
/>
|
32
|
+
</NavItem>
|
33
|
+
<NavItem
|
34
|
+
active
|
35
|
+
collapsible
|
36
|
+
iconLeft="theater-masks"
|
37
|
+
iconRight={["chevron-down", "chevron-up"]}
|
38
|
+
link="#"
|
39
|
+
text="Albums"
|
40
|
+
{...props}
|
41
|
+
>
|
42
|
+
<NavItem
|
43
|
+
link="#"
|
44
|
+
text="Entertainment"
|
45
|
+
{...props}
|
46
|
+
/>
|
47
|
+
<NavItem
|
48
|
+
link="#"
|
49
|
+
text="Food"
|
50
|
+
{...props}
|
51
|
+
/>
|
52
|
+
<NavItem
|
53
|
+
link="#"
|
54
|
+
text="Style"
|
55
|
+
{...props}
|
56
|
+
/>
|
57
|
+
</NavItem>
|
58
|
+
<NavItem
|
59
|
+
collapsible
|
60
|
+
iconLeft="city"
|
61
|
+
iconRight={["chevron-down", "chevron-up"]}
|
62
|
+
link="#"
|
63
|
+
text="Similar Artists"
|
64
|
+
{...props}
|
65
|
+
>
|
66
|
+
<NavItem
|
67
|
+
link="#"
|
68
|
+
text="City"
|
69
|
+
{...props}
|
70
|
+
/>
|
71
|
+
<NavItem
|
72
|
+
link="#"
|
73
|
+
text="People"
|
74
|
+
{...props}
|
75
|
+
/>
|
76
|
+
<NavItem
|
77
|
+
link="#"
|
78
|
+
text="Business"
|
79
|
+
{...props}
|
80
|
+
/>
|
81
|
+
</NavItem>
|
82
|
+
</Nav>
|
83
|
+
);
|
84
|
+
};
|
85
|
+
|
86
|
+
export default CollapsibleNavCustomIcons;
|
@@ -7,6 +7,7 @@ examples:
|
|
7
7
|
- borderless_nav: No Borders
|
8
8
|
- subtle_nav: Subtle Variant
|
9
9
|
- subtle_with_icons_nav: Subtle With Icons
|
10
|
+
# - collapsible_nav: Subtle With Collapsible
|
10
11
|
- subtle_no_highlight_nav: Subtle No Highlight
|
11
12
|
- bold_vertical_nav: Bold Variant
|
12
13
|
- horizontal_nav: Horizontal Nav
|
@@ -24,6 +25,8 @@ examples:
|
|
24
25
|
- borderless_nav: No Borders
|
25
26
|
- subtle_nav: Subtle Variant
|
26
27
|
- subtle_with_icons_nav: Subtle With Icons
|
28
|
+
# - collapsible_nav: Subtle With Collapsible
|
29
|
+
# - collapsible_nav_custom_icons: Subtle With Collapsible (Custom Toggle Icons)
|
27
30
|
- subtle_no_highlight_nav: Subtle No Highlight
|
28
31
|
- bold_vertical_nav: Bold Variant
|
29
32
|
- horizontal_nav: Horizontal Nav
|
@@ -13,3 +13,5 @@ export { default as WithImgNav } from './_with_img_nav.jsx'
|
|
13
13
|
export { default as NewTab } from './_new_tab.jsx'
|
14
14
|
export { default as BoldHorizontalNav } from './_bold_horizontal_nav.jsx'
|
15
15
|
export { default as BoldVerticalNav } from './_bold_vertical_nav.jsx'
|
16
|
+
export { default as CollapsibleNav } from './_collapsible_nav.jsx'
|
17
|
+
export { default as CollapsibleNavCustomIcons } from './_collapsible_nav_custom_icons.jsx'
|
@@ -3,19 +3,41 @@
|
|
3
3
|
class: object.classname,
|
4
4
|
data: object.data,
|
5
5
|
id: object.id) do %>
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
6
|
+
<% if object.collapsible %>
|
7
|
+
<%= pb_rails("collapsible", props: { name: "collapsible-nav-example" }) do %>
|
8
|
+
<%= pb_rails("collapsible/collapsible_main", props: { name: "default-collapsible-nav", icon: object.collapsible_icons, size: "xs" }) do %>
|
9
|
+
<%= content_tag(object.tag,
|
10
|
+
object.link ? object.link_options : object.options) do %>
|
11
|
+
<% if object.image_url %>
|
12
|
+
<%= pb_rails("image", props: { url: object.image_url, classname: "pb_nav_img_wrapper" }) %>
|
13
|
+
<% end %>
|
14
|
+
<% if object.icon_left %>
|
15
|
+
<%= pb_rails("icon", props: { icon: object.icon_left, classname: "pb_nav_list_item_icon_left", fixed_width: true}) %>
|
16
|
+
<% end %>
|
17
|
+
<span class="pb_nav_list_item_text">
|
18
|
+
<%= object.text %>
|
19
|
+
</span>
|
20
|
+
<% end %>
|
21
|
+
<% end %>
|
22
|
+
<%= pb_rails("collapsible/collapsible_content") do %>
|
23
|
+
<%= content.presence %>
|
24
|
+
<% end %>
|
10
25
|
<% end %>
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
26
|
+
<% else %>
|
27
|
+
<%= content_tag(object.tag,
|
28
|
+
object.link ? object.link_options : object.options) do %>
|
29
|
+
<% if object.image_url %>
|
30
|
+
<%= pb_rails("image", props: { url: object.image_url, classname: "pb_nav_img_wrapper" }) %>
|
31
|
+
<% end %>
|
32
|
+
<% if object.icon_left %>
|
33
|
+
<%= pb_rails("icon", props: { icon: object.icon_left, classname: "pb_nav_list_item_icon_left", fixed_width: true}) %>
|
34
|
+
<% end %>
|
35
|
+
<span class="pb_nav_list_item_text">
|
36
|
+
<%= object.text %><%= content.presence %>
|
37
|
+
</span>
|
38
|
+
<% if object.icon_right %>
|
39
|
+
<%= pb_rails("icon", props: { icon: object.icon_right, classname: "pb_nav_list_item_icon_right", fixed_width: true}) %>
|
40
|
+
<% end %>
|
19
41
|
<% end %>
|
20
42
|
<% end %>
|
21
43
|
<% end %>
|
@@ -4,6 +4,7 @@ module Playbook
|
|
4
4
|
module PbNav
|
5
5
|
class Item < Playbook::KitBase
|
6
6
|
prop :active, type: Playbook::Props::Boolean, default: false
|
7
|
+
prop :collapsible, type: Playbook::Props::Boolean, default: false
|
7
8
|
prop :link
|
8
9
|
prop :text
|
9
10
|
prop :icon_left
|
@@ -33,6 +34,10 @@ module Playbook
|
|
33
34
|
)
|
34
35
|
end
|
35
36
|
|
37
|
+
def collapsible_icons
|
38
|
+
icon_right.present? ? icon_right : %w[plus minus]
|
39
|
+
end
|
40
|
+
|
36
41
|
private
|
37
42
|
|
38
43
|
def active_class
|