Sha256: 34bc60377b7f0e30ee422dd8d9ce004785479d08ebe9af3749a429481b05c2da
Contents?: true
Size: 950 Bytes
Versions: 25
Compression:
Stored size: 950 Bytes
Contents
module Coco class Link < Coco::Component include Concerns::ActsAsLink include Concerns::WithIcon include Concerns::AcceptsOptions include Concerns::AcceptsTheme THEMES = %W[positive primary warning negative info neutral-dark neutral-light] << nil accepts_option :theme, from: THEMES accepts_option :underline, from: [true, false] before_initialize do |kwargs| if kwargs.key?(:modal) modal_name = (kwargs[:modal] == true) ? "default" : kwargs[:modal] kwargs[:data] = kwargs.fetch(:data, {}).merge(coco_modal_data_attributes(modal_name)) kwargs.delete(:modal) end kwargs end def call render component_tag(class: ["coco-link", ("with-icon" if icon?)]) do safe_join([ icon, icon? ? tag.span(link_text, class: "link-text") : link_text ]) end end class << self include Coco::ModalHelper end end end
Version data entries
25 entries across 25 versions & 1 rubygems