diff --git a/lib/livebook/runtime.ex b/lib/livebook/runtime.ex index a7d24d319..fc481fade 100644 --- a/lib/livebook/runtime.ex +++ b/lib/livebook/runtime.ex @@ -341,7 +341,7 @@ defprotocol Livebook.Runtime do type: :range, default: number(), label: String.t(), - debounce: :blur | non_neg_integer(), + debounce: non_neg_integer(), min: number(), max: number(), step: number() diff --git a/lib/livebook/session.ex b/lib/livebook/session.ex index 719bcf64a..a94144e56 100644 --- a/lib/livebook/session.ex +++ b/lib/livebook/session.ex @@ -2892,7 +2892,13 @@ defmodule Livebook.Session do defp normalize_runtime_output(%{type: :input, attrs: attrs} = output) when attrs.type in [:text, :textarea, :password, :number, :url, :range, :color] and not is_map_key(attrs, :debounce) do - put_in(output.attrs[:debounce], :blur) + default = + case attrs.type do + :range -> 250 + _other -> :blur + end + + put_in(output.attrs[:debounce], default) |> normalize_runtime_output() end