defmodule Paleta.Components.Input do use Phoenix.Component import Paleta.Components.FieldHelper attr(:label, :string, required: true) attr(:name, :string, default: nil) attr(:value, :string, default: nil) attr(:field, Phoenix.HTML.FormField, default: nil) attr(:required, :boolean, default: false) attr(:placeholder, :string, default: "") attr(:class, :string, default: "") attr(:rest, :global) attr(:errors, :list, default: []) def text(%{class: class} = assigns) do assigns = assigns |> assign_basic_attrs() |> assign( :class, "form-input mt-1.5 w-full rounded-lg border border-slate-300 bg-transparent px-3 py-2 placeholder:text-slate-400/70 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:hover:border-navy-400 dark:focus:border-accent #{class}" ) ~H""" """ end attr(:label, :string, required: true) attr(:name, :string, required: true) attr(:value, :string, default: nil) attr(:required, :boolean, default: false) attr(:field, Phoenix.HTML.FormField, default: nil) attr(:placeholder, :string, default: "") attr(:class, :string, default: "") attr(:rest, :global) attr(:errors, :list, default: []) slot(:sufix, required: true) def input_group(%{class: class} = assigns) do assigns = assigns |> assign_basic_attrs() |> assign( :class, "form-input w-full rounded-l-lg border border-slate-300 bg-transparent px-3 py-2 placeholder:text-slate-400/70 hover:z-10 hover:border-slate-400 focus:z-10 focus:border-primary dark:border-navy-450 dark:hover:border-navy-400 dark:focus:border-accent #{class}" ) ~H"""