UNPKG

@start-base/start-ui

Version:

<p align="center"> <a href="https://startbase.dev" target="_blank"> <img src="https://startbase.dev/apple-touch-icon.png" width="60px" style="padding-top: 60px" /> </a> </p>

1 lines 3.05 kB
"use strict";var e=require("react"),a=require("clsx");function t(e){return e&&e.__esModule?e:{default:e}}var l=t(e),o=t(a),n={root:"SUI-Countdown-module-root-7UwEA",item:"SUI-Countdown-module-item-DEDMa",value:"SUI-Countdown-module-value-psTEn",label:"SUI-Countdown-module-label-qd2GV",separator:"SUI-Countdown-module-separator-pOajL",withLabels:"SUI-Countdown-module-withLabels-ePNaR",labelsUnder:"SUI-Countdown-module-labelsUnder-BM1hw",inBoxes:"SUI-Countdown-module-inBoxes-kxi8C"},d={day:{oneChar:"d",full:"Days",none:""},hour:{oneChar:"h",full:"Hours",none:""},minute:{oneChar:"m",full:"Minutes",none:""},second:{oneChar:"s",full:"Seconds",none:""}};function r(e,a){return d[e][a]}var u=({date:a,showDay:t=!0,showHour:l=!0,showMinute:o=!0,showSecond:n=!0})=>{const[d,r]=e.useState({});return e.useEffect((()=>{const e="number"==typeof a?new Date(a):a,d=setInterval((()=>{const a=new Date,d={},u=e.getTime()-a.getTime(),s=Math.floor(u/1e3),m=Math.floor(s/60),i=Math.floor(m/60),c=Math.floor(i/24);if(t&&(d.day=String(c).padStart(2,"0")),l){const e=t?i%24:i;d.hour=String(e).padStart(2,"0")}if(o){const e=l?m%60:m;d.minute=String(e).padStart(2,"0")}if(n){const e=o?s%60:s;d.second=String(e).padStart(2,"0")}r(d)}),1e3);return()=>clearInterval(d)}),[a,t,l,o,n]),d},s=e.forwardRef(((a,t)=>{const{date:d,showDay:s=!0,showHour:m=!0,showMinute:i=!0,showSecond:c=!0,type:f="default",itemClassName:h,rootClassName:v,valueClassName:w,labelClassName:S}=a,p=u({date:d,showDay:s,showHour:m,showMinute:i,showSecond:c}),E=o.default(n.item,h,"default"!==f&&n[f]),N=o.default(n.value,w,"default"!==f&&n[f]),C=o.default(n.label,S,"default"!==f&&n[f]),y=e.useMemo((()=>"withSeparator"===f?"none":"default"===f?"oneChar":"full"),[f]);return l.default.createElement("div",{className:o.default(n.root,v),"data-type":f,ref:t},s&&void 0!==p.day&&l.default.createElement("div",{className:E},l.default.createElement("div",{className:N},p.day),l.default.createElement("div",{className:C},r("day",y))),m&&void 0!==p.hour&&l.default.createElement(l.default.Fragment,null,"withSeparator"===f&&void 0!==p.day&&l.default.createElement("span",{className:n.separator},":"),l.default.createElement("div",{className:E},l.default.createElement("div",{className:N},p.hour),l.default.createElement("div",{className:C},r("hour",y)))),i&&void 0!==p.minute&&l.default.createElement(l.default.Fragment,null,"withSeparator"===f&&(void 0!==p.day||void 0!==p.hour)&&l.default.createElement("span",{className:n.separator},":"),l.default.createElement("div",{className:E},l.default.createElement("div",{className:N},p.minute),l.default.createElement("div",{className:C},r("minute",y)))),c&&void 0!==p.second&&l.default.createElement(l.default.Fragment,null,"withSeparator"===f&&(void 0!==p.hour||void 0!==p.minute)&&l.default.createElement("span",{className:n.separator},":"),l.default.createElement("div",{className:E},l.default.createElement("div",{className:N},p.second),l.default.createElement("div",{className:C},r("second",y)))))}));s.displayName="Countdown";var m=s;module.exports=m;