
/* /website/static/src/components/googleplaces_autocomplete/places_autocomplete.js */
odoo.define('@website/components/googleplaces_autocomplete/places_autocomplete',['@odoo/owl','@website/components/autocomplete_with_pages/autocomplete_with_pages'],function(require){'use strict';let __exports={};const{Component}=require("@odoo/owl");const{AutoCompleteWithPages}=require("@website/components/autocomplete_with_pages/autocomplete_with_pages");const PlacesAutoComplete=__exports.PlacesAutoComplete=class PlacesAutoComplete extends Component{static template="website.PlacesAutoComplete";static components={AutoCompleteWithPages};static props={targetDropdown:{type:HTMLElement},maps:{validate:(v)=>v!==null&&typeof v==="object"},onPlaceSelected:{type:Function},onError:{type:Function},};setup(){this.state={sessionToken:null};}
get sources(){return[{optionSlot:"option",options:async(inputValue)=>{if(inputValue.length<2){return[];}
if(!this.state.sessionToken){this.state.sessionToken=new this.props.maps.places.AutocompleteSessionToken();}
try{const result=await this.props.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions({input:inputValue,includedPrimaryTypes:["geocode"],sessionToken:this.state.sessionToken,});return result.suggestions.map((suggestion)=>({id:suggestion.placePrediction.id,label:suggestion.placePrediction.text.toString(),value:suggestion.placePrediction.text.toString(),cssClass:"pac-item",placePrediction:suggestion.placePrediction,onSelect:()=>this.onSelect(suggestion),}));}catch{this.props.onError();return[];}},},];}
async onSelect(selectedSuggestion){const placePrediction=selectedSuggestion.placePrediction;try{const placeResult=placePrediction.toPlace();await placeResult.fetchFields({fields:["formattedAddress","location"],});this.state.sessionToken=null;const place={place_id:placeResult.id,formatted_address:placeResult.formattedAddress,geometry:{location:{lat:placeResult.location.lat(),lng:placeResult.location.lng(),},},};this.props.onPlaceSelected(place);}catch(error){console.error(error);this.props.onError();}}}
return __exports;});;

/* /website/static/src/js/send_mail_form.js */
odoo.define('@website/js/send_mail_form',['@web/core/l10n/translation','@web/core/registry'],function(require){'use strict';let __exports={};const{appTranslateFn}=require("@web/core/l10n/translation");const _t=(str,...args)=>appTranslateFn(str,"website",...args);const{registry}=require("@web/core/registry");registry.category("website.form_editor_actions").add("send_mail",{formFields:[{type:"char",custom:true,required:true,fillWith:"name",name:"name",string:_t("Your Name"),},{type:"tel",custom:true,fillWith:"phone",name:"phone",string:_t("Phone Number"),},{type:"email",modelRequired:true,fillWith:"email",name:"email_from",string:_t("Your Email"),},{type:"char",custom:true,fillWith:"commercial_company_name",name:"company",string:_t("Your Company"),},{type:"char",modelRequired:true,name:"subject",string:_t("Subject"),},{type:"text",custom:true,required:true,name:"description",string:_t("Your Question"),},],fields:[{name:"email_to",type:"char",required:true,string:_t("Recipient Email"),defaultValue:"info@yourcompany.example.com",},],});return __exports;});;

/* /website/static/src/common/website_model.js */
odoo.define('@website/common/website_model',['@mail/core/common/record'],function(require){'use strict';let __exports={};const{Record}=require("@mail/core/common/record");const Website=__exports.Website=class Website extends Record{static id="id";static _name="website";id;name;}
Website.register();return __exports;});;

