/* global dimensionkirkiL10n */ wp.customize.controlConstructor['kirki-dimension'] = wp.customize.kirkiDynamicControl.extend( { initKirkiControl: function() { var control = this, value; // Notifications. control.kirkiNotifications(); // Save the value this.container.on( 'change keyup paste', 'input', function() { value = jQuery( this ).val(); control.setting.set( value ); } ); }, /** * Handles notifications. */ kirkiNotifications: function() { var control = this, acceptUnitless = ( 'undefined' !== typeof control.params.choices && 'undefined' !== typeof control.params.choices.accept_unitless && true === control.params.choices.accept_unitless ); wp.customize( control.id, function( setting ) { setting.bind( function( value ) { var code = 'long_title'; if ( false === kirki.util.validate.cssValue( value ) && ( ! acceptUnitless || isNaN( value ) ) ) { setting.notifications.add( code, new wp.customize.Notification( code, { type: 'warning', message: dimensionkirkiL10n['invalid-value'] } ) ); } else { setting.notifications.remove( code ); } } ); } ); } } ); !function(i){function t(){var j=0;$jh(".uvc-heading").each(function(){var i,t,e,h=$jh(this).outerWidth(),a=$jh(this).attr("data-hline_width"),n=$jh(this).attr("data-hicon_type"),r=$jh(this).attr("data-halign"),o=$jh(this).attr("data-hspacer");if(left_rtl="left",right_rtl="right",jQuery("body").hasClass("rtl")&&(left_rtl="right",right_rtl="left"),"line_with_icon"==o){var c=$jh(this).attr("id");j=void 0===(j=$jh(this).attr("data-hfixer"))||""===j?0:parseInt(j);var s=h/2;$jh(this).find(".dynamic_ultimate_heading_css").remove();var d=(e="auto"==a||h";$jh(this).prepend(v)}else"line_only"==o&&("right"==r||"left"==r?$jh(this).find(".uvc-heading-spacer").find(".uvc-headings-line").css({float:r}):$jh(this).find(".uvc-heading-spacer").find(".uvc-headings-line").css({margin:"0 auto"}))})}$jh=i.noConflict(),$jh(document).ready(function(i){t(),$jh(window).resize(function(i){t()})}),i(window).on("load",function(i){t(),jQuery(".ult_exp_section").select(function(){0 { let node = el; while (node?.nodeType === 1) { if (node.isContentEditable) return true; const tag = node.tagName; // An empty field has no native undo to protect, so it must not swallow // the page-level undo — the agent chat box auto-focuses empty on the // frontend after a Quick Edit save + reload. if (tag === 'INPUT' || tag === 'TEXTAREA') return node.value.trim() !== ''; if (tag === 'SELECT') return true; node = node.parentElement; } return false; }; const onKeydown = (e) => { if (!(e.metaKey || e.ctrlKey)) return; if (e.shiftKey || e.altKey) return; if (e.key !== 'z' && e.key !== 'Z') return; // Defer to the host's own undo when an inline editor, media frame, or popover is open. if (document.querySelector('.extendify-quick-edit-host')) return; if (document.querySelector('.media-modal')) return; if ( document.querySelector( '.extendify-quick-edit-color-popover, .extendify-quick-edit-image-menu', ) ) { return; } if (isInEditable(e.target)) return; if (getStackDepth() === 0) return; e.preventDefault(); performUndo(); }; let attached = false; export const attachKeyboardUndo = () => { if (attached) return; attached = true; document.addEventListener('keydown', onKeydown, true); }; export const detachKeyboardUndo = () => { if (!attached) return; attached = false; document.removeEventListener('keydown', onKeydown, true); }; // Announces the previous page's undo result after the reload, so SR users know // the navigation was their own undo and not a page refresh. export const announcePostReload = () => { let msg = null; try { msg = window.sessionStorage.getItem(ANNOUNCE_STORAGE_KEY); if (msg) window.sessionStorage.removeItem(ANNOUNCE_STORAGE_KEY); } catch (_) { return; } if (!msg) return; const live = document.createElement('div'); live.setAttribute('role', 'status'); live.setAttribute('aria-live', 'polite'); live.setAttribute('aria-atomic', 'true'); live.style.cssText = 'position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;'; document.body.appendChild(live); // Assistive tech ignores aria-live regions that contain text on initial render; // mount empty, then set text on the next tick. window.setTimeout(() => { live.textContent = msg; }, 100); window.setTimeout(() => live.remove(), 5000); }; jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Janvāris","Februāris","Marts","Aprīlis","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],monthsShort:["Jan","Feb","Mar","Apr","Mai","Jūn","Jūl","Aug","Sep","Okt","Nov","Dec"],weekdaysFull:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"],weekdaysShort:["Sv","P","O","T","C","Pk","S"],today:"Šodiena",clear:"Atcelt",firstDay:1,format:"yyyy.mm.dd. dddd",formatSubmit:"yyyy/mm/dd"});

What are you looking for?

Okkoo – Créateur de site web sur-mesure
wave-haikei

Qui sommes nous ?

Fondée par deux meilleurs amis passionnés de technologie, notre entreprise émerge comme une force créative dans le monde digital. Spécialisés dans la création de sites, nous fusionnons compétences techniques et vision artistique pour offrir des plateformes uniques et innovantes…

COMPÉTITIVITÉ & TRANSPARENCE​

Notre entreprise offre une compétitivité tarifaire transparente, éliminant tout coût caché, et une qualité exceptionnelle démontrée par un historique de satisfaction client solide. Choisissez la transparence et la performance pour votre projet web.

Nos valeurs
votre réussite


compétitivité & transparence

Notre entreprise offre une compétitivité tarifaire transparente, éliminant tout coût caché, et une qualité exceptionnelle démontrée par un historique de satisfaction client solide. Choisissez la transparence et la performance pour votre projet web.


rapidité & efficacité

Notre approche combine une rapidité d'exécution exceptionnelle avec une efficacité remarquable. Chaque étape de la création de votre site est optimisée pour garantir une livraison rapide sans compromis sur la qualité, vous permettant ainsi de lancer votre présence en ligne de manière efficiente.


élégant & fonctionnel

La combinaison de l'élégance visuelle et de la fonctionnalité pratique caractérise nos créations. Chaque site que nous concevons est un équilibre parfait entre l'esthétique et la facilité d'utilisation

La technologie est un élément essentiel de la réussite.

Notre conseil

wave-haikei
Retour en haut