Class: Plutonium::UI::Modal::Base
- Inherits:
-
Component::Base
- Object
- Component::Base
- Plutonium::UI::Modal::Base
- Includes:
- Phlex::Slotable
- Defined in:
- lib/plutonium/ui/modal/base.rb
Constant Summary collapse
- VALID_SIZES =
Sizes that all modal subclasses must implement entries for in their SIZE_CLASSES table. ‘:auto` is content-driven (`w-fit` with a viewport cap and a sensible floor) and is the only way to avoid clipping forms whose natural width exceeds the default. Sizes intentionally mirror Tailwind’s max-w-* scale so a definition that says ‘size: :xl` reads predictably.
[:sm, :md, :lg, :xl, :auto, :full].freeze
Class Method Summary collapse
-
.class_for_mode(mode) ⇒ Object
Resolves the concrete modal class for a definition’s ‘modal_mode` symbol.
Instance Method Summary collapse
-
#initialize(title: nil, description: nil, size: :md) ⇒ Base
constructor
A new instance of Base.
- #view_template(&block) ⇒ Object
Methods included from Component::Behaviour
Methods included from Component::Tokens
Methods included from Component::Kit
#BuildActionButton, #BuildActionsDropdown, #BuildAvatar, #BuildBlock, #BuildBreadcrumbs, #BuildBulkActionsToolbar, #BuildColorModeSelector, #BuildDynaFrameContent, #BuildDynaFrameHost, #BuildEmptyCard, #BuildFrameNavigatorPanel, #BuildModalCentered, #BuildModalSlideover, #BuildPageHeader, #BuildPanel, #BuildRowActionsDropdown, #BuildSkeletonTable, #BuildTabList, #BuildTableFilterPills, #BuildTableInfo, #BuildTablePagination, #BuildTableScopesBar, #BuildTableScopesPills, #BuildTableSearchBar, #BuildTableToolbar, #BuildTableViewSwitcher, #method_missing, #respond_to_missing?
Constructor Details
#initialize(title: nil, description: nil, size: :md) ⇒ Base
Returns a new instance of Base.
27 28 29 30 31 32 |
# File 'lib/plutonium/ui/modal/base.rb', line 27 def initialize(title: nil, description: nil, size: :md) @title = title @description = description @size = size validate_size! end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Plutonium::UI::Component::Kit
Class Method Details
.class_for_mode(mode) ⇒ Object
Resolves the concrete modal class for a definition’s ‘modal_mode` symbol. Unknown / `false` modes fall back to `Slideover` so call sites can stay branchless.
23 24 25 |
# File 'lib/plutonium/ui/modal/base.rb', line 23 def self.class_for_mode(mode) (mode == :centered) ? Plutonium::UI::Modal::Centered : Plutonium::UI::Modal::Slideover end |
Instance Method Details
#view_template(&block) ⇒ Object
34 35 36 37 38 39 40 41 42 |
# File 'lib/plutonium/ui/modal/base.rb', line 34 def view_template(&block) dialog(**dialog_attributes) do div(class: inner_classes) do render_header render_body(&block) if end end end |