/* /website/static/src/common/website_visitor_model.js */
odoo.define('@website/common/website_visitor_model',['@mail/core/common/record'],function(require){'use strict';let __exports={};const{fields,Record}=require("@mail/core/common/record");const WebsiteVisitor=__exports.WebsiteVisitor=class WebsiteVisitor extends Record{static _name="website.visitor";static id="id";country=fields.One("res.country",{compute(){return this.partner_id?.country_id||this.country_id;},});country_id=fields.One("res.country");discuss_channel_ids=fields.Many("Thread");display_name;lang_id=fields.One("res.lang");partner_id=fields.One("res.partner");website_id=fields.One("website");}
WebsiteVisitor.register();return __exports;});

                    /*******************************************
                    *  Templates                               *
                    *******************************************/

                    odoo.define("website.assets_all_wysiwyg.bundle.xml", ["@web/core/templates"], function(require) {
                        "use strict";
                        const { checkPrimaryTemplateParents, registerTemplate, registerTemplateExtension } = require("@web/core/templates");
                        /* website.assets_all_wysiwyg */
                        registerTemplate("website.PlacesAutoComplete", `/website/static/src/components/googleplaces_autocomplete/places_autocomplete.xml`, `<t t-name="website.PlacesAutoComplete" xml:space="preserve">
        <AutoCompleteWithPages sources="sources" targetDropdown="props.targetDropdown" menuCssClass="'o_website_ui_autocomplete pac-container'">
            <t t-set-slot="option" t-slot-scope="optionScope">
                <span class="pac-icon pac-icon-marker"/>
                <span class="pac-item-query" t-out="optionScope.label"/>
            </t>
        </AutoCompleteWithPages>
    </t>
`);
registerTemplate("website.s_image_gallery_mirror", `/website/static/src/snippets/s_image_gallery/001.xml`, `<t t-name="website.s_image_gallery_mirror" xml:space="preserve">
        <div t-attf-id="#{id}" t-attf-class="carousel slide #{colorContrast}" t-att-data-bs-ride="ride" t-attf-data-bs-interval="#{interval}" style="margin: 0 12px;">
            <div class="carousel-inner">
                <t t-foreach="images" t-as="image" t-key="image_index">
                    <div t-attf-class="carousel-item #{image_index == index and 'active' or ''}">
                        <img t-if="!hideImage" class="img img-fluid d-block" t-att-src="image.getAttribute('src')" t-att-alt="image.alt" data-name="Image"/>
                    </div>
                </t>
            </div>
            <div class="o_carousel_controllers">
                <button class="carousel-control-prev o_we_no_overlay o_not_editable" contenteditable="false" t-attf-data-bs-target="##{id}" data-bs-slide="prev" aria-label="Previous" title="Previous">
                    <span class="carousel-control-prev-icon" aria-hidden="true"/>
                    <span class="visually-hidden">Previous</span>
                </button>
                <div class="carousel-indicators s_image_gallery_indicators_bars">
                    <t t-foreach="images" t-as="image" t-key="image_index">
                        <button type="button" aria-label="Carousel indicator" t-attf-data-bs-target="##{id}" t-att-data-bs-slide-to="image_index" t-att-class="image_index == index and 'active' or None" t-attf-style="background-image: url(#{image.getAttribute('src')})"/>
                    </t>
                </div>
                <button class="carousel-control-next o_we_no_overlay o_not_editable" contenteditable="false" t-attf-data-bs-target="##{id}" data-bs-slide="next" aria-label="Next" title="Next">
                    <span class="carousel-control-next-icon" aria-hidden="true"/>
                    <span class="visually-hidden">Next</span>
                </button>
            </div>
        </div>
    </t>

    `);
registerTemplate("website.gallery.s_image_gallery_mirror.lightbox", `/website/static/src/snippets/s_image_gallery/001.xml`, `<t t-name="website.gallery.s_image_gallery_mirror.lightbox" xml:space="preserve">
        <div role="dialog" class="modal o_technical_modal fade s_gallery_lightbox p-0" aria-label="Image Gallery Dialog" tabindex="-1">
            <div class="modal-dialog m-0" role="Picture Gallery" t-attf-style="">
                <div class="modal-content bg-transparent modal-fullscreen">
                    <main class="modal-body o_slideshow bg-transparent">
                        <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close" style="position: absolute; right: 10px; top: 10px;"/>
                        <t t-call="website.s_image_gallery_mirror"/>
                    </main>
                </div>
            </div>
        </div>
    </t>




    `);
registerTemplate("website.gallery.slideshow", `/website/static/src/snippets/s_image_gallery/001.xml`, `<t t-name="website.gallery.slideshow" xml:space="preserve">
        <div t-attf-id="#{id}" class="carousel slide" t-att-data-bs-ride="ride" t-attf-data-bs-interval="#{interval}" style="margin: 0 12px;">
            <div class="carousel-inner" style="padding: 0;">
                 <t t-foreach="images" t-as="image" t-key="image_index">
                    <div t-attf-class="carousel-item #{image_index == index and 'active' or ''}">
                        <img t-if="!hideImage" class="img img-fluid d-block" t-att-src="image.getAttribute('src')" t-att-alt="image.alt" data-name="Image"/>
                    </div>
                 </t>
            </div>

            <ul class="carousel-indicators">
                <li class="o_indicators_left text-center d-none" aria-label="Previous" title="Previous">
                    <i class="oi oi-chevron-left"/>
                </li>
                <t t-foreach="images" t-as="image" t-key="image_index">
                    <li t-attf-data-bs-target="##{id}" t-att-data-bs-slide-to="image_index" t-att-class="image_index == index and 'active' or None" t-attf-style="background-image: url(#{image.getAttribute('src')})"/>
                </t>
                <li class="o_indicators_right text-center d-none" aria-label="Next" title="Next">
                    <i class="oi oi-chevron-right"/>
                </li>
            </ul>

            <a class="carousel-control-prev o_we_no_overlay o_not_editable" t-attf-href="##{id}" data-bs-slide="prev" aria-label="Previous" title="Previous">
                <span class="oi oi-chevron-left fa-2x text-white"/>
                <span class="visually-hidden">Previous</span>
            </a>
            <a class="carousel-control-next o_we_no_overlay o_not_editable" t-attf-href="##{id}" data-bs-slide="next" aria-label="Next" title="Next">
                <span class="oi oi-chevron-right fa-2x text-white"/>
                <span class="visually-hidden">Next</span>
            </a>
        </div>
    </t>


    `);
registerTemplate("website.gallery.slideshow.lightbox", `/website/static/src/snippets/s_image_gallery/001.xml`, `<t t-name="website.gallery.slideshow.lightbox" xml:space="preserve">
        <div role="dialog" class="modal o_technical_modal fade s_gallery_lightbox p-0" aria-label="Image Gallery Dialog" tabindex="-1">
            <div class="modal-dialog m-0" role="Picture Gallery" t-attf-style="">
                <div class="modal-content bg-transparent modal-fullscreen">
                    <main class="modal-body o_slideshow bg-transparent">
                        <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close" style="position: absolute; right: 10px; top: 10px;"/>
                        <t t-call="website.gallery.slideshow"/>
                    </main>
                </div>
            </div>
        </div>
    </t>
`);
registerTemplate("website.s_website_form_status_success", `/website/static/src/xml/website_form.xml`, `<t t-name="website.s_website_form_status_success" xml:space="preserve">
        <span id="s_website_form_result" class="me-2 small text-success">
            <i class="fa fa-paper-plane me-1" role="img" aria-hidden="true" title="Success"/>The form has been sent successfully.
        </span>
    </t>


    `);
registerTemplate("website.s_website_form_status_error", `/website/static/src/xml/website_form.xml`, `<t t-name="website.s_website_form_status_error" xml:space="preserve">
        <span id="s_website_form_result" class="me-2 small text-danger">
            <i class="fa fa-close me-1" role="img" aria-hidden="true" title="Error"/>
            <t t-out="message"/>
        </span>
    </t>

    `);
registerTemplate("website.s_website_form_status_custom_error", `/website/static/src/xml/website_form.xml`, `<t t-name="website.s_website_form_status_custom_error" xml:space="preserve">
        <span class="s_website_form_custom_error me-2 small text-danger">
            <i class="fa fa-close me-1" role="presentation"/>
            <t t-out="message"/>
        </span>
    </t>


    `);
registerTemplate("website.file_block", `/website/static/src/xml/website_form.xml`, `<t t-name="website.file_block" xml:space="preserve">
        <div class="o_file_block col-4">
            <div class="o_file_wrap mb-1 px-2 py-1">
                <div class="o_file_name d-inline-block w-75 pt-1" t-att-title="fileName" t-out="fileName"/>
                <i class="o_file_delete fa fa-times mt-1 float-end"/>
            </div>
        </div>
    </t>
`);
registerTemplate("website.s_website_form_end_message", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.s_website_form_end_message" xml:space="preserve">
        <div class="s_website_form_end_message d-none">
            <div class="oe_structure">
                <section class="s_text_block o_colored_level rounded px-5 text-center" data-snippet="s_text_block">
                    <i class="fa fa-paper-plane fa-2x mb-3 rounded-circle text-bg-success" role="img" aria-hidden="true" title="Success"/>
                    <h1 class="fw-bolder">Thank you for your feedback!</h1>
                    <p class="lead mb-0">Our team will message you back as soon as possible.</p>
                    <p class="lead">In the meantime we invite you to visit our <a class="o_translate_inline" href="/">website</a>.</p>
                </section>
            </div>
        </div>
    </t>

    `);
registerTemplate("website.s_website_form_recaptcha_legal", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.s_website_form_recaptcha_legal" xml:space="preserve">
        <div class="col-12 s_website_form_recaptcha" data-name="Recaptcha Legal">
            <div t-attf-style="width: #{labelWidth or '200px'}" class="s_website_form_label"/>
            <div class="col-sm">
                <t t-call="google_recaptcha.recaptcha_legal_terms"/>
            </div>
        </div>
    </t>



    `);
registerTemplate("website.form_field", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field" xml:space="preserve">
        <div t-attf-class="s_website_form_field mb-3 #{field.formatInfo.col or 'col-12'} #{field.custom and 's_website_form_custom' or ''} #{(field.required and 's_website_form_required' or '') or (field.modelRequired and 's_website_form_model_required' or '')} #{field.hidden and 's_website_form_field_hidden' or ''} #{field.dnone and 's_website_form_dnone' or ''}" t-att-data-type="field.type" data-name="Field" t-att-data-translated-name="defaultName">
            <div t-if="field.formatInfo.labelPosition !== 'none' and field.formatInfo.labelPosition !== 'top'" class="row s_col_no_resize s_col_no_bgcolor">
                <label t-attf-class="#{!field.isCheck and 'col-form-label' or ''} col-sm-auto s_website_form_label #{field.formatInfo.labelPosition === 'right' and 'text-end' or ''}" t-attf-style="width: #{field.formatInfo.labelWidth or '200px'}" t-att-for="field.id">
                     <t t-call="website.form_label_content"/>
                </label>
                <div class="col-sm">
                    <t t-out="0"/>
                    <t t-call="website.form_field_description"/>
                </div>
            </div>
            <t t-else="">
                <label t-attf-class="s_website_form_label #{field.formatInfo.labelPosition === 'none' and 'd-none' or ''}" t-attf-style="width: #{field.formatInfo.labelWidth or '200px'}" t-att-for="field.id">
                     <t t-call="website.form_label_content"/>
                </label>
                <t t-out="0"/>
                <t t-call="website.form_field_description"/>
            </t>
        </div>
    </t>

    `);
registerTemplate("website.form_label_content", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_label_content" xml:space="preserve">
        <span class="s_website_form_label_content" t-out="field.string"/>
        <t t-if="field.required or field.modelRequired">
            <span class="s_website_form_mark" t-if="field.formatInfo.requiredMark" t-out="' ' + field.formatInfo.mark"/>
        </t>
        <t t-else="">
            <span class="s_website_form_mark" t-if="field.formatInfo.optionalMark" t-out="' ' + field.formatInfo.mark"/>
        </t>
    </t>

    `);
registerTemplate("website.form_field_description", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_description" xml:space="preserve">



        <div t-if="default_description" class="s_website_form_field_description small form-text text-muted" contenteditable="true">
            <t t-out="default_description"/>
        </div>
    </t>


    `);
registerTemplate("website.form_field_hidden", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_hidden" xml:space="preserve">
        <t t-call="website.form_field">
            <input type="hidden" class="form-control s_website_form_input" t-att-name="field.name" t-attf-value="#{field.value}" t-att-id="field.id"/>
        </t>
    </t>


    `);
registerTemplate("website.form_field_char", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_char" xml:space="preserve">
        <t t-call="website.form_field">
            <input t-att-type="field.inputType || 'text'" class="form-control s_website_form_input" t-att-name="field.name" t-att-required="field.required || field.modelRequired || None" t-attf-value="#{field.value}" t-att-data-fill-with="field.fillWith" t-att-placeholder="field.placeholder" t-att-id="field.id"/>
        </t>
    </t>


    `);
registerTemplate("website.form_field_email", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_email" xml:space="preserve">
        <t t-call="website.form_field_char"/>
    </t>


    `);
registerTemplate("website.form_field_tel", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_tel" xml:space="preserve">
        <t t-call="website.form_field_char"/>
    </t>


    `);
registerTemplate("website.form_field_url", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_url" xml:space="preserve">
        <t t-call="website.form_field_char"/>
    </t>


    `);
registerTemplate("website.form_field_text", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_text" xml:space="preserve">
        <t t-call="website.form_field">
            <textarea class="form-control s_website_form_input" t-att-name="field.name" t-att-required="field.required || field.modelRequired || None" t-att-placeholder="field.placeholder" t-att-id="field.id" t-att-rows="field.rows || 3" t-out="field.value"/>
        </t>
    </t>


    `);
registerTemplate("website.form_field_html", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_html" xml:space="preserve">

        <t t-call="website.form_field_text"/>
    </t>


    `);
registerTemplate("website.form_field_integer", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_integer" xml:space="preserve">
        <t t-call="website.form_field">
            <input type="number" class="form-control s_website_form_input" t-att-name="field.name" step="1" t-att-required="field.required || field.modelRequired || None" t-attf-value="#{field.value}" t-att-placeholder="field.placeholder" t-att-id="field.id"/>
        </t>
    </t>


    `);
registerTemplate("website.form_field_float", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_float" xml:space="preserve">
        <t t-call="website.form_field">
            <input type="number" class="form-control s_website_form_input" t-att-name="field.name" step="any" t-att-required="field.required || field.modelRequired || None" t-attf-value="#{field.value}" t-att-placeholder="field.placeholder" t-att-id="field.id"/>
        </t>
    </t>


    `);
registerTemplate("website.form_field_date", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_date" xml:space="preserve">
        <t t-call="website.form_field">
            <div class="s_website_form_date input-group date">
                <input type="text" class="form-control datetimepicker-input s_website_form_input" t-att-name="field.name" t-att-required="field.required || field.modelRequired || None" t-attf-value="#{field.value}" t-att-placeholder="field.placeholder" t-att-id="field.id"/>
                <div class="input-group-text o_input_group_date_icon"><i class="fa fa-calendar"/></div>
            </div>
        </t>
    </t>


    `);
registerTemplate("website.form_field_datetime", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_datetime" xml:space="preserve">
        <t t-call="website.form_field">
            <div class="s_website_form_datetime input-group date">
                <input type="text" class="form-control datetimepicker-input s_website_form_input" t-att-name="field.name" t-att-required="field.required || field.modelRequired || None" t-attf-value="#{field.value}" t-att-placeholder="field.placeholder" t-att-id="field.id"/>
                <div class="input-group-text o_input_group_date_icon"><i class="fa fa-calendar"/></div>
            </div>
        </t>
    </t>


    `);
registerTemplate("website.form_field_boolean", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_boolean" xml:space="preserve">
        <t t-call="website.form_field">
            <div class="form-check">
                <input type="checkbox" value="Yes" class="s_website_form_input form-check-input" t-att-name="field.name" t-att="{checked: field.value and 'checked' or None}" t-att-required="field.required || field.modelRequired || None" t-att-id="field.id"/>
            </div>
        </t>
    </t>


    `);
registerTemplate("website.form_field_selection", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_selection" xml:space="preserve">
        <t t-call="website.form_field">
            <t t-if="!field.records">
                <input class="s_website_form_input" t-att-name="field.name" t-att-value="undefined" t-att-required="field.required || field.modelRequired || None" placeholder="No matching record!" disabled=""/>
            </t>
            <div class="row s_col_no_resize s_col_no_bgcolor s_website_form_multiple" t-att-data-name="field.name" t-att-data-display="field.formatInfo.multiPosition">
                <t t-foreach="field.records" t-as="record" t-key="record_index">
                    <t t-call="website.form_radio"/>
                </t>
            </div>
        </t>
    </t>


    `);
registerTemplate("website.form_radio", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_radio" xml:space="preserve">
        <t t-set="recordId" t-value="field.id + record_index"/>
        <div t-attf-class="radio col-12 #{field.formatInfo.multiPosition === 'horizontal' and 'col-lg-4 col-md-6' or ''}">
            <div class="form-check">
                <input type="radio" class="s_website_form_input form-check-input" t-att-id="recordId" t-att-name="field.name" t-att="{checked: record.selected and 'checked' or None}" t-att-value="record.id" t-att-required="field.required || field.modelRequired || None"/>
                <label class="form-check-label s_website_form_check_label" t-att-for="recordId">
                    <t t-out="record.display_name"/>
                </label>
            </div>
        </div>
    </t>


    `);
registerTemplate("website.form_field_many2one", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_many2one" xml:space="preserve">

        <t t-if="field.relation === 'ir.attachment'">
            <t t-call="website.form_field_binary"/>
        </t>

        <t t-if="field.relation !== 'ir.attachment'">
            <t t-call="website.form_field">
                <t t-if="!field.records || field.records.length === 0">
                    <input class="form-control s_website_form_input" t-att-name="field.name" t-att-value="undefined" t-att-required="field.required || field.modelRequired || None" placeholder="No matching record!" disabled=""/>
                </t>
                <select t-else="" class="form-select s_website_form_input" t-att-name="field.name" t-att-required="field.required || field.modelRequired || None" t-att-id="field.id">
                    <t t-foreach="field.records" t-as="record" t-key="record_index">
                        <option t-out="record.display_name" t-att-id="field.id + record_index" t-att-value="record.id" t-att="{selected: record.selected and 'selected' or None}"/>
                    </t>
                </select>
            </t>
        </t>
    </t>


    `);
registerTemplate("website.form_field_one2many", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_one2many" xml:space="preserve">

        <t t-if="field.relation === 'ir.attachment'">
            <t t-call="website.form_field_binary">
                <t t-set="multiple" t-value="1"/>
            </t>
        </t>

        <t t-if="field.relation !== 'ir.attachment'">
            <t t-call="website.form_field">
                <t t-if="!field.records || field.records.length === 0">
                    <input class="form-control s_website_form_input" t-att-name="field.name" t-att-value="undefined" t-att-required="field.required || field.modelRequired || None" placeholder="No matching record!" disabled=""/>
                </t>
                <t t-else="">
	                <div class="row s_col_no_resize s_col_no_bgcolor s_website_form_multiple" t-att-data-name="field.name" t-att-data-display="field.formatInfo.multiPosition">
	                    <t t-foreach="field.records" t-as="record" t-key="record_index">
	                        <t t-call="website.form_checkbox"/>
	                    </t>
	                </div>
                </t>
            </t>
        </t>
    </t>


    `);
registerTemplate("website.form_checkbox", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_checkbox" xml:space="preserve">
        <t t-set="recordId" t-value="field.id + record_index"/>
        <div t-attf-class="checkbox col-12 #{field.formatInfo.multiPosition === 'horizontal' and 'col-lg-4 col-md-6' or ''}">
            <div class="form-check">
                <input type="checkbox" class="s_website_form_input form-check-input" t-att-id="recordId" t-att-name="field.name" t-att="{checked: record.selected and 'checked' or None}" t-att-value="record.id" t-att-required="field.required || field.modelRequired || None"/>
                <label class="form-check-label s_website_form_check_label" t-att-for="recordId">
                    <t t-out="record.display_name"/>
                </label>
            </div>
        </div>
    </t>


    `);
registerTemplate("website.form_field_many2many", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_many2many" xml:space="preserve">
        <t t-call="website.form_field_one2many"/>
    </t>


    `);
registerTemplate("website.form_field_binary", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_binary" xml:space="preserve">
        <t t-call="website.form_field">
            <input type="file" class="form-control s_website_form_input" t-att-name="field.name" t-att-required="field.required || field.modelRequired || None" t-att="field.maxFilesNumber &gt; 1 and {'multiple': ''} or {}" t-att-id="field.id" t-att-data-max-files-number="field.maxFilesNumber or '1'" t-att-data-max-file-size="field.maxFileSize or '1'"/>
        </t>
    </t>


    `);
registerTemplate("website.form_field_monetary", `/website/static/src/xml/website_form_editor.xml`, `<t t-name="website.form_field_monetary" xml:space="preserve">
        <t t-call="website.form_field_float"/>
    </t>
`);
registerTemplate("website.cookies_bar.text_title", `/website/static/src/xml/website.cookies_bar.xml`, `<t t-name="website.cookies_bar.text_title" xml:space="preserve">
        <h3 class="o_cookies_bar_text_title">
            Respecting your privacy is our priority.
        </h3>
    </t>
    `);
registerTemplate("website.cookies_bar.text_primary", `/website/static/src/xml/website.cookies_bar.xml`, `<t t-name="website.cookies_bar.text_primary" xml:space="preserve">
        <p class="o_cookies_bar_text_primary">
            Allow the use of cookies from this website on this browser?
        </p>
    </t>
    `);
registerTemplate("website.cookies_bar.text_secondary", `/website/static/src/xml/website.cookies_bar.xml`, `<t t-name="website.cookies_bar.text_secondary" xml:space="preserve">
        <p class="o_cookies_bar_text_secondary">
            We use cookies to provide improved experience on this website. You can learn more about our cookies and how we use them in our <a href="/cookie-policy" class="o_cookies_bar_text_policy o_translate_inline">Cookie Policy</a>.
        </p>
    </t>
    `);
registerTemplate("website.cookies_bar.text_button_all", `/website/static/src/xml/website.cookies_bar.xml`, `<t t-name="website.cookies_bar.text_button_all" xml:space="preserve">
        <a href="#" id="cookies-consent-all" role="button" class="js_close_popup o_cookies_bar_accept_all o_cookies_bar_text_button btn btn-outline-primary rounded-circle mb-2 px-2 py-1 me-1">Allow all cookies</a>
    </t>
    `);
registerTemplate("website.cookies_bar.text_button_essential", `/website/static/src/xml/website.cookies_bar.xml`, `<t t-name="website.cookies_bar.text_button_essential" xml:space="preserve">
        <a href="#" id="cookies-consent-essential" role="button" class="js_close_popup o_cookies_bar_accept_essential o_cookies_bar_text_button_essential btn btn-outline-primary rounded-circle mb-2 px-2 py-1 me-1">Only allow essential cookies</a>
    </t>
    `);
registerTemplate("website.cookies_bar.discrete", `/website/static/src/xml/website.cookies_bar.xml`, `<t t-name="website.cookies_bar.discrete" xml:space="preserve">

        <section class="o_colored_level o_cc o_cc1">
            <div class="container">
                <div class="row">
                    <div class="col-lg-8 pt16">
                        <p>
                            <span class="pe-1">We use cookies to provide you a better user experience on this website. </span>
                            <a href="/cookie-policy" class="o_cookies_bar_text_policy btn btn-link btn-sm px-0 o_translate_inline">Cookie Policy</a>
                        </p>
                    </div>
                    <div class="col-lg-4 text-end pt16 pb16">
                        <a href="#" id="cookies-consent-essential" role="button" class="js_close_popup btn btn-outline-primary rounded-circle btn-sm px-2 me-1 mb-2">Only essentials</a>
                        <a href="#" id="cookies-consent-all" role="button" class="js_close_popup btn btn-outline-primary rounded-circle btn-sm me-1 mb-2">I agree</a>
                    </div>
                </div>
            </div>
        </section>
    </t>
    `);
registerTemplate("website.cookies_bar.classic", `/website/static/src/xml/website.cookies_bar.xml`, `<t t-name="website.cookies_bar.classic" xml:space="preserve">
        <section class="o_colored_level o_cc o_cc1 pt32 pb16">
            <div class="container">
                <div class="row">
                    <div class="col-lg-6">
                        <t t-call="website.cookies_bar.text_title"/>
                        <t t-call="website.cookies_bar.text_primary"/>
                        <t t-call="website.cookies_bar.text_secondary"/>
                    </div>
                    <div class="col-lg-3 d-flex align-items-center">
                        <div class="row">
                            <div class="col-lg-12 d-flex align-items-center">
                                <t t-call="website.cookies_bar.text_button_all"/>
                            </div>
                            <div class="col-lg-12 d-flex align-items-center">
                                <t t-call="website.cookies_bar.text_button_essential"/>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>
    </t>
    `);
registerTemplate("website.cookies_bar.popup", `/website/static/src/xml/website.cookies_bar.xml`, `<t t-name="website.cookies_bar.popup" xml:space="preserve">
        <section class="o_colored_level o_cc o_cc1 p-5">
            <div class="container text-center">
                <div class="row">
                    <div class="col-lg-12">
                        <img t-attf-src="/web/image/website/#{websiteId}/logo/250x250" class="img img-fluid mb-4" alt="Website Logo"/>
                        <t t-call="website.cookies_bar.text_title"/>
                        <t t-call="website.cookies_bar.text_primary"/>
                        <t t-call="website.cookies_bar.text_secondary"/>
                        <t t-call="website.cookies_bar.text_button_all"/>
                        <t t-call="website.cookies_bar.text_button_essential"/>
                    </div>
                </div>
            </div>
        </section>
    </t>
`);
                    });
