playbook_ui 10.26.0.pre.alpha.sticky1 → 10.26.0.pre.rc1
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/data/menu.yml +1 -0
- data/app/pb_kits/playbook/index.js +2 -1
- data/app/pb_kits/playbook/pb_avatar/_avatar.tsx +3 -3
- data/app/pb_kits/playbook/pb_badge/{_badge.jsx → _badge.tsx} +14 -15
- data/app/pb_kits/playbook/pb_badge/docs/_badge_colors.jsx +1 -1
- data/app/pb_kits/playbook/pb_badge/docs/_badge_default.jsx +1 -1
- data/app/pb_kits/playbook/pb_badge/docs/_badge_rounded.jsx +1 -1
- data/app/pb_kits/playbook/pb_badge/docs/index.js +3 -3
- data/app/pb_kits/playbook/pb_body/_body.tsx +8 -8
- data/app/pb_kits/playbook/pb_button/{_button.jsx → _button.tsx} +65 -46
- data/app/pb_kits/playbook/pb_button/docs/_button_options.jsx +1 -1
- data/app/pb_kits/playbook/pb_caption/{_caption.jsx → _caption.tsx} +7 -8
- data/app/pb_kits/playbook/pb_card/_card_mixin.scss +1 -0
- data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.jsx +4 -2
- data/app/pb_kits/playbook/pb_collapsible/collapsible_main.html.erb +1 -1
- data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.js +37 -0
- data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.js +37 -0
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +2 -2
- data/app/pb_kits/playbook/pb_icon/{_icon.jsx → _icon.tsx} +40 -30
- data/app/pb_kits/playbook/pb_image/_image.tsx +1 -1
- data/app/pb_kits/playbook/pb_pill/{_pill.jsx → _pill.tsx} +6 -8
- data/app/pb_kits/playbook/pb_pill/docs/_pill_default.jsx +1 -1
- data/app/pb_kits/playbook/pb_pill/docs/_pill_variants.jsx +1 -1
- data/app/pb_kits/playbook/pb_title/{_title.jsx → _title.tsx} +10 -12
- data/app/pb_kits/playbook/pb_title/title.test.js +2 -2
- data/app/pb_kits/playbook/pb_treemap_chart/_treemap_chart.jsx +79 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_description.md +5 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_colors.html.erb +37 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_colors.jsx +48 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_colors.md +2 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_default.html.erb +37 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_default.jsx +47 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_default.md +3 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_drillable.html.erb +79 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_drillable.jsx +90 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_drillable.md +1 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_grouped_data.html.erb +54 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_grouped_data.jsx +65 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_grouped_data.md +3 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_tooltip.html.erb +37 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_tooltip.jsx +48 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_tooltip.md +3 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/example.yml +15 -0
- data/app/pb_kits/playbook/pb_treemap_chart/docs/index.js +5 -0
- data/app/pb_kits/playbook/pb_treemap_chart/treemap_chart.html.erb +1 -0
- data/app/pb_kits/playbook/pb_treemap_chart/treemap_chart.rb +43 -0
- data/app/pb_kits/playbook/playbook-doc.js +2 -0
- data/app/pb_kits/playbook/playbook-rails-react-bindings.js +2 -0
- data/app/pb_kits/playbook/plugins/pb_chart.js +34 -0
- data/app/pb_kits/playbook/tokens/_display.scss +13 -0
- data/app/pb_kits/playbook/tokens/_screen_sizes.scss +36 -0
- data/app/pb_kits/playbook/utilities/_display.scss +26 -2
- data/app/pb_kits/playbook/utilities/globalProps.ts +31 -16
- data/lib/playbook/display.rb +21 -7
- data/lib/playbook/version.rb +2 -2
- metadata +30 -8
@@ -0,0 +1,37 @@
|
|
1
|
+
<% data = [
|
2
|
+
{
|
3
|
+
name: "Pepperoni",
|
4
|
+
parent: "Toppings",
|
5
|
+
value: 600,
|
6
|
+
}, {
|
7
|
+
name: "Cheese",
|
8
|
+
parent: "Toppings",
|
9
|
+
value: 510,
|
10
|
+
}, {
|
11
|
+
name: "Mushroom",
|
12
|
+
parent: "Toppings",
|
13
|
+
value: 330,
|
14
|
+
},{
|
15
|
+
name: "Onions",
|
16
|
+
parent: "Toppings",
|
17
|
+
value: 250,
|
18
|
+
}, {
|
19
|
+
name: "Olives",
|
20
|
+
parent: "Toppings",
|
21
|
+
value: 204,
|
22
|
+
}, {
|
23
|
+
name: "Pineapple",
|
24
|
+
parent: "Toppings",
|
25
|
+
value: 90,
|
26
|
+
}, {
|
27
|
+
name: "Pizza Toppings",
|
28
|
+
id: "Toppings",
|
29
|
+
},
|
30
|
+
] %>
|
31
|
+
|
32
|
+
<%= pb_rails("treemap_chart", props: {
|
33
|
+
chart_data: data,
|
34
|
+
id: "treemap-tooltip",
|
35
|
+
title: "Favored Pizza Toppings",
|
36
|
+
tooltip_html: "<p>Custom tooltip for {point.name} <br/>with value: {point.value}</p>",
|
37
|
+
}) %>
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
|
3
|
+
import TreemapChart from '../_treemap_chart'
|
4
|
+
|
5
|
+
const chartData = [
|
6
|
+
{
|
7
|
+
name: "Pepperoni",
|
8
|
+
parent: "Toppings",
|
9
|
+
value: 600,
|
10
|
+
}, {
|
11
|
+
name: "Cheese",
|
12
|
+
parent: "Toppings",
|
13
|
+
value: 510,
|
14
|
+
}, {
|
15
|
+
name: "Mushroom",
|
16
|
+
parent: "Toppings",
|
17
|
+
value: 330,
|
18
|
+
},{
|
19
|
+
name: "Onions",
|
20
|
+
parent: "Toppings",
|
21
|
+
value: 250,
|
22
|
+
}, {
|
23
|
+
name: "Olives",
|
24
|
+
parent: "Toppings",
|
25
|
+
value: 204,
|
26
|
+
}, {
|
27
|
+
name: "Pineapple",
|
28
|
+
parent: "Toppings",
|
29
|
+
value: 90,
|
30
|
+
}, {
|
31
|
+
name: "Pizza Toppings",
|
32
|
+
id: "Toppings",
|
33
|
+
},
|
34
|
+
]
|
35
|
+
|
36
|
+
const TreemapChartTooltip = (props) => (
|
37
|
+
<div>
|
38
|
+
<TreemapChart
|
39
|
+
chartData={chartData}
|
40
|
+
id="treemap-tooltip"
|
41
|
+
title="Favored Pizza Toppings"
|
42
|
+
tooltipHtml={"<p>Custom tooltip for {point.name} <br/>with value: {point.value}</p>"}
|
43
|
+
{...props}
|
44
|
+
/>
|
45
|
+
</div>
|
46
|
+
)
|
47
|
+
|
48
|
+
export default TreemapChartTooltip
|
@@ -0,0 +1,15 @@
|
|
1
|
+
examples:
|
2
|
+
|
3
|
+
rails:
|
4
|
+
- treemap_chart_default: Default
|
5
|
+
- treemap_chart_grouped_data: Grouped Data
|
6
|
+
- treemap_chart_drillable: Drillable
|
7
|
+
- treemap_chart_colors: Color Overrides
|
8
|
+
- treemap_chart_tooltip: Tooltip Customization
|
9
|
+
|
10
|
+
react:
|
11
|
+
- treemap_chart_default: Default
|
12
|
+
- treemap_chart_grouped_data: Grouped Data
|
13
|
+
- treemap_chart_drillable: Drillable
|
14
|
+
- treemap_chart_colors: Color Overrides
|
15
|
+
- treemap_chart_tooltip: Tooltip Customization
|
@@ -0,0 +1,5 @@
|
|
1
|
+
export { default as TreemapChartDefault } from './_treemap_chart_default.jsx'
|
2
|
+
export { default as TreemapChartGroupedData } from './_treemap_chart_grouped_data.jsx'
|
3
|
+
export { default as TreemapChartDrillable } from './_treemap_chart_drillable.jsx'
|
4
|
+
export { default as TreemapChartColors } from './_treemap_chart_colors.jsx'
|
5
|
+
export { default as TreemapChartTooltip } from './_treemap_chart_tooltip.jsx'
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= react_component('TreemapChart', object.chart_options) %>
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Playbook
|
4
|
+
module PbTreemapChart
|
5
|
+
class TreemapChart < Playbook::KitBase
|
6
|
+
prop :chart_data, type: Playbook::Props::Array,
|
7
|
+
default: []
|
8
|
+
prop :colors, type: Playbook::Props::Array,
|
9
|
+
default: []
|
10
|
+
prop :drillable, type: Playbook::Props::Boolean, default: false
|
11
|
+
prop :grouped, type: Playbook::Props::Boolean, default: false
|
12
|
+
prop :height
|
13
|
+
prop :title, default: ""
|
14
|
+
prop :tooltip_html, default: '<span style="font-weight: bold; color:{point.color};">● </span>
|
15
|
+
{point.name}: ' + '<b>{point.value}
|
16
|
+
</b>'
|
17
|
+
|
18
|
+
def chart_type
|
19
|
+
"treemap"
|
20
|
+
end
|
21
|
+
|
22
|
+
def chart_options
|
23
|
+
{
|
24
|
+
chartData: chart_data,
|
25
|
+
className: classname,
|
26
|
+
colors: colors,
|
27
|
+
dark: dark ? "dark" : "",
|
28
|
+
drillable: drillable,
|
29
|
+
grouped: grouped,
|
30
|
+
height: height,
|
31
|
+
id: id,
|
32
|
+
title: title,
|
33
|
+
tooltipHtml: tooltip_html,
|
34
|
+
type: chart_type,
|
35
|
+
}
|
36
|
+
end
|
37
|
+
|
38
|
+
def classname
|
39
|
+
generate_classname("pb_treemap_chart")
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -91,6 +91,7 @@ import * as Title from 'pb_title/docs'
|
|
91
91
|
import * as TitleCount from 'pb_title_count/docs'
|
92
92
|
import * as TitleDetail from 'pb_title_detail/docs'
|
93
93
|
import * as Toggle from 'pb_toggle/docs'
|
94
|
+
import * as TreemapChart from 'pb_treemap_chart/docs'
|
94
95
|
import * as Typeahead from 'pb_typeahead/docs'
|
95
96
|
import * as User from 'pb_user/docs'
|
96
97
|
import * as UserBadge from 'pb_user_badge/docs'
|
@@ -185,6 +186,7 @@ WebpackerReact.setup({
|
|
185
186
|
...TitleCount,
|
186
187
|
...TitleDetail,
|
187
188
|
...Toggle,
|
189
|
+
...TreemapChart,
|
188
190
|
...Typeahead,
|
189
191
|
...User,
|
190
192
|
...UserBadge,
|
@@ -13,6 +13,7 @@ import Legend from './pb_legend/_legend'
|
|
13
13
|
import LineGraph from './pb_line_graph/_line_graph'
|
14
14
|
import Passphrase from './pb_passphrase/_passphrase'
|
15
15
|
import RichTextEditor from './pb_rich_text_editor/_rich_text_editor'
|
16
|
+
import TreemapChart from './pb_treemap_chart/_treemap_chart'
|
16
17
|
import Typeahead from './pb_typeahead/_typeahead'
|
17
18
|
|
18
19
|
WebpackerReact.registerComponents({
|
@@ -26,6 +27,7 @@ WebpackerReact.registerComponents({
|
|
26
27
|
LineGraph,
|
27
28
|
Passphrase,
|
28
29
|
RichTextEditor,
|
30
|
+
TreemapChart,
|
29
31
|
Typeahead,
|
30
32
|
})
|
31
33
|
|
@@ -7,6 +7,7 @@ import colors from '../tokens/exports/_colors.scss'
|
|
7
7
|
import pie from 'highcharts/modules/variable-pie'
|
8
8
|
import highchartsMore from 'highcharts/highcharts-more'
|
9
9
|
import solidGauge from 'highcharts/modules/solid-gauge'
|
10
|
+
import treemap from 'highcharts/modules/treemap'
|
10
11
|
|
11
12
|
pie(Highcharts)
|
12
13
|
|
@@ -63,6 +64,8 @@ class pbChart {
|
|
63
64
|
this.setupPieChart(options)
|
64
65
|
} else if (this.options.type == 'gauge') {
|
65
66
|
this.setupGauge(options)
|
67
|
+
} else if (this.options.type == 'treemap') {
|
68
|
+
this.setupTreemap(options)
|
66
69
|
} else {
|
67
70
|
this.setupChart(options)
|
68
71
|
}
|
@@ -191,6 +194,37 @@ class pbChart {
|
|
191
194
|
})
|
192
195
|
}
|
193
196
|
|
197
|
+
setupTreemap(options) {
|
198
|
+
treemap(Highcharts)
|
199
|
+
this.setupTheme()
|
200
|
+
options.dark ? Highcharts.setOptions(highchartsDarkTheme) : Highcharts.setOptions(highchartsTheme)
|
201
|
+
|
202
|
+
Highcharts.chart(this.defaults.id, {
|
203
|
+
title: {
|
204
|
+
text: this.defaults.title,
|
205
|
+
},
|
206
|
+
chart: {
|
207
|
+
height: this.defaults.height,
|
208
|
+
type: this.defaults.type,
|
209
|
+
},
|
210
|
+
credits: false,
|
211
|
+
series: [{
|
212
|
+
data: this.defaults.chartData,
|
213
|
+
}],
|
214
|
+
plotOptions: {
|
215
|
+
treemap: {
|
216
|
+
allowTraversingTree: this.defaults.drillable,
|
217
|
+
colorByPoint: !this.defaults.grouped,
|
218
|
+
colors: options.colors !== undefined && options.colors.length > 0 ? mapColors(options.colors) : highchartsTheme.colors,
|
219
|
+
},
|
220
|
+
},
|
221
|
+
tooltip: {
|
222
|
+
pointFormat: this.defaults.tooltipHtml,
|
223
|
+
useHTML: true,
|
224
|
+
},
|
225
|
+
})
|
226
|
+
}
|
227
|
+
|
194
228
|
setupChart(options) {
|
195
229
|
this.setupTheme()
|
196
230
|
const configOptions = {
|
@@ -0,0 +1,13 @@
|
|
1
|
+
$display_inline: inline;
|
2
|
+
$display_block: block;
|
3
|
+
$display_inline_block: inline-block;
|
4
|
+
$display_flex: flex;
|
5
|
+
$display_none: none;
|
6
|
+
$display_inline_flex: inline-flex;
|
7
|
+
$displays: (
|
8
|
+
display_none: $display_none,
|
9
|
+
display_flex: $display_flex,
|
10
|
+
display_inline: $display_inline,
|
11
|
+
display_inline_block: $display_inline_block,
|
12
|
+
display_block: $display_block
|
13
|
+
);
|
@@ -17,6 +17,26 @@ $breakpoints: (
|
|
17
17
|
xl: $screen-xl-min
|
18
18
|
);
|
19
19
|
|
20
|
+
$breakpoints_grid: (
|
21
|
+
xs: (
|
22
|
+
max: $screen-xs-min
|
23
|
+
),
|
24
|
+
sm: (
|
25
|
+
min: $screen-sm-min,
|
26
|
+
max: $screen-md-max
|
27
|
+
),
|
28
|
+
md: (
|
29
|
+
min: $screen-md-min,
|
30
|
+
max: $screen-lg-max
|
31
|
+
),
|
32
|
+
lg: (
|
33
|
+
min: $screen-lg-min,
|
34
|
+
max: $screen-xl-max
|
35
|
+
),
|
36
|
+
xl: (
|
37
|
+
min: $screen-xl-min,
|
38
|
+
)
|
39
|
+
);
|
20
40
|
|
21
41
|
@function breakpoint($breakpoint_name) {
|
22
42
|
@return map-get($breakpoints, $breakpoint_name);
|
@@ -28,3 +48,19 @@ $breakpoints: (
|
|
28
48
|
@content;
|
29
49
|
}
|
30
50
|
}
|
51
|
+
|
52
|
+
@mixin break_on($min: null, $max: null) {
|
53
|
+
@if not $max {
|
54
|
+
@media screen and (min-width: $min) {
|
55
|
+
@content;
|
56
|
+
}
|
57
|
+
} @else if not $min {
|
58
|
+
@media screen and (max-width: $max) {
|
59
|
+
@content;
|
60
|
+
}
|
61
|
+
} @else {
|
62
|
+
@media screen and (min-width: $min) and (max-width: $max) {
|
63
|
+
@content;
|
64
|
+
}
|
65
|
+
}
|
66
|
+
}
|
@@ -1,3 +1,5 @@
|
|
1
|
+
@import "../tokens/display";
|
2
|
+
|
1
3
|
.display_block {
|
2
4
|
display: block;
|
3
5
|
}
|
@@ -18,6 +20,28 @@
|
|
18
20
|
display: inline-flex;
|
19
21
|
}
|
20
22
|
|
21
|
-
.
|
23
|
+
.display_none {
|
22
24
|
display: none;
|
23
|
-
}
|
25
|
+
}
|
26
|
+
|
27
|
+
$display_values: (
|
28
|
+
none: $display_none,
|
29
|
+
flex: $display_flex,
|
30
|
+
inline: $display_inline,
|
31
|
+
inline_block: $display_inline_block,
|
32
|
+
inline_flex: $display_inline_flex,
|
33
|
+
block: $display_block
|
34
|
+
);
|
35
|
+
|
36
|
+
// using a grid here
|
37
|
+
@each $size, $size_value in $breakpoints_grid {
|
38
|
+
@each $display, $display_value in $display_values {
|
39
|
+
$min_size: map-get($size_value, "min");
|
40
|
+
$max_size: map-get($size_value, "max");
|
41
|
+
.display_#{$size}_#{$display} {
|
42
|
+
@include break_on($min_size, $max_size) {
|
43
|
+
display: #{$display_value} !important;
|
44
|
+
}
|
45
|
+
}
|
46
|
+
}
|
47
|
+
}
|
@@ -1,7 +1,12 @@
|
|
1
1
|
import { omit } from 'lodash'
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
import {
|
4
|
+
Binary,
|
5
|
+
Display,
|
6
|
+
DisplaySizes,
|
7
|
+
None,
|
8
|
+
Sizes,
|
9
|
+
} from '../types'
|
5
10
|
|
6
11
|
type AllSizes = None & Sizes
|
7
12
|
|
@@ -42,27 +47,23 @@ type ZIndex = {
|
|
42
47
|
}
|
43
48
|
|
44
49
|
type Shadow = {
|
45
|
-
shadow?:
|
50
|
+
shadow?: None | "deep" | "deeper" | "deepest",
|
46
51
|
}
|
47
52
|
|
48
53
|
type LineHeight = {
|
49
54
|
lineHeight?: "loosest" | "looser" | "loose" | "normal" | "tight" | "tighter" | "tightest",
|
50
55
|
}
|
51
56
|
|
52
|
-
type Display = {
|
53
|
-
display?: "block" | "flex" | "hidden" | "inline_block" | "inline" | "inline_flex",
|
54
|
-
}
|
55
|
-
|
56
57
|
type Cursor = {
|
57
58
|
cursor?: "pointer",
|
58
59
|
}
|
59
60
|
|
60
61
|
type BorderRadius = {
|
61
|
-
borderRadius?:
|
62
|
+
borderRadius?: None | "xs" | "sm" | "md" | "lg" | "xl" | "rounded",
|
62
63
|
}
|
63
64
|
|
64
65
|
type Flex = {
|
65
|
-
flex?:
|
66
|
+
flex?: None | "initial" | "auto" | 1
|
66
67
|
}
|
67
68
|
|
68
69
|
type FlexDirection = {
|
@@ -70,11 +71,11 @@ type FlexDirection = {
|
|
70
71
|
}
|
71
72
|
|
72
73
|
type FlexGrow = {
|
73
|
-
flexGrow?:
|
74
|
+
flexGrow?: Binary
|
74
75
|
}
|
75
76
|
|
76
77
|
type FlexShrink = {
|
77
|
-
flexShrink?:
|
78
|
+
flexShrink?: Binary
|
78
79
|
}
|
79
80
|
|
80
81
|
type FlexWrap = {
|
@@ -106,11 +107,11 @@ type AlignSelf = {
|
|
106
107
|
}
|
107
108
|
|
108
109
|
type Order = {
|
109
|
-
order?:
|
110
|
+
order?: None | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
|
110
111
|
}
|
111
112
|
|
112
113
|
export type GlobalProps = AlignContent & AlignItems & AlignSelf &
|
113
|
-
BorderRadius & Cursor & Dark & Display & Flex & FlexDirection &
|
114
|
+
BorderRadius & Cursor & Dark & Display & DisplaySizes & Flex & FlexDirection &
|
114
115
|
FlexGrow & FlexShrink & FlexWrap & JustifyContent & JustifySelf &
|
115
116
|
LineHeight & Margin & MaxWidth & NumberSpacing & Order & Padding &
|
116
117
|
Shadow & ZIndex
|
@@ -180,9 +181,21 @@ const PROP_CATEGORIES: {[key:string]: (props: {[key: string]: any}) => string} =
|
|
180
181
|
css += lineHeight ? `line_height_${lineHeight} ` : ''
|
181
182
|
return css
|
182
183
|
},
|
183
|
-
displayProps: (
|
184
|
+
displayProps: (display: Display ) => {
|
184
185
|
let css = ''
|
185
|
-
|
186
|
+
Object.entries(display).forEach((displayEntry) => {
|
187
|
+
if (displayEntry[0] == "display") {
|
188
|
+
if (typeof displayEntry[1] == "string") {
|
189
|
+
css += `display_${displayEntry[1]} `
|
190
|
+
} else if (typeof displayEntry[1] == "object") {
|
191
|
+
Object.entries(displayEntry[1]).forEach((displayObj) => {
|
192
|
+
css += `display_${displayObj[0]}_${displayObj[1]} `
|
193
|
+
})
|
194
|
+
} else {
|
195
|
+
' '
|
196
|
+
}
|
197
|
+
}
|
198
|
+
})
|
186
199
|
return css
|
187
200
|
},
|
188
201
|
cursorProps: ({ cursor }: Cursor) => {
|
@@ -259,7 +272,9 @@ const PROP_CATEGORIES: {[key:string]: (props: {[key: string]: any}) => string} =
|
|
259
272
|
}
|
260
273
|
}
|
261
274
|
|
262
|
-
|
275
|
+
type DefaultProps = {[key: string]: string} | Record<string, unknown>
|
276
|
+
|
277
|
+
export const globalProps = (props: GlobalProps, defaultProps: DefaultProps = {}): string => {
|
263
278
|
const allProps = { ...props, ...defaultProps }
|
264
279
|
return Object.keys(PROP_CATEGORIES).map((key) => {
|
265
280
|
return PROP_CATEGORIES[key](allProps)
|
data/lib/playbook/display.rb
CHANGED
@@ -8,12 +8,22 @@ module Playbook
|
|
8
8
|
|
9
9
|
def display_props
|
10
10
|
selected_props = display_options.keys.select { |sk| try(sk) }
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
display_value = send(
|
15
|
-
|
16
|
-
|
11
|
+
responsive = selected_props.present? && try(:display).is_a?(::Hash)
|
12
|
+
css = ""
|
13
|
+
if responsive
|
14
|
+
display_value = send(:display)
|
15
|
+
display_value.each do |key, value|
|
16
|
+
css += "display_#{key}_#{value} " if display_size_values.include?(key.to_s) && display_values.include?(value.to_s)
|
17
|
+
end
|
18
|
+
elsif display_value.is_a?(String)
|
19
|
+
selected_props.each do |k|
|
20
|
+
display_value = send(k)
|
21
|
+
css += "display_#{display_value}" if display_values.include? display_value
|
22
|
+
end
|
23
|
+
else
|
24
|
+
""
|
25
|
+
end
|
26
|
+
css unless css.blank?
|
17
27
|
end
|
18
28
|
|
19
29
|
def display_options
|
@@ -22,8 +32,12 @@ module Playbook
|
|
22
32
|
}
|
23
33
|
end
|
24
34
|
|
35
|
+
def display_size_values
|
36
|
+
%w[xs sm md lg xl]
|
37
|
+
end
|
38
|
+
|
25
39
|
def display_values
|
26
|
-
%w[block inline_block inline flex inline_flex
|
40
|
+
%w[block inline_block inline flex inline_flex none]
|
27
41
|
end
|
28
42
|
end
|
29
43
|
end
|
data/lib/playbook/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: playbook_ui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 10.26.0.pre.
|
4
|
+
version: 10.26.0.pre.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Power UX
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-05-
|
12
|
+
date: 2022-05-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|
@@ -344,8 +344,8 @@ files:
|
|
344
344
|
- app/pb_kits/playbook/pb_background/docs/_description.md
|
345
345
|
- app/pb_kits/playbook/pb_background/docs/example.yml
|
346
346
|
- app/pb_kits/playbook/pb_background/docs/index.js
|
347
|
-
- app/pb_kits/playbook/pb_badge/_badge.jsx
|
348
347
|
- app/pb_kits/playbook/pb_badge/_badge.scss
|
348
|
+
- app/pb_kits/playbook/pb_badge/_badge.tsx
|
349
349
|
- app/pb_kits/playbook/pb_badge/badge.html.erb
|
350
350
|
- app/pb_kits/playbook/pb_badge/badge.rb
|
351
351
|
- app/pb_kits/playbook/pb_badge/docs/_badge_colors.html.erb
|
@@ -407,8 +407,8 @@ files:
|
|
407
407
|
- app/pb_kits/playbook/pb_bread_crumbs/docs/_description.md
|
408
408
|
- app/pb_kits/playbook/pb_bread_crumbs/docs/example.yml
|
409
409
|
- app/pb_kits/playbook/pb_bread_crumbs/docs/index.js
|
410
|
-
- app/pb_kits/playbook/pb_button/_button.jsx
|
411
410
|
- app/pb_kits/playbook/pb_button/_button.scss
|
411
|
+
- app/pb_kits/playbook/pb_button/_button.tsx
|
412
412
|
- app/pb_kits/playbook/pb_button/_button_mixins.scss
|
413
413
|
- app/pb_kits/playbook/pb_button/button.html.erb
|
414
414
|
- app/pb_kits/playbook/pb_button/button.rb
|
@@ -452,8 +452,8 @@ files:
|
|
452
452
|
- app/pb_kits/playbook/pb_button_toolbar/docs/_description.md
|
453
453
|
- app/pb_kits/playbook/pb_button_toolbar/docs/example.yml
|
454
454
|
- app/pb_kits/playbook/pb_button_toolbar/docs/index.js
|
455
|
-
- app/pb_kits/playbook/pb_caption/_caption.jsx
|
456
455
|
- app/pb_kits/playbook/pb_caption/_caption.scss
|
456
|
+
- app/pb_kits/playbook/pb_caption/_caption.tsx
|
457
457
|
- app/pb_kits/playbook/pb_caption/_caption_mixin.scss
|
458
458
|
- app/pb_kits/playbook/pb_caption/caption.html.erb
|
459
459
|
- app/pb_kits/playbook/pb_caption/caption.rb
|
@@ -1025,8 +1025,8 @@ files:
|
|
1025
1025
|
- app/pb_kits/playbook/pb_home_address_street/docs/index.js
|
1026
1026
|
- app/pb_kits/playbook/pb_home_address_street/home_address_street.html.erb
|
1027
1027
|
- app/pb_kits/playbook/pb_home_address_street/home_address_street.rb
|
1028
|
-
- app/pb_kits/playbook/pb_icon/_icon.jsx
|
1029
1028
|
- app/pb_kits/playbook/pb_icon/_icon.scss
|
1029
|
+
- app/pb_kits/playbook/pb_icon/_icon.tsx
|
1030
1030
|
- app/pb_kits/playbook/pb_icon/docs/_description.md
|
1031
1031
|
- app/pb_kits/playbook/pb_icon/docs/_footer.md
|
1032
1032
|
- app/pb_kits/playbook/pb_icon/docs/_icon_animate.html.erb
|
@@ -1393,8 +1393,8 @@ files:
|
|
1393
1393
|
- app/pb_kits/playbook/pb_person_contact/docs/index.js
|
1394
1394
|
- app/pb_kits/playbook/pb_person_contact/person_contact.html.erb
|
1395
1395
|
- app/pb_kits/playbook/pb_person_contact/person_contact.rb
|
1396
|
-
- app/pb_kits/playbook/pb_pill/_pill.jsx
|
1397
1396
|
- app/pb_kits/playbook/pb_pill/_pill.scss
|
1397
|
+
- app/pb_kits/playbook/pb_pill/_pill.tsx
|
1398
1398
|
- app/pb_kits/playbook/pb_pill/docs/_description.md
|
1399
1399
|
- app/pb_kits/playbook/pb_pill/docs/_pill_default.html.erb
|
1400
1400
|
- app/pb_kits/playbook/pb_pill/docs/_pill_default.jsx
|
@@ -1889,8 +1889,8 @@ files:
|
|
1889
1889
|
- app/pb_kits/playbook/pb_timestamp/docs/index.js
|
1890
1890
|
- app/pb_kits/playbook/pb_timestamp/timestamp.html.erb
|
1891
1891
|
- app/pb_kits/playbook/pb_timestamp/timestamp.rb
|
1892
|
-
- app/pb_kits/playbook/pb_title/_title.jsx
|
1893
1892
|
- app/pb_kits/playbook/pb_title/_title.scss
|
1893
|
+
- app/pb_kits/playbook/pb_title/_title.tsx
|
1894
1894
|
- app/pb_kits/playbook/pb_title/_title_mixin.scss
|
1895
1895
|
- app/pb_kits/playbook/pb_title/docs/_description.md
|
1896
1896
|
- app/pb_kits/playbook/pb_title/docs/_title_colors.html.erb
|
@@ -1955,6 +1955,27 @@ files:
|
|
1955
1955
|
- app/pb_kits/playbook/pb_tooltip/index.js
|
1956
1956
|
- app/pb_kits/playbook/pb_tooltip/tooltip.html.erb
|
1957
1957
|
- app/pb_kits/playbook/pb_tooltip/tooltip.rb
|
1958
|
+
- app/pb_kits/playbook/pb_treemap_chart/_treemap_chart.jsx
|
1959
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/_description.md
|
1960
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_colors.html.erb
|
1961
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_colors.jsx
|
1962
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_colors.md
|
1963
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_default.html.erb
|
1964
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_default.jsx
|
1965
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_default.md
|
1966
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_drillable.html.erb
|
1967
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_drillable.jsx
|
1968
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_drillable.md
|
1969
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_grouped_data.html.erb
|
1970
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_grouped_data.jsx
|
1971
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_grouped_data.md
|
1972
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_tooltip.html.erb
|
1973
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_tooltip.jsx
|
1974
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_tooltip.md
|
1975
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/example.yml
|
1976
|
+
- app/pb_kits/playbook/pb_treemap_chart/docs/index.js
|
1977
|
+
- app/pb_kits/playbook/pb_treemap_chart/treemap_chart.html.erb
|
1978
|
+
- app/pb_kits/playbook/pb_treemap_chart/treemap_chart.rb
|
1958
1979
|
- app/pb_kits/playbook/pb_typeahead/_typeahead.jsx
|
1959
1980
|
- app/pb_kits/playbook/pb_typeahead/_typeahead.scss
|
1960
1981
|
- app/pb_kits/playbook/pb_typeahead/components/ClearIndicator.jsx
|
@@ -2055,6 +2076,7 @@ files:
|
|
2055
2076
|
- app/pb_kits/playbook/tokens/_animation-curves.scss
|
2056
2077
|
- app/pb_kits/playbook/tokens/_border_radius.scss
|
2057
2078
|
- app/pb_kits/playbook/tokens/_colors.scss
|
2079
|
+
- app/pb_kits/playbook/tokens/_display.scss
|
2058
2080
|
- app/pb_kits/playbook/tokens/_line_height.scss
|
2059
2081
|
- app/pb_kits/playbook/tokens/_opacity.scss
|
2060
2082
|
- app/pb_kits/playbook/tokens/_positioning.scss
|