playbook_ui 13.1.0 → 13.2.0.pre.alpha.PLAY986dateTimeRounding1150
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.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.tsx +1 -1
- data/app/pb_kits/playbook/pb_kit/dateTime.ts +54 -23
- data/app/pb_kits/playbook/pb_nav/_bold_mixin.scss +16 -14
- data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +86 -115
- data/app/pb_kits/playbook/pb_nav/_collapsible_trail_mixin.scss +16 -0
- data/app/pb_kits/playbook/pb_nav/_horizontal_nav.scss +58 -58
- data/app/pb_kits/playbook/pb_nav/_item.tsx +242 -138
- data/app/pb_kits/playbook/pb_nav/_nav.scss +38 -0
- data/app/pb_kits/playbook/pb_nav/_nav.tsx +17 -1
- data/app/pb_kits/playbook/pb_nav/_subtle_mixin.scss +9 -11
- data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +50 -59
- data/app/pb_kits/playbook/pb_nav/docs/_block_no_title_nav.jsx +1 -1
- data/app/pb_kits/playbook/pb_nav/docs/_borderless_nav.jsx +4 -1
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav.html.erb +4 -4
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav.jsx +4 -10
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav.md +1 -1
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_custom.jsx +6 -1
- data/app/pb_kits/playbook/pb_nav/docs/{_collapsible_nav_emphasize.jsx → _collapsible_nav_item_spacing.jsx} +18 -17
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_item_spacing.md +1 -0
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_with_all_options.html.erb +23 -0
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_with_all_options.jsx +55 -0
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_with_all_options.md +4 -0
- data/app/pb_kits/playbook/pb_nav/docs/_nav_with_font_control.html.erb +6 -0
- data/app/pb_kits/playbook/pb_nav/docs/_nav_with_font_control.jsx +46 -0
- data/app/pb_kits/playbook/pb_nav/docs/_nav_with_font_control.md +4 -0
- data/app/pb_kits/playbook/pb_nav/docs/_nav_with_spacing_control.html.erb +6 -0
- data/app/pb_kits/playbook/pb_nav/docs/_nav_with_spacing_control.jsx +47 -0
- data/app/pb_kits/playbook/pb_nav/docs/_nav_with_spacing_control.md +1 -0
- data/app/pb_kits/playbook/pb_nav/docs/_no_highlight_nav.jsx +4 -1
- data/app/pb_kits/playbook/pb_nav/docs/_subtle_nav.jsx +4 -1
- data/app/pb_kits/playbook/pb_nav/docs/_subtle_with_icons_nav.jsx +4 -1
- data/app/pb_kits/playbook/pb_nav/docs/example.yml +10 -5
- data/app/pb_kits/playbook/pb_nav/docs/index.js +4 -1
- data/app/pb_kits/playbook/pb_nav/item.html.erb +19 -12
- data/app/pb_kits/playbook/pb_nav/item.rb +55 -14
- data/app/pb_kits/playbook/pb_nav/nav.html.erb +3 -1
- data/app/pb_kits/playbook/pb_nav/navTypes.ts +25 -0
- data/app/pb_kits/playbook/pb_select/docs/_select_multiple.md +1 -1
- data/dist/playbook-rails.js +5 -5
- data/lib/playbook/version.rb +2 -2
- metadata +20 -11
- data/app/pb_kits/playbook/pb_nav/_mixins.scss +0 -5
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_emphasize.html.erb +0 -23
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_emphasize.md +0 -1
@@ -7,10 +7,12 @@ 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: Collapsible Nav
|
11
|
-
# - collapsible_nav_emphasize: Collapsible Nav with Emphasize Styling
|
12
10
|
- subtle_no_highlight_nav: Subtle No Highlight
|
13
11
|
- bold_vertical_nav: Bold Variant
|
12
|
+
- nav_with_spacing_control: Nav with Spacing Control
|
13
|
+
- nav_with_font_control: Nav With Font Control
|
14
|
+
- collapsible_nav: Collapsible Nav
|
15
|
+
- collapsible_nav_with_all_options: Collapsible Nav With Options
|
14
16
|
- horizontal_nav: Horizontal Nav
|
15
17
|
- subtle_horizontal_nav: Subtle Horizontal Nav
|
16
18
|
- bold_horizontal_nav: Bold Horizontal Nav
|
@@ -26,11 +28,14 @@ examples:
|
|
26
28
|
- borderless_nav: No Borders
|
27
29
|
- subtle_nav: Subtle Variant
|
28
30
|
- subtle_with_icons_nav: Subtle With Icons
|
29
|
-
# - collapsible_nav: Collapsible Nav
|
30
|
-
# - collapsible_nav_emphasize: Collapsible Nav with Emphasize Styling
|
31
|
-
# - collapsible_nav_custom: Collapsible Nav With Custom Toggling
|
32
31
|
- subtle_no_highlight_nav: Subtle No Highlight
|
33
32
|
- bold_vertical_nav: Bold Variant
|
33
|
+
- nav_with_spacing_control: Nav with Spacing Control
|
34
|
+
- nav_with_font_control: Nav With Font Control
|
35
|
+
- collapsible_nav: Collapsible Nav
|
36
|
+
- collapsible_nav_with_all_options: Collapsible Nav With Options
|
37
|
+
- collapsible_nav_item_spacing: Collapsible Nav With ItemSpacing
|
38
|
+
- collapsible_nav_custom: Collapsible Nav With Custom Toggling
|
34
39
|
- horizontal_nav: Horizontal Nav
|
35
40
|
- subtle_horizontal_nav: Subtle Horizontal Nav
|
36
41
|
- bold_horizontal_nav: Bold Horizontal Nav
|
@@ -15,4 +15,7 @@ export { default as BoldHorizontalNav } from './_bold_horizontal_nav.jsx'
|
|
15
15
|
export { default as BoldVerticalNav } from './_bold_vertical_nav.jsx'
|
16
16
|
export { default as CollapsibleNav } from './_collapsible_nav.jsx'
|
17
17
|
export { default as CollapsibleNavCustom } from './_collapsible_nav_custom.jsx'
|
18
|
-
export {
|
18
|
+
export {default as CollapsibleNavWithAllOptions} from "./_collapsible_nav_with_all_options.jsx"
|
19
|
+
export { default as NavWithFontControl } from "./_nav_with_font_control.jsx"
|
20
|
+
export {default as NavWithSpacingControl } from "./_nav_with_spacing_control.jsx"
|
21
|
+
export {default as CollapsibleNavItemSpacing } from "./_collapsible_nav_item_spacing.jsx"
|
@@ -1,14 +1,15 @@
|
|
1
|
-
<%= content_tag(:li,
|
2
|
-
aria: object.aria,
|
3
|
-
class: object.classname,
|
4
|
-
data: object.data,
|
5
|
-
dark: object.dark,
|
6
|
-
id: object.id) do %>
|
7
1
|
<% if object.collapsible %>
|
8
|
-
<%= pb_rails("collapsible", props: { name: "collapsible-nav-example" }) do %>
|
9
|
-
<%= pb_rails("collapsible/collapsible_main", props: { name: "default-collapsible-nav", icon: object.collapsible_icons, size: "xs", dark: object.dark }) do %>
|
2
|
+
<%= pb_rails("collapsible", props: { name: "collapsible-nav-example", classname: object.collapsible_nav_classname }) do %>
|
3
|
+
<%= pb_rails("collapsible/collapsible_main", props: { name: "default-collapsible-nav", icon: object.collapsible_icons, size: "xs", dark: object.dark, classname:object.margin_classes }) do %>
|
10
4
|
<%= content_tag(object.tag,
|
11
|
-
|
5
|
+
aria: object.aria,
|
6
|
+
class: object.classname,
|
7
|
+
data: object.data,
|
8
|
+
dark: object.dark,
|
9
|
+
id: object.id,
|
10
|
+
href: object.link && object.link,
|
11
|
+
target: object.link && object.target
|
12
|
+
) do %>
|
12
13
|
<% if object.image_url %>
|
13
14
|
<%= pb_rails("image", props: { url: object.image_url, classname: "pb_nav_img_wrapper_collapsible" }) %>
|
14
15
|
<% end %>
|
@@ -26,7 +27,14 @@
|
|
26
27
|
<% end %>
|
27
28
|
<% else %>
|
28
29
|
<%= content_tag(object.tag,
|
29
|
-
|
30
|
+
aria: object.aria,
|
31
|
+
class: object.classname,
|
32
|
+
data: object.data,
|
33
|
+
dark: object.dark,
|
34
|
+
id: object.id,
|
35
|
+
href: object.link && object.link,
|
36
|
+
target: object.link && object.target
|
37
|
+
) do %>
|
30
38
|
<% if object.image_url %>
|
31
39
|
<%= pb_rails("image", props: { url: object.image_url, classname: "pb_nav_img_wrapper" }) %>
|
32
40
|
<% end %>
|
@@ -40,5 +48,4 @@
|
|
40
48
|
<%= pb_rails("icon", props: { icon: object.icon_right, classname: "pb_nav_list_item_icon_right", fixed_width: true}) %>
|
41
49
|
<% end %>
|
42
50
|
<% end %>
|
43
|
-
<% end %>
|
44
|
-
<% end %>
|
51
|
+
<% end %>
|
@@ -22,31 +22,72 @@ module Playbook
|
|
22
22
|
default: "_self"
|
23
23
|
def classname
|
24
24
|
if collapsible
|
25
|
-
"#{generate_classname('pb_nav_list_kit_item', active_class)} #{generate_classname('pb_collapsible_nav_item', active_class, collapsible_trail_class)} #{font_size_class} #{font_weight_class}"
|
25
|
+
"#{generate_classname('pb_nav_list_kit_item', active_class)} #{generate_classname('pb_collapsible_nav_item', active_class, collapsible_trail_class)} #{font_size_class} #{font_weight_class} pb_nav_list_item_link_collapsible"
|
26
26
|
else
|
27
|
-
"#{generate_classname('pb_nav_list_kit_item', active_class)} #{font_size_class} #{font_weight_class}"
|
27
|
+
"#{generate_classname('pb_nav_list_kit_item', active_class)} #{font_size_class} #{font_weight_class} pb_nav_list_item_link"
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
-
def
|
32
|
-
|
31
|
+
def spacing_props
|
32
|
+
if collapsible
|
33
|
+
if object.margin || object.margin_x || object.margin_y || object.margin_bottom || object.margin_top || object.margin_right || object.margin_left
|
34
|
+
# Call the original method
|
35
|
+
original_result = super
|
36
|
+
|
37
|
+
# Remove p_value, px_value, py_value, etc. based on the object's properties
|
38
|
+
margin_classes_to_remove = []
|
39
|
+
margin_classes_to_remove << "m_#{object.margin}" if object.margin
|
40
|
+
margin_classes_to_remove << "mx_#{object.margin_x}" if object.margin_x
|
41
|
+
margin_classes_to_remove << "my_#{object.margin_y}" if object.margin_y
|
42
|
+
margin_classes_to_remove << "mb_#{object.margin_bottom}" if object.margin_bottom
|
43
|
+
margin_classes_to_remove << "mt_#{object.margin_top}" if object.margin_top
|
44
|
+
margin_classes_to_remove << "mr_#{object.margin_right}" if object.margin_right
|
45
|
+
margin_classes_to_remove << "ml_#{object.margin_left}" if object.margin_left
|
46
|
+
|
47
|
+
margin_classes_to_remove.each do |class_to_remove|
|
48
|
+
original_result.gsub!(class_to_remove, "")
|
49
|
+
end
|
50
|
+
|
51
|
+
original_result.strip
|
52
|
+
else
|
53
|
+
super
|
54
|
+
end
|
55
|
+
else
|
56
|
+
super
|
57
|
+
end
|
33
58
|
end
|
34
59
|
|
35
|
-
def
|
36
|
-
{
|
37
|
-
|
38
|
-
|
60
|
+
def margin_classes
|
61
|
+
margin_attributes = {
|
62
|
+
margin: "m",
|
63
|
+
margin_x: "mx",
|
64
|
+
margin_y: "my",
|
65
|
+
margin_bottom: "mb",
|
66
|
+
margin_top: "mt",
|
67
|
+
margin_right: "mr",
|
68
|
+
margin_left: "ml",
|
69
|
+
}
|
70
|
+
|
71
|
+
# rubocop:disable Style/RedundantAssignment
|
72
|
+
margin_classes = margin_attributes.map do |attr, class_prefix|
|
73
|
+
# rubocop:enable Style/RedundantAssignment
|
74
|
+
value = object.public_send(attr)
|
75
|
+
" #{class_prefix}_#{value}" if value
|
76
|
+
end.compact.join
|
77
|
+
|
78
|
+
margin_classes
|
39
79
|
end
|
40
80
|
|
41
|
-
def
|
42
|
-
|
43
|
-
href: link,
|
44
|
-
target: target
|
45
|
-
)
|
81
|
+
def tag
|
82
|
+
link ? "a" : "div"
|
46
83
|
end
|
47
84
|
|
48
85
|
def collapsible_icons
|
49
|
-
icon_right.present?
|
86
|
+
icon_right.present? && icon_right
|
87
|
+
end
|
88
|
+
|
89
|
+
def collapsible_nav_classname
|
90
|
+
generate_classname("collapsible_nav_wrapper", active_class, collapsible_trail_class)
|
50
91
|
end
|
51
92
|
|
52
93
|
private
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { Spacing } from "../types";
|
2
|
+
|
3
|
+
export type SpacingObject = {
|
4
|
+
margin?: Spacing;
|
5
|
+
marginBottom?: Spacing;
|
6
|
+
marginTop?: Spacing;
|
7
|
+
marginRight?: Spacing;
|
8
|
+
marginLeft?: Spacing;
|
9
|
+
margingX?: Spacing;
|
10
|
+
marginY?: Spacing;
|
11
|
+
padding?: Spacing;
|
12
|
+
paddingBottom?: Spacing;
|
13
|
+
paddingTop?: Spacing;
|
14
|
+
paddingRight?: Spacing;
|
15
|
+
paddingLeft?: Spacing;
|
16
|
+
paddingX?: Spacing;
|
17
|
+
paddingY?: Spacing;
|
18
|
+
};
|
19
|
+
|
20
|
+
export type NavChildProps = {
|
21
|
+
orientation?: "vertical" | "horizontal";
|
22
|
+
variant?: "normal" | "subtle";
|
23
|
+
itemSpacing?: SpacingObject
|
24
|
+
};
|
25
|
+
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
The `multiple` prop enables multiple selections; however, for a better user experience, we recommend our [Typeahead](https://playbook.powerapp.cloud/kits/typeahead/react) kit.
|