Class: Primer::Classify
- Inherits:
-
Object
- Object
- Primer::Classify
- Defined in:
- lib/primer/classify.rb,
lib/primer/classify/flex.rb,
lib/primer/classify/grid.rb,
lib/primer/classify/cache.rb,
lib/primer/classify/utilities.rb,
lib/primer/classify/validation.rb,
lib/primer/classify/functional_colors.rb,
lib/primer/classify/functional_border_colors.rb,
lib/primer/classify/functional_background_colors.rb
Overview
:nodoc:
Defined Under Namespace
Classes: Cache, Flex, FunctionalBackgroundColors, FunctionalBorderColors, FunctionalColors, Grid, Utilities, Validation
Constant Summary collapse
- CONCAT_KEYS =
Keys where we can simply translate { key: value } into “.key-value”
%i[text box_shadow].freeze
- BG_KEY =
:bg- TEXT_KEYS =
%i[font_family font_style font_weight text_align text_transform].freeze
- BOX_SHADOW_KEY =
:box_shadow- CONTAINER_KEY =
:container- BREAKPOINTS =
["", "-sm", "-md", "-lg", "-xl"].freeze
- RESPONSIVE_KEYS =
([Primer::Classify::Grid::COL_KEY] + Primer::Classify::Flex::RESPONSIVE_KEYS).freeze
- BOOLEAN_MAPPINGS =
{ underline: { mappings: [ { value: true, css_class: "text-underline" }, { value: false, css_class: "no-underline" } ] }, top: { mappings: [ { value: false, css_class: "top-0" } ] }, bottom: { mappings: [ { value: false, css_class: "bottom-0" } ] }, left: { mappings: [ { value: false, css_class: "left-0" } ] }, right: { mappings: [ { value: false, css_class: "right-0" } ] } }.freeze
- BORDER_KEY =
:border- BORDER_COLOR_KEY =
:border_color- BORDER_MARGIN_KEYS =
%i[border_top border_bottom border_left border_right].freeze
- BORDER_RADIUS_KEY =
:border_radius- TYPOGRAPHY_KEYS =
[:font_size].freeze
- VALID_KEYS =
( Primer::Classify::Utilities::UTILITIES.keys + CONCAT_KEYS + BOOLEAN_MAPPINGS.keys + BORDER_MARGIN_KEYS + TYPOGRAPHY_KEYS + TEXT_KEYS + Primer::Classify::Flex::KEYS + Primer::Classify::Grid::KEYS + [ BORDER_KEY, BORDER_COLOR_KEY, BORDER_RADIUS_KEY, BG_KEY, BOX_SHADOW_KEY, CONTAINER_KEY ] ).freeze
Class Method Summary collapse
Class Method Details
.call(classes: "", style: nil, **args) ⇒ Object
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/primer/classify.rb', line 96 def call(classes: "", style: nil, **args) extracted_results = extract_hash(args) extracted_results[:class] = [ validated_class_names(classes), extracted_results.delete(:classes) ].compact.join(" ").strip.presence extracted_results[:style] = [ extracted_results.delete(:styles), style ].compact.join.presence extracted_results end |