 
					Hi Alex,
Here is a snippet you may use in your child theme:
// Remove primary menu and permanently enable offcanvas.
beans_remove_action( 'beans_primary_menu' );
beans_modify_action_hook( 'beans_primary_menu_offcanvas_button', 'beans_header' );
beans_replace_attribute( 'beans_primary_menu_offcanvas_button', 'class', 'uk-hidden-large', 'uk-float-right' );The snippet above will remove primary menu and permanently enable offcanvas.
Regarding the widget area, there is already an existent widget area called "Off-Canvas Menu" which is displayed in the off-canvas below the menu.
Happy coding,
 
					Awesome! Thanks 🙂
 
					How to change the off-canvas animation? Based on the uikit v2 documentation, it has several animation.
// I've tried this but it didn't work
beans_replace_attribute( 'beans_widget_area_offcanvas_bar[_offcanvas_menu]', 'mode', 'slide' );I've tried above code but when the button is triggered the mode always back to "push". Does this has connection with the offcanvas.min.js?
 
					@Pandhu Wee,
Your function is missing the new value.
/*
 * @param string $id        The markup ID.
 * @param string $attribute Name of the HTML attribute to target.
 * @param string $value     Value which should be replaced.
 * @param string $new_value Optional. Replacement value. If set to '' will display the attribute value as empty
 */
beans_replace_attribute( $id, $attribute, $value, $new_value = null ); 
					Oh...sorry. Actually in my function.php I write the new_value. This is from my function.php
beans_replace_attribute( 'beans_widget_area_offcanvas_bar[_offcanvas_menu]', 'mode', 'push', 'slide' );
Every time I click the menu button, the mode is automatically changed to push.
