Clipboard
Clipboard component for copying content to clipboard.
Example
<div class="flex flex-col gap-4">
<div class="flex items-end gap-2">
<div>
<label for="default_clipboard" class="form__label mb-1">Label for clipboard</label>
<input id="default_clipboard" type="text" class="max-w-80 form__field" value="Copy this!" disabled readonly autocomplete="off">
</div>
<%= render Ui::Clipboard::Component.new(value: "Copy this!", id: "clipboard_empty") do |clipboard| %>
<%= clipboard.with_trigger(default: Ui::Btn::Component.new(variant: :primary).with_content("Copy"), success: Ui::Btn::Component.new(variant: :primary).with_content("Copied!")) %>
<% end %>
</div>
<div class="flex items-baseline gap-1">
<p>Any content to copy</p>
<%= render Ui::Clipboard::Component.new(value: "Any content to copy", id: "clipboard_tooltip") do |clipboard| %>
<%= clipboard.with_trigger(
default: "Copy text",
class: "link",
success: "Copy text",
tooltip_default: "Click me to copy",
tooltip_success: "Successfully copied!",
tooltip_placement: "bottom"
) %>
<% end %>
</div>
</div>