Sha256: 1bb00bee550777e4b9e88ed76bba16b7261ad3bf631321bf3e251d27971230e7
Contents?: true
Size: 1.77 KB
Versions: 5
Compression:
Stored size: 1.77 KB
Contents
# frozen_string_literal: true module Playbook module PbCard class Card include Playbook::Props partial "pb_card/card" prop :selected, type: Playbook::Props::Boolean, default: false prop :shadow, type: Playbook::Props::Enum, values: %w[none deep deeper deepest], default: "none" prop :highlight, type: Playbook::Props::Hash, default: {} prop :border_none, type: Playbook::Props::Boolean, default: false prop :border_radius, type: Playbook::Props::Enum, values: %w[xs sm md lg xl none rounded], default: "md" def classname generate_classname("pb_card_kit", selected_class, shadow_class, highlight_position_class, highlight_color_class, border_class, border_radius_class) end def body_padding if padding.present? "" else "p_md" end end private def selected_class selected ? "selected" : "deselected" end def shadow_class shadow != "none" ? "shadow_#{shadow}" : nil end def highlight_position_class highlight[:position].present? ? "highlight_#{highlight[:position]}" : nil end def highlight_color_class highlight[:color].present? ? "highlight_#{highlight[:color]}" : nil end def border_class border_none == true ? "border_none" : nil end def border_radius_class border_radius != "md" ? "border_radius_#{border_radius}" : nil end end end end
Version data entries
5 entries across 5 versions & 1 rubygems