Odoo18-Base/addons/website/views/snippets/snippets.xml
2025-03-10 11:12:23 +07:00

1637 lines
101 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Snippets menu -->
<template id="snippets" inherit_id="web_editor.snippets" primary="True" groups="base.group_user">
<xpath expr="//button[@data-action='cancel']" position="before">
<button type="button" class="btn btn-secondary" data-action="mobile" title="Mobile Preview" accesskey="v"><span class="fa fa-mobile"/></button>
</xpath>
<xpath expr="//div[@id='snippets_menu']" position="inside">
<button type="button" tabindex="3" class="o_we_customize_theme_btn text-uppercase"
groups="website.group_website_designer" accesskey="2">
<span>Theme</span>
</button>
</xpath>
<xpath expr="//t[@id='default_snippets']" position="replace">
<t id="default_snippets">
<t t-set="cta_btn_text" t-value="False"/>
<t t-set="cta_btn_href">/contactus</t>
<div id="snippet_structure" class="o_panel">
<div class="o_panel_header">Structure</div>
<div class="o_panel_body">
<t t-snippet="website.s_banner" string="Banner" t-thumbnail="/website/static/src/img/snippets_thumbs/s_banner.svg">
<keywords>hero, jumbotron</keywords>
</t>
<t t-snippet="website.s_cover" string="Cover" t-thumbnail="/website/static/src/img/snippets_thumbs/s_cover.svg">
<keywords>hero, jumbotron</keywords>
</t>
<t t-snippet="website.s_text_image" string="Text - Image" t-thumbnail="/website/static/src/img/snippets_thumbs/s_text_image.svg">
<keywords>content</keywords>
</t>
<t t-snippet="website.s_image_text" string="Image - Text" t-thumbnail="/website/static/src/img/snippets_thumbs/s_image_text.svg">
<keywords>content</keywords>
</t>
<t t-snippet="website.s_title" string="Title" t-thumbnail="/website/static/src/img/snippets_thumbs/s_title.svg">
<keywords>heading, h1</keywords>
</t>
<t t-snippet="website.s_text_block" string="Text" t-thumbnail="/website/static/src/img/snippets_thumbs/s_text_block.svg">
<keywords>content</keywords>
</t>
<t t-snippet="website.s_numbers" string="Numbers" t-thumbnail="/website/static/src/img/snippets_thumbs/s_numbers.svg">
<keywords>statistics, stats, KPI</keywords>
</t>
<t t-snippet="website.s_picture" string="Picture" t-thumbnail="/website/static/src/img/snippets_thumbs/s_picture.svg">
<keywords>image, media, illustration</keywords>
</t>
<t t-snippet="website.s_three_columns" string="Columns" t-thumbnail="/website/static/src/img/snippets_thumbs/s_three_columns.svg">
<keywords>columns, description</keywords>
</t>
<t t-snippet="website.s_color_blocks_2" string="Big Boxes" t-thumbnail="/website/static/src/img/snippets_thumbs/s_color_blocks_2.svg">
<keywords>big</keywords>
</t>
<t t-snippet="website.s_features" string="Features" t-thumbnail="/website/static/src/img/snippets_thumbs/s_features.svg">
<keywords>promotion, characteristic, quality</keywords>
</t>
<t t-snippet="website.s_masonry_block" string="Masonry" t-thumbnail="/website/static/src/img/snippets_thumbs/s_masonry_block.svg">
<keywords>masonry, grid</keywords>
</t>
<t t-snippet="website.s_image_gallery" string="Image Gallery" t-thumbnail="/website/static/src/img/snippets_thumbs/s_image_gallery.svg">
<keywords>gallery, carousel</keywords>
</t>
<t t-snippet="website.s_images_wall" string="Images Wall" t-thumbnail="/website/static/src/img/snippets_thumbs/s_images_wall.svg"/>
<t t-snippet="website.s_carousel" string="Carousel" t-thumbnail="/website/static/src/img/snippets_thumbs/s_carousel.svg">
<keywords>gallery, carousel</keywords>
</t>
<t t-snippet="website.s_media_list" string="Media List" t-thumbnail="/website/static/src/img/snippets_thumbs/s_media_list.svg"/>
<t t-snippet="website.s_showcase" string="Showcase" t-thumbnail="/website/static/src/img/snippets_thumbs/s_showcase.svg"/>
<t t-snippet="website.s_parallax" string="Parallax" t-thumbnail="/website/static/src/img/snippets_thumbs/s_parallax.svg"/>
</div>
</div>
<div id="snippet_feature" class="o_panel">
<div class="o_panel_header">Features</div>
<div class="o_panel_body">
<t t-snippet="website.s_comparisons" string="Comparisons" t-thumbnail="/website/static/src/img/snippets_thumbs/s_comparisons.svg">
<keywords>pricing</keywords>
</t>
<t t-snippet="website.s_company_team" string="Team" t-thumbnail="/website/static/src/img/snippets_thumbs/s_company_team.svg">
<keywords>organization, structure</keywords>
</t>
<t t-snippet="website.s_call_to_action" string="Call to Action" t-thumbnail="/website/static/src/img/snippets_thumbs/s_call_to_action.svg">
<keywords>CTA</keywords>
</t>
<t t-snippet="website.s_references" string="References" t-thumbnail="/website/static/src/img/snippets_thumbs/s_references.svg">
<keywords>customers, clients</keywords>
</t>
<t t-snippet="website.s_faq_collapse" string="Accordion" t-thumbnail="/website/static/src/img/snippets_thumbs/s_faq_collapse.svg">
<keywords>common answers, common questions</keywords>
</t>
<t t-snippet="website.s_features_grid" string="Features Grid" t-thumbnail="/website/static/src/img/snippets_thumbs/s_features_grid.svg"/>
<t t-snippet="website.s_table_of_content" string="Table of Content" t-thumbnail="/website/static/src/img/snippets_thumbs/s_table_of_content.svg"/>
<t t-snippet="website.s_product_catalog" string="Pricelist" t-thumbnail="/website/static/src/img/snippets_thumbs/s_product_catalog.svg">
<keywords>menu, pricing</keywords>
</t>
<t t-snippet="website.s_product_list" string="Items" t-thumbnail="/website/static/src/img/snippets_thumbs/s_product_list.svg"/>
<t t-snippet="website.s_tabs" string="Tabs" t-thumbnail="/website/static/src/img/snippets_thumbs/s_tabs.svg"/>
<t t-snippet="website.s_timeline" string="Timeline" t-thumbnail="/website/static/src/img/snippets_thumbs/s_timeline.svg"/>
<t t-snippet="website.s_process_steps" string="Steps" t-thumbnail="/website/static/src/img/snippets_thumbs/s_process_steps.svg"
t-forbid-sanitize="true"/>
<t t-snippet="website.s_quotes_carousel" string="Quotes" t-thumbnail="/website/static/src/img/snippets_thumbs/s_quotes_carousel.svg">
<keywords>testimonials</keywords>
</t>
</div>
</div>
<div id="snippet_effect" class="o_panel">
<div class="o_panel_header">Dynamic Content</div>
<div class="o_panel_body">
<t t-snippet="website.s_website_form" string="Form" t-thumbnail="/website/static/src/img/snippets_thumbs/s_website_form.svg" t-forbid-sanitize="form"/>
<t t-set="google_maps_api_key" t-value="request.env['website'].get_current_website().google_maps_api_key"/>
<t t-if="debug or not google_maps_api_key" t-snippet="website.s_map" string="Map" t-thumbnail="/website/static/src/img/snippets_thumbs/s_map.svg"/>
<t t-if="debug or google_maps_api_key" t-snippet="website.s_google_map" string="Map" t-thumbnail="/website/static/src/img/snippets_thumbs/s_google_map.svg"/>
<t t-if="debug" t-snippet="website.s_dynamic_snippet" string="Dynamic Snippet" t-thumbnail="/website/static/src/img/snippets_thumbs/s_dynamic_snippet.svg"/>
<t t-if="debug" t-snippet="website.s_dynamic_snippet_carousel" string="Dynamic Carousel" t-thumbnail="/website/static/src/img/snippets_thumbs/s_dynamic_carousel.svg"/>
<t id="sale_products_hook"/>
<t t-snippet="website.s_searchbar" string="Search" t-thumbnail="/website/static/src/img/snippets_thumbs/s_searchbar.svg" t-forbid-sanitize="form"/>
<t id="blog_posts_hook"/>
<t id="event_upcoming_snippet_hook"/>
<t id="snippet_google_map_hook"/>
<t id="mass_mailing_newsletter_block_hook"/>
<t id="mass_mailing_newsletter_popup_hook"/>
<t t-snippet="website.s_popup" string="Popup" t-thumbnail="/website/static/src/img/snippets_thumbs/s_popup.svg"/>
<t t-snippet="website.s_facebook_page" string="Facebook" t-thumbnail="/website/static/src/img/snippets_thumbs/s_facebook_page.svg"/>
<t t-snippet="website.s_countdown" string="Countdown" t-thumbnail="/website/static/src/img/snippets_thumbs/s_countdown.svg">
<keywords>celebration, launch</keywords>
</t>
<t id="mail_group_hook"/>
<t id="twitter_favorite_tweets_hook"/>
<t t-snippet="website.s_embed_code" string="Embed Code" t-thumbnail="/website/static/src/img/snippets_thumbs/s_embed_code.svg" t-forbid-sanitize="true"/>
<t id="snippet_donation_hook"/>
</div>
</div>
<div id="snippet_content" class="o_panel">
<div class="o_panel_header">Inner content</div>
<div class="o_panel_body">
<t t-snippet="website.s_hr" string="Separator" t-thumbnail="/website/static/src/img/snippets_thumbs/s_hr.svg">
<keywords>separator, divider</keywords>
</t>
<t t-snippet="website.s_alert" string="Alert" t-thumbnail="/website/static/src/img/snippets_thumbs/s_alert.svg"/>
<t t-snippet="website.s_rating" string="Rating" t-thumbnail="/website/static/src/img/snippets_thumbs/s_rating.svg">
<keywords>valuation, rank</keywords>
</t>
<t t-snippet="website.s_card" string="Card" t-thumbnail="/website/static/src/img/snippets_thumbs/s_card.svg"/>
<t t-snippet="website.s_share" string="Share" t-thumbnail="/website/static/src/img/snippets_thumbs/s_share.svg"/>
<t t-snippet="website.s_social_media" string="Social Media" t-thumbnail="/website/static/src/img/snippets_thumbs/s_social_media.svg"/>
<t t-snippet="website.s_searchbar_input" string="Search" t-thumbnail="/website/static/src/img/snippets_thumbs/s_searchbar_inline.svg" t-forbid-sanitize="form"/>
<t id="mass_mailing_newsletter_hook"/>
<t t-snippet="website.s_text_highlight" string="Text Highlight" t-thumbnail="/website/static/src/img/snippets_thumbs/s_text_highlight.svg"/>
<t t-snippet="website.s_chart" string="Chart" t-thumbnail="/website/static/src/img/snippets_thumbs/s_chart.svg">
<keywords>chart, table, diagram, pie</keywords>
</t>
<t t-snippet="website.s_progress_bar" string="Progress Bar" t-thumbnail="/website/static/src/img/snippets_thumbs/s_progress_bar.svg">
<keywords>evolution, growth</keywords>
</t>
<t t-snippet="website.s_badge" string="Badge" t-thumbnail="/website/static/src/img/snippets_thumbs/s_badge.svg"/>
<t t-snippet="website.s_blockquote" string="Blockquote" t-thumbnail="/website/static/src/img/snippets_thumbs/s_blockquote.svg">
<keywords>cite</keywords>
</t>
<t id="event_speaker_bio_hook"/>
<t id="snippet_donation_button_hook"/>
<t id="snippet_add_to_cart_hook"/>
<t id="snippet_rental_search_hook"/>
</div>
</div>
</t>
</xpath>
<xpath expr="//div[@id='snippet_options']/t" position="attributes">
<attribute name="t-call">website.snippet_options</attribute>
</xpath>
</template>
<template id="external_snippets" inherit_id="website.snippets" priority="8">
<xpath expr="//div[@id='snippet_effect']/div[hasclass('o_panel_body')]" position="inside">
<t t-install="website_event" string="Events" t-thumbnail="/website/static/src/img/snippets_thumbs/s_event_upcoming_snippet.svg"/>
<t id="newsletter_popup_snippet" t-install="mass_mailing" string="Newsletter Popup" t-thumbnail="/website/static/src/img/snippets_thumbs/newsletter_subscribe_popup.svg"/>
<t t-install="website_mail_group" string="Discussion Group" t-thumbnail="/website/static/src/img/snippets_thumbs/s_group.svg"/>
<t t-install="website_twitter" string="Twitter Scroller" t-thumbnail="/website/static/src/img/snippets_thumbs/s_twitter_scroll.svg"/>
<t t-install="website_payment" string="Donation" t-thumbnail="/website/static/src/img/snippets_thumbs/s_donation.svg"/>
</xpath>
<xpath expr="//div[@id='snippet_content']/div[hasclass('o_panel_body')]" position="inside">
<t id="newsletter_snippet" t-install="mass_mailing" string="Newsletter" t-thumbnail="/website/static/src/img/snippets_thumbs/s_newsletter_subscribe_form.svg"/>
<t t-install="website_payment" string="Donation Button" t-thumbnail="/website/static/src/img/snippets_thumbs/s_donation_button.svg"/>
<t t-install="website_sale" string="Add to Cart Button" t-thumbnail="/website/static/src/img/snippets_thumbs/s_donation_button.svg"/>
</xpath>
</template>
<template id="snippet_options_background_options" inherit_id="web_editor.snippet_options_background_options" primary="True">
<xpath expr="//we-button[@data-toggle-bg-image]" position="after">
<t t-if="with_videos">
<we-button title="Video" class="fa fa-fw fa-film"
data-name="bg_video_toggler_opt"
t-att-data-dependencies="images_dependencies"
data-toggle-bg-video="true"
data-no-preview="true"/>
</t>
</xpath>
<xpath expr="//t[@t-set='color_filter_dependencies']" position="after">
<t t-set="color_filter_dependencies" t-valuef="#{color_filter_dependencies}, bg_video_toggler_opt"/>
</xpath>
<xpath expr="//div[@data-js='BackgroundOptimize']" position="after">
<!-- Parallax -->
<div data-js="Parallax"
t-att-data-selector="selector"
t-att-data-exclude="exclude"
t-att-data-target="target">
<we-select string="Parallax"
class="o_we_sublevel_2"
data-attribute-name="scrollBackgroundRatio"
data-attribute-default-value="0"
data-parallax-type-opt="true"
data-no-preview="true"
data-dependencies="bg_image_opt">
<we-button data-name="parallax_none_opt" data-select-data-attribute="0">None</we-button>
<we-button data-select-data-attribute="1">Fixed</we-button>
<we-button data-name="parallax_top_opt" data-select-data-attribute="1.5">Bottom to Top</we-button>
<we-button data-name="parallax_bottom_opt" data-select-data-attribute="-1.5">Top to Bottom</we-button>
</we-select>
<we-range string="Intensity"
class="o_we_sublevel_3"
data-dependencies="parallax_top_opt"
data-select-data-attribute=""
data-attribute-name="scrollBackgroundRatio"
data-attribute-default-value="0"
data-no-preview="true"
data-min="0"
data-max="3"
data-step="0.15"/> <!-- Make sure this cannot land on 1 -->
<we-range string="Intensity"
class="o_we_sublevel_3"
data-dependencies="parallax_bottom_opt"
data-select-data-attribute=""
data-attribute-name="scrollBackgroundRatio"
data-attribute-default-value="0"
data-no-preview="true"
data-min="0"
data-max="-3"
data-step="0.15"/> <!-- Make sure this cannot land on 1 -->
</div>
<div data-js="BackgroundVideo"
t-att-data-selector="selector"
t-att-data-exclude="exclude"
t-att-data-target="target">
<we-row string="Video" class="o_we_sublevel_1">
<we-videopicker title="Edit video"
data-background=""
data-name="bg_video_opt"
data-dependencies="bg_video_opt"/>
</we-row>
</div>
</xpath>
</template>
<template id="snippet_options_border_line_widgets">
<we-row t-att-string="label">
<we-input data-name="border_width_opt"
t-att-data-apply-to="apply_to"
data-select-style="0"
t-attf-data-css-property="border-#{direction and ('%s-' % direction) or ''}width"
data-unit="px"
t-att-data-extra-class="with_bs_class and 'border'"
t-att-data-variable="width_variable"/>
<we-select t-attf-data-css-property="border-#{direction and ('%s-' % direction) or ''}style"
data-dependencies="border_width_opt"
t-att-data-apply-to="apply_to"
t-att-data-variable="style_variable">
<we-button title="Solid" data-select-style="solid"><div class="o_we_fake_img_item o_we_border_preview" style="border-style: solid;"/></we-button>
<we-button title="Dashed" data-select-style="dashed"><div class="o_we_fake_img_item o_we_border_preview" style="border-style: dashed;"/></we-button>
<we-button title="Dotted" data-select-style="dotted"><div class="o_we_fake_img_item o_we_border_preview" style="border-style: dotted;"/></we-button>
<we-button title="Double" data-select-style="double"><div class="o_we_fake_img_item o_we_border_preview" style="border-style: double; border-left: none; border-right: none;"/></we-button>
</we-select>
<we-colorpicker data-dependencies="border_width_opt"
t-att-data-apply-to="apply_to"
data-select-style="true"
t-attf-data-css-property="border-#{direction and ('%s-' % direction) or ''}color"
data-color-prefix="border-"
t-att-data-color="color_variable"/>
</we-row>
</template>
<template id="snippet_options_border_widgets">
<t t-call="website.snippet_options_border_line_widgets">
<t t-set="label">Border</t>
<t t-set="with_bs_class" t-value="True"/>
</t>
<we-input string="Round Corners"
t-att-data-apply-to="apply_to"
t-att-data-dependencies="not so_rounded_no_dependencies and 'border_width_opt,bg_color_opt'"
data-select-style="0" data-css-property="border-radius"
data-unit="px" data-extra-class="rounded"
t-att-data-variable="radius_variable"/>
</template>
<template id="snippet_options_shadow_widgets">
<we-button-group string="Shadow" data-shadow-class="shadow" t-att-data-variable="shadow_variable">
<we-button data-set-shadow="">None</we-button>
<we-button data-set-shadow="outset"
data-img="/website/static/src/img/snippets_options/shadow_out.svg"
data-name="shadow_active_opt"
title="Outset"/>
<we-button data-set-shadow="inset"
data-img="/website/static/src/img/snippets_options/shadow_in.svg"
data-name="shadow_inset_opt"
title="Inset"/>
</we-button-group>
<we-multi data-css-property="box-shadow" data-dependencies="shadow_active_opt, shadow_inset_opt" t-att-data-variable="shadow_variable">
<we-colorpicker string="Color" class="o_we_sublevel_1" data-select-style="" data-css-compatible=""/>
<we-row string="Offset (X, Y)" class="o_we_sublevel_1">
<we-input data-select-style="" data-unit="px"/>
<we-input data-select-style="" data-unit="px"/>
</we-row>
<we-input string="Blur" class="o_we_sublevel_1" data-select-style="" data-unit="px"/>
<we-input string="Spread" class="o_we_sublevel_1" data-select-style="" data-unit="px"/>
<!-- Inset parameter always hidden (as controlled above) but needed -->
<!-- for the we-multi widget to work properly. -->
<we-checkbox data-name="fake_inset_shadow_opt" data-select-style="inset"/>
</we-multi>
</template>
<template id="snippet_options_conditional_visibility">
<we-select t-att-string="option_name" class="o_we_sublevel_1"
data-dependencies="visibility_conditional"
t-att-data-attribute-name="attribute_rule"
data-no-preview="true" data-is-visibility-condition="true">
<we-button data-select-data-attribute="">Visible for</we-button>
<we-button data-select-data-attribute="hide">Hidden for</we-button>
</we-select>
<we-many2many string=" "
data-dependencies="visibility_conditional"
t-att-data-save-attribute="save_attribute"
t-att-data-attribute-name="attribute_name"
data-no-preview="true"
t-att-data-model="model" t-att-data-call-with="call_with" data-select-record="" t-att-data-fields="data_fields" t-att-data-domain="domain"
data-allow-delete="true" data-fakem2m="true"/>
</template>
<template id="snippet_options" inherit_id="web_editor.snippet_options" primary="True">
<!-- =================================================================== -->
<!-- Modify generic snippet options -->
<!-- =================================================================== -->
<xpath expr="//we-button[@data-name='image_transform_opt']" position="attributes">
<attribute name="data-dependencies">no_animation_opt</attribute>
</xpath>
<!-- =================================================================== -->
<!-- Adding website specific snippet options -->
<!-- =================================================================== -->
<xpath expr="." position="inside">
<!-- COLOR, BORDER, SHADOW | .s_three_columns | .s_comparisons -->
<div data-js="Box"
data-selector=".s_three_columns .row > div, .s_comparisons .row > div"
data-target=".card">
<we-colorpicker string="Colors"
data-select-style="true"
data-css-property="background-color"
data-color-prefix="bg-"/>
<t t-call="website.snippet_options_border_widgets">
<t t-set="so_rounded_no_dependencies" t-value="True"/>
</t>
<t t-call="website.snippet_options_shadow_widgets"/>
</div>
<!-- COLOR | .s_cards -->
<div data-selector=".s_card, .accordion .card">
<we-colorpicker string="Color"
data-select-style="true"
data-css-property="background-color"
data-color-prefix="bg-"/>
</div>
<!-- H-ALIGN -->
<div id="so_text_align" data-selector=".s_share, .s_text_highlight, .s_social_media">
<we-button-group string="Alignment">
<we-button class="fa fa-fw fa-align-left" title="Left" data-select-class="text-start"/>
<we-button class="fa fa-fw fa-align-center" title="Center" data-select-class="text-center"/>
<we-button class="fa fa-fw fa-align-right" title="Right" data-select-class="text-end"/>
</we-button-group>
</div>
<div data-selector=".s_share, .s_social_media">
<we-select string="Title Position" data-apply-to=".s_share_title, .s_social_media_title">
<we-button data-select-class="d-block">Top</we-button>
<we-button data-select-class="">Left</we-button>
<we-button data-select-class="d-none">None</we-button>
</we-select>
<we-select string="Layout" data-apply-to=".fa">
<we-button data-select-class="rounded shadow-sm">Square</we-button>
<we-button data-select-class="rounded-empty-circle shadow-sm">Circle</we-button>
<we-button data-select-class="rounded-circle shadow-sm">Disk</we-button>
<we-button data-select-class="m-1">None</we-button>
</we-select>
<we-select string="Size" data-apply-to=".fa">
<we-button data-select-class="">Small</we-button>
<we-button data-select-class="fa-2x">Medium</we-button>
<we-button data-select-class="fa-3x">Big</we-button>
</we-select>
<!-- Compatibility, keep reverse logical, don't use `icon_color` -->
<we-checkbox string="Color" data-select-class="no_icon_color|"/>
</div>
<div id="so_width" data-selector=".s_alert, .s_card, .s_blockquote, .s_text_highlight">
<we-select string="Width">
<we-button data-select-class="w-25">25%</we-button>
<we-button data-select-class="w-50">50%</we-button>
<we-button data-select-class="w-75">75%</we-button>
<we-button data-select-class="w-100" data-name="so_width_100">100%</we-button>
</we-select>
</div>
<div id="so_block_align" data-selector=".s_alert, .s_card, .s_blockquote, .s_text_highlight">
<we-button-group string="Alignment" data-dependencies="!so_width_100">
<we-button class="fa fa-fw fa-align-left" title="Left" data-select-class="me-auto"/>
<we-button class="fa fa-fw fa-align-center" title="Center" data-select-class="mx-auto"/>
<we-button class="fa fa-fw fa-align-right" title="Right" data-select-class="ms-auto"/>
</we-button-group>
</div>
<!-- Carousel | .s_carousel | .s_quotes_carousel -->
<!-- Dedicated colorpicker so that there is not 3 level of
o_colored_level. Use inline-style color for the same reason. -->
<t t-call="website.snippet_options_background_options">
<t t-set="selector" t-value="'section'"/>
<t t-set="target" t-value="'> .carousel'"/>
<t t-set="with_colors" t-value="True"/>
<t t-set="with_images" t-value="True"/>
<t t-set="with_videos" t-value="True"/>
<t t-set="with_shapes" t-value="True"/>
<t t-set="css_compatible" t-value="True"/>
<t t-set="with_gradients" t-value="True"/>
</t>
<div data-js="Carousel"
data-selector="section"
data-target="> .carousel">
<we-row string="Slide">
<we-button data-add-slide="true" data-no-preview="true" class="o_we_bg_brand_primary">Add Slide</we-button>
</we-row>
<we-select string="Style">
<we-button data-select-class="s_carousel_default">Default</we-button>
<we-button data-select-class="s_carousel_bordered">Bordered</we-button>
<we-button data-select-class="s_carousel_boxed">Boxed</we-button>
<we-button data-select-class="s_carousel_rounded">Rounded</we-button>
</we-select>
<we-select string="Transition">
<we-button data-select-class="slide">Slide</we-button>
<we-button data-select-class="carousel-fade slide">Fade</we-button>
<we-divider/>
<we-button data-select-class="">None</we-button>
</we-select>
<we-input string="Speed"
data-select-data-attribute="0s" data-attribute-name="bsInterval"
data-unit="s" data-save-unit="ms" data-step="0.1"/>
</div>
<div data-js="CarouselItem"
data-selector=".s_carousel .carousel-item, .s_quotes_carousel .carousel-item">
<we-button class="fa fa-fw fa-angle-left" data-switch-to-slide="left" data-no-preview="true" data-tooltip="Move Backward"/>
<we-button class="fa fa-fw fa-angle-right me-2" data-switch-to-slide="right" data-no-preview="true" data-tooltip="Move Forward"/>
<we-button class="fa fa-fw fa-plus o_we_bg_success" data-add-slide-item="true" data-no-preview="true" data-tooltip="Add Slide"/>
<we-button class="fa fa-fw fa-minus o_we_bg_danger" data-remove-slide="true" data-no-preview="true" data-tooltip="Remove Slide"/>
</div>
<!-- Accordion -->
<div data-js="collapse"
data-selector='.accordion > .card'
data-drop-in='.accordion:has(> .card)'/>
<div data-js="MultipleItems" data-selector=".s_faq_collapse">
<we-row string="Item">
<we-button data-add-item="" data-item=".accordion > .card:last" data-select-item="" data-no-preview="true" class="o_we_bg_brand_primary">
Add Item
</we-button>
</we-row>
</div>
<!-- Columns only -->
<div data-js="layout_column"
data-selector="section.s_features_grid, section.s_process_steps"
data-target="> *:has(> .row), > .s_allow_columns">
<we-select string="Columns" data-no-preview="true">
<we-button data-select-count="0" data-name="zero_cols_opt">None</we-button>
<we-button data-select-count="1">1</we-button>
<we-button data-select-count="2">2</we-button>
<we-button data-select-count="3">3</we-button>
<we-button data-select-count="4">4</we-button>
<we-button data-select-count="5">5</we-button>
<we-button data-select-count="6">6</we-button>
</we-select>
</div>
<!-- Grid only -->
<div data-js="layout_column"
data-selector="section.s_masonry_block"
data-target="> *:has(> .row)">
<we-button-group class="o_grid" string="Add Elements" data-no-preview="true" data-dependencies="grid_mode">
<we-button class="o_we_bg_brand_primary o_grid" data-add-element="image" title="Image" data-name="image">Image</we-button>
<we-button class="o_we_bg_brand_primary o_grid" data-add-element="text" title="Text" data-name="text">Text</we-button>
<we-button class="o_we_bg_brand_primary o_grid" data-add-element="button" title="Button" data-name="button">Button</we-button>
</we-button-group>
<we-row string="Padding (Y, X)">
<we-input data-dependencies="grid_mode" data-select-style="" data-css-property="--grid-item-padding-y" data-unit="px" data-apply-to=".row"/>
<we-input data-dependencies="grid_mode" data-select-style="" data-css-property="--grid-item-padding-x" data-unit="px" data-apply-to=".row"/>
</we-row>
</div>
<!-- Grid and columns -->
<div data-js="layout_column"
data-selector="section, section.s_carousel_wrapper .carousel-item"
data-target="> *:has(> .row), > .s_allow_columns"
data-exclude=".s_masonry_block, .s_features_grid, .s_media_list, .s_showcase, .s_table_of_content, .s_process_steps">
<we-row>
<we-button-group string="Layout" data-no-preview="true">
<we-button data-select-layout="grid" data-name="grid_mode">Grid</we-button>
<we-button data-select-layout="normal" data-name="normal_mode">Cols</we-button>
</we-button-group>
<we-select class="o_grid" data-no-preview="true" data-dependencies="normal_mode">
<we-button data-select-count="0" data-name="zero_cols_opt">None</we-button>
<we-button data-select-count="1">1</we-button>
<we-button data-select-count="2">2</we-button>
<we-button data-select-count="3">3</we-button>
<we-button data-select-count="4">4</we-button>
<we-button data-select-count="5">5</we-button>
<we-button data-select-count="6">6</we-button>
</we-select>
</we-row>
<we-button-group class="o_grid o_we_sublevel_1" string="Add Elements" data-no-preview="true" data-dependencies="grid_mode">
<we-button class="o_we_bg_brand_primary o_grid" data-add-element="image" title="Image" data-name="image">Image</we-button>
<we-button class="o_we_bg_brand_primary o_grid" data-add-element="text" title="Text" data-name="text">Text</we-button>
<we-button class="o_we_bg_brand_primary o_grid" data-add-element="button" title="Button" data-name="button">Button</we-button>
</we-button-group>
<we-row class="o_we_sublevel_1" string="Padding (Y, X)">
<we-input data-dependencies="grid_mode" data-select-style="" data-css-property="--grid-item-padding-y" data-unit="px" data-apply-to=".row"/>
<we-input data-dependencies="grid_mode" data-select-style="" data-css-property="--grid-item-padding-x" data-unit="px" data-apply-to=".row"/>
</we-row>
</div>
<!-- Vertical Alignment -->
<div data-option-name="vAlignment" id="row_valign_snippet_option" data-selector=".s_text_image, .s_image_text, .s_three_columns" data-target=".row">
<we-button-group class="o_we_sublevel_1" string="Vert. Alignment" title="Vertical Alignment" data-dependencies="normal_mode">
<we-button title="Align Top"
data-select-class="align-items-start"
data-img="/website/static/src/img/snippets_options/align_top.svg"/>
<we-button title="Align Middle"
data-select-class="align-items-center"
data-img="/website/static/src/img/snippets_options/align_middle.svg"/>
<we-button title="Align Bottom"
data-select-class="align-items-end"
data-img="/website/static/src/img/snippets_options/align_bottom.svg"/>
<we-button title="Stretch to Equal Height"
data-select-class="align-items-stretch"
data-img="/website/static/src/img/snippets_options/align_stretch.svg"/>
</we-button-group>
</div>
<!-- Move snippets around -->
<div data-js="SnippetMove" data-selector="section, .accordion > .card, .s_showcase .row:not(.s_col_no_resize) > div" data-no-scroll=".accordion > .card">
<we-button class="fa fa-fw fa-angle-up" data-move-snippet="prev" data-no-preview="true" data-name="move_up_opt"/>
<we-button class="fa fa-fw fa-angle-down" data-move-snippet="next" data-no-preview="true" data-name="move_down_opt"/>
</div>
<div data-js="SnippetMove"
data-selector=".row:not(.s_col_no_resize) > div, .nav-item"
data-exclude=".s_showcase .row > div"
data-name="move_horizontally_opt">
<we-button class="fa fa-fw fa-angle-left" data-move-snippet="prev" data-no-preview="true" data-name="move_left_opt"/>
<we-button class="fa fa-fw fa-angle-right" data-move-snippet="next" data-no-preview="true" data-name="move_right_opt"/>
</div>
<!-- Background -->
<t t-set="only_bg_color_selector" t-value="'section .row > div, .s_text_highlight, .s_mega_menu_thumbnails_footer'"/>
<t t-set="only_bg_color_exclude" t-value="'.s_col_no_bgcolor, .s_col_no_bgcolor.row > div, .s_masonry_block .row > div, .s_color_blocks_2 .row > div, .s_image_gallery .row > div'"/>
<t t-set="base_only_bg_image_selector" t-value="'.s_tabs .oe_structure > *, footer .oe_structure > *'"/>
<t t-set="only_bg_image_selector" t-value="base_only_bg_image_selector"/>
<t t-set="only_bg_image_exclude" t-value="''"/>
<t t-set="both_bg_color_image_selector" t-value="'section, .carousel-item, .s_masonry_block .row > div, .s_color_blocks_2 .row > div, .parallax'"/>
<t t-set="both_bg_color_image_exclude" t-value="base_only_bg_image_selector + ', .s_carousel_wrapper, .s_image_gallery .carousel-item, .s_google_map, .s_map, [data-snippet] :not(.oe_structure) > [data-snippet], .s_masonry_block .s_col_no_resize'"/>
<t t-call="website.snippet_options_background_options">
<t t-set="selector" t-value="both_bg_color_image_selector"/>
<t t-set="exclude" t-value="both_bg_color_image_exclude"/>
<t t-set="with_colors" t-value="True"/>
<t t-set="with_images" t-value="True"/>
<t t-set="with_videos" t-value="True"/>
<t t-set="with_shapes" t-value="True"/>
<t t-set="with_color_combinations" t-value="True"/>
<t t-set="with_gradients" t-value="True"/>
</t>
<t t-call="website.snippet_options_background_options">
<t t-set="selector" t-value="only_bg_color_selector"/>
<t t-set="exclude" t-value="only_bg_color_exclude"/>
<t t-set="with_colors" t-value="True"/>
<t t-set="with_images" t-value="False"/>
<t t-set="with_color_combinations" t-value="True"/>
<t t-set="with_gradients" t-value="True"/>
</t>
<t t-call="website.snippet_options_background_options">
<t t-set="selector" t-value="only_bg_image_selector"/>
<t t-set="exclude" t-value="only_bg_image_exclude"/>
<t t-set="with_colors" t-value="False"/>
<t t-set="with_images" t-value="True"/>
<t t-set="with_videos" t-value="True"/>
<t t-set="with_shapes" t-value="True"/>
</t>
<!-- Border | Columns -->
<div data-js="Box"
data-selector="section .row > div"
data-exclude=".s_col_no_bgcolor, .s_col_no_bgcolor.row > div, .s_image_gallery .row > div, .s_masonry_block .s_col_no_resize">
<t t-call="website.snippet_options_border_widgets"/>
<t t-call="website.snippet_options_shadow_widgets"/>
</div>
<div data-js="sizing_y"
data-selector="section, .row > div, .parallax, .s_hr, .carousel-item, .s_rating"
data-exclude="section:has(> .carousel), .s_image_gallery .carousel-item, .s_col_no_resize.row > div, .s_col_no_resize"/>
<div data-js="sizing_x"
data-selector=".row > div"
data-drop-near=".row:not(.s_col_no_resize) > div"
data-exclude=".s_col_no_resize.row > div, .s_col_no_resize"/>
<div data-js="sizing_grid"
data-selector=".row > div"
data-drop-near=".row.o_grid_mode > div"
data-exclude=".s_col_no_resize.row > div, .s_col_no_resize"/>
<t t-set="so_snippet_addition_selector" t-translation="off">section, .parallax</t>
<div id="so_snippet_addition"
t-att-data-selector="so_snippet_addition_selector"
data-drop-in=":not(p).oe_structure:not(.oe_structure_solo), :not(.o_mega_menu):not(p)[data-oe-type=html], :not(p).oe_structure.oe_structure_solo:not(:has(> section, > div))"/>
<!-- /!\ drop-in here is partly duplicated for s_popup (see dedicated options) -->
<!-- TODO should be improved -->
<t t-set="so_content_addition_selector" t-translation="off">blockquote, .s_card:not(.s_timeline_card), .s_alert, .o_facebook_page, .s_share, .s_social_media, .s_rating, .s_hr, .s_google_map, .s_map, .s_countdown, .s_chart, .s_text_highlight, .s_progress_bar, .s_badge, .s_embed_code, .s_donation, .s_add_to_cart</t>
<div id="so_content_addition"
t-att-data-selector="so_content_addition_selector"
t-attf-data-drop-near="p, h1, h2, h3, ul, ol, .row > div:not(.o_grid_item_image) > img, #{so_content_addition_selector}"
data-drop-in=".content, nav"/>
<!-- TODO in master: remove the `.content` above, as it will not refer to
anything when the `content` classes in carousel will be removed. -->
<div data-js="SnippetSave"
t-attf-data-selector="#{so_snippet_addition_selector}, #{so_content_addition_selector}, .s_popup"
data-exclude=".o_no_save">
<we-button class="fa fa-fw fa-save o_we_link o_we_hover_warning"
title="Save the block to use it elsewhere"
data-save-snippet=""
data-no-preview="true"/>
</div>
<div data-js="menu_data"
data-selector="#top_menu li > a, [data-content_menu_id] li > a"
data-exclude=".dropdown-toggle, li.o_header_menu_button a, [data-toggle], .o_offcanvas_logo"
data-no-check="true"/>
<div data-js="company_data"
data-selector="[data-oe-expression='res_company.partner_id']"
data-no-check="true"/>
<div data-js="HeaderLayout"
data-selector="#wrapwrap > header"
data-no-check="true"
groups="website.group_website_designer">
<we-select string="Template" data-variable="header-template" data-reload="/" data-no-preview="true">
<we-button title="Default"
data-name="header_default_opt"
data-customize-website-views="website.template_header_default"
data-customize-website-variable="'default'"
data-img="/website/static/src/img/snippets_options/header_template_default.svg"/>
<we-button title="Hamburger menu"
data-name="header_hamburger_opt"
data-customize-website-views="website.template_header_hamburger"
data-customize-website-variable="'hamburger'"
data-img="/website/static/src/img/snippets_options/header_template_hamburger.svg"/>
<we-button title="Vertical"
data-name="header_vertical_opt"
data-customize-website-views="website.template_header_vertical"
data-customize-website-variable="'vertical'"
data-img="/website/static/src/img/snippets_options/header_template_vertical.svg"/>
<we-button title="Sidebar"
data-name="header_sidebar_opt"
data-customize-website-views="website.template_header_sidebar, website.no_autohide_menu"
data-customize-website-variable="'sidebar'"
data-img="/website/static/src/img/snippets_options/header_template_sidebar.svg"/>
<we-button title="Slogan"
data-name="header_slogan_opt"
data-customize-website-views="website.template_header_slogan"
data-customize-website-variable="'slogan'"
data-img="/website/static/src/img/snippets_options/header_template_slogan.svg"/>
<we-button title="Contact"
data-name="header_contact_opt"
data-customize-website-views="website.template_header_contact"
data-customize-website-variable="'Contact'"
data-img="/website/static/src/img/snippets_options/header_template_contact.svg"/>
<we-button title="Boxed"
data-name="header_boxed_opt"
data-customize-website-views="website.template_header_boxed"
data-customize-website-variable="'boxed'"
data-img="/website/static/src/img/snippets_options/header_template_boxed.svg"/>
<we-button title="Centered Logo"
data-name="header_centered_logo_opt"
data-customize-website-views="website.template_header_centered_logo"
data-customize-website-variable="'centered_logo'"
data-img="/website/static/src/img/snippets_options/header_template_centered_logo.svg"/>
<we-button title="Image"
data-name="header_image_opt"
data-customize-website-views="website.template_header_image"
data-customize-website-variable="'image'"
data-img="/website/static/src/img/snippets_options/header_template_image.svg"/>
<we-button title="Hamburger Full"
data-name="header_hamburger_full_opt"
data-customize-website-views="website.template_header_hamburger_full"
data-customize-website-variable="'hamburger-full'"
data-img="/website/static/src/img/snippets_options/header_template_hamburger_full.svg"/>
<we-button title="Magazine"
data-name="header_magazine_opt"
data-customize-website-views="website.template_header_magazine"
data-customize-website-variable="'magazine'"
data-img="/website/static/src/img/snippets_options/header_template_magazine.svg"/>
</we-select>
<!-- Header Sidebar Template - Options -->
<we-input string="Width"
class="o_we_sublevel_1"
data-dependencies="header_sidebar_opt"
data-customize-website-variable="null"
data-variable="sidebar-width"
data-unit="px"
data-save-unit="rem"/>
<we-row string="Colors">
<we-colorpicker data-customize-website-color="" data-color="menu"
data-customize-website-layer2-color="" data-layer-color="menu-custom" data-layer-gradient="menu-gradient"
data-no-bundle-reload="true"
data-null-value="'NULL'"
data-with-combinations="customizeWebsiteColor"
data-with-gradients="true"/>
<we-colorpicker data-dependencies="header_boxed_opt"
data-customize-website-color="" data-color="header-boxed"
data-customize-website-layer2-color="" data-layer-color="header-boxed-custom" data-layer-gradient="header-boxed-gradient"
data-no-bundle-reload="true"
data-null-value="'NULL'"
data-with-combinations="customizeWebsiteColor"
data-with-gradients="true"/>
</we-row>
</div>
<!-- Header - Borders & Shadows -->
<div data-js="HeaderBox"
id="option_header_shadow"
data-selector="#wrapwrap > header"
data-target="nav"
data-no-check="true"
groups="website.group_website_designer">
<t t-call="website.snippet_options_border_widgets">
<t t-set="so_rounded_no_dependencies" t-value="True"/>
<t t-set="width_variable" t-value="'menu-border-width'"/>
<t t-set="style_variable" t-value="'menu-border-style'"/>
<t t-set="color_variable" t-value="'menu-border-color'"/>
<t t-set="radius_variable" t-value="'menu-border-radius'"/>
</t>
<t t-call="website.snippet_options_shadow_widgets">
<t t-set="shadow_variable" t-value="'menu-box-shadow'"/>
</t>
</div>
<div data-selector="#wrapwrap > header"
data-no-check="true"
groups="website.group_website_designer">
<we-select string="Scroll Effect" data-dependencies="!header_sidebar_opt" class="o_scroll_effects_selector" data-variable="header-scroll-effect">
<t t-set="header_effect_standard_label">Standard</t>
<t t-set="header_effect_scroll_label">Scroll</t>
<t t-set="header_effect_fixed_label">Fixed</t>
<t t-set="header_effect_disappears_label">Disappears</t>
<t t-set="header_effect_fadeout_label">Fade Out</t>
<we-button id="option_header_visibility_standard"
t-att-data-select-label="header_effect_standard_label"
class="o_we_img_animate"
data-customize-website-variable="'standard'"
data-name="header_visibility_standard_opt"
data-select-class="o_header_standard"
data-customize-website-views="website.header_visibility_standard"
data-img="/website/static/src/img/snippets_options/header_effect_standard.png">
<span t-esc='header_effect_standard_label'/>
</we-button>
<we-button id="option_header_effect_scroll"
t-att-data-select-label="header_effect_scroll_label"
class="o_we_img_animate"
data-customize-website-variable="'scroll'"
data-name="header_effect_scroll_opt"
data-select-class=""
data-customize-website-views=""
data-img="/website/static/src/img/snippets_options/header_effect_scroll.png">
<span t-esc='header_effect_scroll_label'/>
</we-button>
<we-button id="option_header_effect_fixed"
t-att-data-select-label="header_effect_fixed_label"
class="o_we_img_animate"
data-customize-website-variable="'fixed'"
data-name="header_effect_fixed_opt"
data-select-class="o_header_fixed"
data-customize-website-views="website.header_visibility_fixed"
data-img="/website/static/src/img/snippets_options/header_effect_fixed.png">
<span t-esc='header_effect_fixed_label'/>
</we-button>
<we-button id="option_header_effect_disappears"
t-att-data-select-label="header_effect_disappears_label"
class="o_we_img_animate"
data-customize-website-variable="'disappears'"
data-name="header_effect_disappears_opt"
data-select-class="o_header_disappears"
data-customize-website-views="website.header_visibility_disappears"
data-img="/website/static/src/img/snippets_options/header_effect_disappears.png">
<span t-esc="header_effect_disappears_label" />
</we-button>
<we-button id="option_header_effect_fade_out"
t-att-data-select-label="header_effect_fadeout_label"
class="o_we_img_animate"
data-customize-website-variable="'fade-out'"
data-name="header_effect_fade_out_opt"
data-select-class="o_header_fade_out"
data-customize-website-views="website.header_visibility_fade_out"
data-img="/website/static/src/img/snippets_options/header_effect_fade_out.png">
<span t-esc='header_effect_fadeout_label'/>
</we-button>
</we-select>
</div>
<div data-js="TopMenuVisibility"
data-selector="[data-main-object^='website.page('] #wrapwrap > header"
data-no-check="true">
<we-select string="Header Position" data-no-preview="true"
data-dependencies="!header_sidebar_opt">
<we-button data-visibility="transparent">Over The Content</we-button>
<we-button data-name="regular_header_visibility_opt"
data-visibility="regular">Regular</we-button>
<we-button data-visibility="hidden">Hidden</we-button>
</we-select>
</div>
<div data-js="topMenuColor"
data-selector="[data-main-object^='website.page('] #wrapwrap > header"
data-no-check="true">
<we-colorpicker string="Background"
class="o_we_sublevel_1"
id="option_header_transparent_color"
data-select-style="true"
data-css-property="background-color"
data-color-prefix="bg-"
data-excluded="theme, common, custom"/>
</div>
<!-- Header > Navbar Options -->
<div data-js="HeaderNavbar"
data-selector="#wrapwrap > header nav.navbar"
data-no-check="true"
groups="website.group_website_designer">
<!-- Generic alignment option controling all the template at once. -->
<!-- Currently needed to be this way as the SCSS variable controls -->
<!-- the mobile alignement which is the same for all templates. -->
<we-select string="Alignment"
data-name="header_alignment_opt"
data-variable="hamburger-position"
data-reload="/">
<we-button data-customize-website-views="" data-customize-website-variable="'left'">Left</we-button>
<we-button data-customize-website-views="website.template_header_default_align_center, website.template_header_hamburger_align_center, website.template_header_slogan_align_center" data-customize-website-variable="'center'">Center</we-button>
<we-button data-customize-website-views="website.template_header_default_align_right, website.template_header_hamburger_align_right, website.template_header_slogan_align_right" data-customize-website-variable="'right'">Right</we-button>
</we-select>
<!-- Generic Hamburger Options (mobile or not) -->
<we-select string="Hamburger Type"
data-name="header_hamburger_type_opt"
data-variable="hamburger-type"
data-reload="/">
<we-button data-name="default_hamburger_opt"
data-customize-website-variable="'default'"
data-customize-website-views="">Default</we-button>
<we-button data-name="off_canvas_menu_opt"
data-customize-website-variable="'off-canvas'"
data-customize-website-views="website.option_header_off_canvas, website.option_header_off_canvas_template_header_hamburger, website.option_header_off_canvas_template_header_sidebar, website.option_header_off_canvas_template_header_hamburger_full">Off-Canvas</we-button>
<we-button data-name="no_hamburger_opt"
data-customize-website-variable="'no-hamburger'"
data-customize-website-views="website.option_header_no_mobile_hamburger">Same as desktop</we-button>
</we-select>
<we-select string="Off-Canvas Logo" class="o_we_sublevel_1" data-dependencies="off_canvas_menu_opt" data-reload="/">
<we-button data-customize-website-views="">Text</we-button>
<we-button data-customize-website-views="website.option_header_off_canvas_logo_show">Image</we-button>
</we-select>
<we-row string="Font">
<we-fontfamilypicker data-variable="navbar-font"/>
<we-input data-customize-website-variable="null" data-variable="header-font-size" data-unit="px" data-save-unit="rem"/>
</we-row>
<we-select string="Links Style" data-variable="header-links-style" data-reload="/">
<we-button data-name="option_header_navbar_links_default"
data-customize-website-views=""
data-customize-website-variable="'default'">Default</we-button>
<we-button data-name="option_header_navbar_links_fill"
data-customize-website-views="website.header_navbar_pills_style"
data-customize-website-variable="'fill'">Fill</we-button>
<we-button data-name="option_header_navbar_links_outline"
data-customize-website-views=""
data-customize-website-variable="'outline'">Outline</we-button>
<we-button data-name="option_header_navbar_links_pills"
data-customize-website-views="website.header_navbar_pills_style"
data-customize-website-variable="'pills'">Pills</we-button>
<we-button data-name="option_header_navbar_block"
data-customize-website-views="website.header_navbar_pills_style"
data-customize-website-variable="'block'">Block</we-button>
<we-button data-name="option_header_navbar_border_bottom"
data-customize-website-views=""
data-customize-website-variable="'border-bottom'">Border Bottom</we-button>
</we-select>
<we-select id="option_header_dropdown" string="Sub Menus" data-dependencies="!header_hamburger_opt" data-no-preview="true">
<we-button data-select-class="o_hoverable_dropdown"
data-customize-website-views="website.header_hoverable_dropdown">On Hover</we-button>
<we-button data-select-class="" data-name="header_dropdown_on_click_opt">On Click</we-button>
</we-select>
<we-checkbox string="Show Sign In" data-customize-website-views="portal.user_sign_in" data-reload="/" data-no-preview="true"/>
<we-checkbox string="Call to Action" data-customize-website-views="website.header_call_to_action"
data-reset-view-arch="true" data-reload="/"/>
<we-select string="Language Selector" data-reload="/">
<we-button data-name="header_language_selector_none_opt"
data-customize-website-views="">None</we-button>
<we-button data-customize-website-views="website.header_language_selector">Dropdown</we-button>
<we-button data-customize-website-views="website.header_language_selector, website.header_language_selector_inline">Inline</we-button>
</we-select>
<we-select string="Label" class="o_we_sublevel_1" data-dependencies="!header_language_selector_none_opt" data-reload="/">
<we-button data-customize-website-views="">Text</we-button>
<we-button data-customize-website-views="website.header_language_selector_flag, website.header_language_selector_no_text">Flag</we-button>
<we-button data-customize-website-views="website.header_language_selector_flag">Flag and Text</we-button>
</we-select>
<we-select string="Logo" data-reload="/">
<we-button data-customize-website-views="" data-name="option_header_brand_none">None</we-button>
<we-button data-customize-website-views="website.option_header_brand_name">Text</we-button>
<we-button data-customize-website-views="website.option_header_brand_logo">Image</we-button>
</we-select>
<we-input string="Height"
class="o_we_sublevel_1"
data-dependencies="!option_header_brand_none"
data-customize-website-variable="null"
data-variable="logo-height"
data-unit="px"
data-save-unit="rem"/>
<we-input string="Height (Scrolled)"
class="o_we_sublevel_1"
data-name="option_logo_height_scrolled"
data-customize-website-variable="null"
data-variable="fixed-logo-height"
data-unit="px"
data-save-unit="rem"
data-dependencies="!header_effect_scroll_opt"/>
</div>
<!-- Footer - Colors & Layouts -->
<div data-js="WebsiteLevelColor"
data-selector="#wrapwrap > footer"
data-no-check="true"
groups="website.group_website_designer">
<!-- Layouts -->
<we-select string="Template"
data-variable="footer-template"
data-reload="/">
<we-button title="Default"
data-customize-website-views="website.footer_custom"
data-customize-website-variable="'default'"
data-img="/website/static/src/img/snippets_options/footer_template_default.svg"/>
<we-button title="Descriptive"
data-customize-website-views="website.template_footer_descriptive"
data-customize-website-variable="'descriptive'"
data-img="/website/static/src/img/snippets_options/footer_template_descriptive.svg"/>
<we-button title="Centered"
data-customize-website-views="website.template_footer_centered"
data-customize-website-variable="'centered'"
data-img="/website/static/src/img/snippets_options/footer_template_centered.svg"/>
<we-button title="Links"
data-customize-website-views="website.template_footer_links"
data-customize-website-variable="'links'"
data-img="/website/static/src/img/snippets_options/footer_template_links.svg"/>
<we-button title="Minimalist"
data-customize-website-views="website.template_footer_minimalist"
data-customize-website-variable="'minimalist'"
data-img="/website/static/src/img/snippets_options/footer_template_minimalist.svg"/>
<we-button title="Contact"
data-customize-website-views="website.template_footer_contact"
data-customize-website-variable="'contact'"
data-img="/website/static/src/img/snippets_options/footer_template_contact.svg"/>
<we-button title="Call-to-action"
data-customize-website-views="website.template_footer_call_to_action"
data-customize-website-variable="'call_to_action'"
data-img="/website/static/src/img/snippets_options/footer_template_call_to_action.svg"/>
<we-button title="Headline"
data-customize-website-views="website.template_footer_headline"
data-customize-website-variable="'headline'"
data-img="/website/static/src/img/snippets_options/footer_template_headline.svg"/>
</we-select>
<!-- Colors -->
<we-colorpicker string="Colors"
data-customize-website-color="" data-color="footer"
data-customize-website-layer2-color="" data-layer-color="footer-custom" data-layer-gradient="footer-gradient"
data-no-bundle-reload="true"
data-null-value="'NULL'"
data-with-combinations="customizeWebsiteColor"
data-with-gradients="true"/>
<we-select string="Slideout Effect" data-variable="footer-effect" data-reload="/">
<we-button string="Regular"
data-customize-website-views=""
data-customize-website-variable=""/>
<we-button string="Slide Hover"
data-customize-website-views="website.template_footer_slideout"
data-customize-website-variable="'slideout_slide_hover'"/>
<we-button string="Shadow"
data-customize-website-views="website.template_footer_slideout"
data-customize-website-variable="'slideout_shadow'"/>
</we-select>
<we-checkbox string="Copyright"
data-name="footer_copyright_opt"
data-customize-website-views="website.footer_no_copyright|"
data-no-preview="true"
data-reload="/"/>
<we-checkbox string="Language Selector"
data-dependencies="!footer_copyright_opt"
data-customize-website-views="website.footer_no_copyright|portal.footer_language_selector"
data-no-preview="true"
data-reload="/"/>
</div>
<!-- Footer - Borders & Shadows -->
<div data-js="Box"
data-selector="#wrapwrap > footer"
data-target="#footer"
data-no-check="true"
groups="website.group_website_designer">
<t t-call="website.snippet_options_border_widgets"/>
<t t-call="website.snippet_options_shadow_widgets"/>
</div>
<!-- Scroll to Top -->
<div data-selector="#wrapwrap > footer"
data-no-check="true"
groups="website.group_website_designer">
<we-row string="Scroll Top Button">
<we-checkbox data-name="footer_scrolltop_opt"
data-customize-website-views="website.option_footer_scrolltop"
data-customize-website-variable="false|true"
data-variable="footer-scrolltop"
data-reload="/"/>
<we-select data-dependencies="footer_scrolltop_opt" data-apply-to="#o_footer_scrolltop_wrapper">
<we-button string="Left" data-select-class="justify-content-start"/>
<we-button string="Center" data-select-class="justify-content-center"/>
<we-button string="Right" data-select-class="justify-content-end"/>
</we-select>
</we-row>
</div>
<div data-js="HideFooter"
data-selector="[data-main-object^='website.page('] #wrapwrap > footer"
data-no-check="true"
groups="website.group_website_designer">
<we-checkbox string="Page Visibility"
data-name="hide_footer_page_opt"
data-visibility="hidden|shown"
data-no-preview="true"/>
</div>
<!-- Copyright -->
<div data-js="WebsiteLevelColor"
data-selector=".o_footer_copyright"
data-no-check="true"
groups="website.group_website_designer">
<we-colorpicker string="Colors"
data-customize-website-color="" data-color="copyright"
data-customize-website-layer2-color="" data-layer-color="copyright-custom" data-layer-gradient="copyright-gradient"
data-no-bundle-reload="true"
data-null-value="'NULL'"
data-with-combinations="customizeWebsiteColor"
data-with-gradients="true"/>
<we-select string="Language Selector" data-reload="/">
<we-button data-name="language_selector_none_opt"
data-customize-website-views="">None</we-button>
<we-button data-customize-website-views="portal.footer_language_selector">Dropdown</we-button>
<we-button data-customize-website-views="portal.footer_language_selector, website.footer_language_selector_inline">Inline</we-button>
</we-select>
<we-select string="Label" class="o_we_sublevel_1" data-dependencies="!language_selector_none_opt" data-reload="/">
<we-button data-customize-website-views="">Text</we-button>
<we-button data-customize-website-views="website.footer_language_selector_flag, website.footer_language_selector_no_text">Flag</we-button>
<we-button data-customize-website-views="website.footer_language_selector_flag">Flag and Text</we-button>
</we-select>
</div>
<!-- Anchor Name -->
<div data-js="anchor"
data-selector=":not(p).oe_structure > *, :not(p)[data-oe-type=html] > *"
data-exclude=".modal *, .oe_structure .oe_structure *, [data-oe-type=html] .oe_structure *, .s_popup">
<we-button class="fa fa-fw fa-link o_we_link"
title="Create a link to target this section"
data-no-preview="true"/>
</div>
<!-- Mega Menu settings -->
<div data-js="MegaMenuLayout" data-selector=".o_mega_menu">
<we-select string="Template" data-name="mega_menu_template_opt">
<t t-set="_label">Multi Menus</t>
<we-button t-att-data-select-label="_label" data-select-template="website.s_mega_menu_multi_menus" data-img="/website/static/src/img/snippets_thumbs/s_mega_menu_multi_menus.svg" t-out="_label"/>
<t t-set="_label">Image Menu</t>
<we-button t-att-data-select-label="_label" data-select-template="website.s_mega_menu_menu_image_menu" data-img="/website/static/src/img/snippets_thumbs/s_mega_menu_menu_image_menu.svg" t-out="_label"/>
<t t-set="_label">Odoo Menu</t>
<we-button t-att-data-select-label="_label" data-select-template="website.s_mega_menu_odoo_menu" data-img="/website/static/src/img/snippets_thumbs/s_mega_menu_odoo_menu.svg" t-out="_label"/>
<t t-set="_label">Little Icons</t>
<we-button t-att-data-select-label="_label" data-select-template="website.s_mega_menu_little_icons" data-img="/website/static/src/img/snippets_thumbs/s_mega_menu_little_icons.svg" t-out="_label"/>
<t t-set="_label">Big Icons Subtitles</t>
<we-button t-att-data-select-label="_label" data-select-template="website.s_mega_menu_big_icons_subtitles" data-img="/website/static/src/img/snippets_thumbs/s_mega_menu_big_icons_subtitles.svg" t-out="_label"/>
<t t-set="_label">Images Subtitles</t>
<we-button t-att-data-select-label="_label" data-select-template="website.s_mega_menu_images_subtitles" data-img="/website/static/src/img/snippets_thumbs/s_mega_menu_images_subtitles.svg" t-out="_label"/>
<t t-set="_label">Logos</t>
<we-button t-att-data-select-label="_label" data-select-template="website.s_mega_menu_menus_logos" data-img="/website/static/src/img/snippets_thumbs/s_mega_menu_menus_logos.svg" t-out="_label"/>
<t t-set="_label">Thumbnails</t>
<we-button t-att-data-select-label="_label" data-select-template="website.s_mega_menu_thumbnails" data-img="/website/static/src/img/snippets_thumbs/s_mega_menu_thumbnails.svg" t-out="_label"/>
<t t-set="_label">Cards</t>
<we-button t-att-data-select-label="_label" data-select-template="website.s_mega_menu_cards" data-img="/website/static/src/img/snippets_thumbs/s_mega_menu_cards.svg" t-out="_label"/>
</we-select>
<we-select string="Size">
<we-button data-select-class="">Full-Width</we-button>
<we-button data-select-class="o_mega_menu_container_size">Narrow</we-button>
</we-select>
</div>
<div data-js="MegaMenuNoDelete" data-selector=".o_mega_menu > section"/>
<div data-selector=".o_mega_menu .nav > .nav-link"
data-drop-in=".o_mega_menu nav"
data-drop-near=".o_mega_menu .nav-link"/>
<div data-js="CoverProperties" data-selector=".o_record_cover_container" data-no-check="true">
<we-row string="Background" class="o_we_full_row">
<t t-call="web_editor.snippet_options_background_color_widget">
<t t-set="with_color_combinations" t-value="True"/>
<t t-set="with_gradients" t-value="True"/>
</t>
<we-button-group class="ms-auto">
<we-imagepicker title="Image" data-background="" data-button-style="true"/>
<we-button class="fa fa-fw fa-ban" title="None" data-background="">
</we-button>
</we-button-group>
</we-row>
<we-select string="Size" data-name="size_opt" data-cover-opt-name="size">
<we-button data-select-class="o_full_screen_height">Full Screen</we-button>
<we-button class="o_record_cover_opt_size_default" data-select-class="o_half_screen_height">Half Screen</we-button>
<we-button data-select-class="cover_auto">Fit text</we-button>
</we-select>
<we-select string="Filter Intensity" data-name="filters_opt" data-cover-opt-name="filters">
<we-button data-filter-value="0.0">None</we-button>
<we-button data-filter-value="0.2">Low</we-button>
<we-button data-filter-value="0.4">Medium</we-button>
<we-button data-filter-value="0.6">High</we-button>
</we-select>
<we-select string="Text Alignment" data-name="text_align_opt" data-cover-opt-name="text_align">
<we-button data-select-class="">Left</we-button>
<we-button data-select-class="text-center">Centered</we-button>
<we-button data-select-class="text-end">Right</we-button>
</we-select>
</div>
<!-- Stretch section -->
<div data-js="ContainerWidth" data-selector="section, .s_carousel .carousel-item, s_quotes_carousel .carousel-item"
data-exclude="[data-snippet] :not(.oe_structure) > [data-snippet]" data-target="> .container, > .container-fluid, > .o_container_small">
<we-button-group string="Content Width">
<we-button data-select-class="o_container_small"
data-img="/website/static/src/img/snippets_options/content_width_small.svg"
title="Small"/>
<we-button data-select-class="container"
data-img="/website/static/src/img/snippets_options/content_width_normal.svg"
title="Regular"/>
<we-button data-select-class="container-fluid"
data-img="/website/static/src/img/snippets_options/content_width_full.svg"
title="Full"/>
</we-button-group>
</div>
<!-- Scroll to next section button (only for full height) -->
<div data-js="ScrollButton" data-selector="section" data-exclude="[data-snippet] :not(.oe_structure) > [data-snippet]">
<!-- Min height of section -->
<!-- TODO adapt in master, this is patched in JS -->
<we-button-group string="Height" data-show-scroll-button="">
<we-button data-name="minheight_auto_opt" data-select-class="" title="Fit content">Auto</we-button>
<we-button data-select-class="o_half_screen_height" title="Half screen">50%</we-button>
<we-button data-select-class="o_full_screen_height" title="Full screen" data-name="full_height_opt" data-show-scroll-button="true">100%</we-button>
</we-button-group>
<we-checkbox string="Scroll down button"
data-toggle-button="true"
data-no-preview="true"
data-dependencies="full_height_opt"
data-name="scroll_button_opt"/>
<we-row string="Colors" class="o_we_sublevel_1">
<we-colorpicker
data-select-style="true"
data-css-property="background-color"
data-color-prefix="bg-"
data-apply-to=".o_scroll_button"
data-dependencies="scroll_button_opt"/>
<we-colorpicker data-select-style="true"
data-css-property="color"
data-color-prefix="text-"
data-apply-to=".o_scroll_button"
data-dependencies="scroll_button_opt"/>
</we-row>
<we-select string="Spacing"
class="o_we_sublevel_1"
data-apply-to=".o_scroll_button"
data-dependencies="scroll_button_opt">
<we-button data-select-class="">None</we-button>
<we-button data-select-class="mb-1">Extra-Small</we-button>
<we-button data-select-class="mb-2">Small</we-button>
<we-button data-select-class="mb-3">Medium</we-button>
<we-button data-select-class="mb-4">Large</we-button>
<we-button data-select-class="mb-5">Extra-Large</we-button>
</we-select>
</div>
<t t-set="_device_visibility_widgets">
<we-button class="o_we_device" data-toggle-device-visibility="no_desktop" title="Show/Hide on Desktop"
data-no-preview="true"
data-img="/website/static/src/img/snippets_options/desktop_invisible.svg"
/>
<we-button class="o_we_device" data-toggle-device-visibility="no_mobile" title="Show/Hide on Mobile"
data-no-preview="true"
data-img="/website/static/src/img/snippets_options/mobile_invisible.svg"
/>
</t>
<div data-js="ConditionalVisibility" data-selector="section">
<t t-set="current_website" t-value="request.env['website'].get_current_website()"/>
<we-collapse>
<we-row string="Visibility">
<t t-out="_device_visibility_widgets"/>
<we-select data-attribute-name="visibility" data-no-preview="true">
<we-button data-select-data-attribute="">No condition</we-button>
<we-button data-select-data-attribute="conditional" data-select-class="o_snippet_invisible" data-name="visibility_conditional">Conditionally</we-button>
</we-select>
</we-row>
<t t-if="request.geoip.get('country_code')">
<t t-call="website.snippet_options_conditional_visibility">
<t t-set="option_name">Country</t>
<t t-set="attribute_rule" t-valuef="visibilityValueCountryRule"/>
<t t-set="save_attribute" t-valuef="visibilityValueCountry"/>
<t t-set="attribute_name" t-valuef="data-country"/>
<t t-set="model" t-valuef="res.country"/>
<t t-set="call_with" t-valuef="code"/>
<t t-set="data_fields" t-valuef="[&quot;code&quot;]"/>
</t>
</t>
<t t-if="len(current_website.language_ids) > 1">
<t t-call="website.snippet_options_conditional_visibility">
<t t-set="option_name">Languages</t>
<t t-set="attribute_rule" t-valuef="visibilityValueLangRule"/>
<t t-set="save_attribute" t-valuef="visibilityValueLang"/>
<t t-set="attribute_name" t-valuef="lang"/>
<t t-set="model" t-valuef="res.lang"/>
<t t-set="call_with" t-valuef="code"/>
<t t-set="domain" t-translation="off">[["id", "in", <t t-out="current_website.language_ids.ids"/>]]</t>
<t t-set="data_fields" t-valuef="[&quot;code&quot;]"/>
</t>
</t>
<t t-call="website.snippet_options_conditional_visibility">
<t t-set="option_name">UTM Campaign</t>
<t t-set="attribute_rule" t-valuef="visibilityValueUtmCampaignRule"/>
<t t-set="save_attribute" t-valuef="visibilityValueUtmCampaign"/>
<t t-set="attribute_name" t-valuef="data-utm-campaign"/>
<t t-set="model" t-valuef="utm.campaign"/>
<t t-set="call_with" t-valuef="display_name"/>
</t>
<t t-call="website.snippet_options_conditional_visibility">
<t t-set="option_name">UTM Medium</t>
<t t-set="attribute_rule" t-valuef="visibilityValueUtmMediumRule"/>
<t t-set="save_attribute" t-valuef="visibilityValueUtmMedium"/>
<t t-set="attribute_name" t-valuef="data-utm-medium"/>
<t t-set="model" t-valuef="utm.medium"/>
<t t-set="call_with" t-valuef="display_name"/>
</t>
<t t-call="website.snippet_options_conditional_visibility">
<t t-set="option_name">UTM Source</t>
<t t-set="attribute_rule" t-valuef="visibilityValueUtmSourceRule"/>
<t t-set="save_attribute" t-valuef="visibilityValueUtmSource"/>
<t t-set="attribute_name" t-valuef="data-utm-source"/>
<t t-set="model" t-valuef="utm.source"/>
<t t-set="call_with" t-valuef="display_name"/>
</t>
<we-select string="Users"
class="o_we_sublevel_1"
data-dependencies="visibility_conditional"
data-attribute-name="data-logged"
data-save-attribute="visibilityValueLogged"
data-no-preview="true"
data-attribute-default-value="">
<we-button data-select-value="true">Visible for Logged In</we-button>
<we-button data-select-value="false">Visible for Logged Out</we-button>
<we-button data-select-value="">Visible for Everyone</we-button>
</we-select>
</we-collapse>
</div>
<!-- Mobile/Desktop display options -->
<div data-js="DeviceVisibility" data-selector="section .row > div"
data-exclude=".s_col_no_resize.row > div, .s_masonry_block .s_col_no_resize">
<we-row string="Visibility">
<t t-out="_device_visibility_widgets"/>
</we-row>
</div>
<!-- Cookies Bar -->
<div data-selector="#website_cookies_bar" data-js="CookiesBar" data-target=".modal">
<we-select string="Layout" class="o_we_inline">
<we-button data-select-class="o_cookies_discrete" data-select-layout="discrete" data-trigger="position_bottom,s_popup_size_full">Discrete</we-button>
<we-button data-select-class="o_cookies_classic" data-select-layout="classic" data-trigger="position_bottom,s_popup_size_full">Classic</we-button>
<we-button data-name="layout_popup_opt" data-select-class="o_cookies_popup" data-select-layout="popup" data-trigger="position_middle,s_popup_size_md">Popup</we-button>
</we-select>
</div>
<!-- Image position in grid -->
<!-- TODO something is added here in JS to handle grid image position mode -->
<!-- Website Animate -->
<div data-js="WebsiteAnimate"
data-selector=".o_animable, section .row > div, img, .fa, .btn, .o_animated_text"
data-exclude="[data-oe-xpath], .o_not-animable, .s_col_no_resize.row > div, .s_col_no_resize">
<!-- Animation mode -->
<we-row string="Animation">
<we-select data-dependencies="!image_transform_opt"
data-is-animation-type-selection="true" data-no-preview="true">
<we-button data-animation-mode=""
data-select-class=""
data-name="no_animation_opt">None</we-button>
<we-button data-animation-mode="onAppearance"
data-force-animation="true"
data-select-class="o_animate"
data-name="animation_on_appearance_opt">On Appearance</we-button>
<we-button data-animation-mode="onScroll"
data-select-class="o_animate o_animate_on_scroll"
data-force-animation="true"
data-name="animation_on_scroll_opt">On Scroll</we-button>
</we-select>
<we-button-group data-dependencies="animation_on_scroll_opt"
data-no-preview="true" data-force-animation="true">
<we-button data-select-class="">In</we-button>
<we-button data-select-class="o_animate_out">Out</we-button>
</we-button-group>
</we-row>
<!-- Effect -->
<we-select string="Effect" class="o_we_sublevel_1" data-dependencies="!no_animation_opt"
data-name="animation_effect_opt">
<we-button data-select-class=""
data-name="o_anim_no_effect_opt"
data-dependencies="no_animation_opt">None</we-button>
<we-button data-select-class="o_anim_fade_in"
data-trigger="animation_direction_in_place_opt">Fade</we-button>
<we-button data-select-class="o_anim_slide_in"
data-name="o_anim_slide_in_opt"
data-trigger="animation_direction_from_right_opt">Slide</we-button>
<we-button data-select-class="o_anim_bounce_in"
data-trigger="animation_direction_in_place_opt">Bounce</we-button>
<we-button data-select-class="o_anim_rotate_in"
data-name="o_anim_rotate_opt"
data-trigger="animation_direction_in_place_opt">Rotate</we-button>
<we-button data-select-class="o_anim_zoom_out"
data-trigger="animation_direction_in_place_opt">Zoom Out</we-button>
<we-button data-select-class="o_anim_zoom_in"
data-trigger="animation_direction_in_place_opt">Zoom In</we-button>
<we-button data-select-class="o_anim_flash"
data-dependencies="animation_on_appearance_opt"
data-trigger="animation_direction_in_place_opt">Flash</we-button>
<we-button data-select-class="o_anim_pulse"
data-dependencies="animation_on_appearance_opt"
data-trigger="animation_direction_in_place_opt">Pulse</we-button>
<we-button data-select-class="o_anim_shake"
data-dependencies="animation_on_appearance_opt"
data-trigger="animation_direction_in_place_opt">Shake</we-button>
<we-button data-select-class="o_anim_tada"
data-dependencies="animation_on_appearance_opt"
data-trigger="animation_direction_in_place_opt">Tada</we-button>
<we-button data-select-class="o_anim_flip_in_x"
data-dependencies="animation_on_appearance_opt"
data-trigger="animation_direction_in_place_opt">Flip-In-X</we-button>
<we-button data-select-class="o_anim_flip_in_y"
data-dependencies="animation_on_appearance_opt"
data-trigger="animation_direction_in_place_opt">Flip-In-Y</we-button>
</we-select>
<!-- Direction -->
<we-select string="Direction" class="o_we_sublevel_1"
data-dependencies="!no_animation_opt" data-name="animation_direction_opt"
data-force-animation="true">
<we-button data-select-class=""
data-name="animation_direction_in_place_opt"
data-dependencies="!o_anim_slide_in_opt">In Place</we-button>
<we-button data-select-class="o_anim_from_right"
data-name="animation_direction_from_right_opt"
data-dependencies="!o_anim_rotate_opt">From Right</we-button>
<we-button data-select-class="o_anim_from_left"
data-dependencies="!o_anim_rotate_opt">From Left</we-button>
<we-button data-select-class="o_anim_from_bottom"
data-dependencies="!o_anim_rotate_opt">From Bottom</we-button>
<we-button data-select-class="o_anim_from_top"
data-dependencies="!o_anim_rotate_opt">From Top</we-button>
<we-button data-select-class="o_anim_from_top_right"
data-dependencies="o_anim_rotate_opt">From Top Right</we-button>
<we-button data-select-class="o_anim_from_top_left"
data-dependencies="o_anim_rotate_opt">From Top Left</we-button>
<we-button data-select-class="o_anim_from_bottom_right"
data-dependencies="o_anim_rotate_opt">From Bottom Right</we-button>
<we-button data-select-class="o_anim_from_bottom_left"
data-dependencies="o_anim_rotate_opt">From Bottom Left</we-button>
</we-select>
<!-- Trigger -->
<we-select string="Trigger" class="o_we_sublevel_1"
data-dependencies="animation_on_appearance_opt" data-name="animation_trigger_opt">
<we-button data-select-class="">First Time Only</we-button>
<we-button data-select-class="o_animate_both_scroll">Every Time</we-button>
</we-select>
<!-- Intensity -->
<we-range string="Intensity" class="o_we_sublevel_1"
data-name="animation_intensity_opt" data-dependencies="!no_animation_opt"
data-animation-intensity="" data-min="1" data-max="100" data-step="1"
data-display-range-value="true" data-no-preview="true"/>
<!-- Scroll Zone -->
<we-row string="Scroll Zone" class="o_we_sublevel_1">
<we-input data-unit="%" data-step="1" data-dependencies="animation_on_scroll_opt"
data-no-preview="true" data-select-data-attribute=""
data-attribute-name="scrollZoneStart" data-force-animation="true"/>
<span class="mx-2">to</span>
<we-input data-unit="%" data-step="1" data-dependencies="animation_on_scroll_opt"
data-no-preview="true" data-select-data-attribute=""
data-attribute-name="scrollZoneEnd" data-force-animation="true"/>
</we-row>
<!-- Start After -->
<we-input string="Start After" class="o_we_sublevel_1 o_we_small_input"
data-dependencies="animation_on_appearance_opt" data-name="animation_delay_opt"
data-select-style="0s" data-css-property="animation-delay" data-unit="s"/>
<!-- Duration -->
<we-input string="Duration" class="o_we_sublevel_1 o_we_small_input"
data-dependencies="animation_on_appearance_opt"
data-select-style="0.4s" data-css-property="animation-duration" data-unit="s"/>
</div>
<!-- Theme options -->
<div data-js="ThemeColors" data-selector="theme-colors" data-no-check="true">
<we-alert class="o_old_color_system_warning d-none">
It appears your website is still using the old color system of
Odoo 13.0 in some places. We made sure it is still working but
we recommend you to try to use the new color system, which is
still customizable.
</we-alert>
<we-row class="o_we_theme_colors_selector">
<we-colorpicker data-name="color_1_opt" title="Primary"
data-customize-website-color="" data-color="o-color-1"
data-use-css-color="true" data-selected-tab="custom-colors"/>
<we-colorpicker data-customize-website-color="" data-color="o-color-3"
data-use-css-color="true" data-selected-tab="custom-colors"/>
<we-colorpicker data-name="color_2_opt" title="Secondary"
data-customize-website-color="" data-color="o-color-2"
data-use-css-color="true" data-selected-tab="custom-colors"/>
<we-colorpicker data-customize-website-color="" data-color="o-color-4"
data-use-css-color="true" data-selected-tab="custom-colors"/>
<we-colorpicker data-customize-website-color="" data-color="o-color-5"
data-use-css-color="true" data-selected-tab="custom-colors"/>
<we-select data-img="/website/static/src/img/snippets_options/palette.svg" class="o_we_theme_colors_select" data-variable="color-palettes-name"/>
</we-row>
<we-collapse class="o_we_theme_presets_collapse" string="Color Presets">
</we-collapse>
</div>
<div data-js="OptionsTab" data-selector="theme-options" data-no-check="true">
<we-checkbox string="Show Header"
data-customize-website-views="website.option_layout_hide_header|"
data-reload="/"/>
<we-select string="Page Layout" data-variable="layout">
<we-button data-customize-website-variable="'full'" data-name="layout_full_opt">Full</we-button>
<we-button data-customize-website-variable="'boxed'">Boxed</we-button>
<we-button data-customize-website-variable="'framed'">Framed</we-button>
<we-button data-customize-website-variable="'postcard'">Postcard</we-button>
</we-select>
<we-row string="Background" class="o_we_sublevel_1" data-no-preview="true">
<we-colorpicker data-dependencies="!layout_full_opt"
data-customize-website-color=""
data-color="body"/>
<we-button-group data-imagepicker="body_bg_image_opt">
<we-button title="Image" class="fa fa-fw fa-camera"
data-customize-body-bg-type="'image'"/>
<we-button title="Pattern" class="fa fa-fw fa-th"
data-customize-body-bg-type="'pattern'"/>
<we-button title="None" class="fa fa-fw fa-ban"
data-customize-body-bg-type="NONE"/>
</we-button-group>
<!-- Hidden imagepicker enabled by above button-group -->
<we-imagepicker data-name="body_bg_image_opt"
data-customize-body-bg=""/>
</we-row>
<we-input string="Font size"
data-customize-website-variable="null"
data-variable="font-size-base"
data-unit="px"
data-save-unit="rem"/>
<we-collapse>
<we-fontfamilypicker string="Font family" data-variable="font"/>
<we-fontfamilypicker string="Headings" class="o_we_sublevel_1" data-variable="headings-font"/>
<we-fontfamilypicker string="Buttons" class="o_we_sublevel_1" data-variable="buttons-font"/>
</we-collapse>
<!-- Buttons & Links -->
<we-title>Buttons</we-title>
<we-select string="Primary Style" data-variable="btn-primary-outline" class="">
<we-button data-customize-website-variable="false">Fill</we-button>
<we-button data-customize-website-variable="true">Outline</we-button>
</we-select>
<we-select string="Secondary Style" data-variable="btn-secondary-outline">
<we-button data-customize-website-variable="false">Fill</we-button>
<we-button data-customize-website-variable="true">Outline</we-button>
</we-select>
<we-collapse>
<we-row string="Paddings">
<we-input title="Y" data-customize-website-variable="" data-variable="btn-padding-y" data-unit="px" data-save-unit="rem"/>
<we-input title="X" data-customize-website-variable="" data-variable="btn-padding-x" data-unit="px" data-save-unit="rem"/>
</we-row>
<we-row string="Small" class="o_we_sublevel_1">
<we-input title="Y" data-customize-website-variable="" data-variable="btn-padding-y-sm" data-unit="px" data-save-unit="rem"/>
<we-input title="X" data-customize-website-variable="" data-variable="btn-padding-x-sm" data-unit="px" data-save-unit="rem"/>
</we-row>
<we-row string="Large" class="o_we_sublevel_1">
<we-input title="Y" data-customize-website-variable="" data-variable="btn-padding-y-lg" data-unit="px" data-save-unit="rem"/>
<we-input title="X" data-customize-website-variable="" data-variable="btn-padding-x-lg" data-unit="px" data-save-unit="rem"/>
</we-row>
</we-collapse>
<we-collapse>
<we-input string="Font Size" data-customize-website-variable="" data-variable="btn-font-size" data-unit="px" data-save-unit="rem"/>
<we-input string="Small" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="btn-font-size-sm" data-unit="px" data-save-unit="rem"/>
<we-input string="Large" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="btn-font-size-lg" data-unit="px" data-save-unit="rem"/>
</we-collapse>
<we-input string="Border Width" data-customize-website-variable="" data-variable="btn-border-width" data-unit="px" data-save-unit="rem"/>>
<we-collapse>
<we-input string="Border Radius" data-customize-website-variable="" data-variable="btn-border-radius" data-unit="px" data-save-unit="rem"/>
<we-input string="Small" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="btn-border-radius-sm" data-unit="px" data-save-unit="rem"/>
<we-input string="Large" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="btn-border-radius-lg" data-unit="px" data-save-unit="rem"/>
</we-collapse>
<we-checkbox string="Ripple Effect"
data-customize-website-assets="website.ripple_effect_scss, website.ripple_effect_js"
data-customize-website-variable="false|true"
data-variable="btn-ripple"/>
<we-select string="Link Style" data-variable="link-underline">
<we-button data-customize-website-variable="'never'">Normal</we-button>
<we-button data-customize-website-variable="'hover'">Underline On Hover</we-button>
<we-button data-customize-website-variable="'always'">Always Underlined</we-button>
</we-select>
<!-- Inputs -->
<we-title>Inputs</we-title>
<we-collapse>
<we-row string="Paddings">
<we-input title="Y" data-customize-website-variable="" data-variable="input-padding-y" data-unit="px" data-save-unit="rem"/>
<we-input title="X" data-customize-website-variable="" data-variable="input-padding-x" data-unit="px" data-save-unit="rem"/>
</we-row>
<we-row string="Small" class="o_we_sublevel_1">
<we-input title="Y" data-customize-website-variable="" data-variable="input-padding-y-sm" data-unit="px" data-save-unit="rem"/>
<we-input title="X" data-customize-website-variable="" data-variable="input-padding-x-sm" data-unit="px" data-save-unit="rem"/>
</we-row>
<we-row string="Large" class="o_we_sublevel_1">
<we-input title="Y" data-customize-website-variable="" data-variable="input-padding-y-lg" data-unit="px" data-save-unit="rem"/>
<we-input title="X" data-customize-website-variable="" data-variable="input-padding-x-lg" data-unit="px" data-save-unit="rem"/>
</we-row>
</we-collapse>
<we-collapse>
<we-input string="Font Size" data-customize-website-variable="" data-variable="input-font-size" data-unit="px" data-save-unit="rem"/>
<we-input string="Small" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="input-font-size-sm" data-unit="px" data-save-unit="rem"/>
<we-input string="Large" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="input-font-size-lg" data-unit="px" data-save-unit="rem"/>
</we-collapse>
<we-input string="Border Width" data-customize-website-variable="" data-variable="input-border-width" data-unit="px" data-save-unit="rem"/>
<we-collapse>
<we-input string="Border Radius" data-customize-website-variable="" data-variable="input-border-radius" data-unit="px" data-save-unit="rem"/>
<we-input string="Small" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="input-border-radius-sm" data-unit="px" data-save-unit="rem"/>
<we-input string="Large" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="input-border-radius-lg" data-unit="px" data-save-unit="rem"/>
</we-collapse>
<we-row string="Status Colors">
<we-colorpicker title="Success" data-customize-website-color="" data-color-type="theme" data-color="success" data-selected-tab="custom-colors"/>
<we-colorpicker title="Info" data-customize-website-color="" data-color-type="theme" data-color="info" data-selected-tab="custom-colors"/>
<we-colorpicker title="Warning" data-customize-website-color="" data-color-type="theme" data-color="warning" data-selected-tab="custom-colors"/>
<we-colorpicker title="Error" data-customize-website-color="" data-color-type="theme" data-color="danger" data-selected-tab="custom-colors"/>
</we-row>
<we-collapse>
<we-row string="Grays" class="o_we_gray_preview o_we_collapse_toggler">
<t t-foreach="9" t-as="i">
<t t-set="grayCode" t-value="str((9 - i) * 100)"/>
<span t-attf-title="Gray #{grayCode}"
t-attf-variable="#{grayCode}"
t-attf-class="o_we_user_value_widget o_we_gray_preview bg-#{grayCode}"/>
</t>
</we-row>
<we-range string="Hue" class="o_we_sublevel_1 o_we_slider_tint" data-customize-gray="" data-param="gray-hue" data-min="0" data-max="359.9" data-step="0.1"/>
<we-range string="Saturation" class="o_we_sublevel_1" data-customize-gray="" data-param="gray-extra-saturation" data-step="0.1"/>
</we-collapse>
</div>
<div data-js="OptionsTab" data-selector="website-settings" data-no-check="true">
<we-row string="Theme">
<we-button data-switch-theme="" data-no-preview="true">Switch Theme</we-button>
</we-row>
<we-row string="Code Injection" title="Enter code that will be added into every page of your site">
<we-button data-no-preview="true" data-open-custom-code-dialog="head">&amp;lt;head&amp;gt;</we-button>
<we-button data-no-preview="true" data-open-custom-code-dialog="footer">&amp;lt;/body&amp;gt;</we-button>
</we-row>
<we-row string="Google Map">
<we-button data-configure-api-key="" data-no-preview="true">Custom Key</we-button>
</we-row>
</div>
<!-- Info page ('/website/info') -->
<div data-selector="main:has(.o_website_info)" data-page-options="true" groups="website.group_website_designer" data-no-check="true" string="Info Page">
<we-checkbox string="Odoo Information"
data-customize-website-views="website.show_website_info"
data-no-preview="true"
data-reload="/"/>
</div>
<div data-js="SwitchableViews" data-selector="#wrapwrap > main" data-no-check="true" groups="website.group_website_designer">
<!-- Options will be populated by JS -->
</div>
</xpath>
</template>
</odoo>