class Primer::Truncate
Use ‘Truncate` to shorten overflowing text with an ellipsis.
def call
def call render(Primer::BaseComponent.new(**@system_arguments)) { content } end
def initialize(tag: DEFAULT_TAG, inline: false, expandable: false, max_width: nil, **system_arguments)
-
system_arguments
(Hash
) -- <%= link_to_system_arguments_docs %> -
max_width
(Integer
) -- Sets the max-width of the text. -
expandable
(Boolean
) -- Whether the entire string should be revealed on hover. Can only be used in conjunction with `inline`. -
inline
(Boolean
) -- Whether the element is inline (or inline-block). -
tag
(Symbol
) -- <%= one_of(Primer::Truncate::TAG_OPTIONS) %>
def initialize(tag: DEFAULT_TAG, inline: false, expandable: false, max_width: nil, **system_arguments) @system_arguments = system_arguments @system_arguments[:tag] = fetch_or_fallback(TAG_OPTIONS, tag, DEFAULT_TAG) @system_arguments[:classes] = class_names( @system_arguments[:classes], "css-truncate", "css-truncate-overflow" => !inline, "css-truncate-target" => inline, "expandable" => inline && expandable ) @system_arguments[:style] = join_style_arguments(@system_arguments[:style], "max-width: #{max_width}px;") unless max_width.nil? end