defmodule Moon.Components.TextInput.Input do @moduledoc false use Moon.StatelessComponent alias Moon.Components.TextInput.Utils prop(id, :string) prop(field, :atom) data(placeholder, :string, from_context: {Moon.Components.TextInput, :placeholder}) data(disabled, :boolean, from_context: {Moon.Components.TextInput, :disabled}) data(required, :boolean, from_context: {Moon.Components.TextInput, :required}) data(type, :string, from_context: {Moon.Components.TextInput, :type}) data(step, :string, from_context: {Moon.Components.TextInput, :step}) prop(min, :string, from_context: {Moon.Components.TextInput, :min}) prop(max, :string, from_context: {Moon.Components.TextInput, :max}) data(readonly, :boolean, from_context: {Moon.Components.TextInput, :readonly}) data(value, :string, from_context: {Moon.Components.TextInput, :value}) data(size, :string, from_context: {Moon.Components.TextInput, :size}) data(is_error, :boolean, from_context: {Moon.Components.TextInput, :is_error}) data(background_color, :string, from_context: {Moon.Components.TextInput, :background_color}) data(label, :string, from_context: {Moon.Components.TextInput, :label}) data(focus, :event, from_context: {Moon.Components.TextInput, :focus}) data(keyup, :event, from_context: {Moon.Components.TextInput, :keyup}) data(keydown, :event, from_context: {Moon.Components.TextInput, :keydown}) data(blur, :event, from_context: {Moon.Components.TextInput, :blur}) data(has_left_icon, :boolean, from_context: {Moon.Components.TextInput, :has_left_icon}) data(has_right_icon, :boolean, from_context: {Moon.Components.TextInput, :has_right_icon}) def render(assigns) do ~F""" """ end defp get_class_for_date_type(type) do cond do type in ["date", "month"] -> "ltr:input-d rtl:input-d-rtl" type == "datetime-local" -> "ltr:input-d rtl:input-dt-local-rtl" true -> "" end end end