@gem-sdk/components 7.0.1-dev.10 → 7.0.1-dev.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const convertTime=(e,t)=>{let
|
|
1
|
+
"use strict";const convertTime=(e,t)=>{let r=timeOffset(e);return{week:r.weeks,day:t.enableWeek?r.days:r.totalDays,hour:t.enableDay?r.hours:r.totalHours,minute:t.enableHour||t.enableDay||t.enableWeek?r.minutes:r.totalMinutes,second:t.enableMinute||t.enableHour||t.enableDay||t.enableWeek?r.seconds:r.totalSeconds}},timeOffset=e=>({seconds:e%60,minutes:Math.floor(e/60)%60,hours:Math.floor(e/60/60)%24,days:Math.floor(e/60/60/24)%7,weeks:Math.floor(e/60/60/24/7),months:Math.floor(e/60/60/24/30.4368),totalDays:Math.floor(e/60/60/24),totalHours:Math.floor(e/60/60),totalMinutes:Math.floor(e/60),totalSeconds:e}),formatTime=e=>Number.isNaN(e)||0===e?"00":e<10?`0${e}`:e,calculateTime=e=>{let t=new Date().getTime();e||(e=getEndTime(0,3,0));let r=Math.ceil((e-t)/1e3);return r>0?r:0},getEndTime=(e,t,r)=>{let o=new Date,a=new Date;return o.setDate(a.getDate()+e),o.setHours(a.getHours()+t),o.setMinutes(a.getMinutes()+r),o.setSeconds(a.getSeconds()),o.getTime()},daily=(e,t,r)=>{let o=new Date,a=to24HrTime(`${e}:${t} ${r}`);e=a.hours,t=a.mins;let n=new Date(o.getFullYear(),o.getMonth(),o.getDate(),e,t).getTime(),l=n-o.getTime();return l<0&&(l+=864e5),Math.ceil(l/1e3)},standard=(e,t)=>calculateTime(getStandardEndtime(e,t)),getStandardEndtime=(e,t)=>{let r=0,o=new Date(e);if(void 0!=t&&""!=t&&((r=parseInt(t)?parseInt(t):parseInt(t.slice(3)))||0===r)){let e=new Date().getTimezoneOffset();o=new Date(o.getTime()-6e4*e-36e5*r)}return o.getTime()},evergreen=e=>{let{days:t,hours:r,mins:o,seconds:a=0}=e;return(t??0)*86400+(r??0)*3600+(o??0)*60+(a??0)},refreshAfterFinish=(e,t)=>{let r=new Date().getTime(),o=(86400*t.days+3600*t.hours+60*t.mins)*1e3,a=(r-e)%o;return Math.ceil((o-a)/1e3)},to24HrTime=e=>{let[t,r,o]=e.toLowerCase().match(/\d+|[a-z]+/g)||[],a=`${Number(t)%12+("am"==o?0:12)}:${r}`.split(":");return{hours:parseInt(a[0]?a[0]:"0"),mins:parseInt(a[1]?a[1]:"0")}},getIdFromHash=e=>(e.startsWith("#el-")?e.replace("#el-","#"):e).substring(1),scrollToTop=()=>{"undefined"!=typeof window&&window.scrollTo({top:0,behavior:"smooth"})},scrollToSection=e=>{e&&(e.scrollIntoView({behavior:"smooth"}),setTimeout(()=>{let t=new URL(window.location.toString());t.hash=`#${e.id}`,history.replaceState(null,"",t.toString())},300))},querySelector=e=>{try{return document.querySelector(e)}catch{return null}},handleRedirect=(e,t,r)=>{if(!e||"#"===e)return;let o=e.startsWith("#")?getIdFromHash(e):"",a=o?querySelector(`[data-gp-dialog-id='${o}']`):null,n=o?querySelector(`[id='${o}']`):null;if(a?.tagName==="DIALOG")a?.showModal();else if("scroll-to-top"===o)scrollToTop();else if(n)scrollToSection(n);else{if("open-popup"===r||"scroll-to"===r)return;"_self"===t?window.location.href=e:window.open(e,t??"_blank")}};exports.calculateTime=calculateTime,exports.convertTime=convertTime,exports.daily=daily,exports.evergreen=evergreen,exports.formatTime=formatTime,exports.getEndTime=getEndTime,exports.getStandardEndtime=getStandardEndtime,exports.handleRedirect=handleRedirect,exports.refreshAfterFinish=refreshAfterFinish,exports.standard=standard;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),core=require("@gem-sdk/core"),helpers=require("../common/helpers.js");const useTimeLeft=e=>{let r=core.useEditorMode(),{timerDaily:t,behaviour:s,timerEverygreen:n,loopAfterFinish:a,redirectUrl:i,timeZone:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),core=require("@gem-sdk/core"),helpers=require("../common/helpers.js");const useTimeLeft=e=>{let r=core.useEditorMode(),{timerDaily:t,behaviour:s,timerEverygreen:n,loopAfterFinish:a,redirectUrl:i,timeZone:l,dateStandard:c}=e,u=React.useMemo(()=>{switch(s){case"daily":return helpers.daily(t.hours,t.mins,t.format);case"evergreen":return helpers.evergreen(n);case"standard":return helpers.standard(c,l);default:return 0}},[s,c,l,t.format,t.hours,t.mins,n.endTime]),[o,h]=React.useState(u),f=React.useRef(),d=React.useCallback(()=>h(e=>e<=0?(i.link&&"#"!==i.link&&"edit"!==r&&helpers.handleRedirect(i.link,i.target,i.type),isLoopAfterFinish(a,s))?evergreenRefreshAfterFinish(n):(clearInterval(f.current),0):e-1),[s,a,r,i.link,i.target,n]);return React.useEffect(()=>{let e=isLoopAfterFinish(a,s);return e&&(clearInterval(f.current),h(evergreenRefreshAfterFinish(n)),f.current=setInterval(d,1e3)),u<=0&&!e&&(clearInterval(f.current),h(0)),u>0&&(clearInterval(f.current),h(u),f.current=setInterval(d,1e3)),()=>{clearInterval(f.current)}},[s,d,u,a,n]),o},isLoopAfterFinish=(e,r)=>e&&"evergreen"===r,evergreenRefreshAfterFinish=e=>helpers.refreshAfterFinish(e.endTime,{days:e.days,hours:e.hours,mins:e.mins});exports.default=useTimeLeft;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
let convertTime=(e,t)=>{let
|
|
1
|
+
let convertTime=(e,t)=>{let o=timeOffset(e);return{week:o.weeks,day:t.enableWeek?o.days:o.totalDays,hour:t.enableDay?o.hours:o.totalHours,minute:t.enableHour||t.enableDay||t.enableWeek?o.minutes:o.totalMinutes,second:t.enableMinute||t.enableHour||t.enableDay||t.enableWeek?o.seconds:o.totalSeconds}},timeOffset=e=>({seconds:e%60,minutes:Math.floor(e/60)%60,hours:Math.floor(e/60/60)%24,days:Math.floor(e/60/60/24)%7,weeks:Math.floor(e/60/60/24/7),months:Math.floor(e/60/60/24/30.4368),totalDays:Math.floor(e/60/60/24),totalHours:Math.floor(e/60/60),totalMinutes:Math.floor(e/60),totalSeconds:e}),formatTime=e=>Number.isNaN(e)||0===e?"00":e<10?`0${e}`:e,calculateTime=e=>{let t=new Date().getTime();e||(e=getEndTime(0,3,0));let o=Math.ceil((e-t)/1e3);return o>0?o:0},getEndTime=(e,t,o)=>{let r=new Date,a=new Date;return r.setDate(a.getDate()+e),r.setHours(a.getHours()+t),r.setMinutes(a.getMinutes()+o),r.setSeconds(a.getSeconds()),r.getTime()},daily=(e,t,o)=>{let r=new Date,a=to24HrTime(`${e}:${t} ${o}`);e=a.hours,t=a.mins;let n=new Date(r.getFullYear(),r.getMonth(),r.getDate(),e,t).getTime(),l=n-r.getTime();return l<0&&(l+=864e5),Math.ceil(l/1e3)},standard=(e,t)=>calculateTime(getStandardEndtime(e,t)),getStandardEndtime=(e,t)=>{let o=0,r=new Date(e);if(void 0!=t&&""!=t&&((o=parseInt(t)?parseInt(t):parseInt(t.slice(3)))||0===o)){let e=new Date().getTimezoneOffset();r=new Date(r.getTime()-6e4*e-36e5*o)}return r.getTime()},evergreen=e=>{let{days:t,hours:o,mins:r,seconds:a=0}=e;return(t??0)*86400+(o??0)*3600+(r??0)*60+(a??0)},refreshAfterFinish=(e,t)=>{let o=new Date().getTime(),r=(86400*t.days+3600*t.hours+60*t.mins)*1e3,a=(o-e)%r;return Math.ceil((r-a)/1e3)},to24HrTime=e=>{let[t,o,r]=e.toLowerCase().match(/\d+|[a-z]+/g)||[],a=`${Number(t)%12+("am"==r?0:12)}:${o}`.split(":");return{hours:parseInt(a[0]?a[0]:"0"),mins:parseInt(a[1]?a[1]:"0")}},getIdFromHash=e=>(e.startsWith("#el-")?e.replace("#el-","#"):e).substring(1),scrollToTop=()=>{"undefined"!=typeof window&&window.scrollTo({top:0,behavior:"smooth"})},scrollToSection=e=>{e&&(e.scrollIntoView({behavior:"smooth"}),setTimeout(()=>{let t=new URL(window.location.toString());t.hash=`#${e.id}`,history.replaceState(null,"",t.toString())},300))},querySelector=e=>{try{return document.querySelector(e)}catch{return null}},handleRedirect=(e,t,o)=>{if(!e||"#"===e)return;let r=e.startsWith("#")?getIdFromHash(e):"",a=r?querySelector(`[data-gp-dialog-id='${r}']`):null,n=r?querySelector(`[id='${r}']`):null;if(a?.tagName==="DIALOG")a?.showModal();else if("scroll-to-top"===r)scrollToTop();else if(n)scrollToSection(n);else{if("open-popup"===o||"scroll-to"===o)return;"_self"===t?window.location.href=e:window.open(e,t??"_blank")}};export{calculateTime,convertTime,daily,evergreen,formatTime,getEndTime,getStandardEndtime,handleRedirect,refreshAfterFinish,standard};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useMemo as e,useState as r,useRef as t,useCallback as n,useEffect as s}from"react";import{useEditorMode as i}from"@gem-sdk/core";import{standard as a,evergreen as
|
|
1
|
+
import{useMemo as e,useState as r,useRef as t,useCallback as n,useEffect as s}from"react";import{useEditorMode as i}from"@gem-sdk/core";import{standard as a,evergreen as l,daily as o,handleRedirect as u,refreshAfterFinish as c}from"../common/helpers.js";let useTimeLeft=c=>{let m=i(),{timerDaily:f,behaviour:h,timerEverygreen:v,loopAfterFinish:d,redirectUrl:p,timeZone:g,dateStandard:I}=c,A=e(()=>{switch(h){case"daily":return o(f.hours,f.mins,f.format);case"evergreen":return l(v);case"standard":return a(I,g);default:return 0}},[h,I,g,f.format,f.hours,f.mins,v.endTime]),[F,k]=r(A),L=t(),y=n(()=>k(e=>e<=0?(p.link&&"#"!==p.link&&"edit"!==m&&u(p.link,p.target,p.type),isLoopAfterFinish(d,h))?evergreenRefreshAfterFinish(v):(clearInterval(L.current),0):e-1),[h,d,m,p.link,p.target,v]);return s(()=>{let e=isLoopAfterFinish(d,h);return e&&(clearInterval(L.current),k(evergreenRefreshAfterFinish(v)),L.current=setInterval(y,1e3)),A<=0&&!e&&(clearInterval(L.current),k(0)),A>0&&(clearInterval(L.current),k(A),L.current=setInterval(y,1e3)),()=>{clearInterval(L.current)}},[h,y,A,d,v]),F},isLoopAfterFinish=(e,r)=>e&&"evergreen"===r,evergreenRefreshAfterFinish=e=>c(e.endTime,{days:e.days,hours:e.hours,mins:e.mins});export{useTimeLeft as default};
|