Commit [1] moved the edition of website from the frontend to the backend and in doing so, introduced an iframe from which the website is edited. This broke some behaviours as the event binding for jQuery widgets (such as the carousel) is no longer done from the same jQuery as the editor. So bootstrap events triggered inside the iframe do not reach options that are listening using the top window's jQuery (simple $()). This commit adds the $bsTarget property to the SnippetOption class. It wraps $target[0] using the iframe's jQuery instance. This allows for options to listen to bootstrap events. (using $bsTarget.on) Options that were doing that previously are adapted by this commit. (Carousel, Popup, Accordion (collapse)) Note: Popup was already adapted locally (by [2]), this commit only changes its use of an $iframeTarget property to the $bsTarget one. This commit also fixes "Add item" on accordion snippet to properly assign a unique ID to the new tab. [1]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b [2]: https://github.com/odoo/odoo/commit/03c552690b15cbf2e7d6b7812386ac64042219af task-2687506 Part-of: odoo/odoo#94564