Sha256: 0d26cd1d52044fa25590d1f238c09c4a8e95bb4e2160178c5a55e8e6e797901d

Contents?: true

Size: 1.77 KB

Versions: 123

Compression:

Stored size: 1.77 KB

Contents

# frozen_string_literal: true

module Playbook
  module PbTimeRangeInline
    class TimeRangeInline
      include Playbook::Props

      partial "pb_time_range_inline/time_range_inline"

      prop :start_time, required: true
      prop :end_time, required: true
      prop :alignment, type: Playbook::Props::Enum,
                       values: %w[left center right],
                       default: "left"
      prop :size, type: Playbook::Props::Enum,
                  values: %w[sm xs],
                  default: "sm"
      prop :dark, default: false
      prop :icon, default: false
      prop :timezone, default: false

      def classname
        generate_classname("pb_time_range_inline_kit", dark_class, alignment)
      end

      def format_start_time_string
        "#{pb_date_start_time.to_hour}:#{pb_date_start_time.to_minutes}#{pb_date_start_time.to_meridian}"
      end

      def format_start_timezone_string
        pb_date_start_time.to_timezone.to_s
      end

      def format_end_time_string
        "#{pb_date_end_time.to_hour}:#{pb_date_end_time.to_minutes}#{pb_date_end_time.to_meridian}"
      end

      def format_end_timezone_string
        pb_date_end_time.convert_to_timezone.to_timezone.to_s
      end

      def pb_date_start_time
        Playbook::PbKit::PbDateTime.new(start_time)
      end

      def pb_date_end_time
        Playbook::PbKit::PbDateTime.new(end_time)
      end

      def text_timezone_color
        return "light" if size == "sm"

        nil
      end

      def icon_color
        return "light" if size == "sm"

        nil
      end

      def text_kit
        case size
        when "xs"
          "caption"
        when "sm"
          "body"
        end
      end

    private

      def dark_class
        dark ? "dark" : nil
      end
    end
  end
end

Version data entries

123 entries across 123 versions & 1 rubygems

Version Path
playbook_ui-7.7.0 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.6.2.pre.alpha1 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.6.2 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.6.1.pre.alpha1 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.6.1 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.6.0 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.5.1 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.5.0 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.4.2 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.4.1 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.4.0.pre.alpha6 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.4.0.pre.alpha5 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.4.0 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.4.0.pre.test4 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.4.0.pre.test3 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.4.0.pre.test2 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.4.0.pre.alpha4 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.4.0.pre.alpha2 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.4.0.pre.alpha1 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
playbook_ui-7.3.0.pre.alpha12 app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb