Module: DataDisplay::BadgeHelper

Defined in:
app/helpers/data_display/badge_helper.rb

Instance Method Summary collapse

Instance Method Details

#data_display_badge_handle_component_params(kind_key:, color_key:) ⇒ Object



5
6
7
8
9
10
11
# File 'app/helpers/data_display/badge_helper.rb', line 5

def data_display_badge_handle_component_params(kind_key:, color_key:)
  params = { kind: "#{kind_key}", color: "#{color_key}" }

  params.delete(:color) if kind_key == "ghost" && color_key == "primary"

  params.compact_blank.filter_map { |k, v| "#{k}: #{v.inspect}" }.join(", ")
end

#data_display_badge_iconsObject



17
18
19
20
21
22
23
24
# File 'app/helpers/data_display/badge_helper.rb', line 17

def data_display_badge_icons
  {
    "info" => '<svg class="size-[1em]" xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="currentColor"><path d="M440-280h80v-240h-80v240Zm40-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z"/></svg>',
    "success" => '<svg class="size-[1em]" xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="currentColor"><path d="M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q65 0 123 19t107 53l-58 59q-38-24-81-37.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160q133 0 226.5-93.5T800-480q0-18-2-36t-6-35l65-65q11 32 17 66t6 70q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm-56-216L254-466l56-56 114 114 400-401 56 56-456 457Z"/></svg>',
    "warning" => '<svg class="size-[1em]" xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="currentColor"><path d="m40-120 440-760 440 760H40Zm138-80h604L480-720 178-200Zm302-40q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Zm-40-120h80v-200h-80v200Zm40-100Z"/></svg>',
    "error" => '<svg class="size-[1em]" xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="currentColor"><path d="M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q54 0 104-17.5t92-50.5L228-676q-33 42-50.5 92T160-480q0 134 93 227t227 93Zm252-124q33-42 50.5-92T800-480q0-134-93-227t-227-93q-54 0-104 17.5T284-732l448 448Z"/></svg>'
  }
end

#data_display_badge_skip_kind(kind_key:, color_key:) ⇒ Object



13
14
15
# File 'app/helpers/data_display/badge_helper.rb', line 13

def data_display_badge_skip_kind(kind_key:, color_key:)
  kind_key == "ghost" && color_key != "primary"
end