playbook_ui 6.0.1 → 6.1.0
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 -1
- data/app/pb_kits/playbook/data/menu.yml +4 -2
- data/app/pb_kits/playbook/index.js +2 -0
- data/app/pb_kits/playbook/packs/examples.js +5 -0
- data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +2 -2
- data/app/pb_kits/playbook/pb_badge/_badge.jsx +2 -5
- data/app/pb_kits/playbook/pb_badge/_badge.scss +1 -1
- data/app/pb_kits/playbook/pb_badge/badge.rb +1 -6
- data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +2 -2
- data/app/pb_kits/playbook/pb_body/_body.jsx +3 -6
- data/app/pb_kits/playbook/pb_body/_body.scss +6 -0
- data/app/pb_kits/playbook/pb_body/body.rb +2 -8
- data/app/pb_kits/playbook/pb_button/_button.jsx +2 -5
- data/app/pb_kits/playbook/pb_button/_button.scss +1 -1
- data/app/pb_kits/playbook/pb_button/button.rb +1 -7
- data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +2 -0
- data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.html.erb +7 -0
- data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.jsx +52 -0
- data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +101 -0
- data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.rb +29 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.html.erb +7 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.jsx +29 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.html.erb +7 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.jsx +34 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical.html.erb +11 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical.jsx +29 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical_secondary.html.erb +11 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical_secondary.jsx +34 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_description.md +1 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/example.yml +15 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/index.js +4 -0
- data/app/pb_kits/playbook/pb_caption/_caption.jsx +3 -7
- data/app/pb_kits/playbook/pb_caption/_caption.scss +0 -4
- data/app/pb_kits/playbook/pb_caption/caption.rb +1 -8
- data/app/pb_kits/playbook/pb_card/_card.jsx +17 -14
- data/app/pb_kits/playbook/pb_card/_card.scss +4 -1
- data/app/pb_kits/playbook/pb_card/card.rb +2 -9
- data/app/pb_kits/playbook/pb_card/docs/_card_dark.html.erb +1 -1
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +2 -2
- data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +1 -8
- data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.jsx +2 -2
- data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.rb +0 -2
- data/app/pb_kits/playbook/pb_contact/_contact.jsx +2 -2
- data/app/pb_kits/playbook/pb_currency/_currency.jsx +2 -2
- data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.js +26 -0
- data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.jsx +2 -2
- data/app/pb_kits/playbook/pb_date/_date.jsx +4 -4
- data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.jsx +2 -2
- data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.jsx +2 -2
- data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.jsx +2 -2
- data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.jsx +2 -2
- data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.jsx +2 -2
- data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.jsx +2 -2
- data/app/pb_kits/playbook/pb_file_upload/_file_upload.jsx +2 -2
- data/app/pb_kits/playbook/pb_filter/Filter/FilterBackground.jsx +2 -2
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx +2 -2
- data/app/pb_kits/playbook/pb_flex/_flex.jsx +2 -2
- data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +2 -2
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +2 -2
- data/app/pb_kits/playbook/pb_gauge/_gauge.html.erb +12 -0
- data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +110 -0
- data/app/pb_kits/playbook/pb_gauge/_gauge.scss +11 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.html.erb +11 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +17 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.html.erb +12 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +18 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.html.erb +14 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +20 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.html.erb +15 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +23 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +40 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.html.erb +15 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +21 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.md +1 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.html.erb +26 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +37 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.md +1 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.html.erb +14 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +20 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.html.erb +29 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +29 -0
- data/app/pb_kits/playbook/pb_gauge/docs/example.yml +24 -0
- data/app/pb_kits/playbook/pb_gauge/docs/index.js +9 -0
- data/app/pb_kits/playbook/pb_gauge/gauge.rb +57 -0
- data/app/pb_kits/playbook/pb_hashtag/_hashtag.jsx +2 -2
- data/app/pb_kits/playbook/pb_highlight/_highlight.jsx +2 -2
- data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.jsx +2 -2
- data/app/pb_kits/playbook/pb_icon/_icon.jsx +2 -2
- data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.jsx +2 -2
- data/app/pb_kits/playbook/pb_icon_value/_icon_value.jsx +2 -2
- data/app/pb_kits/playbook/pb_image/_image.jsx +2 -2
- data/app/pb_kits/playbook/pb_kit/dateTime.js +5 -1
- data/app/pb_kits/playbook/pb_label_pill/_label_pill.jsx +2 -2
- data/app/pb_kits/playbook/pb_label_value/_label_value.jsx +2 -2
- data/app/pb_kits/playbook/pb_layout/_layout.jsx +6 -6
- data/app/pb_kits/playbook/pb_legend/_legend.jsx +2 -2
- data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +2 -2
- data/app/pb_kits/playbook/pb_list/_list.jsx +2 -2
- data/app/pb_kits/playbook/pb_list/_list_item.jsx +2 -2
- data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.jsx +2 -2
- data/app/pb_kits/playbook/pb_logistic/_logistic.jsx +111 -0
- data/app/pb_kits/playbook/pb_message/_message.jsx +2 -2
- data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.jsx +2 -2
- data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.jsx +2 -2
- data/app/pb_kits/playbook/pb_nav/_nav.jsx +2 -2
- data/app/pb_kits/playbook/pb_online_status/_online_status.jsx +2 -2
- data/app/pb_kits/playbook/pb_person/_person.jsx +2 -2
- data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +2 -2
- data/app/pb_kits/playbook/pb_pill/_pill.jsx +2 -2
- data/app/pb_kits/playbook/pb_popover/_popover.jsx +2 -2
- data/app/pb_kits/playbook/pb_popover/docs/_popover_list.jsx +5 -5
- data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.jsx +2 -2
- data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx +2 -2
- data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +2 -2
- data/app/pb_kits/playbook/pb_radio/_radio.jsx +2 -2
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +2 -2
- data/app/pb_kits/playbook/pb_select/_select.jsx +2 -2
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.jsx +12 -16
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +1 -1
- data/app/pb_kits/playbook/pb_selectable_card/selectable_card.rb +1 -7
- data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.jsx +26 -26
- data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +1 -1
- data/app/pb_kits/playbook/pb_selectable_card_icon/selectable_card_icon.rb +1 -8
- data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.jsx +8 -10
- data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +1 -1
- data/app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb +1 -7
- data/app/pb_kits/playbook/pb_stat_change/_stat_change.jsx +2 -2
- data/app/pb_kits/playbook/pb_stat_value/_stat_value.jsx +2 -2
- data/app/pb_kits/playbook/pb_table/_table.jsx +2 -2
- data/app/pb_kits/playbook/pb_table/_table_row.jsx +2 -2
- data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +2 -2
- data/app/pb_kits/playbook/pb_textarea/_textarea.html.erb +1 -1
- data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +2 -2
- data/app/pb_kits/playbook/pb_textarea/_textarea.scss +2 -1
- data/app/pb_kits/playbook/pb_time/_time.jsx +57 -14
- data/app/pb_kits/playbook/pb_time/_time.scss +17 -0
- data/app/pb_kits/playbook/pb_time/docs/_time_align.jsx +27 -0
- data/app/pb_kits/playbook/pb_time/docs/_time_dark.jsx +28 -0
- data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +28 -0
- data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +32 -0
- data/app/pb_kits/playbook/pb_time/docs/example.yml +4 -0
- data/app/pb_kits/playbook/pb_time/docs/index.js +4 -0
- data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.jsx +2 -2
- data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +2 -2
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +2 -2
- data/app/pb_kits/playbook/pb_title/_title.jsx +3 -6
- data/app/pb_kits/playbook/pb_title/_title.scss +1 -1
- data/app/pb_kits/playbook/pb_title/title.rb +1 -9
- data/app/pb_kits/playbook/pb_title_count/_title_count.jsx +2 -2
- data/app/pb_kits/playbook/pb_title_detail/_title_detail.jsx +2 -2
- data/app/pb_kits/playbook/pb_toggle/_toggle.jsx +39 -31
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom.jsx +31 -0
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom_radio.html.erb +6 -6
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom_radio.jsx +72 -0
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_default.html.erb +1 -3
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_default.jsx +6 -19
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_name.jsx +57 -0
- data/app/pb_kits/playbook/pb_toggle/docs/{_toggle_checked.html.erb → _toggle_size.html.erb} +2 -2
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_size.jsx +44 -0
- data/app/pb_kits/playbook/pb_toggle/docs/example.yml +8 -5
- data/app/pb_kits/playbook/pb_toggle/docs/index.js +4 -2
- data/app/pb_kits/playbook/pb_user/_user.jsx +2 -2
- data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +2 -2
- data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.jsx +2 -2
- data/app/pb_kits/playbook/plugins/pb_chart.js +74 -0
- data/app/pb_kits/playbook/props.rb +6 -0
- data/app/pb_kits/playbook/utilities/{spacing.js → globalProps.js} +14 -1
- data/app/pb_kits/playbook/utilities/props.js +1 -0
- data/lib/generators/kit/templates/kit_jsx.erb.tt +2 -2
- data/lib/playbook/version.rb +1 -1
- metadata +54 -7
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_accessibility.jsx +0 -12
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_data.jsx +0 -15
@@ -0,0 +1,17 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Gauge } from '../../'
|
3
|
+
|
4
|
+
const data = [
|
5
|
+
{ name: 'Name', value: 45 },
|
6
|
+
]
|
7
|
+
|
8
|
+
const GaugeDefault = () => (
|
9
|
+
<div>
|
10
|
+
<Gauge
|
11
|
+
chartData={data}
|
12
|
+
id="gauge-default"
|
13
|
+
/>
|
14
|
+
</div>
|
15
|
+
)
|
16
|
+
|
17
|
+
export default GaugeDefault
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Gauge } from '../../'
|
3
|
+
|
4
|
+
const data = [
|
5
|
+
{ name: 'Participants', value: 84 },
|
6
|
+
]
|
7
|
+
|
8
|
+
const GaugeDisableAnimation = () => (
|
9
|
+
<div>
|
10
|
+
<Gauge
|
11
|
+
chartData={data}
|
12
|
+
disableAnimation
|
13
|
+
id="gauge-disable-animation"
|
14
|
+
/>
|
15
|
+
</div>
|
16
|
+
)
|
17
|
+
|
18
|
+
export default GaugeDisableAnimation
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Gauge } from '../../'
|
3
|
+
|
4
|
+
const data = [
|
5
|
+
{ name: 'Capacity', value: 75 },
|
6
|
+
]
|
7
|
+
|
8
|
+
const GaugeFullCircle = () => (
|
9
|
+
<div>
|
10
|
+
<Gauge
|
11
|
+
chartData={data}
|
12
|
+
fullCircle
|
13
|
+
id="gauge-full-circle"
|
14
|
+
suffix="%"
|
15
|
+
title="Seating Capacity"
|
16
|
+
/>
|
17
|
+
</div>
|
18
|
+
)
|
19
|
+
|
20
|
+
export default GaugeFullCircle
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<%= pb_rails("gauge", props: {
|
2
|
+
id: "gauge-height-px",
|
3
|
+
chart_data: [{ name: "Pixels", value: 400 }],
|
4
|
+
height: '400',
|
5
|
+
title: "Fixed Height in Pixels",
|
6
|
+
suffix: "px"
|
7
|
+
}) %>
|
8
|
+
|
9
|
+
<%= pb_rails("gauge", props: {
|
10
|
+
id: "gauge-height-percent",
|
11
|
+
chart_data: [{ name: "Percentage", value: 45 }],
|
12
|
+
height: '45%',
|
13
|
+
title: "Height as Percentage of Width",
|
14
|
+
suffix: "%"
|
15
|
+
}) %>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Gauge } from '../../'
|
3
|
+
|
4
|
+
const GaugeHeight = () => (
|
5
|
+
<div>
|
6
|
+
<Gauge
|
7
|
+
chartData={[ { name: 'Pixels', value: 400 } ]}
|
8
|
+
height="400"
|
9
|
+
id="gauge-height-px"
|
10
|
+
suffix="px"
|
11
|
+
title="Fixed Height in Pixels"
|
12
|
+
/>
|
13
|
+
<Gauge
|
14
|
+
chartData={[ { name: 'Percentage', value: 45 } ]}
|
15
|
+
height="45%"
|
16
|
+
id="gauge-height-percent"
|
17
|
+
suffix="%"
|
18
|
+
title="Height as Percentage of Width"
|
19
|
+
/>
|
20
|
+
</div>
|
21
|
+
)
|
22
|
+
|
23
|
+
export default GaugeHeight
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import React, { useState } from 'react'
|
2
|
+
import { Button, Gauge } from '../../'
|
3
|
+
|
4
|
+
const GaugeLiveData = () => {
|
5
|
+
const [value, setValue] = useState(50)
|
6
|
+
const [name, setName] = useState('Name')
|
7
|
+
|
8
|
+
const updateValue = () => {
|
9
|
+
setValue(Math.floor(Math.random() * 100))
|
10
|
+
}
|
11
|
+
const updateName = () => {
|
12
|
+
let index = namesArray.indexOf(name)
|
13
|
+
if (namesArray.indexOf(name) == 5) {
|
14
|
+
index = 0
|
15
|
+
} else {
|
16
|
+
index += 1
|
17
|
+
}
|
18
|
+
setName(namesArray[index])
|
19
|
+
}
|
20
|
+
const namesArray = ['Name', 'Windows', 'Doors', 'Roofing', 'Siding', 'Gutters']
|
21
|
+
|
22
|
+
return (
|
23
|
+
<div>
|
24
|
+
<Button
|
25
|
+
onClick={updateValue}
|
26
|
+
text="Update Value"
|
27
|
+
/>
|
28
|
+
<Button
|
29
|
+
onClick={updateName}
|
30
|
+
text="Update Name"
|
31
|
+
/>
|
32
|
+
<Gauge
|
33
|
+
chartData={[{ name: name, value: value }]}
|
34
|
+
id="gauge-live-data"
|
35
|
+
/>
|
36
|
+
</div>
|
37
|
+
)
|
38
|
+
}
|
39
|
+
|
40
|
+
export default GaugeLiveData
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Gauge } from '../../'
|
3
|
+
|
4
|
+
const data = [{
|
5
|
+
name: 'Rating', value: 4.5,
|
6
|
+
}]
|
7
|
+
|
8
|
+
const GaugeMinMax = () => (
|
9
|
+
<div>
|
10
|
+
<Gauge
|
11
|
+
chartData={data}
|
12
|
+
id="gauge-min-max"
|
13
|
+
max={5}
|
14
|
+
min={0}
|
15
|
+
showLabels
|
16
|
+
title="Product Rating"
|
17
|
+
/>
|
18
|
+
</div>
|
19
|
+
)
|
20
|
+
|
21
|
+
export default GaugeMinMax
|
@@ -0,0 +1 @@
|
|
1
|
+
### Min defaults to 0, Max to 100.
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<%= pb_rails("flex", props: {wrap: true}) do %>
|
2
|
+
<%= pb_rails("flex/flex_item", props: {fixed_size: "400px"}) do %>
|
3
|
+
<%= pb_rails("gauge", props: {
|
4
|
+
id: "gauge-sizing4",
|
5
|
+
chart_data: [{ name: "Point 1", value: 100 }],
|
6
|
+
}) %>
|
7
|
+
<% end %>
|
8
|
+
<%= pb_rails("flex/flex_item", props: {fixed_size: "300px"}) do %>
|
9
|
+
<%= pb_rails("gauge", props: {
|
10
|
+
id: "gauge-sizing3",
|
11
|
+
chart_data: [{ name: "Point 2", value: 75 }],
|
12
|
+
}) %>
|
13
|
+
<% end %>
|
14
|
+
<%= pb_rails("flex/flex_item", props: {fixed_size: "200px"}) do %>
|
15
|
+
<%= pb_rails("gauge", props: {
|
16
|
+
id: "gauge-sizing2",
|
17
|
+
chart_data: [{ name: "Point 3", value: 50 }],
|
18
|
+
}) %>
|
19
|
+
<% end %>
|
20
|
+
<%= pb_rails("flex/flex_item", props: {fixed_size: "125px"}) do %>
|
21
|
+
<%= pb_rails("gauge", props: {
|
22
|
+
id: "gauge-sizing1",
|
23
|
+
chart_data: [{ name: "Point 4", value: 25 }],
|
24
|
+
}) %>
|
25
|
+
<% end %>
|
26
|
+
<% end %>
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Flex, FlexItem, Gauge } from '../../'
|
3
|
+
|
4
|
+
const GaugeSizing = () => (
|
5
|
+
<div>
|
6
|
+
<Flex
|
7
|
+
wrap
|
8
|
+
>
|
9
|
+
<FlexItem fixedSize="400px">
|
10
|
+
<Gauge
|
11
|
+
chartData={[ { name: 'Point 1', value: 100 } ]}
|
12
|
+
id="gauge-sizing4"
|
13
|
+
/>
|
14
|
+
</FlexItem>
|
15
|
+
<FlexItem fixedSize="300px">
|
16
|
+
<Gauge
|
17
|
+
chartData={[ { name: 'Point 2', value: 75 } ]}
|
18
|
+
id="gauge-sizing3"
|
19
|
+
/>
|
20
|
+
</FlexItem>
|
21
|
+
<FlexItem fixedSize="200px">
|
22
|
+
<Gauge
|
23
|
+
chartData={[ { name: 'Point 3', value: 50 } ]}
|
24
|
+
id="gauge-sizing2"
|
25
|
+
/>
|
26
|
+
</FlexItem>
|
27
|
+
<FlexItem fixedSize="125px">
|
28
|
+
<Gauge
|
29
|
+
chartData={[ { name: 'Point 4', value: 25 } ]}
|
30
|
+
id="gauge-sizing1"
|
31
|
+
/>
|
32
|
+
</FlexItem>
|
33
|
+
</Flex>
|
34
|
+
</div>
|
35
|
+
)
|
36
|
+
|
37
|
+
export default GaugeSizing
|
@@ -0,0 +1 @@
|
|
1
|
+
### Gauge resizes dynamically to fit whatever element it's placed within.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Gauge } from '../../'
|
3
|
+
|
4
|
+
const data = [
|
5
|
+
{ name: 'Score', value: 780 },
|
6
|
+
]
|
7
|
+
|
8
|
+
const GaugeTitle = () => (
|
9
|
+
<div>
|
10
|
+
<Gauge
|
11
|
+
chartData={data}
|
12
|
+
id="gauge-title"
|
13
|
+
max={850}
|
14
|
+
min={300}
|
15
|
+
title="Credit Score"
|
16
|
+
/>
|
17
|
+
</div>
|
18
|
+
)
|
19
|
+
|
20
|
+
export default GaugeTitle
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<% data1 = [
|
2
|
+
{
|
3
|
+
name: 'Data Used',
|
4
|
+
value: 32,
|
5
|
+
}
|
6
|
+
]%>
|
7
|
+
|
8
|
+
<%= pb_rails("gauge", props: {
|
9
|
+
id: "gauge-units1",
|
10
|
+
chart_data: data1,
|
11
|
+
title: "Data Usage",
|
12
|
+
suffix: "GB"
|
13
|
+
}) %>
|
14
|
+
|
15
|
+
<% data2 = [
|
16
|
+
{
|
17
|
+
name: 'Sales to Date',
|
18
|
+
value: 65,
|
19
|
+
}
|
20
|
+
]%>
|
21
|
+
|
22
|
+
<%= pb_rails("gauge", props: {
|
23
|
+
id: "gauge-units2",
|
24
|
+
chart_data: data2,
|
25
|
+
title: "Sales Goal",
|
26
|
+
prefix: "$",
|
27
|
+
suffix: "k",
|
28
|
+
|
29
|
+
}) %>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Gauge } from '../../'
|
3
|
+
|
4
|
+
const data1 = [
|
5
|
+
{ name: 'Data Used', value: 32 },
|
6
|
+
]
|
7
|
+
const data2 = [
|
8
|
+
{ name: 'Sales to Date', value: 65 },
|
9
|
+
]
|
10
|
+
|
11
|
+
const GaugeUnits = () => (
|
12
|
+
<div>
|
13
|
+
<Gauge
|
14
|
+
chartData={data1}
|
15
|
+
id="gauge-units1"
|
16
|
+
suffix="GB"
|
17
|
+
title="Data Usage"
|
18
|
+
/>
|
19
|
+
<Gauge
|
20
|
+
chartData={data2}
|
21
|
+
id="gauge-units2"
|
22
|
+
prefix="$"
|
23
|
+
suffix="k"
|
24
|
+
title="Sales Goal"
|
25
|
+
/>
|
26
|
+
</div>
|
27
|
+
)
|
28
|
+
|
29
|
+
export default GaugeUnits
|
@@ -0,0 +1,24 @@
|
|
1
|
+
examples:
|
2
|
+
|
3
|
+
rails:
|
4
|
+
- gauge_default: Default
|
5
|
+
- gauge_disable_animation: Disable Animation
|
6
|
+
- gauge_title: Title
|
7
|
+
- gauge_units: Units
|
8
|
+
- gauge_full_circle: Full Circle
|
9
|
+
- gauge_min_max: Min Max Labels
|
10
|
+
- gauge_sizing: Sizing
|
11
|
+
- gauge_height: Height
|
12
|
+
|
13
|
+
|
14
|
+
react:
|
15
|
+
- gauge_default: Default
|
16
|
+
- gauge_disable_animation: Disable Animation
|
17
|
+
- gauge_title: Title
|
18
|
+
- gauge_units: Units
|
19
|
+
- gauge_full_circle: Full Circle
|
20
|
+
- gauge_min_max: Min Max Labels
|
21
|
+
- gauge_sizing: Sizing
|
22
|
+
- gauge_height: Height
|
23
|
+
- gauge_live_data: Live Data
|
24
|
+
|
@@ -0,0 +1,9 @@
|
|
1
|
+
export { default as GaugeDefault } from './_gauge_default.jsx'
|
2
|
+
export { default as GaugeDisableAnimation } from './_gauge_disable_animation.jsx'
|
3
|
+
export { default as GaugeFullCircle } from './_gauge_full_circle.jsx'
|
4
|
+
export { default as GaugeHeight } from './_gauge_height.jsx'
|
5
|
+
export { default as GaugeMinMax } from './_gauge_min_max.jsx'
|
6
|
+
export { default as GaugeSizing } from './_gauge_sizing.jsx'
|
7
|
+
export { default as GaugeTitle } from './_gauge_title.jsx'
|
8
|
+
export { default as GaugeUnits } from './_gauge_units.jsx'
|
9
|
+
export { default as GaugeLiveData } from './_gauge_live_data.jsx'
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Playbook
|
4
|
+
module PbGauge
|
5
|
+
class Gauge
|
6
|
+
include Playbook::Props
|
7
|
+
|
8
|
+
partial "pb_gauge/gauge"
|
9
|
+
|
10
|
+
prop :chart_data, type: Playbook::Props::Array,
|
11
|
+
default: [{ name: "Name", value: 0 }]
|
12
|
+
prop :style, type: Playbook::Props::Enum,
|
13
|
+
values: %w[solidgauge],
|
14
|
+
default: "solidgauge"
|
15
|
+
prop :title, type: Playbook::Props::String, default: ""
|
16
|
+
prop :prefix, type: Playbook::Props::String, default: ""
|
17
|
+
prop :suffix, type: Playbook::Props::String, default: ""
|
18
|
+
prop :height, type: Playbook::Props::String, default: nil
|
19
|
+
prop :tooltip_html, default: '<span style="font-weight: bold; color:{point.color};">●</span>
|
20
|
+
{point.name}: ' + '<b>{point.y}
|
21
|
+
</b>'
|
22
|
+
prop :full_circle, type: Playbook::Props::Boolean, default: false
|
23
|
+
prop :show_labels, type: Playbook::Props::Boolean, default: false
|
24
|
+
prop :disable_animation, type: Playbook::Props::Boolean, default: false
|
25
|
+
prop :min, type: Playbook::Props::Numeric, default: 0
|
26
|
+
prop :max, type: Playbook::Props::Numeric, default: 100
|
27
|
+
|
28
|
+
def chart_data_formatted
|
29
|
+
chart_data.map { |hash| hash[:y] = hash.delete :value }
|
30
|
+
chart_data
|
31
|
+
end
|
32
|
+
|
33
|
+
def chart_options
|
34
|
+
{
|
35
|
+
id: id,
|
36
|
+
chartData: chart_data_formatted,
|
37
|
+
circumference: full_circle ? [0, 360] : [-100, 100],
|
38
|
+
disableAnimation: disable_animation,
|
39
|
+
height: height,
|
40
|
+
min: min,
|
41
|
+
max: max,
|
42
|
+
title: title,
|
43
|
+
suffix: suffix,
|
44
|
+
prefix: prefix,
|
45
|
+
showLabels: show_labels,
|
46
|
+
style: style,
|
47
|
+
tooltipHtml: tooltip_html,
|
48
|
+
type: "gauge",
|
49
|
+
}.to_json.html_safe
|
50
|
+
end
|
51
|
+
|
52
|
+
def classname
|
53
|
+
generate_classname("pb_gauge_kit")
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|