Classes

Pure function for generating CSS classes. Inspired by the popular classnames Javascript library.

Installation

Install by adding classes to your list of dependencies in mix.exs:

def deps do
  [
    {:classes, "~> 1.0.0"}
  ]
end

Usage

Classes.classes(yes: true, no: false) # => "yes"

See the docs for more examples.

Suggested Phoenix installation

You can call classes just like any other function, but if you're using Phoenix then I suggest importing it with your view helpers:

defmodule MyAppWeb do
  ...

  defp view_helpers do
    quote do
      ...

      import Classes
    end
  end
end

This way you can call it from any template like:

<%# In your .heex template %>
<div class={classes("my-class": true, "not-me": false)}>...</div>