Class: PhlexKit::Clipboard
- Inherits:
-
BaseComponent
- Object
- Phlex::HTML
- BaseComponent
- PhlexKit::Clipboard
- Defined in:
- app/components/phlex_kit/clipboard/clipboard.rb
Overview
Copy-to-clipboard with success/error confirmation popovers (CSS-positioned, no @floating-ui). Ported from ruby_ui's RubyUI::Clipboard. Compose Clipboard > (ClipboardSource + ClipboardTrigger). phlex-kit--clipboard.
Instance Method Summary collapse
-
#initialize(success: "Copied!", error: "Copy failed!", **attrs) ⇒ Clipboard
constructor
A new instance of Clipboard.
- #view_template(&block) ⇒ Object
Methods inherited from BaseComponent
Constructor Details
#initialize(success: "Copied!", error: "Copy failed!", **attrs) ⇒ Clipboard
Returns a new instance of Clipboard.
6 7 8 9 10 |
# File 'app/components/phlex_kit/clipboard/clipboard.rb', line 6 def initialize(success: "Copied!", error: "Copy failed!", **attrs) @success = success @error = error @attrs = attrs end |
Instance Method Details
#view_template(&block) ⇒ Object
11 12 13 14 15 16 17 |
# File 'app/components/phlex_kit/clipboard/clipboard.rb', line 11 def view_template(&block) div(**mix({ class: "pk-clipboard", data: { controller: "phlex-kit--clipboard", action: "click@window->phlex-kit--clipboard#onClickOutside" } }, @attrs)) do div(&block) render PhlexKit::ClipboardPopover.new(type: :success) { @success } render PhlexKit::ClipboardPopover.new(type: :error) { @error } end end |