Module: Markawesome::IconAttributes

Defined in:
lib/markawesome/icon_attributes.rb

Overview

Shared attribute vocabulary (family/variant/animation/canvas) and emission helper. Values verified against Web Awesome 3.10.0. Adding a value later is a one-line change.

Constant Summary collapse

SCHEMA =
{
  family: %w[
    classic sharp duotone sharp-duotone brands
    mosaic pixel vellum slab-duo slab-press-duo chisel etch graphite
    jelly jelly-duo jelly-fill notdog notdog-duo slab slab-press
    thumbprint utility utility-duo utility-fill whiteboard
  ],
  variant: %w[thin light regular solid semibold],
  animation: %w[
    beat fade beat-fade bounce flip shake spin spin-pulse spin-reverse
    flip-360 spin-snap spin-snap-4 spin-snap-8 buzz float jello swing wag
  ],
  canvas: %w[fixed auto square roomy]
}.freeze

Class Method Summary collapse

Class Method Details

.pairs(attributes) ⇒ Object

Returns ordered ['family="…"', 'variant="…"', 'animation="…"', 'canvas="…"'] for present keys. Emission order is fixed (canvas last) for byte-for-byte parity with markawesome-js.



24
25
26
27
28
# File 'lib/markawesome/icon_attributes.rb', line 24

def self.pairs(attributes)
  %i[family variant animation canvas].filter_map do |key|
    "#{key}=\"#{attributes[key]}\"" if attributes[key]
  end
end