diff options
Diffstat (limited to 'app/components/pajamas/spinner_component.rb')
-rw-r--r-- | app/components/pajamas/spinner_component.rb | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/app/components/pajamas/spinner_component.rb b/app/components/pajamas/spinner_component.rb index c7ffc1ec3da..f2f7236ee3f 100644 --- a/app/components/pajamas/spinner_component.rb +++ b/app/components/pajamas/spinner_component.rb @@ -2,26 +2,31 @@ module Pajamas class SpinnerComponent < Pajamas::Component - # @param [String] class # @param [Symbol] color # @param [Boolean] inline # @param [String] label # @param [Symbol] size - def initialize(class: '', color: :dark, inline: false, label: _("Loading"), size: :sm) - @class = binding.local_variable_get(:class) + def initialize(color: :dark, inline: false, label: _("Loading"), size: :sm, **html_options) @color = filter_attribute(color.to_sym, COLOR_OPTIONS) @inline = inline @label = label.presence @size = filter_attribute(size.to_sym, SIZE_OPTIONS) + @html_options = html_options end + COLOR_OPTIONS = [:light, :dark].freeze + SIZE_OPTIONS = [:sm, :md, :lg, :xl].freeze + private def spinner_class - ["gl-spinner", "gl-spinner-#{@size}", "gl-spinner-#{@color}"] + ["gl-spinner", "gl-spinner-#{@size}", "gl-spinner-#{@color} gl-vertical-align-text-bottom!"] end - COLOR_OPTIONS = [:light, :dark].freeze - SIZE_OPTIONS = [:sm, :md, :lg, :xl].freeze + def html_options + options = format_options(options: @html_options, css_classes: "gl-spinner-container") + options[:role] = "status" + options + end end end |