Class: LightningUiKit::ModalComponent
- Inherits:
-
BaseComponent
- Object
- BaseComponent
- LightningUiKit::ModalComponent
- Defined in:
- app/components/lightning_ui_kit/modal_component.rb
Constant Summary collapse
- VARIANTS =
%i[default alert].freeze
Instance Attribute Summary collapse
-
#cancel_text ⇒ Object
readonly
Returns the value of attribute cancel_text.
-
#confirm_text ⇒ Object
readonly
Returns the value of attribute confirm_text.
Instance Method Summary collapse
- #alert? ⇒ Boolean
- #confirm_button_style ⇒ Object
- #data ⇒ Object
- #dialog_role ⇒ Object
-
#initialize(id: nil, title: nil, description: nil, open: false, variant: :default, confirm_text: "Continue", cancel_text: "Cancel", confirm_style: :default, **options) ⇒ ModalComponent
constructor
A new instance of ModalComponent.
- #overlay_closed_class ⇒ Object
- #panel_closed_class ⇒ Object
- #panel_width_class ⇒ Object
Constructor Details
#initialize(id: nil, title: nil, description: nil, open: false, variant: :default, confirm_text: "Continue", cancel_text: "Cancel", confirm_style: :default, **options) ⇒ ModalComponent
Returns a new instance of ModalComponent.
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'app/components/lightning_ui_kit/modal_component.rb', line 11 def initialize(id: nil, title: nil, description: nil, open: false, variant: :default, confirm_text: "Continue", cancel_text: "Cancel", confirm_style: :default, **) @id = id @title = title @description = description @open = open @variant = VARIANTS.include?(variant) ? variant : :default @confirm_text = confirm_text @cancel_text = cancel_text @confirm_style = confirm_style @options = end |
Instance Attribute Details
#cancel_text ⇒ Object (readonly)
Returns the value of attribute cancel_text.
24 25 26 |
# File 'app/components/lightning_ui_kit/modal_component.rb', line 24 def cancel_text @cancel_text end |
#confirm_text ⇒ Object (readonly)
Returns the value of attribute confirm_text.
24 25 26 |
# File 'app/components/lightning_ui_kit/modal_component.rb', line 24 def confirm_text @confirm_text end |
Instance Method Details
#alert? ⇒ Boolean
26 27 28 |
# File 'app/components/lightning_ui_kit/modal_component.rb', line 26 def alert? @variant == :alert end |
#confirm_button_style ⇒ Object
38 39 40 |
# File 'app/components/lightning_ui_kit/modal_component.rb', line 38 def (@confirm_style == :destructive) ? :destructive : :default end |
#data ⇒ Object
50 51 52 53 54 55 56 57 58 |
# File 'app/components/lightning_ui_kit/modal_component.rb', line 50 def data { controller: "lui-modal", lui_modal_open_value: @open, lui_modal_dismissable_value: !alert?, lui_modal_panel_closed_class: panel_closed_class, lui_modal_overlay_closed_class: }.merge(@options[:data] || {}) end |
#dialog_role ⇒ Object
30 31 32 |
# File 'app/components/lightning_ui_kit/modal_component.rb', line 30 def dialog_role alert? ? "alertdialog" : nil end |
#overlay_closed_class ⇒ Object
46 47 48 |
# File 'app/components/lightning_ui_kit/modal_component.rb', line 46 def "lui:opacity-0" end |
#panel_closed_class ⇒ Object
42 43 44 |
# File 'app/components/lightning_ui_kit/modal_component.rb', line 42 def panel_closed_class "lui:opacity-0 lui:scale-95" end |
#panel_width_class ⇒ Object
34 35 36 |
# File 'app/components/lightning_ui_kit/modal_component.rb', line 34 def panel_width_class alert? ? "lui:sm:max-w-lg" : "lui:sm:max-w-3xl" end |