playbook_ui 10.16.0 → 10.18.2
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 +3 -0
- data/app/pb_kits/playbook/pb_background/background.test.js +22 -0
- data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +3 -0
- data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +3 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.html.erb +26 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.jsx +37 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.md +2 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_caption/_caption.jsx +17 -4
- data/app/pb_kits/playbook/pb_caption/_caption.scss +25 -8
- data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +17 -0
- data/app/pb_kits/playbook/pb_caption/caption.rb +5 -1
- data/app/pb_kits/playbook/pb_caption/docs/_caption_example.html.erb +3 -0
- data/app/pb_kits/playbook/pb_caption/docs/_caption_example.jsx +27 -0
- data/app/pb_kits/playbook/pb_caption/docs/_caption_example.md +1 -0
- data/app/pb_kits/playbook/pb_caption/docs/example.yml +7 -4
- data/app/pb_kits/playbook/pb_caption/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_card/_card.jsx +1 -3
- data/app/pb_kits/playbook/pb_card/_card.scss +0 -6
- data/app/pb_kits/playbook/pb_card/_card_mixin.scss +1 -8
- data/app/pb_kits/playbook/pb_card/card.html.erb +2 -0
- data/app/pb_kits/playbook/pb_card/card.rb +0 -8
- data/app/pb_kits/playbook/pb_card/docs/_card_background.html.erb +1 -1
- data/app/pb_kits/playbook/pb_card/docs/_card_content.html.erb +3 -1
- data/app/pb_kits/playbook/pb_card/docs/_card_content.jsx +9 -2
- data/app/pb_kits/playbook/pb_circle_chart/circle_chart.rb +4 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.md +2 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.md +3 -1
- data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.test.js +13 -4
- data/app/pb_kits/playbook/pb_docs/kit_example.rb +4 -0
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.rb +4 -0
- data/app/pb_kits/playbook/pb_flex/_flex.jsx +4 -0
- data/app/pb_kits/playbook/pb_flex/_flex.scss +17 -1
- data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +6 -2
- data/app/pb_kits/playbook/pb_flex/_flex_item.scss +22 -0
- data/app/pb_kits/playbook/pb_flex/docs/_flex_item.html.erb +12 -1
- data/app/pb_kits/playbook/pb_flex/docs/_flex_item.md +2 -0
- data/app/pb_kits/playbook/pb_flex/docs/_flex_item_align_self.html.erb +89 -0
- data/app/pb_kits/playbook/pb_flex/docs/_flex_item_align_self.jsx +210 -0
- data/app/pb_kits/playbook/pb_flex/docs/_flex_item_align_self.md +5 -0
- data/app/pb_kits/playbook/pb_flex/docs/_flex_item_example.jsx +27 -0
- data/app/pb_kits/playbook/pb_flex/docs/_flex_item_example.md +2 -0
- data/app/pb_kits/playbook/pb_flex/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_flex/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_flex/flex.rb +14 -1
- data/app/pb_kits/playbook/pb_flex/flex_item.rb +16 -1
- data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +3 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.html.erb +12 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.jsx +19 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.md +2 -0
- data/app/pb_kits/playbook/pb_gauge/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_gauge/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_gauge/gauge.rb +2 -0
- data/app/pb_kits/playbook/pb_icon/icon.rb +4 -0
- data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +2 -2
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_color.html.erb +1 -1
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_color.jsx +1 -1
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_color.md +1 -0
- data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
- data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.rb +2 -0
- data/app/pb_kits/playbook/pb_image/_image.jsx +4 -1
- data/app/pb_kits/playbook/pb_image/_image.scss +24 -8
- data/app/pb_kits/playbook/pb_image/docs/_transition_image.html.erb +54 -0
- data/app/pb_kits/playbook/pb_image/docs/_transition_image.jsx +77 -0
- data/app/pb_kits/playbook/pb_image/docs/_transition_image.md +1 -0
- data/app/pb_kits/playbook/pb_image/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_image/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_image/image.html.erb +1 -1
- data/app/pb_kits/playbook/pb_image/image.rb +8 -1
- data/app/pb_kits/playbook/pb_image/image.test.js +9 -4
- data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +4 -1
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.html.erb +26 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.jsx +37 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.md +2 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +3 -0
- data/app/pb_kits/playbook/pb_list/list.rb +2 -0
- data/app/pb_kits/playbook/pb_select/select.rb +3 -0
- data/app/pb_kits/playbook/pb_source/source.rb +3 -0
- data/app/pb_kits/playbook/pb_text_input/text_input.rb +2 -0
- data/app/pb_kits/playbook/pb_title/docs/_title_light.html.erb +4 -1
- data/app/pb_kits/playbook/pb_title/title.html.erb +4 -2
- data/app/pb_kits/playbook/plugins/pb_chart.js +16 -24
- data/app/pb_kits/playbook/tokens/_colors.scss +3 -1
- data/app/pb_kits/playbook/utilities/_cursor.scss +3 -0
- data/app/pb_kits/playbook/utilities/_display.scss +23 -0
- data/app/pb_kits/playbook/utilities/_shadow.scss +11 -0
- data/app/pb_kits/playbook/utilities/globalProps.js +19 -1
- data/lib/playbook/classnames.rb +3 -0
- data/lib/playbook/cursor.rb +29 -0
- data/lib/playbook/display.rb +29 -0
- data/lib/playbook/engine.rb +0 -1
- data/lib/playbook/kit_base.rb +6 -0
- data/lib/playbook/markdown/helper.rb +2 -2
- data/lib/playbook/pb_doc_helper.rb +4 -0
- data/lib/playbook/props/base.rb +2 -2
- data/lib/playbook/shadow.rb +29 -0
- data/lib/playbook/version.rb +2 -2
- data/lib/playbook.rb +3 -0
- metadata +42 -15
@@ -77,7 +77,6 @@ $gapTypes: (
|
|
77
77
|
align-items: flex-start;
|
78
78
|
}
|
79
79
|
|
80
|
-
|
81
80
|
&[class*=align_items_right],
|
82
81
|
&[class*=align_items_bottom],
|
83
82
|
&[class*=align_items_end] {
|
@@ -96,6 +95,23 @@ $gapTypes: (
|
|
96
95
|
align-items: baseline;
|
97
96
|
}
|
98
97
|
|
98
|
+
// Alignment: Align Self - Rails & React
|
99
|
+
&[class*=align_self_start] {
|
100
|
+
align-self: flex-start;
|
101
|
+
}
|
102
|
+
|
103
|
+
&[class*=align_self_end] {
|
104
|
+
align-self: flex-end;
|
105
|
+
}
|
106
|
+
|
107
|
+
&[class*=align_self_center] {
|
108
|
+
align-self: center;
|
109
|
+
}
|
110
|
+
|
111
|
+
&[class*=align_self_stretch] {
|
112
|
+
align-self: stretch;
|
113
|
+
}
|
114
|
+
|
99
115
|
// Spacing
|
100
116
|
&[class*=spacing_around],
|
101
117
|
&[class*=justify_content_around] {
|
@@ -12,21 +12,25 @@ type FlexItemPropTypes = {
|
|
12
12
|
className: string,
|
13
13
|
overflow?: "auto" | "hidden" | "initial" | "inherit" | "scroll" | "visible",
|
14
14
|
order?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 'first' | 'none',
|
15
|
+
alignSelf?: "start" | "end" | "center" | "stretch",
|
16
|
+
displayFlex: boolean
|
15
17
|
}
|
16
18
|
|
17
19
|
const FlexItem = (props: FlexItemPropTypes) => {
|
18
|
-
const { children, className, fixedSize, grow, overflow = null, shrink, flex = 'none', order = 'none' } = props
|
20
|
+
const { children, className, fixedSize, grow, overflow = null, shrink, flex = 'none', order = 'none', alignSelf = null, displayFlex } = props
|
19
21
|
const growClass = grow === true ? 'grow' : ''
|
22
|
+
const displayFlexClass = displayFlex === true ? `display_flex_${displayFlex}` : ''
|
20
23
|
const flexClass = flex !== 'none' ? `flex_${flex}` : ''
|
21
24
|
const overflowClass = overflow ? `overflow_${overflow}` : ''
|
22
25
|
const shrinkClass = shrink === true ? 'shrink' : ''
|
26
|
+
const alignSelfClass = alignSelf ? `align_self_${alignSelf}` : ''
|
23
27
|
const fixedStyle =
|
24
28
|
fixedSize !== undefined ? { flexBasis: `${fixedSize}` } : null
|
25
29
|
const orderClass = order !== 'none' ? `order_${order}` : null
|
26
30
|
|
27
31
|
return (
|
28
32
|
<div
|
29
|
-
className={classnames(buildCss('pb_flex_item_kit', growClass, shrinkClass, flexClass), overflowClass, orderClass, globalProps(props), className)}
|
33
|
+
className={classnames(buildCss('pb_flex_item_kit', growClass, shrinkClass, flexClass, displayFlexClass), overflowClass, orderClass, alignSelfClass, globalProps(props), className)}
|
30
34
|
style={fixedStyle}
|
31
35
|
>
|
32
36
|
{children}
|
@@ -12,6 +12,28 @@
|
|
12
12
|
flex-shrink: 1;
|
13
13
|
}
|
14
14
|
|
15
|
+
// Display Flex - Rails & React
|
16
|
+
&[class*=display_flex] {
|
17
|
+
display: flex;
|
18
|
+
}
|
19
|
+
|
20
|
+
// Alignment: Align Self - Rails & React
|
21
|
+
&[class*=align_self_start] {
|
22
|
+
align-self: flex-start;
|
23
|
+
}
|
24
|
+
|
25
|
+
&[class*=align_self_end] {
|
26
|
+
align-self: flex-end;
|
27
|
+
}
|
28
|
+
|
29
|
+
&[class*=align_self_center] {
|
30
|
+
align-self: center;
|
31
|
+
}
|
32
|
+
|
33
|
+
&[class*=align_self_stretch] {
|
34
|
+
align-self: stretch;
|
35
|
+
}
|
36
|
+
|
15
37
|
//Order Items
|
16
38
|
@for $i from 0 through 12 {
|
17
39
|
&[class*=order_#{$i}]{
|
@@ -1,5 +1,16 @@
|
|
1
|
-
<%= pb_rails("title", props: {size: 4, text: "
|
1
|
+
<%= pb_rails("title", props: {size: 4, text: "Display Flex"}) %>
|
2
2
|
<br/>
|
3
|
+
<div class="flex-doc-example">
|
4
|
+
<%= pb_rails("flex/flex_item",props: { gap:"sm", display_flex: true }) do %>
|
5
|
+
<%= pb_rails("flex/flex_item") do %>We<% end %>
|
6
|
+
<%= pb_rails("flex/flex_item") do %>Are<% end %>
|
7
|
+
<%= pb_rails("flex/flex_item") do %>Being<% end %>
|
8
|
+
<%= pb_rails("flex/flex_item") do %>Flexed<% end %>
|
9
|
+
<% end %>
|
10
|
+
</div>
|
11
|
+
|
12
|
+
<br/><br/>
|
13
|
+
|
3
14
|
<div class="flex-doc-example">
|
4
15
|
<%= pb_rails("flex",props: { gap:"sm" }) do %>
|
5
16
|
<%= pb_rails("flex/flex_item", props: { grow: true }) do %>I'm growing<% end %>
|
@@ -1,5 +1,6 @@
|
|
1
1
|
##### Props
|
2
2
|
|
3
|
+
* `display_flex` | **Type**: Boolean
|
3
4
|
* `flex` | **Type**: String | **Values**: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
|
4
5
|
* `fixed_size` | **Type**: String | **Values**: Any CSS px or % value
|
5
6
|
* `grow` | **Type**: Boolean
|
@@ -10,3 +11,4 @@
|
|
10
11
|
- Setting Flex to 1 is equal to setting the grow & shrink prop to true
|
11
12
|
- Setting Flex to 0 is equal to setting the grow & shrink prop to false
|
12
13
|
- If grow & shrink are true, grow will take precedence an the flex item will take up as much space as possible, then if other elements are added shrink would allow other items to squish inside the flex container
|
14
|
+
- display_flex will either be true or false. If true, then the class will be applied to the kit
|
@@ -0,0 +1,89 @@
|
|
1
|
+
<%= pb_rails("title", props: {size: 4, text: "Row"}) %>
|
2
|
+
<br/>
|
3
|
+
<div class="flex-doc-example">
|
4
|
+
<%= pb_rails("flex") do %>
|
5
|
+
<%= pb_rails("flex/flex_item", props: {padding:"sm", align_self:"start"}) do %>1<% end %>
|
6
|
+
<%= pb_rails("flex/flex_item", props:{padding:"lg"}) do %>2<% end %>
|
7
|
+
<%= pb_rails("flex/flex_item", props:{padding:"lg"}) do %>3<% end %>
|
8
|
+
<%= pb_rails("flex/flex_item", props:{padding:"lg"}) do %>4<% end %>
|
9
|
+
<% end %>
|
10
|
+
</div>
|
11
|
+
|
12
|
+
<br/><br/>
|
13
|
+
|
14
|
+
<div class="flex-doc-example">
|
15
|
+
<%= pb_rails("flex") do %>
|
16
|
+
<%= pb_rails("flex/flex_item", props:{padding:"sm", align_self:"end"}) do %>1<% end %>
|
17
|
+
<%= pb_rails("flex/flex_item", props:{padding:"lg"}) do %>2<% end %>
|
18
|
+
<%= pb_rails("flex/flex_item", props:{padding:"lg"}) do %>3<% end %>
|
19
|
+
<%= pb_rails("flex/flex_item", props:{padding:"lg"}) do %>4<% end %>
|
20
|
+
<% end %>
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<br/><br/>
|
24
|
+
|
25
|
+
<div class="flex-doc-example">
|
26
|
+
<%= pb_rails("flex") do %>
|
27
|
+
<%= pb_rails("flex/flex_item", props:{padding:"sm", align_self: "center"}) do %>1<% end %>
|
28
|
+
<%= pb_rails("flex/flex_item", props:{padding:"lg"}) do %>2<% end %>
|
29
|
+
<%= pb_rails("flex/flex_item", props:{padding:"lg"}) do %>3<% end %>
|
30
|
+
<%= pb_rails("flex/flex_item", props:{padding:"lg"}) do %>4<% end %>
|
31
|
+
<% end %>
|
32
|
+
</div>
|
33
|
+
|
34
|
+
<br/><br/>
|
35
|
+
|
36
|
+
<div class="flex-doc-example">
|
37
|
+
<%= pb_rails("flex") do %>
|
38
|
+
<%= pb_rails("flex/flex_item", props:{padding:"sm", align_self:"stretch"}) do %>1<% end %>
|
39
|
+
<%= pb_rails("flex/flex_item", props:{padding:"md"}) do %>2<% end %>
|
40
|
+
<%= pb_rails("flex/flex_item", props:{padding:"md"}) do %>3<% end %>
|
41
|
+
<%= pb_rails("flex/flex_item", props:{padding:"md"}) do %>4<% end %>
|
42
|
+
<% end %>
|
43
|
+
</div>
|
44
|
+
|
45
|
+
<br/><br/>
|
46
|
+
|
47
|
+
<%= pb_rails("title", props: {size: 4, text: "Column"}) %>
|
48
|
+
<br/>
|
49
|
+
<div class="flex-doc-example">
|
50
|
+
<%= pb_rails("flex", props: {orientation: "column"}) do %>
|
51
|
+
<%= pb_rails("flex/flex_item", props: {padding:"sm", align_self:"start"}) do %>1<% end %>
|
52
|
+
<%= pb_rails("flex/flex_item", props:{padding:"sm"}) do %>2<% end %>
|
53
|
+
<%= pb_rails("flex/flex_item", props:{padding:"sm"}) do %>3<% end %>
|
54
|
+
<%= pb_rails("flex/flex_item", props:{padding:"sm"}) do %>4<% end %>
|
55
|
+
<% end %>
|
56
|
+
</div>
|
57
|
+
|
58
|
+
<br/><br/>
|
59
|
+
|
60
|
+
<div class="flex-doc-example">
|
61
|
+
<%= pb_rails("flex", props: {orientation: "column"}) do %>
|
62
|
+
<%= pb_rails("flex/flex_item", props:{padding:"sm", align_self: "end"}) do %>1<% end %>
|
63
|
+
<%= pb_rails("flex/flex_item", props:{padding:"sm"}) do %>2<% end %>
|
64
|
+
<%= pb_rails("flex/flex_item", props:{padding:"sm"}) do %>3<% end %>
|
65
|
+
<%= pb_rails("flex/flex_item", props:{padding:"sm"}) do %>4<% end %>
|
66
|
+
<% end %>
|
67
|
+
</div>
|
68
|
+
|
69
|
+
<br/><br/>
|
70
|
+
|
71
|
+
<div class="flex-doc-example">
|
72
|
+
<%= pb_rails("flex", props: {orientation: "column"}) do %>
|
73
|
+
<%= pb_rails("flex/flex_item", props:{padding:"sm", align_self:"center"}) do %>1<% end %>
|
74
|
+
<%= pb_rails("flex/flex_item", props:{padding:"sm"}) do %>2<% end %>
|
75
|
+
<%= pb_rails("flex/flex_item", props:{padding:"sm"}) do %>3<% end %>
|
76
|
+
<%= pb_rails("flex/flex_item", props:{padding:"sm"}) do %>4<% end %>
|
77
|
+
<% end %>
|
78
|
+
</div>
|
79
|
+
|
80
|
+
<br/><br/>
|
81
|
+
|
82
|
+
<div class="flex-doc-example">
|
83
|
+
<%= pb_rails("flex", props: {orientation: "column"}) do %>
|
84
|
+
<%= pb_rails("flex/flex_item", props:{padding: "sm", align_self:"stretch"}) do %>1<% end %>
|
85
|
+
<%= pb_rails("flex/flex_item", props:{padding:"sm"}) do %>2<% end %>
|
86
|
+
<%= pb_rails("flex/flex_item", props:{padding:"sm"}) do %>3<% end %>
|
87
|
+
<%= pb_rails("flex/flex_item", props:{padding:"sm"}) do %>4<% end %>
|
88
|
+
<% end %>
|
89
|
+
</div>
|
@@ -0,0 +1,210 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Flex, FlexItem, Title } from '../..'
|
3
|
+
|
4
|
+
const FlexItemAlignSelf = (props) => {
|
5
|
+
return (
|
6
|
+
<>
|
7
|
+
<Title
|
8
|
+
size={4}
|
9
|
+
text="Row"
|
10
|
+
{...props}
|
11
|
+
/>
|
12
|
+
|
13
|
+
<br />
|
14
|
+
|
15
|
+
<div className="flex-doc-example ">
|
16
|
+
<Flex
|
17
|
+
{...props}
|
18
|
+
>
|
19
|
+
<FlexItem alignSelf="start">
|
20
|
+
{'1'}
|
21
|
+
</FlexItem>
|
22
|
+
<FlexItem padding="md">
|
23
|
+
{'2'}
|
24
|
+
</FlexItem>
|
25
|
+
<FlexItem padding="md">
|
26
|
+
{'3'}
|
27
|
+
</FlexItem>
|
28
|
+
<FlexItem padding="md">
|
29
|
+
{'4'}
|
30
|
+
</FlexItem>
|
31
|
+
</Flex>
|
32
|
+
</div>
|
33
|
+
|
34
|
+
<br />
|
35
|
+
|
36
|
+
<div className="flex-doc-example ">
|
37
|
+
<Flex
|
38
|
+
{...props}
|
39
|
+
>
|
40
|
+
<FlexItem alignSelf="end">
|
41
|
+
{'1'}
|
42
|
+
</FlexItem>
|
43
|
+
<FlexItem padding="md">
|
44
|
+
{'2'}
|
45
|
+
</FlexItem>
|
46
|
+
<FlexItem padding="md">
|
47
|
+
{'3'}
|
48
|
+
</FlexItem>
|
49
|
+
<FlexItem padding="md">
|
50
|
+
{'4'}
|
51
|
+
</FlexItem>
|
52
|
+
</Flex>
|
53
|
+
</div>
|
54
|
+
|
55
|
+
<br />
|
56
|
+
|
57
|
+
<div className="flex-doc-example ">
|
58
|
+
<Flex
|
59
|
+
{...props}
|
60
|
+
>
|
61
|
+
<FlexItem alignSelf="center">
|
62
|
+
{'1'}
|
63
|
+
</FlexItem>
|
64
|
+
<FlexItem padding="md">
|
65
|
+
{'2'}
|
66
|
+
</FlexItem>
|
67
|
+
<FlexItem padding="md">
|
68
|
+
{'3'}
|
69
|
+
</FlexItem>
|
70
|
+
<FlexItem padding="md">
|
71
|
+
{'4'}
|
72
|
+
</FlexItem>
|
73
|
+
</Flex>
|
74
|
+
</div>
|
75
|
+
|
76
|
+
<br />
|
77
|
+
|
78
|
+
<div className="flex-doc-example ">
|
79
|
+
<Flex
|
80
|
+
{...props}
|
81
|
+
>
|
82
|
+
<FlexItem alignSelf="stretch">
|
83
|
+
{'1'}
|
84
|
+
</FlexItem>
|
85
|
+
<FlexItem padding="md">
|
86
|
+
{'2'}
|
87
|
+
</FlexItem>
|
88
|
+
<FlexItem padding="md">
|
89
|
+
{'3'}
|
90
|
+
</FlexItem>
|
91
|
+
<FlexItem padding="md">
|
92
|
+
{'4'}
|
93
|
+
</FlexItem>
|
94
|
+
</Flex>
|
95
|
+
</div>
|
96
|
+
|
97
|
+
<br />
|
98
|
+
<br />
|
99
|
+
|
100
|
+
<Title
|
101
|
+
size={4}
|
102
|
+
text="Column"
|
103
|
+
{...props}
|
104
|
+
/>
|
105
|
+
|
106
|
+
<br />
|
107
|
+
|
108
|
+
<div className="flex-doc-example ">
|
109
|
+
<Flex
|
110
|
+
orientation="column"
|
111
|
+
{...props}
|
112
|
+
>
|
113
|
+
<FlexItem
|
114
|
+
alignSelf="start"
|
115
|
+
padding="sm"
|
116
|
+
>
|
117
|
+
{'1'}
|
118
|
+
</FlexItem>
|
119
|
+
<FlexItem padding="sm">
|
120
|
+
{'2'}
|
121
|
+
</FlexItem>
|
122
|
+
<FlexItem padding="sm">
|
123
|
+
{'3'}
|
124
|
+
</FlexItem>
|
125
|
+
<FlexItem padding="sm">
|
126
|
+
{'4'}
|
127
|
+
</FlexItem>
|
128
|
+
</Flex>
|
129
|
+
</div>
|
130
|
+
|
131
|
+
<br />
|
132
|
+
|
133
|
+
<div className="flex-doc-example ">
|
134
|
+
<Flex
|
135
|
+
orientation="column"
|
136
|
+
{...props}
|
137
|
+
>
|
138
|
+
<FlexItem
|
139
|
+
alignSelf="end"
|
140
|
+
padding="sm"
|
141
|
+
>
|
142
|
+
{'1'}
|
143
|
+
</FlexItem>
|
144
|
+
<FlexItem padding="sm">
|
145
|
+
{'2'}
|
146
|
+
</FlexItem>
|
147
|
+
<FlexItem padding="sm">
|
148
|
+
{'3'}
|
149
|
+
</FlexItem>
|
150
|
+
<FlexItem padding="sm">
|
151
|
+
{'4'}
|
152
|
+
</FlexItem>
|
153
|
+
</Flex>
|
154
|
+
</div>
|
155
|
+
|
156
|
+
<br />
|
157
|
+
|
158
|
+
<div className="flex-doc-example ">
|
159
|
+
<Flex
|
160
|
+
orientation="column"
|
161
|
+
{...props}
|
162
|
+
>
|
163
|
+
<FlexItem
|
164
|
+
alignSelf="center"
|
165
|
+
padding="sm"
|
166
|
+
>
|
167
|
+
{'1'}
|
168
|
+
</FlexItem>
|
169
|
+
<FlexItem padding="sm">
|
170
|
+
{'2'}
|
171
|
+
</FlexItem>
|
172
|
+
<FlexItem padding="sm">
|
173
|
+
{'3'}
|
174
|
+
</FlexItem>
|
175
|
+
<FlexItem padding="sm">
|
176
|
+
{'4'}
|
177
|
+
</FlexItem>
|
178
|
+
</Flex>
|
179
|
+
</div>
|
180
|
+
|
181
|
+
<br />
|
182
|
+
|
183
|
+
<div className="flex-doc-example ">
|
184
|
+
<Flex
|
185
|
+
orientation="column"
|
186
|
+
{...props}
|
187
|
+
>
|
188
|
+
<FlexItem
|
189
|
+
alignSelf="stretch"
|
190
|
+
padding="sm"
|
191
|
+
>
|
192
|
+
{'1'}
|
193
|
+
</FlexItem>
|
194
|
+
<FlexItem padding="sm">
|
195
|
+
{'2'}
|
196
|
+
</FlexItem>
|
197
|
+
<FlexItem padding="sm">
|
198
|
+
{'3'}
|
199
|
+
</FlexItem>
|
200
|
+
<FlexItem padding="sm">
|
201
|
+
{'4'}
|
202
|
+
</FlexItem>
|
203
|
+
</Flex>
|
204
|
+
</div>
|
205
|
+
|
206
|
+
</>
|
207
|
+
)
|
208
|
+
}
|
209
|
+
|
210
|
+
export default FlexItemAlignSelf
|
@@ -4,6 +4,33 @@ import { Flex, FlexItem, Title } from '../..'
|
|
4
4
|
const FlexItemExample = (props) => {
|
5
5
|
return (
|
6
6
|
<>
|
7
|
+
<Title
|
8
|
+
size={4}
|
9
|
+
text="Display Flex"
|
10
|
+
/>
|
11
|
+
<br />
|
12
|
+
<div className="flex-doc-example">
|
13
|
+
<FlexItem
|
14
|
+
displayFlex
|
15
|
+
gap="xs"
|
16
|
+
{...props}
|
17
|
+
>
|
18
|
+
<FlexItem>
|
19
|
+
{'We'}
|
20
|
+
</FlexItem>
|
21
|
+
<FlexItem>
|
22
|
+
{'Are'}
|
23
|
+
</FlexItem>
|
24
|
+
<FlexItem>
|
25
|
+
{'Being'}
|
26
|
+
</FlexItem>
|
27
|
+
<FlexItem>
|
28
|
+
{'Flexed'}
|
29
|
+
</FlexItem>
|
30
|
+
</FlexItem>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
<br />
|
7
34
|
<Title
|
8
35
|
size={4}
|
9
36
|
text="Grow"
|
@@ -1,5 +1,6 @@
|
|
1
1
|
##### Props
|
2
2
|
|
3
|
+
* `display_flex` | **Type**: Boolean
|
3
4
|
* `flex` | **Type**: String | **Values**: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
|
4
5
|
* `fixed_size` | **Type**: String | **Values**: Any CSS px or % value
|
5
6
|
* `grow` | **Type**: Boolean
|
@@ -10,3 +11,4 @@
|
|
10
11
|
- Setting Flex to 1 is equal to setting the grow & shrink prop to true
|
11
12
|
- Setting Flex to 0 is equal to setting the grow & shrink prop to false
|
12
13
|
- If grow & shrink are true, grow will take precedence an the flex item will take up as much space as possible, then if other elements are added shrink would allow other items to squish inside the flex container
|
14
|
+
- display_flex will either be true or false. If true, then the class will be applied to the kit
|
@@ -10,6 +10,7 @@ examples:
|
|
10
10
|
- flex_align: Align
|
11
11
|
- flex_gap: Gap
|
12
12
|
- flex_item: Flex Item
|
13
|
+
- flex_item_align_self: Flex Item - Align Self
|
13
14
|
|
14
15
|
|
15
16
|
|
@@ -24,3 +25,4 @@ examples:
|
|
24
25
|
- flex_align: Align
|
25
26
|
- flex_gap: Gap
|
26
27
|
- flex_item_example: Flex Item
|
28
|
+
- flex_item_align_self: Flex Item - Align Self
|
@@ -7,3 +7,4 @@ export { default as FlexJustify } from './_flex_justify.jsx'
|
|
7
7
|
export { default as FlexAlign } from './_flex_align.jsx'
|
8
8
|
export { default as FlexGap } from './_flex_gap.jsx'
|
9
9
|
export { default as FlexItemExample } from './_flex_item_example.jsx'
|
10
|
+
export { default as FlexItemAlignSelf } from './_flex_item_align_self.jsx'
|
@@ -48,6 +48,10 @@ module Playbook
|
|
48
48
|
values: %w[start center end stretch baseline none],
|
49
49
|
default: "none"
|
50
50
|
|
51
|
+
prop :align_self, type: Playbook::Props::Enum,
|
52
|
+
values: %w[start end center stretch none],
|
53
|
+
default: "none"
|
54
|
+
|
51
55
|
prop :wrap, type: Playbook::Props::Boolean,
|
52
56
|
default: false
|
53
57
|
|
@@ -62,7 +66,8 @@ module Playbook
|
|
62
66
|
spacing_class,
|
63
67
|
gap_class,
|
64
68
|
row_gap_class,
|
65
|
-
column_gap_class
|
69
|
+
column_gap_class,
|
70
|
+
align_self_class)
|
66
71
|
end
|
67
72
|
|
68
73
|
private
|
@@ -115,6 +120,14 @@ module Playbook
|
|
115
120
|
end
|
116
121
|
end
|
117
122
|
|
123
|
+
def align_self_class
|
124
|
+
if align_self == "none"
|
125
|
+
nil
|
126
|
+
else
|
127
|
+
"align_self_#{align_self}"
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
118
131
|
def wrap_class
|
119
132
|
wrap ? "wrap" : nil
|
120
133
|
end
|
@@ -19,8 +19,15 @@ module Playbook
|
|
19
19
|
values: %w[1 2 3 4 5 6 7 8 9 10 11 12 first none],
|
20
20
|
default: "none"
|
21
21
|
|
22
|
+
prop :align_self, type: Playbook::Props::Enum,
|
23
|
+
values: %w[start center end stretch] + [nil],
|
24
|
+
default: nil
|
25
|
+
|
26
|
+
prop :display_flex, type: Playbook::Props::Boolean,
|
27
|
+
default: false
|
28
|
+
|
22
29
|
def classname
|
23
|
-
generate_classname("pb_flex_item_kit", fixed_size_class, grow_class, shrink_class, flex_class) + overflow_class + order_class
|
30
|
+
generate_classname("pb_flex_item_kit", fixed_size_class, grow_class, shrink_class, flex_class, display_flex_class) + overflow_class + order_class + align_self_class
|
24
31
|
end
|
25
32
|
|
26
33
|
def style_value
|
@@ -29,6 +36,14 @@ module Playbook
|
|
29
36
|
|
30
37
|
private
|
31
38
|
|
39
|
+
def align_self_class
|
40
|
+
align_self ? "align_self_#{align_self}" : ""
|
41
|
+
end
|
42
|
+
|
43
|
+
def display_flex_class
|
44
|
+
display_flex ? "display_flex" : nil
|
45
|
+
end
|
46
|
+
|
32
47
|
def fixed_size_class
|
33
48
|
fixed_size.present? ? "fixed_size" : nil
|
34
49
|
end
|
@@ -25,6 +25,7 @@ type GaugeProps = {
|
|
25
25
|
suffix: string,
|
26
26
|
title: string,
|
27
27
|
tooltipHtml: string,
|
28
|
+
colors: array,
|
28
29
|
}
|
29
30
|
|
30
31
|
const Gauge = (props: GaugeProps) => {
|
@@ -45,6 +46,7 @@ const Gauge = (props: GaugeProps) => {
|
|
45
46
|
suffix = '',
|
46
47
|
title = '',
|
47
48
|
tooltipHtml = '<span style="font-weight: bold; color:{point.color};">●</span>{point.name}: ' + '<b>{point.y}</b>',
|
49
|
+
colors = [],
|
48
50
|
} = props
|
49
51
|
|
50
52
|
const ariaProps = buildAriaProps(aria)
|
@@ -76,6 +78,7 @@ const Gauge = (props: GaugeProps) => {
|
|
76
78
|
style: style,
|
77
79
|
tooltipHtml: tooltipHtml,
|
78
80
|
type: 'gauge',
|
81
|
+
colors: colors,
|
79
82
|
})
|
80
83
|
}, [])
|
81
84
|
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Gauge } from '../../'
|
3
|
+
|
4
|
+
const data = [
|
5
|
+
{ name: 'Name', value: 67 },
|
6
|
+
]
|
7
|
+
|
8
|
+
const GaugeColors = (props) => (
|
9
|
+
<div>
|
10
|
+
<Gauge
|
11
|
+
chartData={data}
|
12
|
+
id="gauge-colors"
|
13
|
+
{...props}
|
14
|
+
colors={['data-7']}
|
15
|
+
/>
|
16
|
+
</div>
|
17
|
+
)
|
18
|
+
|
19
|
+
export default GaugeColors
|
@@ -9,6 +9,7 @@ examples:
|
|
9
9
|
- gauge_min_max: Min Max Labels
|
10
10
|
- gauge_sizing: Sizing
|
11
11
|
- gauge_height: Height
|
12
|
+
- gauge_colors: Color Overrides
|
12
13
|
|
13
14
|
|
14
15
|
react:
|
@@ -21,3 +22,4 @@ examples:
|
|
21
22
|
- gauge_sizing: Sizing
|
22
23
|
- gauge_height: Height
|
23
24
|
- gauge_live_data: Live Data
|
25
|
+
- gauge_colors: Color Overrides
|
@@ -7,3 +7,4 @@ export { default as GaugeSizing } from './_gauge_sizing.jsx'
|
|
7
7
|
export { default as GaugeTitle } from './_gauge_title.jsx'
|
8
8
|
export { default as GaugeUnits } from './_gauge_units.jsx'
|
9
9
|
export { default as GaugeLiveData } from './_gauge_live_data.jsx'
|
10
|
+
export { default as GaugeColors } from './_gauge_colors.jsx'
|
@@ -20,6 +20,7 @@ module Playbook
|
|
20
20
|
prop :disable_animation, type: Playbook::Props::Boolean, default: false
|
21
21
|
prop :min, type: Playbook::Props::Numeric, default: 0
|
22
22
|
prop :max, type: Playbook::Props::Numeric, default: 100
|
23
|
+
prop :colors, type: Playbook::Props::Array, default: []
|
23
24
|
|
24
25
|
def chart_data_formatted
|
25
26
|
chart_data.map { |hash| hash[:y] = hash.delete :value }
|
@@ -42,6 +43,7 @@ module Playbook
|
|
42
43
|
style: style,
|
43
44
|
tooltipHtml: tooltip_html,
|
44
45
|
type: "gauge",
|
46
|
+
colors: colors,
|
45
47
|
}.to_json.html_safe
|
46
48
|
end
|
47
49
|
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
# rubocop:disable Style/StringConcatenation, Style/HashLikeCase
|
4
|
+
|
3
5
|
require "open-uri"
|
4
6
|
|
5
7
|
module Playbook
|
@@ -135,3 +137,5 @@ module Playbook
|
|
135
137
|
end
|
136
138
|
end
|
137
139
|
end
|
140
|
+
|
141
|
+
# rubocop:enable Style/StringConcatenation, Style/HashLikeCase
|