You need to sign in or sign up before continuing.
playbook_ui 15.0.0.pre.alpha.play1986inlineloadingsolidvariant10321 → 15.0.0.pre.alpha.play2377bargraphscaffoldnewkit10368
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 +1 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +0 -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_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/dist/chunks/{_line_graph-CApw7aQD.js → _line_graph-BNXbOd7G.js} +1 -1
- data/dist/chunks/{_typeahead-J1_avqdO.js → _typeahead-_OUsjdM2.js} +2 -2
- data/dist/chunks/{_weekday_stacked-BvW0QnF8.js → _weekday_stacked-B3B3vRAT.js} +2 -2
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +9 -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/lib/playbook/version.rb +1 -1
- metadata +38 -7
- 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
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 9524283fecf5ca642db919b6832b0a83cf87f8a54629d39adb62df2bed4406f4
         | 
| 4 | 
            +
              data.tar.gz: '0949e4e0e8f8aee2bc0177b8ef77ad4a6044630aba2b04ee4fbb8bb8b057cfd9'
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 5df82cf4792229b9760155ad607c17672a597af719ea976cc66ca3f169e9a352f8da457b87fc3a5ec4fe2679ab65317b7b40052916c5fa9be1aad5762f0b5e2a
         | 
| 7 | 
            +
              data.tar.gz: 79b20fc68976ef31a0b1ea1827cbe9e7b4a2cfb1aa5050942705c33ff6f7d3d26ab3aa228b6ea12a418aeada7bde08d10e29628cf60c75fb10e0b5e7016214ef
         | 
| @@ -108,6 +108,7 @@ | |
| 108 108 | 
             
            @import 'pb_user_badge/user_badge';
         | 
| 109 109 | 
             
            @import 'pb_weekday_stacked/weekday_stacked';
         | 
| 110 110 | 
             
            @import 'pb_empty_state/empty_state';
         | 
| 111 | 
            +
            @import 'pb_pb_bar_graph/pb_bar_graph';
         | 
| 111 112 | 
             
            @import 'utilities/mixins';
         | 
| 112 113 | 
             
            @import 'utilities/spacing';
         | 
| 113 114 | 
             
            @import 'utilities/cursor';
         | 
| @@ -4,7 +4,6 @@ examples: | |
| 4 4 | 
             
              - bar_graph_default: Default
         | 
| 5 5 | 
             
              - bar_graph_legend: Legend
         | 
| 6 6 | 
             
              - bar_graph_legend_position: Legend Position
         | 
| 7 | 
            -
              - bar_graph_legend_non_clickable: Legend Non Clickable
         | 
| 8 7 | 
             
              - bar_graph_height: Height
         | 
| 9 8 | 
             
              - bar_graph_spline: Spline
         | 
| 10 9 | 
             
              - bar_graph_colors: Color Overrides
         | 
| @@ -16,7 +16,6 @@ type LoadingInlineProps = { | |
| 16 16 | 
             
              htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
         | 
| 17 17 | 
             
              id?: string,
         | 
| 18 18 | 
             
              text?: string,
         | 
| 19 | 
            -
              variant?: "dotted" | "solid" ,
         | 
| 20 19 | 
             
            }
         | 
| 21 20 |  | 
| 22 21 | 
             
            const LoadingInline = (props: LoadingInlineProps) => {
         | 
| @@ -29,7 +28,6 @@ const LoadingInline = (props: LoadingInlineProps) => { | |
| 29 28 | 
             
                htmlOptions = {},
         | 
| 30 29 | 
             
                id,
         | 
| 31 30 | 
             
                text = ' Loading',
         | 
| 32 | 
            -
                variant = 'dotted',
         | 
| 33 31 | 
             
              } = props
         | 
| 34 32 |  | 
| 35 33 | 
             
              const ariaProps = buildAriaProps(aria)
         | 
| @@ -56,7 +54,7 @@ const LoadingInline = (props: LoadingInlineProps) => { | |
| 56 54 | 
             
                    <Icon
         | 
| 57 55 | 
             
                        aria={{ label: 'loading icon' }}
         | 
| 58 56 | 
             
                        fixedWidth
         | 
| 59 | 
            -
                        icon= | 
| 57 | 
            +
                        icon="spinner"
         | 
| 60 58 | 
             
                        pulse
         | 
| 61 59 | 
             
                    />
         | 
| 62 60 | 
             
                    {text}
         | 
| @@ -3,11 +3,9 @@ examples: | |
| 3 3 | 
             
              rails:
         | 
| 4 4 | 
             
              - loading_inline_default: Default
         | 
| 5 5 | 
             
              - loading_inline_custom: Custom Text
         | 
| 6 | 
            -
              - loading_inline_variant: Variant
         | 
| 7 6 |  | 
| 8 7 |  | 
| 9 8 |  | 
| 10 9 | 
             
              react:
         | 
| 11 10 | 
             
              - loading_inline_default: Default
         | 
| 12 11 | 
             
              - loading_inline_custom: Custom Text
         | 
| 13 | 
            -
              - loading_inline_variant: Variant
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            <%= pb_content_tag do %>
         | 
| 2 2 |  | 
| 3 3 | 
             
              <%= pb_rails("body", props: { color: "light", dark: object.dark }) do %>
         | 
| 4 | 
            -
                <%= pb_rails("icon", props: { aria: { label: "loading icon" }, fixed_width: true, icon:  | 
| 4 | 
            +
                <%= pb_rails("icon", props: { aria: { label: "loading icon" }, fixed_width: true, icon: "spinner", pulse: true }) %> <%= object.text %>
         | 
| 5 5 | 
             
              <% end %>
         | 
| 6 6 | 
             
            <% end %>
         | 
| @@ -8,21 +8,10 @@ module Playbook | |
| 8 8 | 
             
                               default: "left"
         | 
| 9 9 | 
             
                  prop :dark, type: Playbook::Props::Boolean, default: false
         | 
| 10 10 | 
             
                  prop :text, type: Playbook::Props::String, default: "Loading"
         | 
| 11 | 
            -
                  prop :variant, type: Playbook::Props::Enum,
         | 
| 12 | 
            -
                                 values: %w[dotted solid],
         | 
| 13 | 
            -
                                 default: "dotted"
         | 
| 14 11 |  | 
| 15 12 | 
             
                  def classname
         | 
| 16 13 | 
             
                    generate_classname("pb_loading_inline_kit", align)
         | 
| 17 14 | 
             
                  end
         | 
| 18 | 
            -
             | 
| 19 | 
            -
                  def spinner_icon
         | 
| 20 | 
            -
                    if variant == "dotted"
         | 
| 21 | 
            -
                      "spinner"
         | 
| 22 | 
            -
                    elsif variant == "solid"
         | 
| 23 | 
            -
                      "spinner-solid"
         | 
| 24 | 
            -
                    end
         | 
| 25 | 
            -
                  end
         | 
| 26 15 | 
             
                end
         | 
| 27 16 | 
             
              end
         | 
| 28 17 | 
             
            end
         | 
| 
            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
         |