Packages
moon
2.73.3
2.90.5
retired
2.90.4
2.90.3
2.90.2
2.90.1
2.90.0
2.89.4
2.89.1
2.89.0
2.88.0
2.87.11
2.87.10
2.87.9
2.87.8
2.87.7
2.87.6
2.87.5
2.87.4
2.87.3
2.87.2
2.87.1
2.87.0
2.86.1
2.86.0
2.85.1
2.85.0
2.84.0
2.83.0
2.82.0
2.81.4
2.81.3
2.81.2
2.81.1
2.81.0
2.80.2
2.80.1
2.80.0
2.79.13
2.79.12
2.79.11
2.79.10
2.79.9
2.79.8
2.79.7
2.79.6
2.79.5
2.79.4
2.79.3
2.79.2
2.79.1
2.79.0
2.78.4
2.78.3
2.78.2
2.78.1
2.78.0
2.77.0
2.76.5
2.76.4
2.76.3
2.76.2
2.76.1
2.76.0
2.75.0
2.74.1
2.74.0
2.73.8
2.73.7
2.73.6
2.73.5
2.73.4
2.73.3
2.73.2
2.73.1
2.73.0
2.72.5
2.72.4
2.72.3
2.72.2
2.72.1
2.72.0
2.71.1
2.71.0
2.70.0
2.69.2
2.69.1
2.69.0
2.68.11
2.68.10
Components-based design system written in elixir
Current section
Files
Jump to
Current section
Files
lib/moon/components/datepicker/date_inputs.ex
defmodule Moon.Components.Datepicker.DateInputs do
@moduledoc false
use Moon.StatelessComponent
alias Surface.Components.Form.DateInput
alias Surface.Components.Form.DateTimeLocalInput
alias Moon.Components.Datepicker.Helpers
prop(with_time, :boolean, default: false)
prop(internal_start_date, :datetime, default: Timex.today())
prop(internal_end_date, :datetime, default: Timex.today())
prop(start_date_field, :atom, default: :start_date)
prop(end_date_field, :atom, default: :end_date)
def render(assigns) do
~F"""
<div class="flex shrink-0 gap-x-2">
<DateTimeLocalInput
:if={@with_time}
field={@start_date_field}
class="text-moon-12 rounded date-icon-hidden w-36 moon-text-input border-beerus"
opts={
placeholder: "dd/mm/yyyy, --:--",
"phx-hook": "Datepicker",
"data-pending-val": Helpers.format_date(@internal_start_date, @with_time)
}
/>
<DateInput
:if={!@with_time}
field={@start_date_field}
class="text-moon-12 rounded date-icon-hidden w-28 moon-text-input border-beerus"
opts={
"phx-hook": "Datepicker",
placeholder: "dd/mm/yyyy",
"data-pending-val": Helpers.format_date(@internal_start_date, @with_time)
}
/>
<DateTimeLocalInput
:if={@with_time}
field={@end_date_field}
class="text-moon-12 rounded date-icon-hidden w-36 moon-text-input border-beerus"
opts={
"phx-hook": "Datepicker",
placeholder: "dd/mm/yyyy, --:--",
"data-pending-val": Helpers.format_date(@internal_end_date, @with_time)
}
/>
<DateInput
:if={!@with_time}
field={@end_date_field}
class="text-moon-12 rounded date-icon-hidden w-28 moon-text-input border-beerus"
opts={
"phx-hook": "Datepicker",
placeholder: "dd/mm/yyyy",
"data-pending-val": Helpers.format_date(@internal_end_date, @with_time)
}
/>
</div>
"""
end
end