playbook_ui 15.0.0.pre.alpha.PLAY2316advancedtablerightsidedoubleborder10726 → 15.0.0.pre.alpha.PLAY2361datepickerarrownav10322
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/_playbook.scss +0 -3
- data/app/pb_kits/playbook/pb_advanced_table/Components/RegularTableView.tsx +11 -24
- data/app/pb_kits/playbook/pb_advanced_table/Components/VirtualizedTableView.tsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/Utilities/RowUtils.ts +2 -7
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +13 -67
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_vertical_border.html.erb +2 -4
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_vertical_border.jsx +9 -12
- data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_card/_card.scss +4 -12
- data/app/pb_kits/playbook/pb_card/_card.tsx +3 -3
- data/app/pb_kits/playbook/pb_card/_card_mixin.scss +0 -10
- data/app/pb_kits/playbook/pb_card/docs/_card_highlight.html.erb +0 -3
- data/app/pb_kits/playbook/pb_card/docs/_card_highlight.jsx +0 -8
- data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.tsx +0 -2
- data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.html.erb +0 -1
- data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +0 -1
- data/app/pb_kits/playbook/pb_contact/_contact.tsx +0 -5
- data/app/pb_kits/playbook/pb_contact/contact.rb +0 -4
- data/app/pb_kits/playbook/pb_contact/contact.test.js +1 -21
- data/app/pb_kits/playbook/pb_contact/docs/_contact_default.html.erb +1 -16
- data/app/pb_kits/playbook/pb_contact/docs/_contact_default.jsx +0 -15
- data/app/pb_kits/playbook/pb_contact/docs/_contact_with_detail.html.erb +0 -6
- data/app/pb_kits/playbook/pb_contact/docs/_contact_with_detail.jsx +0 -6
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +4 -6
- data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +5 -37
- data/app/pb_kits/playbook/pb_dialog/_close_icon.tsx +1 -5
- data/app/pb_kits/playbook/pb_dialog/_dialog.tsx +8 -6
- data/app/pb_kits/playbook/pb_dialog/dialog.html.erb +1 -1
- data/app/pb_kits/playbook/pb_dialog/dialogHelper.js +65 -0
- data/app/pb_kits/playbook/pb_dialog/dialog_header.html.erb +2 -2
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +0 -9
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.html.erb +3 -3
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +0 -1
- data/app/pb_kits/playbook/pb_icon/_icon.tsx +2 -13
- data/app/pb_kits/playbook/pb_icon/icon.rb +1 -9
- data/app/pb_kits/playbook/pb_icon_button/_icon_button.tsx +0 -1
- data/app/pb_kits/playbook/pb_icon_button/icon_button.html.erb +1 -2
- data/app/pb_kits/playbook/pb_icon_circle/icon_circle.html.erb +1 -1
- data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.tsx +1 -3
- data/app/pb_kits/playbook/pb_loading_inline/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_loading_inline/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_loading_inline/loading_inline.html.erb +1 -1
- data/app/pb_kits/playbook/pb_loading_inline/loading_inline.rb +0 -11
- data/app/pb_kits/playbook/pb_nav/_item.tsx +5 -19
- data/app/pb_kits/playbook/pb_nav/item.html.erb +2 -6
- data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_breached.html.erb +3 -3
- data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_common.html.erb +3 -3
- data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_confirmation.html.erb +3 -3
- data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_meter_settings.html.erb +3 -3
- data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_strength_change.html.erb +3 -3
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.html.erb +2 -2
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +5 -13
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_children.html.erb +0 -23
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_children.jsx +7 -45
- data/app/pb_kits/playbook/pb_section_separator/section_separator.html.erb +1 -4
- data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +0 -3
- data/app/pb_kits/playbook/pb_text_input/docs/example.yml +0 -3
- data/app/pb_kits/playbook/pb_text_input/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_text_input/text_input.rb +3 -2
- data/app/pb_kits/playbook/pb_text_input/text_input.test.js +0 -38
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +8 -24
- data/app/pb_kits/playbook/pb_timestamp/docs/_time_stamp_default.md +1 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.html.erb +10 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.jsx +9 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.html.erb +17 -3
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.jsx +15 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.html.erb +2 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.jsx +2 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.html.erb +14 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.jsx +14 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_unstyled.html.erb +4 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_unstyled.jsx +4 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.jsx +1 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/example.yml +6 -18
- data/app/pb_kits/playbook/pb_timestamp/docs/index.js +0 -6
- data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +7 -29
- data/app/pb_kits/playbook/pb_timestamp/timestamp.test.js +4 -69
- data/dist/chunks/{_line_graph-DeH7NK-i.js → _line_graph-DHO-uYxy.js} +1 -1
- data/dist/chunks/_typeahead-_kMvPVfz.js +6 -0
- data/dist/chunks/_weekday_stacked-B1esXFeA.js +37 -0
- data/dist/chunks/{lib-QZuu1ltS.js → lib-C43ywQsO.js} +1 -1
- data/dist/chunks/{pb_form_validation-CleM960_.js → pb_form_validation-Cqj3itLG.js} +1 -1
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +1 -15
- data/dist/playbook-doc.js +2 -2
- data/dist/playbook-rails-react-bindings.js +1 -1
- data/dist/playbook-rails.js +1 -1
- data/dist/playbook.css +1 -1
- data/lib/playbook/engine.rb +1 -0
- data/lib/playbook/forms/builder/form_field_builder.rb +2 -37
- data/lib/playbook/kit_base.rb +2 -23
- data/lib/playbook/version.rb +1 -1
- metadata +28 -108
- data/app/pb_kits/playbook/pb_contact/docs/_contact_default.md +0 -5
- data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_variant.html.erb +0 -5
- data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_variant.jsx +0 -24
- data/app/pb_kits/playbook/pb_pb_bar_graph/_pb_bar_graph.scss +0 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/_pb_bar_graph.tsx +0 -62
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_colors.html.erb +0 -35
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_colors.jsx +0 -49
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_colors_rails.md +0 -1
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_colors_react.md +0 -2
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_default.html.erb +0 -38
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_default.jsx +0 -51
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_height.html.erb +0 -46
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_height.jsx +0 -62
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_height.md +0 -3
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_horizontal.html.erb +0 -47
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_horizontal.jsx +0 -60
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend.html.erb +0 -25
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend.jsx +0 -36
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend_non_clickable.jsx +0 -44
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend_position.html.erb +0 -100
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend_position.jsx +0 -126
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_negative_numbers.html.erb +0 -32
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_negative_numbers.jsx +0 -48
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_secondary_y_axis.html.erb +0 -68
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_secondary_y_axis.jsx +0 -81
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_spline.html.erb +0 -31
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_spline.jsx +0 -42
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_spline.md +0 -2
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_stacked.html.erb +0 -35
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_stacked.jsx +0 -51
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/example.yml +0 -27
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/index.js +0 -11
- data/app/pb_kits/playbook/pb_pb_bar_graph/pbBarGraphTheme.ts +0 -106
- data/app/pb_kits/playbook/pb_pb_bar_graph/pb_bar_graph.html.erb +0 -1
- data/app/pb_kits/playbook/pb_pb_bar_graph/pb_bar_graph.rb +0 -28
- data/app/pb_kits/playbook/pb_pb_bar_graph/pbbargraph.test.jsx +0 -31
- data/app/pb_kits/playbook/pb_pb_circle_chart/_pb_circle_chart.scss +0 -3
- data/app/pb_kits/playbook/pb_pb_circle_chart/_pb_circle_chart.tsx +0 -62
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_block_content.html.erb +0 -31
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_block_content.jsx +0 -81
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_color_overrides.html.erb +0 -25
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_color_overrides.jsx +0 -40
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_color_overrides.md +0 -5
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_custom_tooltip.html.erb +0 -27
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_custom_tooltip.jsx +0 -39
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_custom_tooltip.md +0 -5
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_legend_position.html.erb +0 -93
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_legend_position.jsx +0 -131
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_legend_position.md +0 -14
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_labels.html.erb +0 -42
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_labels.jsx +0 -58
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_legend.html.erb +0 -24
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_legend.jsx +0 -38
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_default.html.erb +0 -22
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_default.jsx +0 -33
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_inner_sizes.html.erb +0 -118
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_inner_sizes.jsx +0 -144
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_live_data.jsx +0 -60
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_rounded.html.erb +0 -24
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_rounded.jsx +0 -42
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_with_title.html.erb +0 -38
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_with_title.jsx +0 -52
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/example.yml +0 -29
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/index.js +0 -11
- data/app/pb_kits/playbook/pb_pb_circle_chart/pbCircleChartTheme.ts +0 -88
- data/app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.html.erb +0 -1
- data/app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.rb +0 -28
- data/app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.test.jsx +0 -51
- data/app/pb_kits/playbook/pb_section_separator/section_separator.test.js +0 -165
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_autocomplete.html.erb +0 -41
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_autocomplete.jsx +0 -80
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_autocomplete.md +0 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.md +0 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.md +0 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.md +0 -5
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_current_year.html.erb +0 -12
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_current_year.jsx +0 -25
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_current_year.md +0 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_date.html.erb +0 -4
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_date.jsx +0 -17
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_date.md +0 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_time.html.erb +0 -18
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_time.jsx +0 -44
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_time.md +0 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.md +0 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.md +0 -5
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_current_year.html.erb +0 -16
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_current_year.jsx +0 -30
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_current_year.md +0 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_date.html.erb +0 -16
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_date.jsx +0 -30
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_date.md +0 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_time.html.erb +0 -26
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_time.jsx +0 -41
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_time.md +0 -1
- data/dist/chunks/_typeahead-CCGp0OQe.js +0 -6
- data/dist/chunks/_weekday_stacked-Dy1jab6x.js +0 -37
- data/dist/chunks/componentRegistry-DzmmLR2x.js +0 -1
@@ -1,81 +0,0 @@
|
|
1
|
-
import React from 'react'
|
2
|
-
import { PbBarGraph } from 'playbook-ui'
|
3
|
-
|
4
|
-
import colors from '../../tokens/exports/_colors.module.scss'
|
5
|
-
import typography from '../../tokens/exports/_typography.module.scss'
|
6
|
-
|
7
|
-
const chartData = [{
|
8
|
-
name: 'Number of Installations',
|
9
|
-
data: [1475, 200, 3000, 654, 656],
|
10
|
-
}, {
|
11
|
-
type: 'spline',
|
12
|
-
name: 'Percentage',
|
13
|
-
data: [48, 70, 25, 55, 72],
|
14
|
-
color: '#F9BB00',
|
15
|
-
yAxis: 1
|
16
|
-
}]
|
17
|
-
|
18
|
-
const chartOptions = {
|
19
|
-
series: chartData,
|
20
|
-
title: {
|
21
|
-
text: "Bar Graph with Secondary Y-axis",
|
22
|
-
},
|
23
|
-
xAxis: {
|
24
|
-
categories: ["Jan", "Feb", "Mar", "Apr", "May"],
|
25
|
-
},
|
26
|
-
yAxis: [{
|
27
|
-
labels: {
|
28
|
-
style: {
|
29
|
-
fontFamily: typography.font_family_base,
|
30
|
-
color: colors.text_lt_lighter,
|
31
|
-
fontWeight: typography.bold,
|
32
|
-
fontSize: typography.text_smaller,
|
33
|
-
},
|
34
|
-
},
|
35
|
-
title: {
|
36
|
-
text: "Number of Employees",
|
37
|
-
style: {
|
38
|
-
fontFamily: typography.font_family_base,
|
39
|
-
color: colors.text_lt_lighter,
|
40
|
-
fontWeight: typography.bold,
|
41
|
-
fontSize: typography.text_smaller,
|
42
|
-
},
|
43
|
-
},
|
44
|
-
}, {
|
45
|
-
labels: {
|
46
|
-
style: {
|
47
|
-
fontFamily: typography.font_family_base,
|
48
|
-
color: colors.text_lt_lighter,
|
49
|
-
fontWeight: typography.bold,
|
50
|
-
fontSize: typography.text_smaller,
|
51
|
-
},
|
52
|
-
},
|
53
|
-
title: {
|
54
|
-
text: "Percentage",
|
55
|
-
style: {
|
56
|
-
fontFamily: typography.font_family_base,
|
57
|
-
color: colors.text_lt_lighter,
|
58
|
-
fontWeight: typography.bold,
|
59
|
-
fontSize: typography.text_smaller,
|
60
|
-
},
|
61
|
-
},
|
62
|
-
|
63
|
-
opposite: true,
|
64
|
-
min: 0,
|
65
|
-
max: 100
|
66
|
-
}],
|
67
|
-
legend: { enabled: true },
|
68
|
-
}
|
69
|
-
|
70
|
-
const PbBarGraphSecondaryYAxis = () => {
|
71
|
-
|
72
|
-
return (
|
73
|
-
<div>
|
74
|
-
<PbBarGraph
|
75
|
-
options={chartOptions}
|
76
|
-
/>
|
77
|
-
</div>
|
78
|
-
)
|
79
|
-
}
|
80
|
-
|
81
|
-
export default PbBarGraphSecondaryYAxis
|
@@ -1,31 +0,0 @@
|
|
1
|
-
<% chart_data = [{
|
2
|
-
name: 'Number of Installations',
|
3
|
-
data: [1475,200,3000,654,656]
|
4
|
-
}, {
|
5
|
-
type: 'spline',
|
6
|
-
name: 'Trend Line',
|
7
|
-
data: [1975, 600, 2500, 924, 500],
|
8
|
-
color: '#F9BB00',
|
9
|
-
}] %>
|
10
|
-
|
11
|
-
<% chart_options = {
|
12
|
-
series: chart_data,
|
13
|
-
title: {
|
14
|
-
text: 'Bar Graph with Spline',
|
15
|
-
},
|
16
|
-
subtitle: {
|
17
|
-
text: 'Source: thesolarfoundation.com',
|
18
|
-
},
|
19
|
-
xAxis: {
|
20
|
-
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
|
21
|
-
},
|
22
|
-
yAxis: {
|
23
|
-
title: {
|
24
|
-
text: 'Number of Employees',
|
25
|
-
},
|
26
|
-
},
|
27
|
-
legend: { enabled: true },
|
28
|
-
}
|
29
|
-
%>
|
30
|
-
|
31
|
-
<%= pb_rails("pb_bar_graph", props: {options: chart_options}) %>
|
@@ -1,42 +0,0 @@
|
|
1
|
-
import React from 'react'
|
2
|
-
import { PbBarGraph } from 'playbook-ui'
|
3
|
-
|
4
|
-
|
5
|
-
const chartData = [{
|
6
|
-
name: 'Number of Installations',
|
7
|
-
data: [1475, 200, 3000, 654, 656],
|
8
|
-
}, {
|
9
|
-
type: 'spline',
|
10
|
-
name: 'Trend Line',
|
11
|
-
data: [1975, 600, 2500, 924, 500],
|
12
|
-
color: '#F9BB00',
|
13
|
-
}]
|
14
|
-
|
15
|
-
const chartOptions = {
|
16
|
-
series: chartData,
|
17
|
-
title: {
|
18
|
-
text: "Bar Graph with Spline",
|
19
|
-
},
|
20
|
-
xAxis: {
|
21
|
-
categories: ["Jan", "Feb", "Mar", "Apr", "May"],
|
22
|
-
},
|
23
|
-
yAxis: {
|
24
|
-
title: {
|
25
|
-
text: "Number of Employees",
|
26
|
-
},
|
27
|
-
},
|
28
|
-
legend: { enabled: true },
|
29
|
-
};
|
30
|
-
|
31
|
-
const PbBarGraphSpline = () => {
|
32
|
-
|
33
|
-
return (
|
34
|
-
<div>
|
35
|
-
<PbBarGraph
|
36
|
-
options={chartOptions}
|
37
|
-
/>
|
38
|
-
</div>
|
39
|
-
)
|
40
|
-
}
|
41
|
-
|
42
|
-
export default PbBarGraphSpline
|
@@ -1,35 +0,0 @@
|
|
1
|
-
<% chart_data = [{
|
2
|
-
name: 'Installation',
|
3
|
-
data: [1475, 200, 3000, 654, 656],
|
4
|
-
},
|
5
|
-
{
|
6
|
-
name: 'Manufacturing',
|
7
|
-
data: [1270, 800, 200, 454, 956],
|
8
|
-
}, {
|
9
|
-
name: 'Sales & Distribution',
|
10
|
-
data: [975, 1600, 1500, 924, 500],
|
11
|
-
}] %>
|
12
|
-
|
13
|
-
<% chart_options = {
|
14
|
-
series: chart_data,
|
15
|
-
title: {
|
16
|
-
text: "Bar Graph with Stacked Columns",
|
17
|
-
},
|
18
|
-
xAxis: {
|
19
|
-
categories: ["Jan", "Feb", "Mar", "Apr", "May"],
|
20
|
-
},
|
21
|
-
yAxis: {
|
22
|
-
title: {
|
23
|
-
text: "Number of Employees",
|
24
|
-
},
|
25
|
-
},
|
26
|
-
plotOptions: {
|
27
|
-
column: {
|
28
|
-
stacking: 'normal',
|
29
|
-
borderWidth: 0,
|
30
|
-
}
|
31
|
-
},
|
32
|
-
legend: { enabled: true },
|
33
|
-
} %>
|
34
|
-
|
35
|
-
<%= pb_rails("pb_bar_graph", props: {options: chart_options}) %>
|
@@ -1,51 +0,0 @@
|
|
1
|
-
import React from 'react'
|
2
|
-
import { PbBarGraph } from 'playbook-ui'
|
3
|
-
|
4
|
-
|
5
|
-
const chartData = [{
|
6
|
-
name: 'Installation',
|
7
|
-
data: [1475, 200, 3000, 654, 656],
|
8
|
-
},
|
9
|
-
{
|
10
|
-
name: 'Manufacturing',
|
11
|
-
data: [1270, 800, 200, 454, 956],
|
12
|
-
}, {
|
13
|
-
name: 'Sales & Distribution',
|
14
|
-
data: [975, 1600, 1500, 924, 500],
|
15
|
-
}]
|
16
|
-
|
17
|
-
const chartOptions = {
|
18
|
-
series: chartData,
|
19
|
-
title: {
|
20
|
-
text: "Bar Graph with Stacked Columns",
|
21
|
-
},
|
22
|
-
xAxis: {
|
23
|
-
categories: ["Jan", "Feb", "Mar", "Apr", "May"],
|
24
|
-
},
|
25
|
-
yAxis: {
|
26
|
-
title: {
|
27
|
-
text: "Number of Employees",
|
28
|
-
},
|
29
|
-
},
|
30
|
-
plotOptions: {
|
31
|
-
column: {
|
32
|
-
stacking: 'normal',
|
33
|
-
borderWidth: 0,
|
34
|
-
}
|
35
|
-
},
|
36
|
-
legend: { enabled: true },
|
37
|
-
};
|
38
|
-
|
39
|
-
|
40
|
-
const PbBarGraphStacked = () => {
|
41
|
-
|
42
|
-
return (
|
43
|
-
<div>
|
44
|
-
<PbBarGraph
|
45
|
-
options={chartOptions}
|
46
|
-
/>
|
47
|
-
</div>
|
48
|
-
)
|
49
|
-
}
|
50
|
-
|
51
|
-
export default PbBarGraphStacked
|
@@ -1,27 +0,0 @@
|
|
1
|
-
examples:
|
2
|
-
|
3
|
-
rails:
|
4
|
-
- pb_bar_graph_default: Default
|
5
|
-
- pb_bar_graph_legend: Legend
|
6
|
-
- pb_bar_graph_legend_position: Legend Position
|
7
|
-
- pb_bar_graph_height: Height
|
8
|
-
- pb_bar_graph_spline: Spline
|
9
|
-
- pb_bar_graph_colors: Color Overrides
|
10
|
-
- pb_bar_graph_stacked: Stacked
|
11
|
-
- pb_bar_graph_negative_numbers: Negative Numbers
|
12
|
-
- pb_bar_graph_secondary_y_axis: Secondary Y-Axis
|
13
|
-
- pb_bar_graph_horizontal: Horizontal Bar Graph
|
14
|
-
|
15
|
-
|
16
|
-
react:
|
17
|
-
- pb_bar_graph_default: Default
|
18
|
-
- pb_bar_graph_legend: Legend
|
19
|
-
- pb_bar_graph_legend_position: Legend Position
|
20
|
-
- pb_bar_graph_legend_non_clickable: Legend Non Clickable
|
21
|
-
- pb_bar_graph_height: Height
|
22
|
-
- pb_bar_graph_spline: Spline
|
23
|
-
- pb_bar_graph_colors: Color Overrides
|
24
|
-
- pb_bar_graph_stacked: Stacked
|
25
|
-
- pb_bar_graph_negative_numbers: Negative Numbers
|
26
|
-
- pb_bar_graph_secondary_y_axis: Secondary Y-Axis
|
27
|
-
- pb_bar_graph_horizontal: Horizontal Bar Graph
|
@@ -1,11 +0,0 @@
|
|
1
|
-
export { default as PbBarGraphDefault } from './_pb_bar_graph_default.jsx'
|
2
|
-
export { default as PbBarGraphLegend } from './_pb_bar_graph_legend.jsx'
|
3
|
-
export { default as PbBarGraphLegendPosition } from './_pb_bar_graph_legend_position.jsx'
|
4
|
-
export { default as PbBarGraphLegendNonClickable } from './_pb_bar_graph_legend_non_clickable.jsx'
|
5
|
-
export { default as PbBarGraphHeight } from './_pb_bar_graph_height.jsx'
|
6
|
-
export { default as PbBarGraphSpline } from './_pb_bar_graph_spline.jsx'
|
7
|
-
export { default as PbBarGraphColors } from './_pb_bar_graph_colors.jsx'
|
8
|
-
export { default as PbBarGraphStacked } from './_pb_bar_graph_stacked.jsx'
|
9
|
-
export { default as PbBarGraphNegativeNumbers } from './_pb_bar_graph_negative_numbers.jsx'
|
10
|
-
export { default as PbBarGraphSecondaryYAxis } from './_pb_bar_graph_secondary_y_axis.jsx'
|
11
|
-
export { default as PbBarGraphHorizontal } from './_pb_bar_graph_horizontal.jsx'
|
@@ -1,106 +0,0 @@
|
|
1
|
-
import colors from '../tokens/exports/_colors.module.scss'
|
2
|
-
import typography from '../tokens/exports/_typography.module.scss'
|
3
|
-
|
4
|
-
const barGraphTheme = {
|
5
|
-
title: {
|
6
|
-
text: "",
|
7
|
-
style: {
|
8
|
-
color: colors.text_lt_default,
|
9
|
-
fontFamily: typography.font_family_base,
|
10
|
-
fontWeight: typography.bold,
|
11
|
-
fontSize: typography.heading_3,
|
12
|
-
},
|
13
|
-
},
|
14
|
-
subtitle: {
|
15
|
-
text: "",
|
16
|
-
style: {
|
17
|
-
fontFamily: typography.font_family_base,
|
18
|
-
color: colors.text_lt_light,
|
19
|
-
fontWeight: typography.regular,
|
20
|
-
fontSize: typography.text_base,
|
21
|
-
},
|
22
|
-
},
|
23
|
-
chart: {
|
24
|
-
type: "column",
|
25
|
-
},
|
26
|
-
tooltip: {
|
27
|
-
backgroundColor: {
|
28
|
-
linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
|
29
|
-
stops: [
|
30
|
-
[0, colors.bg_dark],
|
31
|
-
[1, colors.bg_dark],
|
32
|
-
],
|
33
|
-
},
|
34
|
-
style: {
|
35
|
-
fontFamily: typography.font_family_base,
|
36
|
-
color: colors.text_dk_default,
|
37
|
-
fontWeight: typography.regular,
|
38
|
-
fontSize: typography.text_smaller,
|
39
|
-
},
|
40
|
-
},
|
41
|
-
colors: [
|
42
|
-
colors.data_1,
|
43
|
-
colors.data_2,
|
44
|
-
colors.data_3,
|
45
|
-
colors.data_4,
|
46
|
-
colors.data_5,
|
47
|
-
colors.data_6,
|
48
|
-
colors.data_7,
|
49
|
-
],
|
50
|
-
credits: { enabled: false },
|
51
|
-
legend: {
|
52
|
-
enabled: false,
|
53
|
-
itemStyle: {
|
54
|
-
color: colors.text_lt_light,
|
55
|
-
fill: colors.text_lt_light,
|
56
|
-
fontSize: typography.text_smaller,
|
57
|
-
},
|
58
|
-
},
|
59
|
-
xAxis: {
|
60
|
-
gridLineWidth: 0,
|
61
|
-
lineColor: colors.border_light,
|
62
|
-
tickColor: colors.border_light,
|
63
|
-
labels: {
|
64
|
-
style: {
|
65
|
-
fontFamily: typography.font_family_base,
|
66
|
-
color: colors.text_lt_lighter,
|
67
|
-
fontWeight: typography.bold,
|
68
|
-
fontSize: typography.text_smaller,
|
69
|
-
},
|
70
|
-
},
|
71
|
-
title: {
|
72
|
-
style: {
|
73
|
-
color: colors.text_lt_default,
|
74
|
-
fontFamily: typography.font_family_base,
|
75
|
-
fontWeight: typography.regular,
|
76
|
-
fontSize: typography.heading_4,
|
77
|
-
},
|
78
|
-
},
|
79
|
-
},
|
80
|
-
yAxis: {
|
81
|
-
alternateGridColor: undefined as string | undefined,
|
82
|
-
minorTickInterval: null as number | null,
|
83
|
-
gridLineColor: colors.border_light,
|
84
|
-
minorGridLineColor: colors.border_light,
|
85
|
-
lineWidth: 0,
|
86
|
-
tickWidth: 0,
|
87
|
-
labels: {
|
88
|
-
style: {
|
89
|
-
fontFamily: typography.font_family_base,
|
90
|
-
color: colors.text_lt_lighter,
|
91
|
-
fontWeight: typography.bold,
|
92
|
-
fontSize: typography.text_smaller,
|
93
|
-
},
|
94
|
-
},
|
95
|
-
title: {
|
96
|
-
style: {
|
97
|
-
fontFamily: typography.font_family_base,
|
98
|
-
color: colors.text_lt_lighter,
|
99
|
-
fontWeight: typography.bold,
|
100
|
-
fontSize: typography.text_smaller,
|
101
|
-
},
|
102
|
-
},
|
103
|
-
},
|
104
|
-
}
|
105
|
-
|
106
|
-
export default barGraphTheme;
|
@@ -1 +0,0 @@
|
|
1
|
-
<%= react_component('PbBarGraph', object.react_props) %>
|
@@ -1,28 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Playbook
|
4
|
-
module PbPbBarGraph
|
5
|
-
class PbBarGraph < ::Playbook::KitBase
|
6
|
-
prop :options, default: {}
|
7
|
-
prop :container_props, default: {}
|
8
|
-
|
9
|
-
def react_props
|
10
|
-
{
|
11
|
-
options: options,
|
12
|
-
containerProps: container_props_hash,
|
13
|
-
}
|
14
|
-
end
|
15
|
-
|
16
|
-
def container_props_hash
|
17
|
-
container_props.merge({
|
18
|
-
id: id,
|
19
|
-
className: classname,
|
20
|
-
}).compact
|
21
|
-
end
|
22
|
-
|
23
|
-
def classname
|
24
|
-
generate_classname("pb_pb_bar_graph")
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { render, screen } from '../utilities/test-utils';
|
3
|
-
import PbBarGraph from './_pb_bar_graph';
|
4
|
-
|
5
|
-
beforeEach(() => {
|
6
|
-
// Silences error logs within the test suite.
|
7
|
-
jest.spyOn(console, 'error');
|
8
|
-
jest.spyOn(console, 'warn');
|
9
|
-
console.error.mockImplementation(() => {});
|
10
|
-
console.warn.mockImplementation(() => {});
|
11
|
-
});
|
12
|
-
|
13
|
-
afterEach(() => {
|
14
|
-
console.error.mockRestore();
|
15
|
-
console.warn.mockRestore();
|
16
|
-
});
|
17
|
-
|
18
|
-
const testId = 'bargraph1';
|
19
|
-
|
20
|
-
test('bargraph uses exact classname', () => {
|
21
|
-
render(
|
22
|
-
<PbBarGraph
|
23
|
-
className='super_important_class'
|
24
|
-
data={{ testid: testId }}
|
25
|
-
id='bar-default'
|
26
|
-
/>
|
27
|
-
);
|
28
|
-
|
29
|
-
const kit = screen.getByTestId(testId);
|
30
|
-
expect(kit).toHaveClass('super_important_class');
|
31
|
-
});
|
@@ -1,62 +0,0 @@
|
|
1
|
-
|
2
|
-
import React, { useMemo } from 'react'
|
3
|
-
import classnames from 'classnames'
|
4
|
-
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
|
5
|
-
import Highcharts from "highcharts"
|
6
|
-
import HighchartsReact from "highcharts-react-official"
|
7
|
-
import pbCircleGraphTheme from './pbCircleChartTheme'
|
8
|
-
import { globalProps } from '../utilities/globalProps'
|
9
|
-
|
10
|
-
type PbCircleChartProps = {
|
11
|
-
aria?: { [key: string]: string },
|
12
|
-
className?: string,
|
13
|
-
data?: { [key: string]: string },
|
14
|
-
id?: string,
|
15
|
-
htmlOptions?: { [key: string]: string | number | boolean | (() => void) };
|
16
|
-
options: Record<string, unknown>
|
17
|
-
}
|
18
|
-
|
19
|
-
const PbCircleChart = (props: PbCircleChartProps) => {
|
20
|
-
const {
|
21
|
-
aria = {},
|
22
|
-
className,
|
23
|
-
data = {},
|
24
|
-
id,
|
25
|
-
htmlOptions = {},
|
26
|
-
options
|
27
|
-
} = props
|
28
|
-
|
29
|
-
const ariaProps = buildAriaProps(aria)
|
30
|
-
const dataProps = buildDataProps(data)
|
31
|
-
const htmlProps = buildHtmlProps(htmlOptions);
|
32
|
-
const classes = classnames(buildCss('pb_pb_circle_chart'), globalProps(props), className)
|
33
|
-
|
34
|
-
const mergedOptions = useMemo(() => {
|
35
|
-
if (!options || typeof options !== "object") {
|
36
|
-
// eslint-disable-next-line no-console
|
37
|
-
console.error("❌ Invalid options passed to <PbCircleChart />", options)
|
38
|
-
return {}
|
39
|
-
}
|
40
|
-
|
41
|
-
return Highcharts.merge({}, pbCircleGraphTheme, options)
|
42
|
-
}, [options])
|
43
|
-
|
44
|
-
return (
|
45
|
-
|
46
|
-
<div>
|
47
|
-
<HighchartsReact
|
48
|
-
containerProps={{
|
49
|
-
className: classnames(globalProps, className),
|
50
|
-
id: id,
|
51
|
-
...ariaProps,
|
52
|
-
...dataProps,
|
53
|
-
...htmlProps
|
54
|
-
}}
|
55
|
-
highcharts={Highcharts}
|
56
|
-
options={mergedOptions}
|
57
|
-
/>
|
58
|
-
</div>
|
59
|
-
)
|
60
|
-
}
|
61
|
-
|
62
|
-
export default PbCircleChart
|
@@ -1,31 +0,0 @@
|
|
1
|
-
<% data = [
|
2
|
-
{
|
3
|
-
name: "Waiting for Calls",
|
4
|
-
y: 41,
|
5
|
-
},
|
6
|
-
{
|
7
|
-
name: "On Call",
|
8
|
-
y: 49,
|
9
|
-
},
|
10
|
-
{
|
11
|
-
name: "After Call",
|
12
|
-
y: 10,
|
13
|
-
},
|
14
|
-
] %>
|
15
|
-
|
16
|
-
<% chart_options = {
|
17
|
-
series: [{
|
18
|
-
data: data,
|
19
|
-
innerSize: '100%',
|
20
|
-
borderWidth: '20',
|
21
|
-
}],
|
22
|
-
} %>
|
23
|
-
|
24
|
-
<div style="position: relative;">
|
25
|
-
<%= pb_rails("pb_circle_chart", props: { options: chart_options }) %>
|
26
|
-
|
27
|
-
<div class="pb-circle-chart-block"
|
28
|
-
style="position: absolute; inset: 0; display: flex; justify-content: center; align-items: center; z-index: 1; text-align: center; pointer-events: none;">
|
29
|
-
<%= pb_rails("title", props: { size: 1, tag: "div", text: "83" }) %>
|
30
|
-
</div>
|
31
|
-
</div>
|
@@ -1,81 +0,0 @@
|
|
1
|
-
import React from "react";
|
2
|
-
import { PbCircleChart, Title } from "playbook-ui";
|
3
|
-
|
4
|
-
const data= [
|
5
|
-
{
|
6
|
-
name: "Waiting for Calls",
|
7
|
-
y: 41,
|
8
|
-
},
|
9
|
-
{
|
10
|
-
name: "On Call",
|
11
|
-
y: 49,
|
12
|
-
},
|
13
|
-
{
|
14
|
-
name: "After Call",
|
15
|
-
y: 10,
|
16
|
-
},
|
17
|
-
]
|
18
|
-
|
19
|
-
|
20
|
-
const PbCircleChartBlockContent = (props) => {
|
21
|
-
const chartOptions = {
|
22
|
-
series: [{
|
23
|
-
data: data,
|
24
|
-
innerSize: '100%',
|
25
|
-
borderWidth: 20,
|
26
|
-
borderColor: null,
|
27
|
-
}],
|
28
|
-
chart: {
|
29
|
-
events: {
|
30
|
-
render: function() {
|
31
|
-
const chart = this;
|
32
|
-
const blockElement = document.querySelector('.pb-circle-chart-block');
|
33
|
-
if (blockElement) {
|
34
|
-
blockElement.style.width = chart.chartWidth + 'px';
|
35
|
-
blockElement.style.height = chart.chartHeight + 'px';
|
36
|
-
}
|
37
|
-
},
|
38
|
-
redraw: function() {
|
39
|
-
const chart = this;
|
40
|
-
const blockElement = document.querySelector('.pb-circle-chart-block');
|
41
|
-
if (blockElement) {
|
42
|
-
blockElement.style.width = chart.chartWidth + 'px';
|
43
|
-
blockElement.style.height = chart.chartHeight + 'px';
|
44
|
-
}
|
45
|
-
}
|
46
|
-
}
|
47
|
-
}
|
48
|
-
}
|
49
|
-
|
50
|
-
return (
|
51
|
-
<div style={{ position: 'relative' }}>
|
52
|
-
<PbCircleChart
|
53
|
-
options={chartOptions}
|
54
|
-
{...props}
|
55
|
-
/>
|
56
|
-
<div
|
57
|
-
className="pb-circle-chart-block"
|
58
|
-
style={{
|
59
|
-
position: 'absolute',
|
60
|
-
top: 0,
|
61
|
-
left: 0,
|
62
|
-
display: 'flex',
|
63
|
-
justifyContent: 'center',
|
64
|
-
alignItems: 'center',
|
65
|
-
zIndex: 1,
|
66
|
-
textAlign: 'center',
|
67
|
-
pointerEvents: 'none'
|
68
|
-
}}
|
69
|
-
>
|
70
|
-
<Title
|
71
|
-
size={1}
|
72
|
-
tag="div"
|
73
|
-
>
|
74
|
-
{'83'}
|
75
|
-
</Title>
|
76
|
-
</div>
|
77
|
-
</div>
|
78
|
-
);
|
79
|
-
};
|
80
|
-
|
81
|
-
export default PbCircleChartBlockContent;
|
@@ -1,25 +0,0 @@
|
|
1
|
-
<% data = [
|
2
|
-
{
|
3
|
-
name: "Waiting for Calls",
|
4
|
-
y: 41,
|
5
|
-
},
|
6
|
-
{
|
7
|
-
name: "On Call",
|
8
|
-
y: 49,
|
9
|
-
},
|
10
|
-
{
|
11
|
-
name: "After Call",
|
12
|
-
y: 10,
|
13
|
-
},
|
14
|
-
] %>
|
15
|
-
|
16
|
-
<% chart_options = {
|
17
|
-
series: [{ data: data }],
|
18
|
-
plotOptions: {
|
19
|
-
pie: {
|
20
|
-
colors: ["#144075", "#1CA05C", "#F9BB00"],
|
21
|
-
},
|
22
|
-
},
|
23
|
-
} %>
|
24
|
-
|
25
|
-
<%= pb_rails("pb_circle_chart", props: { options: chart_options }) %>
|