countdown-8.x-1.8/js/integrations/countdown.flipclock.integration.min.js
js/integrations/countdown.flipclock.integration.min.js
!function(t){"use strict";t.countdown.registerLoader("flipclock",(function(e,o){const n=t.countdown.utils.resolveCountdownSettings(e,o,"flipclock"),i=n.isModernVersion||"undefined"!=typeof FlipClock&&void 0!==FlipClock.Face,c=(n.libraryVersion,n.target_date||e.dataset.countdownTarget);c?i?function(e,o,n){if("undefined"==typeof FlipClock)return void t.countdown.utils.handleError(e,"Modern FlipClock library not loaded","flipclock");const i=new Date,c=new Date(n);if(isNaN(c.getTime()))return void t.countdown.utils.handleError(e,"Invalid target date: "+n,"flipclock");const a=!1!==o.countdown?c-i:i-c;if(!1!==o.countdown&&a<=0)return void t.countdown.utils.showExpiredMessage(e,o,"flipclock");const l=o.face||o.clockFace||"DayCounter",s={face:l,countdown:!1!==o.countdown,autoPlay:!1!==o.autoPlay,autoStart:!1!==o.autoStart};o.language&&(s.language=o.language);o.labels&&(s.labels=o.labels);void 0!==o.minimumDigits&&(s.minimumDigits=o.minimumDigits);try{const n=new FlipClock(e,c,s);t.countdown.storeInstance(e,{instance:n,stop:function(){n&&n.stop&&n.stop()}}),e.classList.add("countdown-initialized"),e.classList.add("flipclock"),t.countdown.utils.dispatchEvent(e,"initialized",{library:"flipclock",element:e,settings:o,instance:n}),function(e,o,n){const i=setInterval((function(){let c=!1;try{if(void 0!==o.value){const t=o.value;if(t instanceof Date){const e=new Date;c=!1!==n.countdown?t<=e:t>=e}else"number"==typeof t&&(c=!1!==n.countdown?t<=0:t>=0)}if(o.face&&o.face.value){const t=o.face.value.value;if(t instanceof Date){const e=new Date;c=!1!==n.countdown?t<=e:t>=e}else"number"==typeof t&&(c=!1!==n.countdown?t<=0:t>=0)}}catch(t){}c&&(clearInterval(i),o.stop&&"function"==typeof o.stop&&o.stop(),t.countdown.utils.showExpiredMessage(e,n,"flipclock"))}),1e3);e.dataset.flipclockInterval=i}(e,n,o)}catch(o){console.error("Countdown: Failed to create modern FlipClock",o),t.countdown.utils.handleError(e,"Failed to create FlipClock: "+o.message,"flipclock")}}(e,n,c):function(e,o,n){if("undefined"==typeof FlipClock||"undefined"==typeof jQuery)return console.error("Countdown: Legacy FlipClock or jQuery not loaded."),void e.dispatchEvent(new CustomEvent("countdown:error",{detail:{message:"Legacy FlipClock library or jQuery not loaded"}}));const i=jQuery,c=new Date,a=new Date(n);if(isNaN(a.getTime()))return console.error("Countdown: Invalid target date for FlipClock:",n),void e.dispatchEvent(new CustomEvent("countdown:error",{detail:{message:"Invalid target date: "+n}}));const l=o.countdown?a-c:c-a,s=Math.floor(Math.abs(l)/1e3);if(o.countdown&&l<=0){const t=o.finish_message||o.finishMessage||"Time's up!";return i(e).html('<div class="flipclock-expired">'+t+"</div>"),void e.dispatchEvent(new CustomEvent("countdown:complete",{detail:{element:e,library:"flipclock"}}))}const d={clockFace:o.clockFace||o.face||"DayCounter",countdown:!1!==o.countdown,autoStart:!1!==o.autoStart,callbacks:{stop:function(){const t=o.finish_message||o.finishMessage||"Time's up!";i(e).find(".flip-clock-wrapper").append('<div class="flipclock-finish-message">'+t+"</div>"),e.dispatchEvent(new CustomEvent("countdown:complete",{detail:{element:e,library:"flipclock"}}))}}};o.language&&(d.language=o.language);void 0!==o.minimumDigits&&(d.minimumDigits=o.minimumDigits);try{const n=i(e).FlipClock(s,d);t.countdown.storeInstance(e,{instance:n,stop:function(){n&&n.stop&&n.stop()}}),e.classList.add("countdown-initialized"),e.classList.add("flipclock-legacy"),e.dispatchEvent(new CustomEvent("countdown:initialized",{detail:{library:"flipclock",element:e,settings:o,instance:n}}))}catch(t){console.error("Countdown: Failed to create legacy FlipClock",t),e.dispatchEvent(new CustomEvent("countdown:error",{detail:{message:"Failed to create FlipClock: "+t.message}}))}}(e,n,c):t.countdown.utils.handleError(e,"No target date specified","flipclock")}))}(Drupal);
