Sha256: 94635f54a61cda3087cb76dbc7cd9e7be0bf75f4eb5317c1e4676e6f13e1247f

Contents?: true

Size: 838 Bytes

Versions: 4

Compression:

Stored size: 838 Bytes

Contents

# frozen_string_literal: true

module Playbook
  module PbDistributionBar
    class DistributionBar
      include Playbook::Props

      partial "pb_distribution_bar/distribution_bar"

      prop :size, type: Playbook::Props::Enum,
                  values: %w[lg sm],
                  default: "lg"
      prop :widths, type: Playbook::Props::NumberArray,
                  default: [1]
      prop :colors, type: Playbook::Props::Array,
                  default: []

      def classname
        generate_classname("pb_distribution_bar", size)
      end

      def widths_to_percentages
        widths.map do |width|
          (width.to_f * 100 / widths.sum).round(2)
        end
      end

      def chart_options
        {
          size: size,
          widths: widths,
          colors: colors,
        }
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
playbook_ui-7.14.0.pre.alpha1 app/pb_kits/playbook/pb_distribution_bar/distribution_bar.rb
playbook_ui-7.16.0 app/pb_kits/playbook/pb_distribution_bar/distribution_bar.rb
playbook_ui-7.15.1 app/pb_kits/playbook/pb_distribution_bar/distribution_bar.rb
playbook_ui-7.15.0 app/pb_kits/playbook/pb_distribution_bar/distribution_bar.rb