diff --git a/guides/howto/file_uploads.md b/guides/howto/file_uploads.md index c7d78d1b5e..2d5e63fb66 100644 --- a/guides/howto/file_uploads.md +++ b/guides/howto/file_uploads.md @@ -50,7 +50,7 @@ Once you have a multipart form, you need a `file` input. Here's how you would do When rendered, here is the HTML for the default `HelloWeb.CoreComponents` `input/1` component: ```html -
+
diff --git a/installer/templates/phx_assets/tailwind.config.js b/installer/templates/phx_assets/tailwind.config.js index 743c7a7947..8675d6cf1b 100644 --- a/installer/templates/phx_assets/tailwind.config.js +++ b/installer/templates/phx_assets/tailwind.config.js @@ -25,7 +25,6 @@ module.exports = { // //
// - plugin(({addVariant}) => addVariant("phx-no-feedback", [".phx-no-feedback&", ".phx-no-feedback &"])), plugin(({addVariant}) => addVariant("phx-click-loading", [".phx-click-loading&", ".phx-click-loading &"])), plugin(({addVariant}) => addVariant("phx-submit-loading", [".phx-submit-loading&", ".phx-submit-loading &"])), plugin(({addVariant}) => addVariant("phx-change-loading", [".phx-change-loading&", ".phx-change-loading &"])), diff --git a/installer/templates/phx_single/mix.exs b/installer/templates/phx_single/mix.exs index 0c53016d5a..fcda0e37cf 100644 --- a/installer/templates/phx_single/mix.exs +++ b/installer/templates/phx_single/mix.exs @@ -37,10 +37,10 @@ defmodule <%= @app_module %>.MixProject do defp deps do [ <%= @phoenix_dep %>,<%= if @ecto do %> - {:phoenix_ecto, "~> 4.4"}, + {:phoenix_ecto, "~> 4.5"}, {:ecto_sql, "~> 3.10"}, {<%= inspect @adapter_app %>, ">= 0.0.0"},<% end %><%= if @html do %> - {:phoenix_html, "~> 4.0"}, + {:phoenix_html, "~> 4.1"}, {:phoenix_live_reload, "~> 1.2", only: :dev}, {:phoenix_live_view, "~> 0.20.2"}, {:floki, ">= 0.30.0", only: :test},<% end %><%= if @dashboard do %> diff --git a/installer/templates/phx_umbrella/apps/app_name_web/mix.exs b/installer/templates/phx_umbrella/apps/app_name_web/mix.exs index 166512faa2..79357f7c67 100644 --- a/installer/templates/phx_umbrella/apps/app_name_web/mix.exs +++ b/installer/templates/phx_umbrella/apps/app_name_web/mix.exs @@ -37,8 +37,8 @@ defmodule <%= @web_namespace %>.MixProject do defp deps do [ <%= @phoenix_dep %>,<%= if @ecto do %> - {:phoenix_ecto, "~> 4.4"},<% end %><%= if @html do %> - {:phoenix_html, "~> 4.0"}, + {:phoenix_ecto, "~> 4.5"},<% end %><%= if @html do %> + {:phoenix_html, "~> 4.1"}, {:phoenix_live_reload, "~> 1.2", only: :dev}, {:phoenix_live_view, "~> 0.20.2"}, {:floki, ">= 0.30.0", only: :test},<% end %><%= if @dashboard do %> diff --git a/installer/templates/phx_web/components/core_components.ex b/installer/templates/phx_web/components/core_components.ex index 1a095dd8be..e56f524fc0 100644 --- a/installer/templates/phx_web/components/core_components.ex +++ b/installer/templates/phx_web/components/core_components.ex @@ -293,9 +293,11 @@ defmodule <%= @web_namespace %>.CoreComponents do slot :inner_block def input(%{field: %Phoenix.HTML.FormField{} = field} = assigns) do + errors = if Phoenix.Component.used_input?(field), do: field.errors, else: [] + assigns |> assign(field: nil, id: assigns.id || field.id) - |> assign(:errors, Enum.map(field.errors, &translate_error(&1))) + |> assign(:errors, Enum.map(errors, &translate_error(&1))) |> assign_new(:name, fn -> if assigns.multiple, do: field.name <> "[]", else: field.name end) |> assign_new(:value, fn -> field.value end) |> input() @@ -308,7 +310,7 @@ defmodule <%= @web_namespace %>.CoreComponents do end) ~H""" -
+