Class: PhlexKit::Toggle
- Inherits:
-
BaseComponent
- Object
- Phlex::HTML
- BaseComponent
- PhlexKit::Toggle
- Defined in:
- app/components/phlex_kit/toggle/toggle.rb
Overview
Two-state pressable button. Ported from ruby_ui's RubyUI::Toggle. Renders a wrapper (display:contents) holding the
Direct Known Subclasses
Constant Summary collapse
- VARIANTS =
{ default: nil, outline: "outline" }.freeze
- SIZES =
{ sm: "sm", default: nil, lg: "lg" }.freeze
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(pressed: false, name: nil, value: "1", unpressed_value: nil, variant: :default, size: :default, disabled: false, wrapper: {}, **attrs) ⇒ Toggle
constructor
A new instance of Toggle.
- #view_template(&block) ⇒ Object
Methods inherited from BaseComponent
Constructor Details
#initialize(pressed: false, name: nil, value: "1", unpressed_value: nil, variant: :default, size: :default, disabled: false, wrapper: {}, **attrs) ⇒ Toggle
Returns a new instance of Toggle.
13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'app/components/phlex_kit/toggle/toggle.rb', line 13 def initialize(pressed: false, name: nil, value: "1", unpressed_value: nil, variant: :default, size: :default, disabled: false, wrapper: {}, **attrs) @pressed = pressed @name = name @value = value @unpressed_value = unpressed_value @variant = variant.to_sym @size = size.to_sym @disabled = disabled @wrapper = wrapper @attrs = attrs end |
Class Method Details
Instance Method Details
#view_template(&block) ⇒ Object
26 27 28 29 30 31 |
# File 'app/components/phlex_kit/toggle/toggle.rb', line 26 def view_template(&block) span(**mix(wrapper_default_attrs, @wrapper)) do (**mix(, @attrs), &block) render_hidden_input if @name end end |