/*! elementor-pro - v4.2.0 - 20-07-2026 */ "use strict"; (self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["search-form"],{ /***/ "../modules/theme-elements/assets/js/frontend/handlers/search-form.js" /*!****************************************************************************!*\ !*** ../modules/theme-elements/assets/js/frontend/handlers/search-form.js ***! \****************************************************************************/ (__unused_webpack_module, exports) { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _default = exports["default"] = elementorModules.frontend.handlers.Base.extend({ getDefaultSettings() { return { selectors: { wrapper: '.elementor-search-form', container: '.elementor-search-form__container', icon: '.elementor-search-form__icon', input: '.elementor-search-form__input', toggle: '.elementor-search-form__toggle', submit: '.elementor-search-form__submit', closeButton: '.dialog-close-button' }, classes: { isFocus: 'elementor-search-form--focus', isFullScreen: 'elementor-search-form--full-screen', lightbox: 'elementor-lightbox' } }; }, getDefaultElements() { var selectors = this.getSettings('selectors'), elements = {}; elements.$wrapper = this.$element.find(selectors.wrapper); elements.$container = this.$element.find(selectors.container); elements.$input = this.$element.find(selectors.input); elements.$icon = this.$element.find(selectors.icon); elements.$toggle = this.$element.find(selectors.toggle); elements.$submit = this.$element.find(selectors.submit); elements.$closeButton = this.$element.find(selectors.closeButton); return elements; }, bindEvents() { var self = this, $container = self.elements.$container, $closeButton = self.elements.$closeButton, $input = self.elements.$input, $wrapper = self.elements.$wrapper, $icon = self.elements.$icon, $toggle = self.elements.$toggle, skin = this.getElementSettings('skin'), classes = this.getSettings('classes'); const openFullScreenSearch = () => { $container.addClass(classes.isFullScreen).addClass(classes.lightbox); $input.trigger('focus'); }; const closeFullScreenSearch = () => { $container.removeClass(classes.isFullScreen).removeClass(classes.lightbox); $toggle.trigger('focus'); }; const triggerClickOnEnterSpace = event => { const ENTER_KEY = 13, SPACE_KEY = 32; if (ENTER_KEY === event.keyCode || SPACE_KEY === event.keyCode) { event.currentTarget.click(); event.stopPropagation(); } }; if ('full_screen' === skin) { // Activate full-screen mode on mouse click or keyboard Enter & Space keyup. $toggle.on('click', () => openFullScreenSearch()).on('keyup', event => triggerClickOnEnterSpace(event)); // Deactivate full-screen mode when clicking outside the container. $container.on('click', function (event) { if ($container.hasClass(classes.isFullScreen) && $container[0] === event.target) { $container.removeClass(classes.isFullScreen).removeClass(classes.lightbox); } }); // Deactivate full-screen mode on mouse click or keyboard Enter & Space keyup. $closeButton.on('click', () => closeFullScreenSearch()).on('keyup', event => triggerClickOnEnterSpace(event)); // Deactivate full-screen mode on keyboard Esc keyup. elementorFrontend.elements.$document.on('keyup', function (event) { const ESC_KEY = 27; if (ESC_KEY === event.keyCode) { if ($container.hasClass(classes.isFullScreen)) { $container.trigger('click'); } } }); } else { // Apply focus style on wrapper element when input is focused $input.on({ focus() { $wrapper.addClass(classes.isFocus); }, blur() { $wrapper.removeClass(classes.isFocus); } }); } if ('minimal' === skin) { // Apply focus style on wrapper element when icon is clicked in minimal skin $icon.on('click', function () { $wrapper.addClass(classes.isFocus); $input.trigger('focus'); }); } } }); /***/ } }]); //# sourceMappingURL=search-form.71ab9fe5b72d445e5924.bundle.js.map/* global fusionGlobalManager, FusionPageBuilderViewManager, fusionAppConfig, FusionEvents, FusionPageBuilderApp, fusionBuilderText, fusionAllElements */ /* eslint no-shadow: 0 */ var FusionPageBuilder = FusionPageBuilder || {}; ( function() { jQuery( document ).ready( function() { // Builder form step. FusionPageBuilder.FormStep = FusionPageBuilder.BaseView.extend( { className: 'fusion-builder-form-step fusion-special-item', template: FusionPageBuilder.template( jQuery( '#fusion-builder-form-step-template' ).html() ), events: { 'click .fusion-builder-delete-form-step': 'removeContainer', 'click .fusion-builder-settings': 'settings', 'click .fusion-builder-special-item-drag': 'preventDefault', 'click .fusion-builder-container-add': 'addContainer', 'click .fusion-builder-special-item-container-clone': 'cloneSpecialElement' }, initialize: function() { this.$el.attr( 'data-cid', this.model.get( 'cid' ) ); this.baseInit(); }, render: function() { var self = this, data = this.getTemplateAtts(); data.editLabel = this.getEditLabel(); this.$el.html( this.template( data ) ); setTimeout( function() { self.droppableContainer(); }, 100 ); return this; }, /** * Get the shortcode content for the next page. * * @since 2.0.0 * @return {void} */ getContent: function() { var params = this.model.get( 'params' ), stringParams = {}, shortcode = ''; _.each( params, function( value, name ) { if ( 'undefined' === value || 'undefined' === typeof value ) { stringParams[ name ] = ''; } else { stringParams[ name ] = value; } } ); shortcode += '[fusion_builder_form_step'; // Loops params and add. _.each( stringParams, function( value, name ) { if ( ( 'on' === fusionAppConfig.removeEmptyAttributes && '' !== value ) || 'off' === fusionAppConfig.removeEmptyAttributes ) { shortcode += ' ' + name + '="' + value + '"'; } } ); shortcode += ' /]'; return shortcode; }, /** * Adds drop zones for containers and makes container draggable. * * @since 2.0.0 * @return {void} */ droppableContainer: function() { var $el = this.$el, cid = this.model.get( 'cid' ), self = this, $body = jQuery( '#fb-preview' )[ 0 ].contentWindow.jQuery( 'body' ); if ( ! $el ) { return; } $el.draggable( { appendTo: FusionPageBuilderApp.$el, zIndex: 999999, delay: 100, cursorAt: { top: 15, left: 15 }, iframeScroll: true, containment: $body, cancel: '.fusion-builder-column', helper: function() { var $classes = FusionPageBuilderApp.DraggableHelpers.draggableClasses( cid ); return jQuery( '
' ); }, start: function() { $body.addClass( 'fusion-container-dragging fusion-active-dragging' ); $el.addClass( 'fusion-being-dragged' ); // Add a class to hide the unnecessary target after. if ( $el.prev( '.fusion-builder-container' ).length ) { $el.prev( '.fusion-builder-container' ).addClass( 'hide-target-after' ); } if ( $el.prev( '.fusion-fusion-builder-form-stepr' ).length ) { $el.prev( '.fusion-fusion-builder-form-step' ).addClass( 'hide-target-after' ); } }, stop: function() { setTimeout( function() { $body.removeClass( 'fusion-container-dragging fusion-active-dragging' ); }, 10 ); $el.removeClass( 'fusion-being-dragged' ); FusionPageBuilderApp.$el.find( '.hide-target-after' ).removeClass( 'hide-target-after' ); } } ); $el.find( '.fusion-container-target' ).droppable( { tolerance: 'touch', hoverClass: 'ui-droppable-active', accept: '.fusion-builder-container, .fusion-builder-form-step', drop: function( event, ui ) { self.handleDropContainer( ui.draggable, $el, jQuery( event.target ) ); } } ); }, handleDropContainer( $column, $targetEl, $dropTarget ) { // Move the actual html. if ( jQuery( $dropTarget ).hasClass( 'target-after' ) ) { $targetEl.after( $column ); } else { $targetEl.before( $column ); } FusionEvents.trigger( 'fusion-content-changed' ); FusionEvents.trigger( 'fusion-rerender-form-steps' ); FusionPageBuilderApp.scrollingContainers(); FusionEvents.trigger( 'fusion-history-save-step', fusionBuilderText.form_step + ' Order Changed' ); }, /** * Get template attributes. * * @since 2.0.0 * @return {void} */ getTemplateAtts: function() { var templateAttributes = {}; templateAttributes = this.filterTemplateAtts( templateAttributes ); return templateAttributes; }, /** * Modify template attributes. * * @since 3.11 * @return {Object} */ filterTemplateAtts: function() { var attributes = {}; this.values = this.model.get( 'params' ); // Any extras that need passed on. attributes.values = this.values; attributes.cid = this.model.get( 'cid' ); return attributes; }, /** * Set title params. * * @since 2.0.0 * @return {void} */ updateInlineParams: function( param, value ) { var stepTitle = fusionBuilderText.form_step, el = this.$el; // Check if field exists and then update. if ( el.find( '.fusion-builder-form-step-title' ).length && 'title' === param ) { if ( '' !== value && 'title' === param ) { stepTitle = fusionBuilderText.form_step + ' - ' + value; } setTimeout( function() { el.find( '.fusion-builder-form-step-title' ).html( stepTitle ); }, 100 ); } FusionEvents.trigger( 'fusion-content-changed' ); FusionEvents.trigger( 'fusion-rerender-form-steps' ); }, removeContainer: function( event ) { if ( event ) { event.preventDefault(); } FusionPageBuilderViewManager.removeView( this.model.get( 'cid' ) ); this.model.destroy(); this.remove(); // If its the last container add empty page view. if ( 1 > FusionPageBuilderViewManager.countElementsByType( 'fusion_builder_container' ) && 1 > FusionPageBuilderViewManager.countElementsByType( 'fusion_builder_form_step' ) ) { FusionPageBuilderApp.blankPage = true; FusionPageBuilderApp.clearBuilderLayout( true ); } FusionEvents.trigger( 'fusion-content-changed' ); FusionEvents.trigger( 'fusion-rerender-form-steps' ); FusionEvents.trigger( 'fusion-history-save-step', fusionBuilderText.deleted_form_step ); }, /** * Adds a container. * * @since 2.0.0 * @param {Object} event - The event. * @return {void} */ addContainer: function( event ) { var elementID, defaultParams, params, value, newContainer; if ( event ) { event.preventDefault(); FusionPageBuilderApp.newContainerAdded = true; } elementID = FusionPageBuilderViewManager.generateCid(); defaultParams = fusionAllElements.fusion_builder_container.params; params = {}; // Process default options for shortcode. _.each( defaultParams, function( param ) { value = ( _.isObject( param.value ) ) ? param[ 'default' ] : param.value; params[ param.param_name ] = value; if ( 'dimension' === param.type && _.isObject( param.value ) ) { _.each( param.value, function( val, name ) { params[ name ] = val; } ); } } ); this.collection.add( [ { type: 'fusion_builder_container', added: 'manually', element_type: 'fusion_builder_container', cid: elementID, params: params, view: this, created: 'auto' } ] ); // Make sure to add row to new container not current one. newContainer = FusionPageBuilderViewManager.getView( elementID ); newContainer.addRow(); FusionPageBuilderApp.scrollingContainers(); }, /** * Clones the special element. * * @param {Object} event - The event. * @return {void} */ cloneSpecialElement: function( event ) { var elementAttributes, currentModel, MultiGlobalArgs; if ( event ) { this.preventDefault( event ); } if ( ( 'undefined' !== typeof this.$el.data( 'cloning-disabled' ) && 1 === this.$el.data( 'cloning-disabled' ) ) || true === this.elementIsCloning ) { return; } this.elementIsCloning = true; elementAttributes = jQuery.extend( true, {}, this.model.attributes ); elementAttributes.created = 'manually'; elementAttributes.cid = FusionPageBuilderViewManager.generateCid(); elementAttributes.appendAfter = this.$el; elementAttributes.view = this; elementAttributes.at_index = FusionPageBuilderApp.getCollectionIndex( this.$el ); if ( 'undefined' !== elementAttributes.from ) { delete elementAttributes.from; } currentModel = this.collection.add( elementAttributes ); this.elementIsCloning = false; // Handle multiple global elements. MultiGlobalArgs = { currentModel: currentModel, handleType: 'save', attributes: currentModel.attributes }; fusionGlobalManager.handleMultiGlobal( MultiGlobalArgs ); FusionEvents.trigger( 'fusion-history-save-step', fusionBuilderText.cloned + ' ' + fusionAllElements[ this.model.get( 'element_type' ) ].name + ' ' + fusionBuilderText.element ); FusionEvents.trigger( 'fusion-content-changed' ); this._refreshJs(); }, /** * Triggers a refresh. * * @since 2.0.0 * @return void */ _refreshJs: function() { jQuery( '#fb-preview' )[ 0 ].contentWindow.jQuery( 'body' ).trigger( 'fusion-element-render-' + this.model.attributes.element_type, this.model.attributes.cid ); } } ); } ); }( jQuery ) ); #theme-check .theme-check h2 img { vertical-align: text-bottom; } .fusionredux-error { background: #ddd; padding: 8px; margin-right: 20px; } Generated by IcoMoon /* global FusionPageBuilderViewManager, FusionPageBuilderEvents */ var FusionPageBuilder = FusionPageBuilder || {}; ( function( $ ) { $( document ).ready( function() { // Builder Checkout Form View FusionPageBuilder.checkoutForm = window.wp.Backbone.View.extend( { className: 'fusion-checkout-form', template: FusionPageBuilder.template( $( '#fusion-checkout-form-template' ).html() ), events: { 'click .fusion-builder-delete-checkout-form': 'removeContainer' }, render: function() { this.$el.html( this.template( this.model.toJSON() ) ); return this; }, removeContainer: function( event ) { if ( event ) { event.preventDefault(); } FusionPageBuilderViewManager.removeView( this.model.get( 'cid' ) ); this.model.destroy(); this.remove(); if ( event ) { FusionPageBuilderEvents.trigger( 'fusion-element-removed' ); } } } ); } ); }( jQuery ) ); "use strict";(self.webpackChunkhostinger_reach=self.webpackChunkhostinger_reach||[]).push([[127],{127:function(e,t,s){s.r(t),s.d(t,{default:function(){return o}});var l=s(425);const a={class:"base-modal"},i={class:"base-modal__header"},n={key:0,class:"base-modal__title"};var c=(0,l.pM)({__name:"BaseModal",props:{title:{},subtitle:{},titleAlignment:{default:"left"}},setup(e){return(e,t)=>((0,l.uX)(),(0,l.CE)("div",a,[(0,l.Lk)("div",i,[(0,l.RG)(e.$slots,"back-button"),(0,l.Lk)("span",{class:(0,l.C4)(["base-modal__title-container",{"base-modal__title-container--centered":"centered"===e.titleAlignment}])},[(0,l.RG)(e.$slots,"title-icon"),e.title?((0,l.uX)(),(0,l.CE)("h2",n,(0,l.v_)(e.title),1)):(0,l.Q3)("v-if",!0)],2)]),e.subtitle?((0,l.uX)(),(0,l.CE)("p",{key:0,class:(0,l.C4)(["base-modal__subtitle",{"base-modal__subtitle--centered":"centered"===e.titleAlignment}])},(0,l.v_)(e.subtitle),3)):(0,l.Q3)("v-if",!0),(0,l.RG)(e.$slots,"default")]))}});var o=(0,s(262).A)(c,[["__scopeId","data-v-3e13e200"]])}}]); serenedeco.net Skip to main content

serenedeco.net

Serene

Now, furniture shopping is simple

We’ve got the furniture you need to fill your new home. Browse now for free and get big discounts on everything from tables to lamps!

Popular Categories

Chair

Chair

Cabinet

Cabinet

Lamp

Lamp

Table

Table

Design your dream home with the perfect furniture

We’re making it easy for you to find your perfect match.
Design your dream home with the perfect furniture

A Modern Home Starts with Truebuy.

You’ll find the perfect home furnishings without breaking your budget.
A Modern Home Starts with Truebuy.
Icon

A Customized Experience for Every Style

Our customizing tool allows you to filter by size, color, type of furniture and more!

Icon

At vero eos et accusamus et

odio dignissimos ducimus qui blanditiis praesentium voluptatum 

Icon

Competitive Prices

The majority of our products are priced at under $1000 - some as low as $89!

Design your dream home with the perfect furniture

Popular Categories

quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores

Frequently Ask Questions

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Frequently Ask Questions

Any Question?

You can ask anything you want to know Feedback