{"name":"carousel","helper":"rui_carousel","complexity":"moderate","param_count":18,"slot_count":1,"form_builder":false,"standalone":true,"ai_score":7,"human_score":7,"token_estimate":131,"slots":{"slides":{"type":"renders_many","component":"lambda","example":"component.with_slide"}},"gotchas":[{"id":"carousel_arrows_need_two_plus_slides","severity":"medium","component":"rui_carousel","summary":"show_arrows: true is silently overridden — arrows/indicators never render with fewer than 2 slides, no matter what show_arrows:/show_indicators: say","params":["show_arrows","show_indicators"],"behavior":"The component.html.erb template gates every arrow/indicator render on `slides.size \u003e 1` in addition to @show_arrows/@show_indicators — this check is unconditional and cannot be overridden by passing show_arrows: true or show_indicators: true explicitly. A single-slide carousel (or one that starts with only one with_slide call, e.g. while content is loading) renders with zero arrows/indicators regardless of what you passed.","wrong":"\u003c%= rui_carousel(id: \"promo\", show_arrows: true) do |c| %\u003e\u003c% c.with_slide { image_tag(\"banner.jpg\") } %\u003e\u003c% end %\u003e","right":"\u003c%# Arrows only appear once a 2nd with_slide call is added — this is not a bug to work around with show_arrows:, it is the intended UX (no point showing prev/next with nothing to navigate to) %\u003e","notes":"This is correct/intentional UX, not a bug — but it surprises anyone who explicitly set show_arrows: true expecting it to force arrows on. Don't add show_arrows: true to a single-slide carousel expecting visible controls.","detection":"Scan for rui_carousel(..., show_arrows: true) or (show_indicators: true) where the block contains only one with_slide call.","recovery":"No param fixes this — either add more slides, or accept that arrows/indicators are gated on slide count and remove the now-misleading show_arrows: true."}],"families":[],"compositions":[],"relationships":{}}