lib/primer_live.ex

defmodule PrimerLive do
  @moduledoc ~S"""
  <p>
  An implementation of GitHub's <a href="https://primer.style/design/" target="blank">Primer Design System</a> for Phoenix LiveView.
  </p>

  <p>
  Primer Design provides a strong base for creating data driven applications such as rich CRUD applications with interactive forms.
  </p>

  <p>
  All PrimerLive components accept the <code>class</code> attribute for customisations (and often the <code>classes</code> struct to address inner elements). <a href="https://primer.style/design/foundations/css-utilities/getting-started" target="blank">Primer's utility classes</a> allow a wide range of customisations without having to write custom styles.
  </p>

  <p>
  PrimerLive components can be used in <a href="https://github.com/phoenixframework/phoenix_live_view" target="_blank">Phoenix LiveView pages</a> and regular (non-LiveView) views in Phoenix applications.
  </p>

  ## Documentation

  - [Component documentation](`PrimerLive.Component`)
  - [Installation](doc-extra/installation.md)
  - [Usage](doc-extra/usage.md)

  ## Resources

  - [PrimerLive Storybook and Demo](https://primer-live.org)
  - [Source code](https://github.com/ArthurClemens/primer_live)
  """

  defmacro __using__(_) do
    quote do
      import PrimerLive.Component
      import PrimerLive.Octicons
      alias PrimerLive.Theme
    end
  end
end