playbook_ui 15.0.0.pre.alpha.PLAY2467contactkitinternational10329 → 15.0.0.pre.alpha.PLAY2468phonenuminputvalidation10790
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 +3 -0
- data/app/pb_kits/playbook/pb_advanced_table/Components/RegularTableView.tsx +24 -11
- data/app/pb_kits/playbook/pb_advanced_table/Components/VirtualizedTableView.tsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/Utilities/RowUtils.ts +7 -2
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +67 -13
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_vertical_border.jsx +2 -2
- data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_card/_card.scss +12 -4
- data/app/pb_kits/playbook/pb_card/_card.tsx +3 -3
- data/app/pb_kits/playbook/pb_card/_card_mixin.scss +10 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_highlight.html.erb +3 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_highlight.jsx +8 -0
- data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.tsx +2 -0
- data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.html.erb +1 -0
- data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +1 -0
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +6 -4
- data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +48 -4
- data/app/pb_kits/playbook/pb_dialog/_close_icon.tsx +5 -1
- data/app/pb_kits/playbook/pb_dialog/_dialog.tsx +6 -8
- data/app/pb_kits/playbook/pb_dialog/dialog.html.erb +1 -1
- 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 +9 -0
- 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 +1 -0
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -1
- data/app/pb_kits/playbook/pb_form/pb_form_validation.js +19 -4
- data/app/pb_kits/playbook/pb_icon/_icon.tsx +13 -2
- data/app/pb_kits/playbook/pb_icon/icon.rb +9 -1
- data/app/pb_kits/playbook/pb_icon_button/_icon_button.tsx +1 -0
- data/app/pb_kits/playbook/pb_icon_button/icon_button.html.erb +2 -1
- 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 +3 -1
- data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_variant.html.erb +5 -0
- data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_variant.jsx +24 -0
- data/app/pb_kits/playbook/pb_loading_inline/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_loading_inline/docs/index.js +1 -0
- 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 +11 -0
- data/app/pb_kits/playbook/pb_nav/_item.tsx +19 -5
- data/app/pb_kits/playbook/pb_nav/_nav.scss +27 -0
- data/app/pb_kits/playbook/pb_nav/_nav.test.js +16 -0
- data/app/pb_kits/playbook/pb_nav/_nav.tsx +5 -0
- data/app/pb_kits/playbook/pb_nav/docs/_horizontal_nav_extendedunderline.html.erb +6 -0
- data/app/pb_kits/playbook/pb_nav/docs/_horizontal_nav_extendedunderline.jsx +39 -0
- data/app/pb_kits/playbook/pb_nav/docs/_horizontal_nav_extendedunderline.md +1 -0
- data/app/pb_kits/playbook/pb_nav/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_nav/docs/index.js +2 -1
- data/app/pb_kits/playbook/pb_nav/item.html.erb +6 -2
- data/app/pb_kits/playbook/pb_nav/nav.rb +6 -1
- 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_pb_bar_graph/_pb_bar_graph.scss +0 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/_pb_bar_graph.tsx +62 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_colors.html.erb +35 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_colors.jsx +49 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_colors_rails.md +1 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_colors_react.md +2 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_default.html.erb +38 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_default.jsx +51 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_height.html.erb +46 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_height.jsx +62 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_height.md +3 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_horizontal.html.erb +47 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_horizontal.jsx +60 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend.html.erb +25 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend.jsx +36 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend_non_clickable.jsx +44 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend_position.html.erb +100 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend_position.jsx +126 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_negative_numbers.html.erb +32 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_negative_numbers.jsx +48 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_secondary_y_axis.html.erb +68 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_secondary_y_axis.jsx +81 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_spline.html.erb +31 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_spline.jsx +42 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_spline.md +2 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_stacked.html.erb +35 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_stacked.jsx +51 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/example.yml +27 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/index.js +11 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/pbBarGraphTheme.ts +106 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/pb_bar_graph.html.erb +1 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/pb_bar_graph.rb +28 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/pbbargraph.test.jsx +31 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/_pb_circle_chart.scss +3 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/_pb_circle_chart.tsx +62 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_block_content.html.erb +31 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_block_content.jsx +81 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_color_overrides.html.erb +25 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_color_overrides.jsx +40 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_color_overrides.md +5 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_custom_tooltip.html.erb +27 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_custom_tooltip.jsx +39 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_custom_tooltip.md +5 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_legend_position.html.erb +93 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_legend_position.jsx +131 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_legend_position.md +14 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_labels.html.erb +42 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_labels.jsx +58 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_legend.html.erb +24 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_legend.jsx +38 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_default.html.erb +22 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_default.jsx +33 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_inner_sizes.html.erb +118 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_inner_sizes.jsx +144 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_live_data.jsx +60 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_rounded.html.erb +24 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_rounded.jsx +42 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_with_title.html.erb +38 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_with_title.jsx +52 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/example.yml +29 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/index.js +11 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/pbCircleChartTheme.ts +88 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.html.erb +1 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.rb +28 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.test.jsx +51 -0
- data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +43 -2
- 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 +13 -5
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_children.html.erb +23 -0
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_children.jsx +45 -7
- data/app/pb_kits/playbook/pb_section_separator/section_separator.html.erb +4 -1
- data/app/pb_kits/playbook/pb_section_separator/section_separator.test.js +165 -0
- data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +3 -0
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_autocomplete.html.erb +41 -0
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_autocomplete.jsx +80 -0
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_autocomplete.md +1 -0
- data/app/pb_kits/playbook/pb_text_input/docs/example.yml +3 -0
- data/app/pb_kits/playbook/pb_text_input/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_text_input/text_input.rb +2 -3
- data/app/pb_kits/playbook/pb_text_input/text_input.test.js +38 -0
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +24 -8
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.html.erb +0 -10
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.jsx +0 -9
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.md +1 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.html.erb +3 -17
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.jsx +0 -15
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.md +1 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.html.erb +0 -2
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.jsx +0 -2
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.md +5 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_current_year.html.erb +12 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_current_year.jsx +25 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_current_year.md +1 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_date.html.erb +4 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_date.jsx +17 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_date.md +1 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_time.html.erb +18 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_time.jsx +44 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_time.md +1 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.html.erb +0 -14
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.jsx +0 -14
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.md +1 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_unstyled.html.erb +0 -4
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_unstyled.jsx +0 -4
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.jsx +0 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.md +5 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_current_year.html.erb +16 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_current_year.jsx +30 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_current_year.md +1 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_date.html.erb +16 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_date.jsx +30 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_date.md +1 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_time.html.erb +26 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_time.jsx +41 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_time.md +1 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/example.yml +18 -6
- data/app/pb_kits/playbook/pb_timestamp/docs/index.js +6 -0
- data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +29 -7
- data/app/pb_kits/playbook/pb_timestamp/timestamp.test.js +69 -4
- data/dist/chunks/{_line_graph-CApw7aQD.js → _line_graph-CspDMr9b.js} +1 -1
- data/dist/chunks/_typeahead-B_wpgm_J.js +6 -0
- data/dist/chunks/_weekday_stacked-CXzARuTy.js +37 -0
- data/dist/chunks/componentRegistry-DzmmLR2x.js +1 -0
- data/dist/chunks/{lib-CY5ZPzic.js → lib-QZuu1ltS.js} +1 -1
- data/dist/chunks/pb_form_validation-W63gNcnu.js +1 -0
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +15 -1
- 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 +0 -1
- data/lib/playbook/forms/builder/form_field_builder.rb +37 -2
- data/lib/playbook/kit_base.rb +23 -2
- data/lib/playbook/version.rb +1 -1
- metadata +110 -28
- data/app/pb_kits/playbook/pb_dialog/dialogHelper.js +0 -65
- data/app/pb_kits/playbook/pb_timestamp/docs/_time_stamp_default.md +0 -1
- data/dist/chunks/_typeahead-J1_avqdO.js +0 -6
- data/dist/chunks/_weekday_stacked-BSRRJewP.js +0 -37
- data/dist/chunks/pb_form_validation-D3b0JKHH.js +0 -1
@@ -4,8 +4,8 @@
|
|
4
4
|
|
5
5
|
<%= pb_rails("caption", props: { size: 'xs', text: "hello", id: "caption_breached" }) %>
|
6
6
|
|
7
|
-
|
8
|
-
window.addEventListener("
|
7
|
+
<script>
|
8
|
+
window.addEventListener("load", () => {
|
9
9
|
|
10
10
|
// variables for the kits you are targeting
|
11
11
|
const passphrase = document.querySelector(".passphrase_breached").querySelector("input")
|
@@ -142,4 +142,4 @@
|
|
142
142
|
});
|
143
143
|
|
144
144
|
})
|
145
|
-
|
145
|
+
</script>
|
@@ -10,8 +10,8 @@
|
|
10
10
|
<%= pb_rails("caption", props: { size: 'xs', text: "hello", id: "caption_common" }) %>
|
11
11
|
|
12
12
|
|
13
|
-
|
14
|
-
window.addEventListener("
|
13
|
+
<script>
|
14
|
+
window.addEventListener("load", () => {
|
15
15
|
|
16
16
|
const commonText = document.querySelector("#body_common")
|
17
17
|
|
@@ -133,4 +133,4 @@
|
|
133
133
|
});
|
134
134
|
|
135
135
|
})
|
136
|
-
|
136
|
+
</script>
|
@@ -4,8 +4,8 @@
|
|
4
4
|
|
5
5
|
<div id="match"> </div>
|
6
6
|
|
7
|
-
|
8
|
-
window.addEventListener("
|
7
|
+
<script>
|
8
|
+
window.addEventListener("load", () => {
|
9
9
|
|
10
10
|
const useState = (defaultValue) => {
|
11
11
|
let value = defaultValue;
|
@@ -48,4 +48,4 @@
|
|
48
48
|
|
49
49
|
}
|
50
50
|
})
|
51
|
-
|
51
|
+
</script>
|
@@ -32,8 +32,8 @@
|
|
32
32
|
|
33
33
|
|
34
34
|
|
35
|
-
|
36
|
-
window.addEventListener("
|
35
|
+
<script>
|
36
|
+
window.addEventListener("load", () => {
|
37
37
|
|
38
38
|
|
39
39
|
// variables for the passphrase kits you are targeting
|
@@ -320,4 +320,4 @@
|
|
320
320
|
|
321
321
|
|
322
322
|
})
|
323
|
-
|
323
|
+
</script>
|
@@ -7,8 +7,8 @@
|
|
7
7
|
<%= pb_rails("text_input", props: { label: "Passphrase Strength", value: "0", disabled: true, id: "calc_strength_change" }) %>
|
8
8
|
|
9
9
|
|
10
|
-
|
11
|
-
window.addEventListener("
|
10
|
+
<script>
|
11
|
+
window.addEventListener("load", () => {
|
12
12
|
|
13
13
|
// variables for the kits you are targeting
|
14
14
|
const passphrase = document.querySelector(".passphrase_change").querySelector("input")
|
@@ -120,4 +120,4 @@
|
|
120
120
|
});
|
121
121
|
|
122
122
|
})
|
123
|
-
|
123
|
+
</script>
|
File without changes
|
@@ -0,0 +1,62 @@
|
|
1
|
+
import React, { useMemo } from "react"
|
2
|
+
import { globalProps } from "../utilities/globalProps";
|
3
|
+
import { buildAriaProps, buildDataProps, buildHtmlProps } from "../utilities/props";
|
4
|
+
import Highcharts from "highcharts"
|
5
|
+
import HighchartsReact from "highcharts-react-official"
|
6
|
+
|
7
|
+
import pbBarGraphTheme from "./pbBarGraphTheme"
|
8
|
+
|
9
|
+
import classnames from "classnames";
|
10
|
+
|
11
|
+
type PbBarGraphProps = {
|
12
|
+
|
13
|
+
options: Record<string, unknown>
|
14
|
+
className?: string
|
15
|
+
aria?: { [key: string]: string };
|
16
|
+
data?: { [key: string]: string };
|
17
|
+
id: string;
|
18
|
+
htmlOptions?: {[key: string]: string | number | boolean | (() => void)};
|
19
|
+
}
|
20
|
+
|
21
|
+
const PbBarGraph = ({
|
22
|
+
aria = {},
|
23
|
+
data = {},
|
24
|
+
id,
|
25
|
+
htmlOptions = {},
|
26
|
+
options,
|
27
|
+
className = "pb_pb_bar_graph",
|
28
|
+
}: PbBarGraphProps): React.ReactElement => {
|
29
|
+
|
30
|
+
const ariaProps = buildAriaProps(aria);
|
31
|
+
const dataProps = buildDataProps(data)
|
32
|
+
const htmlProps = buildHtmlProps(htmlOptions);
|
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 <BarGraph />", options)
|
38
|
+
return {}
|
39
|
+
}
|
40
|
+
|
41
|
+
return Highcharts.merge({}, pbBarGraphTheme, 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 PbBarGraph
|
@@ -0,0 +1,35 @@
|
|
1
|
+
<% chart_data = [{
|
2
|
+
name: 'Installation',
|
3
|
+
data: [1475,200,3000,654,656]
|
4
|
+
}, {
|
5
|
+
name: 'Manufacturing',
|
6
|
+
data: [4434,524,2320,440,500]
|
7
|
+
}, {
|
8
|
+
name: 'Sales & Distribution',
|
9
|
+
data: [3387,743,1344,434,440,]
|
10
|
+
}, {
|
11
|
+
name: 'Project Development',
|
12
|
+
data: [3227,878,999,780,1000]
|
13
|
+
}, {
|
14
|
+
name: 'Other',
|
15
|
+
data: [1111,677,3245,500,200]
|
16
|
+
}] %>
|
17
|
+
|
18
|
+
<% chart_options = {
|
19
|
+
series: chart_data,
|
20
|
+
title: {
|
21
|
+
text: "Bar Graph with Custom Data Colors",
|
22
|
+
},
|
23
|
+
xAxis: {
|
24
|
+
categories: ["Jan", "Feb", "Mar", "Apr", "May"],
|
25
|
+
},
|
26
|
+
yAxis: {
|
27
|
+
title: {
|
28
|
+
text: "Number of Employees",
|
29
|
+
},
|
30
|
+
},
|
31
|
+
colors: ['#1CA05C', '#FD804C', '#144075', '#00C4D7', '#DA0014'],
|
32
|
+
}
|
33
|
+
%>
|
34
|
+
|
35
|
+
<%= pb_rails("pb_bar_graph", props: {options: chart_options}) %>
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { PbBarGraph } from 'playbook-ui'
|
3
|
+
import colors from '../../tokens/exports/_colors.module.scss'
|
4
|
+
|
5
|
+
const chartData = [{
|
6
|
+
name: 'Installation',
|
7
|
+
data: [1475, 200, 3000, 654, 656],
|
8
|
+
}, {
|
9
|
+
name: 'Manufacturing',
|
10
|
+
data: [4434, 524, 2320, 440, 500],
|
11
|
+
}, {
|
12
|
+
name: 'Sales & Distribution',
|
13
|
+
data: [3387, 743, 1344, 434, 440],
|
14
|
+
}, {
|
15
|
+
name: 'Project Development',
|
16
|
+
data: [3227, 878, 999, 780, 1000],
|
17
|
+
}, {
|
18
|
+
name: 'Other',
|
19
|
+
data: [1111, 677, 3245, 500, 200],
|
20
|
+
}]
|
21
|
+
|
22
|
+
const chartOptions = {
|
23
|
+
series: chartData,
|
24
|
+
title: {
|
25
|
+
text: "Bar Graph with Custom Data Colors",
|
26
|
+
},
|
27
|
+
xAxis: {
|
28
|
+
categories: ["Jan", "Feb", "Mar", "Apr", "May"],
|
29
|
+
},
|
30
|
+
yAxis: {
|
31
|
+
title: {
|
32
|
+
text: "Number of Employees",
|
33
|
+
},
|
34
|
+
},
|
35
|
+
colors: [colors.data_4, colors.data_5, colors.data_6, colors.data_7, colors.data_8],
|
36
|
+
}
|
37
|
+
|
38
|
+
const PbBarGraphColors = () => {
|
39
|
+
|
40
|
+
return (
|
41
|
+
<div>
|
42
|
+
<PbBarGraph
|
43
|
+
options={chartOptions}
|
44
|
+
/>
|
45
|
+
</div>
|
46
|
+
)
|
47
|
+
}
|
48
|
+
|
49
|
+
export default PbBarGraphColors
|
@@ -0,0 +1 @@
|
|
1
|
+
Custom data colors allow for color customization to match the needs of business requirements. To accomplish this, you can use hex values.
|
@@ -0,0 +1,38 @@
|
|
1
|
+
<% chart_data = [{
|
2
|
+
name: 'Installation',
|
3
|
+
data: [1475,200,3000,654,656]
|
4
|
+
}, {
|
5
|
+
name: 'Manufacturing',
|
6
|
+
data: [4434,524,2320,440,500]
|
7
|
+
}, {
|
8
|
+
name: 'Sales & Distribution',
|
9
|
+
data: [3387,743,1344,434,440,]
|
10
|
+
}, {
|
11
|
+
name: 'Project Development',
|
12
|
+
data: [3227,878,999,780,1000]
|
13
|
+
}, {
|
14
|
+
name: 'Other',
|
15
|
+
data: [1111,677,3245,500,200]
|
16
|
+
}] %>
|
17
|
+
|
18
|
+
|
19
|
+
<% chart_options = {
|
20
|
+
series: chart_data,
|
21
|
+
title: {
|
22
|
+
text: 'Solar Employment Growth by Sector, 2010-2016',
|
23
|
+
},
|
24
|
+
subtitle: {
|
25
|
+
text: 'Source: thesolarfoundation.com',
|
26
|
+
},
|
27
|
+
xAxis: {
|
28
|
+
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
|
29
|
+
},
|
30
|
+
yAxis: {
|
31
|
+
title: {
|
32
|
+
text: 'Number of Employees',
|
33
|
+
},
|
34
|
+
},
|
35
|
+
}
|
36
|
+
%>
|
37
|
+
|
38
|
+
<%= pb_rails("pb_bar_graph", props: {options: chart_options}) %>
|
@@ -0,0 +1,51 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { PbBarGraph } from 'playbook-ui'
|
3
|
+
|
4
|
+
const chartData = [{
|
5
|
+
name: 'Installation',
|
6
|
+
data: [1475, 200, 3000, 654, 656],
|
7
|
+
}, {
|
8
|
+
name: 'Manufacturing',
|
9
|
+
data: [4434, 524, 2320, 440, 500],
|
10
|
+
}, {
|
11
|
+
name: 'Sales & Distribution',
|
12
|
+
data: [3387, 743, 1344, 434, 440],
|
13
|
+
}, {
|
14
|
+
name: 'Project Development',
|
15
|
+
data: [3227, 878, 999, 780, 1000],
|
16
|
+
}, {
|
17
|
+
name: 'Other',
|
18
|
+
data: [1111, 677, 3245, 500, 200],
|
19
|
+
}]
|
20
|
+
|
21
|
+
const chartOptions = {
|
22
|
+
series: chartData,
|
23
|
+
title: {
|
24
|
+
text: 'Solar Employment Growth by Sector, 2010-2016',
|
25
|
+
},
|
26
|
+
subtitle: {
|
27
|
+
text: 'Source: thesolarfoundation.com',
|
28
|
+
},
|
29
|
+
xAxis: {
|
30
|
+
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
|
31
|
+
},
|
32
|
+
yAxis: {
|
33
|
+
title: {
|
34
|
+
text: 'Number of Employees',
|
35
|
+
},
|
36
|
+
},
|
37
|
+
}
|
38
|
+
|
39
|
+
const PbBarGraphDefault = (props) => {
|
40
|
+
|
41
|
+
return (
|
42
|
+
<div>
|
43
|
+
<PbBarGraph
|
44
|
+
{...props}
|
45
|
+
options={chartOptions}
|
46
|
+
/>
|
47
|
+
</div>
|
48
|
+
)
|
49
|
+
}
|
50
|
+
|
51
|
+
export default PbBarGraphDefault
|
@@ -0,0 +1,46 @@
|
|
1
|
+
<% chart_data = [{
|
2
|
+
name: 'Number of Installations',
|
3
|
+
data: [1475,200,3000,654,656]
|
4
|
+
}] %>
|
5
|
+
|
6
|
+
<% chart_options_pixel = {
|
7
|
+
chart: {
|
8
|
+
height: "300"
|
9
|
+
},
|
10
|
+
series: chart_data,
|
11
|
+
title: {
|
12
|
+
text: "Fixed Height (300px)",
|
13
|
+
},
|
14
|
+
xAxis: {
|
15
|
+
categories: ["Jan", "Feb", "Mar", "Apr", "May"],
|
16
|
+
},
|
17
|
+
yAxis: {
|
18
|
+
title: {
|
19
|
+
text: "Number of Employees",
|
20
|
+
},
|
21
|
+
}
|
22
|
+
} %>
|
23
|
+
|
24
|
+
<%= pb_rails("pb_bar_graph", props: {options: chart_options_pixel}) %>
|
25
|
+
|
26
|
+
<br /><br />
|
27
|
+
|
28
|
+
<% chart_options_percentage = {
|
29
|
+
chart: {
|
30
|
+
height: "50%"
|
31
|
+
},
|
32
|
+
series: chart_data,
|
33
|
+
title: {
|
34
|
+
text: "Percentage Height (50%)",
|
35
|
+
},
|
36
|
+
xAxis: {
|
37
|
+
categories: ["Jan", "Feb", "Mar", "Apr", "May"],
|
38
|
+
},
|
39
|
+
yAxis: {
|
40
|
+
title: {
|
41
|
+
text: "Number of Employees",
|
42
|
+
},
|
43
|
+
}
|
44
|
+
} %>
|
45
|
+
|
46
|
+
<%= pb_rails("pb_bar_graph", props: {options: chart_options_percentage}) %>
|
@@ -0,0 +1,62 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { PbBarGraph } from 'playbook-ui'
|
3
|
+
|
4
|
+
const chartData = [{
|
5
|
+
name: 'Number of Installations',
|
6
|
+
data: [1475, 200, 3000, 654, 656],
|
7
|
+
}]
|
8
|
+
|
9
|
+
const pixelHeightChartOptions = {
|
10
|
+
chart: {
|
11
|
+
height: "300"
|
12
|
+
},
|
13
|
+
series: chartData,
|
14
|
+
title: {
|
15
|
+
text: "Fixed Height (300px)",
|
16
|
+
},
|
17
|
+
xAxis: {
|
18
|
+
categories: ["Jan", "Feb", "Mar", "Apr", "May"],
|
19
|
+
},
|
20
|
+
yAxis: {
|
21
|
+
title: {
|
22
|
+
text: "Number of Employees",
|
23
|
+
},
|
24
|
+
},
|
25
|
+
};
|
26
|
+
|
27
|
+
const percentageHeightChartOptions = {
|
28
|
+
chart: {
|
29
|
+
height: "50%"
|
30
|
+
},
|
31
|
+
series: chartData,
|
32
|
+
title: {
|
33
|
+
text: "Percentage Height (50%)",
|
34
|
+
},
|
35
|
+
xAxis: {
|
36
|
+
categories: ["Jan", "Feb", "Mar", "Apr", "May"],
|
37
|
+
},
|
38
|
+
yAxis: {
|
39
|
+
title: {
|
40
|
+
text: "Number of Employees",
|
41
|
+
},
|
42
|
+
},
|
43
|
+
};
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
const PbBarGraphHeight = () => (
|
48
|
+
<div>
|
49
|
+
<PbBarGraph
|
50
|
+
options={pixelHeightChartOptions}
|
51
|
+
/>
|
52
|
+
|
53
|
+
<br />
|
54
|
+
<br />
|
55
|
+
|
56
|
+
<PbBarGraph
|
57
|
+
options={percentageHeightChartOptions}
|
58
|
+
/>
|
59
|
+
</div>
|
60
|
+
)
|
61
|
+
|
62
|
+
export default PbBarGraphHeight
|
@@ -0,0 +1,3 @@
|
|
1
|
+
By default, Highcharts have a height of 400px, but this can be customized. You can override the default by specifying either a percentage or a fixed pixel value.
|
2
|
+
|
3
|
+
Using a percentage maintains a consistent aspect ratio across different responsive sizes. For example, setting the height to 50% makes the chart’s height half of its width.
|
@@ -0,0 +1,47 @@
|
|
1
|
+
<% chart_options = {
|
2
|
+
chart: {
|
3
|
+
type: 'bar'
|
4
|
+
},
|
5
|
+
title: {
|
6
|
+
text: 'Historic World Population by Region',
|
7
|
+
align: 'left'
|
8
|
+
},
|
9
|
+
subtitle: {
|
10
|
+
text: 'Source: <a ' +
|
11
|
+
'href="https://en.wikipedia.org/wiki/List_of_continents_and_continental_subregions_by_population"' +
|
12
|
+
'target="_blank">Wikipedia.org</a>',
|
13
|
+
align: 'left'
|
14
|
+
},
|
15
|
+
xAxis: {
|
16
|
+
categories: ['Africa', 'America', 'Asia', 'Europe'],
|
17
|
+
lineWidth: 0
|
18
|
+
},
|
19
|
+
yAxis: {
|
20
|
+
title: {
|
21
|
+
text: '',
|
22
|
+
},
|
23
|
+
},
|
24
|
+
tooltip: {
|
25
|
+
valueSuffix: ' millions'
|
26
|
+
},
|
27
|
+
plotOptions: {
|
28
|
+
bar: {
|
29
|
+
dataLabels: {
|
30
|
+
enabled: true
|
31
|
+
},
|
32
|
+
groupPadding: 0.1
|
33
|
+
}
|
34
|
+
},
|
35
|
+
series: [{
|
36
|
+
name: 'Year 1990',
|
37
|
+
data: [631, 727, 3202, 721]
|
38
|
+
}, {
|
39
|
+
name: 'Year 2000',
|
40
|
+
data: [814, 841, 3714, 726]
|
41
|
+
}, {
|
42
|
+
name: 'Year 2018',
|
43
|
+
data: [1276, 1007, 4561, 746]
|
44
|
+
}],
|
45
|
+
} %>
|
46
|
+
|
47
|
+
<%= pb_rails("pb_bar_graph", props: {options: chart_options}) %>
|
@@ -0,0 +1,60 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { PbBarGraph } from 'playbook-ui'
|
3
|
+
|
4
|
+
|
5
|
+
const chartOptions = {
|
6
|
+
chart: {
|
7
|
+
type: 'bar'
|
8
|
+
},
|
9
|
+
title: {
|
10
|
+
text: 'Historic World Population by Region',
|
11
|
+
align: 'left'
|
12
|
+
},
|
13
|
+
subtitle: {
|
14
|
+
text: 'Source: <a ' +
|
15
|
+
'href="https://en.wikipedia.org/wiki/List_of_continents_and_continental_subregions_by_population"' +
|
16
|
+
'target="_blank">Wikipedia.org</a>',
|
17
|
+
align: 'left'
|
18
|
+
},
|
19
|
+
xAxis: {
|
20
|
+
categories: ['Africa', 'America', 'Asia', 'Europe'],
|
21
|
+
lineWidth: 0
|
22
|
+
},
|
23
|
+
yAxis: {
|
24
|
+
title: {
|
25
|
+
text: '',
|
26
|
+
},
|
27
|
+
},
|
28
|
+
tooltip: {
|
29
|
+
valueSuffix: ' millions'
|
30
|
+
},
|
31
|
+
plotOptions: {
|
32
|
+
bar: {
|
33
|
+
dataLabels: {
|
34
|
+
enabled: true
|
35
|
+
},
|
36
|
+
groupPadding: 0.1
|
37
|
+
}
|
38
|
+
},
|
39
|
+
series: [{
|
40
|
+
name: 'Year 1990',
|
41
|
+
data: [631, 727, 3202, 721]
|
42
|
+
}, {
|
43
|
+
name: 'Year 2000',
|
44
|
+
data: [814, 841, 3714, 726]
|
45
|
+
}, {
|
46
|
+
name: 'Year 2018',
|
47
|
+
data: [1276, 1007, 4561, 746]
|
48
|
+
}],
|
49
|
+
}
|
50
|
+
|
51
|
+
|
52
|
+
const PbBarGraphHorizontal = () => (
|
53
|
+
<div>
|
54
|
+
<PbBarGraph
|
55
|
+
options={chartOptions}
|
56
|
+
/>
|
57
|
+
</div>
|
58
|
+
)
|
59
|
+
|
60
|
+
export default PbBarGraphHorizontal
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<% chart_data = [{
|
2
|
+
name: 'Number of Installations',
|
3
|
+
data: [1475,200,3000,654,656]
|
4
|
+
}] %>
|
5
|
+
|
6
|
+
<% chart_options = {
|
7
|
+
series: chart_data,
|
8
|
+
title: {
|
9
|
+
text: 'Bar Graph with Legend',
|
10
|
+
},
|
11
|
+
xAxis: {
|
12
|
+
categories: ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],
|
13
|
+
},
|
14
|
+
yAxis: {
|
15
|
+
title: {
|
16
|
+
text: 'Number of Employees',
|
17
|
+
},
|
18
|
+
},
|
19
|
+
legend: {
|
20
|
+
enabled: true
|
21
|
+
},
|
22
|
+
}
|
23
|
+
%>
|
24
|
+
|
25
|
+
<%= pb_rails("pb_bar_graph", props: {options: chart_options}) %>
|
@@ -0,0 +1,36 @@
|
|
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
|
+
|
10
|
+
const chartOptions = {
|
11
|
+
series: chartData,
|
12
|
+
title: {
|
13
|
+
text: 'Bar Graph with Legend',
|
14
|
+
},
|
15
|
+
xAxis: {
|
16
|
+
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
|
17
|
+
},
|
18
|
+
yAxis: {
|
19
|
+
title: {
|
20
|
+
text: 'Number of Employees',
|
21
|
+
},
|
22
|
+
},
|
23
|
+
legend: { enabled: true },
|
24
|
+
}
|
25
|
+
|
26
|
+
const PbBarGraphLegend = () => {
|
27
|
+
|
28
|
+
return (
|
29
|
+
<div>
|
30
|
+
<PbBarGraph
|
31
|
+
options={chartOptions}
|
32
|
+
/>
|
33
|
+
</div>
|
34
|
+
)
|
35
|
+
}
|
36
|
+
export default PbBarGraphLegend
|
@@ -0,0 +1,44 @@
|
|
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
|
+
|
10
|
+
const chartOptions = {
|
11
|
+
title: {
|
12
|
+
text: 'Bar Graph with Legend Non Clickable',
|
13
|
+
},
|
14
|
+
xAxis: {
|
15
|
+
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
|
16
|
+
},
|
17
|
+
yAxis: {
|
18
|
+
title: {
|
19
|
+
text: 'Number of Employees',
|
20
|
+
},
|
21
|
+
},
|
22
|
+
legend: {
|
23
|
+
enabled: true,
|
24
|
+
events: {
|
25
|
+
itemClick: function () {
|
26
|
+
return false;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
},
|
30
|
+
series: chartData
|
31
|
+
}
|
32
|
+
|
33
|
+
const PbBarGraphLegendNonClickable = () => {
|
34
|
+
|
35
|
+
return (
|
36
|
+
<div>
|
37
|
+
<PbBarGraph
|
38
|
+
options={chartOptions}
|
39
|
+
/>
|
40
|
+
</div>
|
41
|
+
)
|
42
|
+
}
|
43
|
+
|
44
|
+
export default PbBarGraphLegendNonClickable
|