{"name":"dialog","helper":"rui_dialog","complexity":"moderate","param_count":19,"slot_count":4,"form_builder":false,"standalone":true,"ai_score":7,"human_score":8,"token_estimate":178,"slots":{"trigger":{"type":"renders_one","component":"lambda","example":"component.with_trigger"},"header":{"type":"renders_one","component":null,"example":"component.with_header"},"body":{"type":"renders_one","component":null,"example":"component.with_body"},"footer":{"type":"renders_one","component":null,"example":"component.with_footer"}},"gotchas":[{"id":"dialog_backdrop_close_rename","severity":"high","component":"rui_dialog","summary":"dismissible: renamed to backdrop_close: — old param emits deprecation warning","params":["dismissible","backdrop_close"],"behavior":"The dialog param for closing on backdrop click was renamed from dismissible: to backdrop_close: for clarity. Using dismissible: still works but emits a deprecation warning. The Stimulus value was also renamed to backdropCloseValue.","wrong":"\u003c%= rui_dialog(title: \"Form\", dismissible: false) do |d| %\u003e","right":"\u003c%= rui_dialog(title: \"Form\", backdrop_close: false) do |d| %\u003e","notes":"Data attr also changed: data-dialog-dismissible-value → data-dialog-backdrop-close-value. closable: (show X button) is unchanged.","detection":"Scan for rui_dialog calls with dismissible: param. Regex: /rui_dialog\\(.*dismissible:/","recovery":"Rename dismissible: to backdrop_close: in all rui_dialog calls."}],"families":[{"tree":"modal","question":"What kind of popup?","use_case":"Confirmation / form dialog","notes":"Native HTML \u003cdialog\u003e element. Use slots for structure."}],"compositions":[],"relationships":{"composes_with":[],"slotted_into":[],"confused_with":["popover","tooltip"]}}