Sha256: 41540ad8ca91f528d2c88f1db63c63ffbe18111a432ee5b1504be372962988ee

Contents?: true

Size: 1.82 KB

Versions: 275

Compression:

Stored size: 1.82 KB

Contents

# frozen_string_literal: true

module Playbook
  module PbMultipleUsersStacked
    class MultipleUsersStacked < Playbook::KitBase
      prop :users, type: Playbook::Props::HashArray, required: true
      prop :size, type: Playbook::Props::Enum,
                  values: %w[sm md lg xl],
                  default: "sm"

      prop :variant, type: Playbook::Props::Enum,
                     values: %w[default bubble],
                     default: "default"

      def more_than_two
        users.count > 2
      end

      def only_one
        users.count == 1
      end

      def display_count
        more_than_two ? 1 : users.count
      end

      def bubble
        variant == "bubble"
      end

      def double_bubble
        bubble && users.count === 2
      end

      def triple_bubble
        bubble && users.count === 3
      end

      def quadruple_bubble
        bubble && users.count > 3
      end

      def size_class
        "size_#{size}" if bubble
      end

      def classname
        generate_classname("pb_multiple_users_stacked_kit", single_class, bubble_class, size_class)
      end

      def bubble_classname(index)
        base_classname = "pb_multiple_users_stacked_item "

        case index
        when 0
          base_classname += "second_item"
          base_classname += " double_bubble" if double_bubble
          base_classname += " triple_bubble" if triple_bubble
          base_classname += " quadruple_bubble" if quadruple_bubble
        when 1
          base_classname += "third_item"
          base_classname += " quadruple_bubble" if quadruple_bubble
        else
          base_classname += "fourth_item"
        end

        base_classname
      end

    private

      def single_class
        only_one ? "single" : nil
      end

      def bubble_class
        bubble ? "bubble" : nil
      end
    end
  end
end

Version data entries

275 entries across 275 versions & 1 rubygems

Version Path
playbook_ui-14.12.0.pre.alpha.play1790darkaudittable5802 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.12.0.pre.alpha.play1752updatecontenttag5801 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.13.0.pre.rc.6 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.13.0.pre.rc.5 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.12.0.pre.alpha.PLAY1602lightboxoverlapnitrobug5781 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.13.0.pre.rc.4 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.12.0.pre.alpha.playrailsinputmaskissue5775 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.12.0.pre.alpha.PBNTR456fixedconftoastrailsautoclose5757 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.12.0.pre.alpha.PBNTR456fixedconftoastrailsautoclose5754 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.12.0.pre.alpha.PLAY1602lightboxoverlapnitrobugzindextoken5751 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.12.0.pre.alpha.PBNTR456fixedconftoastrailsautoclose5738 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.13.0.pre.rc.3 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.12.0.pre.alpha.PLAY1865reactdatepickerreinitializingbug5732 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.12.0.pre.alpha.PBNTR456fixedconftoastrailsautoclose5728 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.12.0.pre.alpha.play1862buttondisabledlinkbug5716 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.12.0.pre.alpha.play1862buttondisabledlinkbug5714 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.13.0.pre.rc.2 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.13.0.pre.rc.1 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.13.0.pre.rc.0 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb
playbook_ui-14.12.0.pre.alpha.advancedtablealignmentfixes5693 app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb