Sha256: 371c36831afe60ec179f228efb581c075a8ed17ae6d202b795c0f737b55443b4
Contents?: true
Size: 1.11 KB
Versions: 8
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true module Kpop class FrameComponent < ViewComponent::Base include HasHtmlAttributes include Turbo::FramesHelper attr_reader :id ACTIONS = %w[ popstate@window->kpop--frame#popstate scrim:dismiss@window->kpop--frame#dismiss scrim:hide@window->kpop--frame#dismiss turbo:before-frame-render->kpop--frame#beforeFrameRender turbo:before-stream-render@window->kpop--frame#beforeStreamRender turbo:before-visit@window->kpop--frame#beforeVisit turbo:frame-load->kpop--frame#frameLoad ].freeze def initialize(id: "kpop", scrim: "#scrim", **) super @id = id @scrim = scrim end def inspect "#<#{self.class.name} id: #{id.inspect}>" end private def default_html_attributes { class: "kpop--frame", data: { controller: "kpop--frame", action: ACTIONS.join(" "), "kpop--frame-scrim-outlet": @scrim, turbo_action: "advance", }, target: "_top", } end end end
Version data entries
8 entries across 8 versions & 1 rubygems