countdown-8.x-1.8/js/integrations/countdown.flip.integration.min.js
js/integrations/countdown.flip.integration.min.js
!function(t){"use strict";function e(t){const e={"&":"&","<":"<",">":">",'"':""","'":"'"};return String(t).replace(/[&<>"']/g,(function(t){return e[t]}))}t.countdown.registerLoader("flip",(function(n,i){if("undefined"==typeof Tick||!Tick||!Tick.DOM)return console.error("Countdown: PQINA Flip requires Tick to be loaded."),void t.countdown.utils.handleError(n,"Tick library required for Flip not loaded.","flip");const o=function(e,n){let i=t.countdown.utils.resolveCountdownSettings(e,n,"flip");i.leadingZeros=t.countdown.utils.normalizeBoolean(i.leadingZeros),i.showLabels=t.countdown.utils.normalizeBoolean(i.showLabels),i.autostart=t.countdown.utils.normalizeBoolean(i.autostart),i.responsive=t.countdown.utils.normalizeBoolean(i.responsive),i.stopAtZero=t.countdown.utils.normalizeBoolean(i.stopAtZero),i.showCredits=t.countdown.utils.normalizeBoolean(i.showCredits),i.flipDuration=t.countdown.utils.normalizeNumber(i.flipDuration,800),i.updateInterval=t.countdown.utils.normalizeNumber(i.updateInterval,1e3),i.shadowStyle=i.shadowStyle||"default",i.roundedStyle=i.roundedStyle||"default",i.flipEasing=i.flipEasing||"ease-out-bounce",i.format||(i.format=["d","h","m","s"]);return i}(n,i),s=o.target_date||n.dataset.countdownTarget,a=o.timezone||n.dataset.countdownTimezone||"UTC",l=o.direction||n.dataset.countdownDirection||"countdown";if(!s)return console.error("Countdown: No target date specified."),void t.countdown.utils.handleError(n,"No target date specified.","flip");const r=new Date(s+" "+a),d=Date.now();if("countdown"===l&&r.getTime()<=d)return void t.countdown.utils.showExpiredMessage(n,o,"flip");let c=function(t){if(!t)return["d","h","m","s"];if("object"==typeof t&&!Array.isArray(t)){const e=[];["y","M","w","d","h","m","s"].forEach((function(n){t[n]&&e.push(n)})),t=e.length>0?e:["d","h","m","s"]}"string"==typeof t&&(t=t.match(/[yMwdhms]/g)||["d","h","m","s"]);Array.isArray(t)||(t=["d","h","m","s"]);return t}(o.format);const u=function(t,n){const i=!1!==n.leadingZeros,o=n.separator||"",s=!0===n.showLabels,a=[];"none"===n.shadowStyle?a.push("shadow:none"):"inner"===n.shadowStyle&&a.push("shadow:inner");"none"===n.roundedStyle?a.push("rounded:none"):"panels"===n.roundedStyle&&a.push("rounded:panels");n.flipEasing&&"ease-out-bounce"!==n.flipEasing&&a.push("flip-easing:"+n.flipEasing);n.flipDuration&&800!==n.flipDuration&&a.push("flip-duration:"+n.flipDuration);const l=a.length>0?' data-style="'+a.join(" ")+'"':"";let r='<div class="tick" data-did-init="handleFlipInit">';r+='<div data-layout="horizontal fit">',t.forEach((function(n,s){r+='<span data-key="'+n+'" ',r+='data-repeat="true" ',r+='data-transform="pad('+(i?"00":"0")+') -> split -> delay">',r+='<span data-view="flip"'+l+"></span>",r+="</span>",o&&s<t.length-1&&(r+='<span class="tick-text-inline">'+e(o)+"</span>")})),r+="</div>",s&&(r+='<div data-layout="horizontal fit" class="tick-labels">',t.forEach((function(i,s){const a=function(t,e){const n={y:"Years",M:"Months",w:"Weeks",d:"Days",h:"Hours",m:"Minutes",s:"Seconds"},i={y:"years",M:"months",w:"weeks",d:"days",h:"hours",m:"minutes",s:"seconds"};if(e&&e[i[t]])return e[i[t]];return n[t]||t.toUpperCase()}(i,n.labels);r+='<span class="tick-label">'+e(a)+"</span>",o&&s<t.length-1&&(r+='<span class="tick-text-inline"> </span>')})),r+="</div>");return r+="</div>",r}(c,o);n.innerHTML=u;const p=n.querySelector(".tick");if(!p)return console.error("Countdown: Failed to create Flip markup."),void t.countdown.utils.handleError(n,"Failed to create Flip markup.","flip");let f;!function(t,e,n){const i=n.theme||"dark";if(e.classList.add("flip-theme-"+i),"custom"===i){const e="flip-custom-theme-"+t.id;let i=document.getElementById(e);i||(i=document.createElement("style"),i.id=e,document.head.appendChild(i));let o="";const s="#"+t.id+" .tick";n.fontFamily&&(o+=s+" { font-family: "+n.fontFamily+"; }\n"),n.textColor&&(o+=s+" .tick-flip-panel { color: "+n.textColor+"; }\n",o+=s+" .tick-label { color: "+n.textColor+"; }\n",o+=s+" .tick-text-inline { color: "+n.textColor+"; }\n"),n.backgroundColor&&(o+=s+" .tick-flip-panel { background-color: "+n.backgroundColor+"; }\n"),i.textContent=o}}(n,p,o),function(t,e,n){if(!n)return;const i={xs:.5,sm:.75,md:1,lg:1.5,xl:2,responsive:"auto"}[n];i&&"auto"!==i&&(e.style.fontSize=i+"rem");e.classList.add("flip-size-"+n)}(0,p,o.size),function(t,e,n){if(!0===n.responsive&&"responsive"!==n.size){const e="flip-responsive-"+t.id;let n=document.getElementById(e);n||(n=document.createElement("style"),n.id=e,document.head.appendChild(n));const i=`\n #${t.id} .flip-responsive {\n font-size: 2.5vw;\n }\n @media (min-width: 768px) {\n #${t.id} .flip-responsive {\n font-size: 1.5vw;\n }\n }\n @media (min-width: 1200px) {\n #${t.id} .flip-responsive {\n font-size: 1rem;\n }\n }\n `;n.textContent=i}if(!0===n.showLabels){const e="flip-labels-"+t.id;let n=document.getElementById(e);n||(n=document.createElement("style"),n.id=e,document.head.appendChild(n));const i=`\n #${t.id} .tick-labels {\n margin-top: 0.5em;\n }\n #${t.id} .tick-labels .tick-label {\n font-size: 0.375em;\n text-align: center;\n flex: 1;\n }\n #${t.id} .tick-labels .tick-text-inline {\n width: auto;\n flex: none;\n }\n `;n.textContent=i}}(n,0,o),o.customCssClass&&p.classList.add(o.customCssClass),!0===o.responsive&&p.classList.add("flip-responsive");try{const e=o;window.handleFlipInit=function(n){if(e.flipEasing&&(n.baseDefinition&&n.baseDefinition.presenter&&(n.baseDefinition.presenter.style=n.baseDefinition.presenter.style||{},n.baseDefinition.presenter.style.flipEasing=e.flipEasing),n.root.dataset.style=(n.root.dataset.style||"")+" flip-easing:"+e.flipEasing),e.flipDuration&&n.baseDefinition&&n.baseDefinition.presenter&&(n.baseDefinition.presenter.style=n.baseDefinition.presenter.style||{},n.baseDefinition.presenter.style.flipDuration=e.flipDuration),!1===e.showCredits){const t=n.root.querySelector(".tick-credits");t&&t.remove()}const i=n.root.parentElement;if(i){const e=t.countdown.instances.get(i);e&&e.counter&&e.counter.value&&(n.value=e.counter.value)}};const n={credits:!0===o.showCredits&&{label:"Powered by PQINA",url:"https://pqina.nl/?ref=credits"}};!function(t,e){const n=t.dataset.style||"",i=[];e.flipEasing&&"ease-out-bounce"!==e.flipEasing&&i.push("flip-easing:"+e.flipEasing);e.flipDuration&&800!==e.flipDuration&&i.push("flip-duration:"+e.flipDuration);if(i.length>0){const e=i.join(" ");t.dataset.style=n?n+" "+e:e}}(p,o),f=Tick.DOM.create(p,n)}catch(e){return console.error("Countdown: Failed to initialize Flip with Tick DOM",e),void t.countdown.utils.handleError(n,"Failed to initialize Flip: "+e.message,"flip")}!function(t,e){const n=t.querySelectorAll('[data-view="flip"]');n.forEach((function(t){if(e.flipDuration){t.style.setProperty("--flip-duration",e.flipDuration+"ms");t.querySelectorAll(".tick-flip-panel-front, .tick-flip-panel-back").forEach((function(t){t.style.transitionDuration=e.flipDuration+"ms"}))}}))}(p,o);const m={format:c,interval:o.updateInterval||1e3,cascade:!1!==o.cascade},h="countdown"===l?Tick.count.down(s,m):Tick.count.up(s,m);h.onupdate=function(e){const i={};c.forEach((function(t,n){i[t]=e[n]||0})),f.value=i,t.countdown.utils.dispatchEvent(n,"tick",{element:n,library:"flip",value:e,format:c})},h.onended=function(){const e=o.finish_message||"Time's up!";if(!0===o.stopAtZero){const t={};c.forEach((function(e){t[e]=0})),f.value=t}else n.innerHTML='<div class="flip-finish">'+e+"</div>";n.classList.add("countdown-expired"),"function"==typeof o.onComplete&&o.onComplete.call(this,n),t.countdown.utils.dispatchEvent(n,"complete",{element:n,library:"flip",format:c})},t.countdown.storeInstance(n,{counter:h,dom:f,format:c,settings:o}),n.classList.add("countdown-initialized"),n.classList.add("countdown-flip"),n.setAttribute("data-flip-format",c.join(",")),t.countdown.utils.dispatchEvent(n,"initialized",{library:"flip",element:n,settings:o,format:c})}))}(Drupal);
