Class: Primer::Classify::Spacing
- Inherits:
-
Object
- Object
- Primer::Classify::Spacing
- Defined in:
- app/lib/primer/classify/spacing.rb
Overview
Handler for PrimerCSS spacing classes.
Constant Summary collapse
- BASE_OPTIONS =
(0..6).to_a.freeze
- BASE_MAPPINGS =
{ my: BASE_OPTIONS, pb: BASE_OPTIONS, pl: BASE_OPTIONS, pr: BASE_OPTIONS, pt: BASE_OPTIONS, px: BASE_OPTIONS, py: BASE_OPTIONS }.freeze
- MARGIN_DIRECTION_OPTIONS =
[*(-6..-1), *BASE_OPTIONS].freeze
- MARGIN_DIRECTION_MAPPINGS =
{ mb: MARGIN_DIRECTION_OPTIONS, ml: MARGIN_DIRECTION_OPTIONS, mr: MARGIN_DIRECTION_OPTIONS, mt: MARGIN_DIRECTION_OPTIONS }.freeze
- AUTO_OPTIONS =
[*BASE_OPTIONS, :auto].freeze
- AUTO_MAPPINGS =
{ m: AUTO_OPTIONS, mx: AUTO_OPTIONS }.freeze
- RESPONSIVE_OPTIONS =
[*BASE_OPTIONS, :responsive].freeze
- RESPONSIVE_MAPPINGS =
{ p: RESPONSIVE_OPTIONS }.freeze
- MAPPINGS =
{ **BASE_MAPPINGS, **MARGIN_DIRECTION_MAPPINGS, **AUTO_MAPPINGS, **RESPONSIVE_MAPPINGS }.freeze
- KEYS =
MAPPINGS.keys.freeze
Class Method Summary collapse
Class Method Details
.spacing(key, val, breakpoint) ⇒ Object
46 47 48 49 50 51 52 |
# File 'app/lib/primer/classify/spacing.rb', line 46 def spacing(key, val, breakpoint) validate(key, val) unless Rails.env.production? return "#{key.to_s.dasherize}#{breakpoint}-n#{val.abs}" if val.is_a?(Numeric) && val.negative? "#{key.to_s.dasherize}#{breakpoint}-#{val.to_s.dasherize}" end |