@purpurds/countdown 8.9.0 → 8.10.1
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.
- package/dist/LICENSE.txt +2 -2
- package/dist/countdown.cjs.js +1 -1
- package/dist/countdown.es.js +124 -124
- package/dist/styles.css +1 -1
- package/package.json +5 -5
- package/src/countdown.module.scss +10 -1
- package/src/counter.module.scss +2 -2
package/dist/LICENSE.txt
CHANGED
package/dist/countdown.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),d=require("react");require("react-dom");function J(r){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(t,e,o.get?o:{enumerable:!0,get:()=>r[e]})}}return t.default=r,Object.freeze(t)}const p=J(d);function L(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var k={exports:{}},A;function U(){return A||(A=1,(function(r){(function(){var t={}.hasOwnProperty;function e(){for(var n="",u=0;u<arguments.length;u++){var i=arguments[u];i&&(n=a(n,o.call(this,i)))}return n}function o(n){if(typeof n=="string"||typeof n=="number")return this&&this[n]||n;if(typeof n!="object")return"";if(Array.isArray(n))return e.apply(this,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]"))return n.toString();var u="";for(var i in n)t.call(n,i)&&n[i]&&(u=a(u,this&&this[i]||i));return u}function a(n,u){return u?n?n+" "+u:n+u:n}r.exports?(e.default=e,r.exports=e):window.classNames=e})()})(k)),k.exports}var X=U();const Y=L(X),rr={"purpur-paragraph":"_purpur-paragraph_1rh57_1","purpur-paragraph--disabled":"_purpur-paragraph--disabled_1rh57_7","purpur-paragraph--hyphens":"_purpur-paragraph--hyphens_1rh57_10","purpur-paragraph--negative":"_purpur-paragraph--negative_1rh57_13","purpur-paragraph--paragraph-100":"_purpur-paragraph--paragraph-100_1rh57_16","purpur-paragraph--paragraph-100-medium":"_purpur-paragraph--paragraph-100-medium_1rh57_22","purpur-paragraph--paragraph-100-bold":"_purpur-paragraph--paragraph-100-bold_1rh57_29","purpur-paragraph--paragraph-200":"_purpur-paragraph--paragraph-200_1rh57_36","purpur-paragraph--preamble-100":"_purpur-paragraph--preamble-100_1rh57_42","purpur-paragraph--preamble-200":"_purpur-paragraph--preamble-200_1rh57_48","purpur-paragraph--additional-100":"_purpur-paragraph--additional-100_1rh57_54","purpur-paragraph--additional-100-medium":"_purpur-paragraph--additional-100-medium_1rh57_60","purpur-paragraph--overline-100":"_purpur-paragraph--overline-100_1rh57_67","purpur-paragraph--overline-200":"_purpur-paragraph--overline-200_1rh57_75"},nr=Y.bind(rr),er={PARAGRAPH100:"paragraph-100"},x="purpur-paragraph",j=({children:r,className:t,disabled:e,enableHyphenation:o=!1,negative:a=!1,variant:n=er.PARAGRAPH100,...u})=>{const i=nr(t,x,`${x}--${n}`,{[`${x}--hyphens`]:o,[`${x}--disabled`]:e,[`${x}--negative`]:a});return s.jsx("p",{...u,className:i,children:r})};j.displayName="Paragraph";function R(r,t){if(typeof r=="function")return r(t);r!=null&&(r.current=t)}function tr(...r){return t=>{let e=!1;const o=r.map(a=>{const n=R(a,t);return!e&&typeof n=="function"&&(e=!0),n});if(e)return()=>{for(let a=0;a<o.length;a++){const n=o[a];typeof n=="function"?n():R(r[a],null)}}}}function ur(r){const t=ar(r),e=p.forwardRef((o,a)=>{const{children:n,...u}=o,i=p.Children.toArray(n),l=i.find(ir);if(l){const f=l.props.children,v=i.map(_=>_===l?p.Children.count(f)>1?p.Children.only(null):p.isValidElement(f)?f.props.children:null:_);return s.jsx(t,{...u,ref:a,children:p.isValidElement(f)?p.cloneElement(f,void 0,v):null})}return s.jsx(t,{...u,ref:a,children:n})});return e.displayName=`${r}.Slot`,e}function ar(r){const t=p.forwardRef((e,o)=>{const{children:a,...n}=e;if(p.isValidElement(a)){const u=pr(a),i=sr(n,a.props);return a.type!==p.Fragment&&(i.ref=o?tr(o,u):u),p.cloneElement(a,i)}return p.Children.count(a)>1?p.Children.only(null):null});return t.displayName=`${r}.SlotClone`,t}var or=Symbol("radix.slottable");function ir(r){return p.isValidElement(r)&&typeof r.type=="function"&&"__radixId"in r.type&&r.type.__radixId===or}function sr(r,t){const e={...t};for(const o in t){const a=r[o],n=t[o];/^on[A-Z]/.test(o)?a&&n?e[o]=(...u)=>{n(...u),a(...u)}:a&&(e[o]=a):o==="style"?e[o]={...a,...n}:o==="className"&&(e[o]=[a,n].filter(Boolean).join(" "))}return{...r,...e}}function pr(r){let t=Object.getOwnPropertyDescriptor(r.props,"ref")?.get,e=t&&"isReactWarning"in t&&t.isReactWarning;return e?r.ref:(t=Object.getOwnPropertyDescriptor(r,"ref")?.get,e=t&&"isReactWarning"in t&&t.isReactWarning,e?r.props.ref:r.props.ref||r.ref)}var cr=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],lr=cr.reduce((r,t)=>{const e=ur(`Primitive.${t}`),o=p.forwardRef((a,n)=>{const{asChild:u,...i}=a,l=u?e:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),s.jsx(l,{...i,ref:n})});return o.displayName=`Primitive.${t}`,{...r,[t]:o}},{}),dr="VisuallyHidden",E=p.forwardRef((r,t)=>s.jsx(lr.span,{...r,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...r.style}}));E.displayName=dr;var _r=E;const hr=({asChild:r,children:t,...e})=>s.jsx(_r,{asChild:r,...e,children:t});function fr(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var C={exports:{}};var T;function mr(){return T||(T=1,(function(r){(function(){var t={}.hasOwnProperty;function e(){for(var n="",u=0;u<arguments.length;u++){var i=arguments[u];i&&(n=a(n,o.call(this,i)))}return n}function o(n){if(typeof n=="string"||typeof n=="number")return this&&this[n]||n;if(typeof n!="object")return"";if(Array.isArray(n))return e.apply(this,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]"))return n.toString();var u="";for(var i in n)t.call(n,i)&&n[i]&&(u=a(u,this&&this[i]||i));return u}function a(n,u){return u?n?n+" "+u:n+u:n}r.exports?(e.default=e,r.exports=e):window.classNames=e})()})(C)),C.exports}var gr=mr();const D=fr(gr),yr={"purpur-countdown--size-md":"_purpur-countdown--size-md_1kmr5_1","purpur-countdown--size-lg":"_purpur-countdown--size-lg_1kmr5_5","purpur-countdown--use-container-queries":"_purpur-countdown--use-container-queries_1kmr5_10","purpur-countdown__counter-container":"_purpur-countdown__counter-container_1kmr5_10","purpur-countdown--full-width":"_purpur-countdown--full-width_1kmr5_15","purpur-countdown--use-media-queries":"_purpur-countdown--use-media-queries_1kmr5_20","purpur-countdown":"_purpur-countdown_1kmr5_1","purpur-countdown--variant-primary":"_purpur-countdown--variant-primary_1kmr5_30","purpur-countdown--variant-secondary":"_purpur-countdown--variant-secondary_1kmr5_33","purpur-countdown--negative":"_purpur-countdown--negative_1kmr5_36","purpur-countdown--show-days":"_purpur-countdown--show-days_1kmr5_46","purpur-countdown__label":"_purpur-countdown__label_1kmr5_62"},br={"purpur-countdown-counter":"_purpur-countdown-counter_1h7qy_1","purpur-countdown-counter__number--size-lg":"_purpur-countdown-counter__number--size-lg_1h7qy_11","purpur-countdown-counter__number--size-md":"_purpur-countdown-counter__number--size-md_1h7qy_17","purpur-countdown-counter__number":"_purpur-countdown-counter__number_1h7qy_11","tick-animation":"_tick-animation_1h7qy_1","tick-animation-pseudo":"_tick-animation-pseudo_1h7qy_1","purpur-countdown-counter__label":"_purpur-countdown-counter__label_1h7qy_44","purpur-countdown-counter__label--abbr":"_purpur-countdown-counter__label--abbr_1h7qy_51","purpur-countdown-counter__label--full":"_purpur-countdown-counter__label--full_1h7qy_54"};function I(r){const t=new Date().getTime(),e=Math.abs(r-t);let o=0,a=0,n=0,u=0;return e>=c.day&&(u=Math.floor(e/c.day)),e>=c.hour&&(n=Math.floor(e%c.day/c.hour)),e>=c.minute&&(a=Math.floor(e%c.hour/c.minute)),e>=c.second&&(o=Math.floor(e%c.minute/c.second)),{seconds:o,minutes:a,hours:n,days:u}}function wr(r,t){let e=0;return t==="seconds"&&(e=r-1>=0?r-1:59),t==="minutes"&&(e=r-1>=0?r-1:59),t==="hours"&&(e=r-1>=0?r-1:23),t==="days"&&(e=r-1>=0?r-1:0),e}const c={day:1440*60*1e3,hour:3600*1e3,minute:60*1e3,second:1e3},S=D.bind(br),g="purpur-countdown-counter",M=new Map,q=({tag:r,size:t,end:e,counterLabels:o})=>{const a=d.useRef(null),n=`${r}-interval`,[u,i]=d.useState(0),[l,f]=d.useState(0),[v,_]=d.useState(0),y=d.useCallback(()=>{const b=I(e),O=wr(b[r],r);f(O),i(b[r])},[e,r]);d.useEffect(()=>{y()},[]),d.useEffect(()=>(M.set(n,setInterval(y,c.second)),()=>clearInterval(M.get(n))),[y,n]),d.useEffect(()=>{_(b=>b+1)},[u]);const N=o[r],m=o[`${r}Abbr`];return s.jsxs("div",{className:S(g),role:"group","aria-hidden":"true","data-testid":`counter-${r}`,children:[s.jsx(j,{className:S(`${g}__number`,`${g}__number--size-${t}`),ref:a,"data-tick":l,children:u},v),m&&s.jsx(j,{className:S(`${g}__label`,`${g}__label--abbr`),children:s.jsx("abbr",{title:N,children:m})}),s.jsx(j,{className:S(`${g}__label`,{[`${g}__label--full`]:!!m}),children:N})]})},P=D.bind(yr),h="purpur-countdown",z=new Date,V=d.forwardRef(({renderAfterEnd:r,renderBeforeStart:t,...e},o)=>{const a=d.useId(),{size:n="lg",fullWidth:u=!1,negative:i=!1,showDays:l=!0,variant:f="primary",className:v,counterLabels:_,useMediaQueries:y=!1}=e,N=new Date(e.starttime).getTime(),m=new Date(e.endtime).getTime(),b=N>z.getTime(),O=m<z.getTime();if(b)return t?t(e):null;if(O)return r?r(e):null;const W=()=>{const w={size:n,end:m,counterLabels:_};return s.jsxs(s.Fragment,{children:[l&&s.jsx(q,{tag:"days",...w}),s.jsx(q,{tag:"hours",...w}),s.jsx(q,{tag:"minutes",...w}),s.jsx(q,{tag:"seconds",...w})]})},H=()=>{const w=()=>{const{days:G,hours:K,minutes:Q,seconds:Z}=I(m),$=[];return l&&$.push(`${G} ${_.days}`),$.push(`${K} ${_.hours}`),$.push(`${Q} ${_.minutes}`),$.push(`${Z} ${_.seconds}`),$.join(", ")};return s.jsx(hr,{"data-testid":"live-region","aria-live":"polite","aria-label":e["aria-label"],children:w()})},F=W(),B=P(h,`${h}--size-${n}`,`${h}--variant-${f}`,{[`${h}--full-width`]:u,[`${h}--negative`]:i,[`${h}--show-days`]:l,[`${h}--use-media-queries`]:y,[`${h}--use-container-queries`]:!y},v);return s.jsxs("section",{id:a,className:B,ref:o,role:"timer","data-testid":e["data-testid"],children:[H(),e.label&&s.jsx(j,{className:P(`${h}__label`),variant:"paragraph-100-medium",children:e.label}),s.jsx("div",{className:P(`${h}__counter-container`),children:F})]})});V.displayName="Countdown";exports.Countdown=V;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),d=require("react");require("react-dom");function J(r){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(t,e,o.get?o:{enumerable:!0,get:()=>r[e]})}}return t.default=r,Object.freeze(t)}const p=J(d);function L(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var A={exports:{}},R;function U(){return R||(R=1,(function(r){(function(){var t={}.hasOwnProperty;function e(){for(var n="",u=0;u<arguments.length;u++){var i=arguments[u];i&&(n=a(n,o.call(this,i)))}return n}function o(n){if(typeof n=="string"||typeof n=="number")return this&&this[n]||n;if(typeof n!="object")return"";if(Array.isArray(n))return e.apply(this,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]"))return n.toString();var u="";for(var i in n)t.call(n,i)&&n[i]&&(u=a(u,this&&this[i]||i));return u}function a(n,u){return u?n?n+" "+u:n+u:n}r.exports?(e.default=e,r.exports=e):window.classNames=e})()})(A)),A.exports}var X=U();const Y=L(X),rr={"purpur-paragraph":"_purpur-paragraph_1rh57_1","purpur-paragraph--disabled":"_purpur-paragraph--disabled_1rh57_7","purpur-paragraph--hyphens":"_purpur-paragraph--hyphens_1rh57_10","purpur-paragraph--negative":"_purpur-paragraph--negative_1rh57_13","purpur-paragraph--paragraph-100":"_purpur-paragraph--paragraph-100_1rh57_16","purpur-paragraph--paragraph-100-medium":"_purpur-paragraph--paragraph-100-medium_1rh57_22","purpur-paragraph--paragraph-100-bold":"_purpur-paragraph--paragraph-100-bold_1rh57_29","purpur-paragraph--paragraph-200":"_purpur-paragraph--paragraph-200_1rh57_36","purpur-paragraph--preamble-100":"_purpur-paragraph--preamble-100_1rh57_42","purpur-paragraph--preamble-200":"_purpur-paragraph--preamble-200_1rh57_48","purpur-paragraph--additional-100":"_purpur-paragraph--additional-100_1rh57_54","purpur-paragraph--additional-100-medium":"_purpur-paragraph--additional-100-medium_1rh57_60","purpur-paragraph--overline-100":"_purpur-paragraph--overline-100_1rh57_67","purpur-paragraph--overline-200":"_purpur-paragraph--overline-200_1rh57_75"},nr=Y.bind(rr),er={PARAGRAPH100:"paragraph-100"},x="purpur-paragraph",j=({children:r,className:t,disabled:e,enableHyphenation:o=!1,negative:a=!1,variant:n=er.PARAGRAPH100,...u})=>{const i=nr(t,x,`${x}--${n}`,{[`${x}--hyphens`]:o,[`${x}--disabled`]:e,[`${x}--negative`]:a});return s.jsx("p",{...u,className:i,children:r})};j.displayName="Paragraph";function T(r,t){if(typeof r=="function")return r(t);r!=null&&(r.current=t)}function tr(...r){return t=>{let e=!1;const o=r.map(a=>{const n=T(a,t);return!e&&typeof n=="function"&&(e=!0),n});if(e)return()=>{for(let a=0;a<o.length;a++){const n=o[a];typeof n=="function"?n():T(r[a],null)}}}}function ur(r){const t=ar(r),e=p.forwardRef((o,a)=>{const{children:n,...u}=o,i=p.Children.toArray(n),l=i.find(ir);if(l){const f=l.props.children,v=i.map(_=>_===l?p.Children.count(f)>1?p.Children.only(null):p.isValidElement(f)?f.props.children:null:_);return s.jsx(t,{...u,ref:a,children:p.isValidElement(f)?p.cloneElement(f,void 0,v):null})}return s.jsx(t,{...u,ref:a,children:n})});return e.displayName=`${r}.Slot`,e}function ar(r){const t=p.forwardRef((e,o)=>{const{children:a,...n}=e;if(p.isValidElement(a)){const u=pr(a),i=sr(n,a.props);return a.type!==p.Fragment&&(i.ref=o?tr(o,u):u),p.cloneElement(a,i)}return p.Children.count(a)>1?p.Children.only(null):null});return t.displayName=`${r}.SlotClone`,t}var or=Symbol("radix.slottable");function ir(r){return p.isValidElement(r)&&typeof r.type=="function"&&"__radixId"in r.type&&r.type.__radixId===or}function sr(r,t){const e={...t};for(const o in t){const a=r[o],n=t[o];/^on[A-Z]/.test(o)?a&&n?e[o]=(...u)=>{n(...u),a(...u)}:a&&(e[o]=a):o==="style"?e[o]={...a,...n}:o==="className"&&(e[o]=[a,n].filter(Boolean).join(" "))}return{...r,...e}}function pr(r){let t=Object.getOwnPropertyDescriptor(r.props,"ref")?.get,e=t&&"isReactWarning"in t&&t.isReactWarning;return e?r.ref:(t=Object.getOwnPropertyDescriptor(r,"ref")?.get,e=t&&"isReactWarning"in t&&t.isReactWarning,e?r.props.ref:r.props.ref||r.ref)}var cr=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],lr=cr.reduce((r,t)=>{const e=ur(`Primitive.${t}`),o=p.forwardRef((a,n)=>{const{asChild:u,...i}=a,l=u?e:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),s.jsx(l,{...i,ref:n})});return o.displayName=`Primitive.${t}`,{...r,[t]:o}},{}),dr="VisuallyHidden",D=p.forwardRef((r,t)=>s.jsx(lr.span,{...r,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...r.style}}));D.displayName=dr;var _r=D;const hr=({asChild:r,children:t,...e})=>s.jsx(_r,{asChild:r,...e,children:t});function fr(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var C={exports:{}};var M;function mr(){return M||(M=1,(function(r){(function(){var t={}.hasOwnProperty;function e(){for(var n="",u=0;u<arguments.length;u++){var i=arguments[u];i&&(n=a(n,o.call(this,i)))}return n}function o(n){if(typeof n=="string"||typeof n=="number")return this&&this[n]||n;if(typeof n!="object")return"";if(Array.isArray(n))return e.apply(this,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]"))return n.toString();var u="";for(var i in n)t.call(n,i)&&n[i]&&(u=a(u,this&&this[i]||i));return u}function a(n,u){return u?n?n+" "+u:n+u:n}r.exports?(e.default=e,r.exports=e):window.classNames=e})()})(C)),C.exports}var gr=mr();const I=fr(gr),yr={"purpur-countdown--size-md":"_purpur-countdown--size-md_ytnsp_1","purpur-countdown--size-lg":"_purpur-countdown--size-lg_ytnsp_5","purpur-countdown--use-container-queries":"_purpur-countdown--use-container-queries_ytnsp_10","purpur-countdown__counter-container":"_purpur-countdown__counter-container_ytnsp_10","purpur-countdown--full-width":"_purpur-countdown--full-width_ytnsp_15","purpur-countdown--use-media-queries":"_purpur-countdown--use-media-queries_ytnsp_25","purpur-countdown":"_purpur-countdown_ytnsp_1","purpur-countdown--variant-primary":"_purpur-countdown--variant-primary_ytnsp_40","purpur-countdown--variant-secondary":"_purpur-countdown--variant-secondary_ytnsp_43","purpur-countdown--negative":"_purpur-countdown--negative_ytnsp_46","purpur-countdown--show-days":"_purpur-countdown--show-days_ytnsp_56","purpur-countdown__label":"_purpur-countdown__label_ytnsp_72"},br={"purpur-countdown-counter":"_purpur-countdown-counter_19zid_1","purpur-countdown-counter__number--size-lg":"_purpur-countdown-counter__number--size-lg_19zid_11","purpur-countdown-counter__number--size-md":"_purpur-countdown-counter__number--size-md_19zid_17","purpur-countdown-counter__number":"_purpur-countdown-counter__number_19zid_11","tick-animation":"_tick-animation_19zid_1","tick-animation-pseudo":"_tick-animation-pseudo_19zid_1","purpur-countdown-counter__label":"_purpur-countdown-counter__label_19zid_44","purpur-countdown-counter__label--abbr":"_purpur-countdown-counter__label--abbr_19zid_51","purpur-countdown-counter__label--full":"_purpur-countdown-counter__label--full_19zid_54"};function V(r){const t=new Date().getTime(),e=Math.abs(r-t);let o=0,a=0,n=0,u=0;return e>=c.day&&(u=Math.floor(e/c.day)),e>=c.hour&&(n=Math.floor(e%c.day/c.hour)),e>=c.minute&&(a=Math.floor(e%c.hour/c.minute)),e>=c.second&&(o=Math.floor(e%c.minute/c.second)),{seconds:o,minutes:a,hours:n,days:u}}function wr(r,t){let e=0;return t==="seconds"&&(e=r-1>=0?r-1:59),t==="minutes"&&(e=r-1>=0?r-1:59),t==="hours"&&(e=r-1>=0?r-1:23),t==="days"&&(e=r-1>=0?r-1:0),e}const c={day:1440*60*1e3,hour:3600*1e3,minute:60*1e3,second:1e3},S=I.bind(br),g="purpur-countdown-counter",E=new Map,z=({tag:r,size:t,end:e,counterLabels:o})=>{const a=d.useRef(null),n=`${r}-interval`,[u,i]=d.useState(0),[l,f]=d.useState(0),[v,_]=d.useState(0),y=d.useCallback(()=>{const b=V(e),O=wr(b[r],r);f(O),i(b[r])},[e,r]);d.useEffect(()=>{y()},[]),d.useEffect(()=>(E.set(n,setInterval(y,c.second)),()=>clearInterval(E.get(n))),[y,n]),d.useEffect(()=>{_(b=>b+1)},[u]);const N=o[r],m=o[`${r}Abbr`];return s.jsxs("div",{className:S(g),role:"group","aria-hidden":"true","data-testid":`counter-${r}`,children:[s.jsx(j,{className:S(`${g}__number`,`${g}__number--size-${t}`),ref:a,"data-tick":l,children:u},v),m&&s.jsx(j,{className:S(`${g}__label`,`${g}__label--abbr`),children:s.jsx("abbr",{title:N,children:m})}),s.jsx(j,{className:S(`${g}__label`,{[`${g}__label--full`]:!!m}),children:N})]})},P=I.bind(yr),h="purpur-countdown",q=new Date,W=d.forwardRef(({renderAfterEnd:r,renderBeforeStart:t,...e},o)=>{const a=d.useId(),{size:n="lg",fullWidth:u=!1,negative:i=!1,showDays:l=!0,variant:f="primary",className:v,counterLabels:_,useMediaQueries:y=!1}=e,N=new Date(e.starttime).getTime(),m=new Date(e.endtime).getTime(),b=N>q.getTime(),O=m<q.getTime();if(b)return t?t(e):null;if(O)return r?r(e):null;const k=()=>{const w={size:n,end:m,counterLabels:_};return s.jsxs(s.Fragment,{children:[l&&s.jsx(z,{tag:"days",...w}),s.jsx(z,{tag:"hours",...w}),s.jsx(z,{tag:"minutes",...w}),s.jsx(z,{tag:"seconds",...w})]})},H=()=>{const w=()=>{const{days:G,hours:K,minutes:Q,seconds:Z}=V(m),$=[];return l&&$.push(`${G} ${_.days}`),$.push(`${K} ${_.hours}`),$.push(`${Q} ${_.minutes}`),$.push(`${Z} ${_.seconds}`),$.join(", ")};return s.jsx(hr,{"data-testid":"live-region","aria-live":"polite","aria-label":e["aria-label"],children:w()})},F=k(),B=P(h,`${h}--size-${n}`,`${h}--variant-${f}`,{[`${h}--full-width`]:u,[`${h}--negative`]:i,[`${h}--show-days`]:l,[`${h}--use-media-queries`]:y,[`${h}--use-container-queries`]:!y},v);return s.jsxs("section",{id:a,className:B,ref:o,role:"timer","data-testid":e["data-testid"],children:[H(),e.label&&s.jsx(j,{className:P(`${h}__label`),variant:"paragraph-100-medium",children:e.label}),s.jsx("div",{className:P(`${h}__counter-container`),children:F})]})});W.displayName="Countdown";exports.Countdown=W;
|
|
2
2
|
//# sourceMappingURL=countdown.cjs.js.map
|
package/dist/countdown.es.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { jsx as p, jsxs as
|
|
1
|
+
import { jsx as p, jsxs as j, Fragment as L } from "react/jsx-runtime";
|
|
2
2
|
import * as s from "react";
|
|
3
|
-
import { useRef as U, useState as S, useCallback as X, useEffect as
|
|
3
|
+
import { useRef as U, useState as S, useCallback as X, useEffect as R, forwardRef as Y, useId as rr } from "react";
|
|
4
4
|
import "react-dom";
|
|
5
5
|
function nr(r) {
|
|
6
6
|
return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, "default") ? r.default : r;
|
|
7
7
|
}
|
|
8
|
-
var
|
|
9
|
-
function
|
|
10
|
-
return
|
|
8
|
+
var T = { exports: {} }, M;
|
|
9
|
+
function tr() {
|
|
10
|
+
return M || (M = 1, (function(r) {
|
|
11
11
|
(function() {
|
|
12
|
-
var
|
|
13
|
-
function
|
|
12
|
+
var e = {}.hasOwnProperty;
|
|
13
|
+
function t() {
|
|
14
14
|
for (var n = "", a = 0; a < arguments.length; a++) {
|
|
15
15
|
var i = arguments[a];
|
|
16
16
|
i && (n = u(n, o.call(this, i)));
|
|
@@ -23,23 +23,23 @@ function er() {
|
|
|
23
23
|
if (typeof n != "object")
|
|
24
24
|
return "";
|
|
25
25
|
if (Array.isArray(n))
|
|
26
|
-
return
|
|
26
|
+
return t.apply(this, n);
|
|
27
27
|
if (n.toString !== Object.prototype.toString && !n.toString.toString().includes("[native code]"))
|
|
28
28
|
return n.toString();
|
|
29
29
|
var a = "";
|
|
30
30
|
for (var i in n)
|
|
31
|
-
|
|
31
|
+
e.call(n, i) && n[i] && (a = u(a, this && this[i] || i));
|
|
32
32
|
return a;
|
|
33
33
|
}
|
|
34
34
|
function u(n, a) {
|
|
35
35
|
return a ? n ? n + " " + a : n + a : n;
|
|
36
36
|
}
|
|
37
|
-
r.exports ? (
|
|
37
|
+
r.exports ? (t.default = t, r.exports = t) : window.classNames = t;
|
|
38
38
|
})();
|
|
39
|
-
})(
|
|
39
|
+
})(T)), T.exports;
|
|
40
40
|
}
|
|
41
|
-
var
|
|
42
|
-
const ar = /* @__PURE__ */ nr(
|
|
41
|
+
var er = tr();
|
|
42
|
+
const ar = /* @__PURE__ */ nr(er), ur = {
|
|
43
43
|
"purpur-paragraph": "_purpur-paragraph_1rh57_1",
|
|
44
44
|
"purpur-paragraph--disabled": "_purpur-paragraph--disabled_1rh57_7",
|
|
45
45
|
"purpur-paragraph--hyphens": "_purpur-paragraph--hyphens_1rh57_10",
|
|
@@ -58,83 +58,83 @@ const ar = /* @__PURE__ */ nr(tr), ur = {
|
|
|
58
58
|
PARAGRAPH100: "paragraph-100"
|
|
59
59
|
}, $ = "purpur-paragraph", N = ({
|
|
60
60
|
children: r,
|
|
61
|
-
className:
|
|
62
|
-
disabled:
|
|
61
|
+
className: e,
|
|
62
|
+
disabled: t,
|
|
63
63
|
enableHyphenation: o = !1,
|
|
64
64
|
negative: u = !1,
|
|
65
65
|
variant: n = ir.PARAGRAPH100,
|
|
66
66
|
...a
|
|
67
67
|
}) => {
|
|
68
|
-
const i = or(
|
|
68
|
+
const i = or(e, $, `${$}--${n}`, {
|
|
69
69
|
[`${$}--hyphens`]: o,
|
|
70
|
-
[`${$}--disabled`]:
|
|
70
|
+
[`${$}--disabled`]: t,
|
|
71
71
|
[`${$}--negative`]: u
|
|
72
72
|
});
|
|
73
73
|
return /* @__PURE__ */ p("p", { ...a, className: i, children: r });
|
|
74
74
|
};
|
|
75
75
|
N.displayName = "Paragraph";
|
|
76
|
-
function
|
|
76
|
+
function E(r, e) {
|
|
77
77
|
if (typeof r == "function")
|
|
78
|
-
return r(
|
|
79
|
-
r != null && (r.current =
|
|
78
|
+
return r(e);
|
|
79
|
+
r != null && (r.current = e);
|
|
80
80
|
}
|
|
81
81
|
function pr(...r) {
|
|
82
|
-
return (
|
|
83
|
-
let
|
|
82
|
+
return (e) => {
|
|
83
|
+
let t = !1;
|
|
84
84
|
const o = r.map((u) => {
|
|
85
|
-
const n =
|
|
86
|
-
return !
|
|
85
|
+
const n = E(u, e);
|
|
86
|
+
return !t && typeof n == "function" && (t = !0), n;
|
|
87
87
|
});
|
|
88
|
-
if (
|
|
88
|
+
if (t)
|
|
89
89
|
return () => {
|
|
90
90
|
for (let u = 0; u < o.length; u++) {
|
|
91
91
|
const n = o[u];
|
|
92
|
-
typeof n == "function" ? n() :
|
|
92
|
+
typeof n == "function" ? n() : E(r[u], null);
|
|
93
93
|
}
|
|
94
94
|
};
|
|
95
95
|
};
|
|
96
96
|
}
|
|
97
97
|
// @__NO_SIDE_EFFECTS__
|
|
98
98
|
function sr(r) {
|
|
99
|
-
const
|
|
99
|
+
const e = /* @__PURE__ */ cr(r), t = s.forwardRef((o, u) => {
|
|
100
100
|
const { children: n, ...a } = o, i = s.Children.toArray(n), l = i.find(dr);
|
|
101
101
|
if (l) {
|
|
102
102
|
const h = l.props.children, b = i.map((d) => d === l ? s.Children.count(h) > 1 ? s.Children.only(null) : s.isValidElement(h) ? h.props.children : null : d);
|
|
103
|
-
return /* @__PURE__ */ p(
|
|
103
|
+
return /* @__PURE__ */ p(e, { ...a, ref: u, children: s.isValidElement(h) ? s.cloneElement(h, void 0, b) : null });
|
|
104
104
|
}
|
|
105
|
-
return /* @__PURE__ */ p(
|
|
105
|
+
return /* @__PURE__ */ p(e, { ...a, ref: u, children: n });
|
|
106
106
|
});
|
|
107
|
-
return
|
|
107
|
+
return t.displayName = `${r}.Slot`, t;
|
|
108
108
|
}
|
|
109
109
|
// @__NO_SIDE_EFFECTS__
|
|
110
110
|
function cr(r) {
|
|
111
|
-
const
|
|
112
|
-
const { children: u, ...n } =
|
|
111
|
+
const e = s.forwardRef((t, o) => {
|
|
112
|
+
const { children: u, ...n } = t;
|
|
113
113
|
if (s.isValidElement(u)) {
|
|
114
114
|
const a = hr(u), i = _r(n, u.props);
|
|
115
115
|
return u.type !== s.Fragment && (i.ref = o ? pr(o, a) : a), s.cloneElement(u, i);
|
|
116
116
|
}
|
|
117
117
|
return s.Children.count(u) > 1 ? s.Children.only(null) : null;
|
|
118
118
|
});
|
|
119
|
-
return
|
|
119
|
+
return e.displayName = `${r}.SlotClone`, e;
|
|
120
120
|
}
|
|
121
121
|
var lr = Symbol("radix.slottable");
|
|
122
122
|
function dr(r) {
|
|
123
123
|
return s.isValidElement(r) && typeof r.type == "function" && "__radixId" in r.type && r.type.__radixId === lr;
|
|
124
124
|
}
|
|
125
|
-
function _r(r,
|
|
126
|
-
const
|
|
127
|
-
for (const o in
|
|
128
|
-
const u = r[o], n =
|
|
129
|
-
/^on[A-Z]/.test(o) ? u && n ?
|
|
125
|
+
function _r(r, e) {
|
|
126
|
+
const t = { ...e };
|
|
127
|
+
for (const o in e) {
|
|
128
|
+
const u = r[o], n = e[o];
|
|
129
|
+
/^on[A-Z]/.test(o) ? u && n ? t[o] = (...a) => {
|
|
130
130
|
n(...a), u(...a);
|
|
131
|
-
} : u && (
|
|
131
|
+
} : u && (t[o] = u) : o === "style" ? t[o] = { ...u, ...n } : o === "className" && (t[o] = [u, n].filter(Boolean).join(" "));
|
|
132
132
|
}
|
|
133
|
-
return { ...r, ...
|
|
133
|
+
return { ...r, ...t };
|
|
134
134
|
}
|
|
135
135
|
function hr(r) {
|
|
136
|
-
let
|
|
137
|
-
return
|
|
136
|
+
let e = Object.getOwnPropertyDescriptor(r.props, "ref")?.get, t = e && "isReactWarning" in e && e.isReactWarning;
|
|
137
|
+
return t ? r.ref : (e = Object.getOwnPropertyDescriptor(r, "ref")?.get, t = e && "isReactWarning" in e && e.isReactWarning, t ? r.props.ref : r.props.ref || r.ref);
|
|
138
138
|
}
|
|
139
139
|
var fr = [
|
|
140
140
|
"a",
|
|
@@ -153,18 +153,18 @@ var fr = [
|
|
|
153
153
|
"span",
|
|
154
154
|
"svg",
|
|
155
155
|
"ul"
|
|
156
|
-
], mr = fr.reduce((r,
|
|
157
|
-
const
|
|
158
|
-
const { asChild: a, ...i } = u, l = a ?
|
|
156
|
+
], mr = fr.reduce((r, e) => {
|
|
157
|
+
const t = /* @__PURE__ */ sr(`Primitive.${e}`), o = s.forwardRef((u, n) => {
|
|
158
|
+
const { asChild: a, ...i } = u, l = a ? t : e;
|
|
159
159
|
return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ p(l, { ...i, ref: n });
|
|
160
160
|
});
|
|
161
|
-
return o.displayName = `Primitive.${
|
|
162
|
-
}, {}), gr = "VisuallyHidden",
|
|
163
|
-
(r,
|
|
161
|
+
return o.displayName = `Primitive.${e}`, { ...r, [e]: o };
|
|
162
|
+
}, {}), gr = "VisuallyHidden", V = s.forwardRef(
|
|
163
|
+
(r, e) => /* @__PURE__ */ p(
|
|
164
164
|
mr.span,
|
|
165
165
|
{
|
|
166
166
|
...r,
|
|
167
|
-
ref:
|
|
167
|
+
ref: e,
|
|
168
168
|
style: {
|
|
169
169
|
// See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss
|
|
170
170
|
position: "absolute",
|
|
@@ -182,19 +182,19 @@ var fr = [
|
|
|
182
182
|
}
|
|
183
183
|
)
|
|
184
184
|
);
|
|
185
|
-
|
|
186
|
-
var
|
|
187
|
-
const
|
|
185
|
+
V.displayName = gr;
|
|
186
|
+
var yr = V;
|
|
187
|
+
const wr = ({ asChild: r, children: e, ...t }) => /* @__PURE__ */ p(yr, { asChild: r, ...t, children: e });
|
|
188
188
|
function br(r) {
|
|
189
189
|
return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, "default") ? r.default : r;
|
|
190
190
|
}
|
|
191
|
-
var
|
|
192
|
-
var
|
|
191
|
+
var P = { exports: {} };
|
|
192
|
+
var D;
|
|
193
193
|
function vr() {
|
|
194
|
-
return
|
|
194
|
+
return D || (D = 1, (function(r) {
|
|
195
195
|
(function() {
|
|
196
|
-
var
|
|
197
|
-
function
|
|
196
|
+
var e = {}.hasOwnProperty;
|
|
197
|
+
function t() {
|
|
198
198
|
for (var n = "", a = 0; a < arguments.length; a++) {
|
|
199
199
|
var i = arguments[a];
|
|
200
200
|
i && (n = u(n, o.call(this, i)));
|
|
@@ -207,80 +207,80 @@ function vr() {
|
|
|
207
207
|
if (typeof n != "object")
|
|
208
208
|
return "";
|
|
209
209
|
if (Array.isArray(n))
|
|
210
|
-
return
|
|
210
|
+
return t.apply(this, n);
|
|
211
211
|
if (n.toString !== Object.prototype.toString && !n.toString.toString().includes("[native code]"))
|
|
212
212
|
return n.toString();
|
|
213
213
|
var a = "";
|
|
214
214
|
for (var i in n)
|
|
215
|
-
|
|
215
|
+
e.call(n, i) && n[i] && (a = u(a, this && this[i] || i));
|
|
216
216
|
return a;
|
|
217
217
|
}
|
|
218
218
|
function u(n, a) {
|
|
219
219
|
return a ? n ? n + " " + a : n + a : n;
|
|
220
220
|
}
|
|
221
|
-
r.exports ? (
|
|
221
|
+
r.exports ? (t.default = t, r.exports = t) : window.classNames = t;
|
|
222
222
|
})();
|
|
223
|
-
})(
|
|
223
|
+
})(P)), P.exports;
|
|
224
224
|
}
|
|
225
225
|
var $r = vr();
|
|
226
|
-
const
|
|
227
|
-
"purpur-countdown--size-md": "_purpur-countdown--size-
|
|
228
|
-
"purpur-countdown--size-lg": "_purpur-countdown--size-
|
|
229
|
-
"purpur-countdown--use-container-queries": "_purpur-countdown--use-container-
|
|
230
|
-
"purpur-countdown__counter-container": "_purpur-countdown__counter-
|
|
231
|
-
"purpur-countdown--full-width": "_purpur-countdown--full-
|
|
232
|
-
"purpur-countdown--use-media-queries": "_purpur-countdown--use-media-
|
|
233
|
-
"purpur-countdown": "_purpur-
|
|
234
|
-
"purpur-countdown--variant-primary": "_purpur-countdown--variant-
|
|
235
|
-
"purpur-countdown--variant-secondary": "_purpur-countdown--variant-
|
|
236
|
-
"purpur-countdown--negative": "_purpur-countdown--
|
|
237
|
-
"purpur-countdown--show-days": "_purpur-countdown--show-
|
|
238
|
-
"purpur-countdown__label": "_purpur-
|
|
226
|
+
const W = /* @__PURE__ */ br($r), Nr = {
|
|
227
|
+
"purpur-countdown--size-md": "_purpur-countdown--size-md_ytnsp_1",
|
|
228
|
+
"purpur-countdown--size-lg": "_purpur-countdown--size-lg_ytnsp_5",
|
|
229
|
+
"purpur-countdown--use-container-queries": "_purpur-countdown--use-container-queries_ytnsp_10",
|
|
230
|
+
"purpur-countdown__counter-container": "_purpur-countdown__counter-container_ytnsp_10",
|
|
231
|
+
"purpur-countdown--full-width": "_purpur-countdown--full-width_ytnsp_15",
|
|
232
|
+
"purpur-countdown--use-media-queries": "_purpur-countdown--use-media-queries_ytnsp_25",
|
|
233
|
+
"purpur-countdown": "_purpur-countdown_ytnsp_1",
|
|
234
|
+
"purpur-countdown--variant-primary": "_purpur-countdown--variant-primary_ytnsp_40",
|
|
235
|
+
"purpur-countdown--variant-secondary": "_purpur-countdown--variant-secondary_ytnsp_43",
|
|
236
|
+
"purpur-countdown--negative": "_purpur-countdown--negative_ytnsp_46",
|
|
237
|
+
"purpur-countdown--show-days": "_purpur-countdown--show-days_ytnsp_56",
|
|
238
|
+
"purpur-countdown__label": "_purpur-countdown__label_ytnsp_72"
|
|
239
239
|
}, xr = {
|
|
240
|
-
"purpur-countdown-counter": "_purpur-countdown-
|
|
241
|
-
"purpur-countdown-counter__number--size-lg": "_purpur-countdown-counter__number--size-
|
|
242
|
-
"purpur-countdown-counter__number--size-md": "_purpur-countdown-counter__number--size-
|
|
243
|
-
"purpur-countdown-counter__number": "_purpur-countdown-
|
|
244
|
-
"tick-animation": "_tick-
|
|
245
|
-
"tick-animation-pseudo": "_tick-animation-
|
|
246
|
-
"purpur-countdown-counter__label": "_purpur-countdown-
|
|
247
|
-
"purpur-countdown-counter__label--abbr": "_purpur-countdown-counter__label--
|
|
248
|
-
"purpur-countdown-counter__label--full": "_purpur-countdown-counter__label--
|
|
240
|
+
"purpur-countdown-counter": "_purpur-countdown-counter_19zid_1",
|
|
241
|
+
"purpur-countdown-counter__number--size-lg": "_purpur-countdown-counter__number--size-lg_19zid_11",
|
|
242
|
+
"purpur-countdown-counter__number--size-md": "_purpur-countdown-counter__number--size-md_19zid_17",
|
|
243
|
+
"purpur-countdown-counter__number": "_purpur-countdown-counter__number_19zid_11",
|
|
244
|
+
"tick-animation": "_tick-animation_19zid_1",
|
|
245
|
+
"tick-animation-pseudo": "_tick-animation-pseudo_19zid_1",
|
|
246
|
+
"purpur-countdown-counter__label": "_purpur-countdown-counter__label_19zid_44",
|
|
247
|
+
"purpur-countdown-counter__label--abbr": "_purpur-countdown-counter__label--abbr_19zid_51",
|
|
248
|
+
"purpur-countdown-counter__label--full": "_purpur-countdown-counter__label--full_19zid_54"
|
|
249
249
|
};
|
|
250
|
-
function
|
|
251
|
-
const
|
|
250
|
+
function k(r) {
|
|
251
|
+
const e = (/* @__PURE__ */ new Date()).getTime(), t = Math.abs(r - e);
|
|
252
252
|
let o = 0, u = 0, n = 0, a = 0;
|
|
253
|
-
return
|
|
253
|
+
return t >= c.day && (a = Math.floor(t / c.day)), t >= c.hour && (n = Math.floor(t % c.day / c.hour)), t >= c.minute && (u = Math.floor(t % c.hour / c.minute)), t >= c.second && (o = Math.floor(t % c.minute / c.second)), {
|
|
254
254
|
seconds: o,
|
|
255
255
|
minutes: u,
|
|
256
256
|
hours: n,
|
|
257
257
|
days: a
|
|
258
258
|
};
|
|
259
259
|
}
|
|
260
|
-
function
|
|
261
|
-
let
|
|
262
|
-
return
|
|
260
|
+
function zr(r, e) {
|
|
261
|
+
let t = 0;
|
|
262
|
+
return e === "seconds" && (t = r - 1 >= 0 ? r - 1 : 59), e === "minutes" && (t = r - 1 >= 0 ? r - 1 : 59), e === "hours" && (t = r - 1 >= 0 ? r - 1 : 23), e === "days" && (t = r - 1 >= 0 ? r - 1 : 0), t;
|
|
263
263
|
}
|
|
264
264
|
const c = {
|
|
265
265
|
day: 1440 * 60 * 1e3,
|
|
266
266
|
hour: 3600 * 1e3,
|
|
267
267
|
minute: 60 * 1e3,
|
|
268
268
|
second: 1e3
|
|
269
|
-
},
|
|
269
|
+
}, z = W.bind(xr), m = "purpur-countdown-counter", q = /* @__PURE__ */ new Map(), C = ({ tag: r, size: e, end: t, counterLabels: o }) => {
|
|
270
270
|
const u = U(null), n = `${r}-interval`, [a, i] = S(0), [l, h] = S(0), [b, d] = S(0), g = X(() => {
|
|
271
|
-
const
|
|
272
|
-
h(A), i(
|
|
273
|
-
}, [
|
|
274
|
-
|
|
271
|
+
const y = k(t), A = zr(y[r], r);
|
|
272
|
+
h(A), i(y[r]);
|
|
273
|
+
}, [t, r]);
|
|
274
|
+
R(() => {
|
|
275
275
|
g();
|
|
276
|
-
}, []),
|
|
277
|
-
d((
|
|
276
|
+
}, []), R(() => (q.set(n, setInterval(g, c.second)), () => clearInterval(q.get(n))), [g, n]), R(() => {
|
|
277
|
+
d((y) => y + 1);
|
|
278
278
|
}, [a]);
|
|
279
279
|
const x = o[r], f = o[`${r}Abbr`];
|
|
280
|
-
return /* @__PURE__ */
|
|
280
|
+
return /* @__PURE__ */ j(
|
|
281
281
|
"div",
|
|
282
282
|
{
|
|
283
|
-
className:
|
|
283
|
+
className: z(m),
|
|
284
284
|
role: "group",
|
|
285
285
|
"aria-hidden": "true",
|
|
286
286
|
"data-testid": `counter-${r}`,
|
|
@@ -288,18 +288,18 @@ const c = {
|
|
|
288
288
|
/* @__PURE__ */ p(
|
|
289
289
|
N,
|
|
290
290
|
{
|
|
291
|
-
className:
|
|
291
|
+
className: z(`${m}__number`, `${m}__number--size-${e}`),
|
|
292
292
|
ref: u,
|
|
293
293
|
"data-tick": l,
|
|
294
294
|
children: a
|
|
295
295
|
},
|
|
296
296
|
b
|
|
297
297
|
),
|
|
298
|
-
f && /* @__PURE__ */ p(N, { className:
|
|
298
|
+
f && /* @__PURE__ */ p(N, { className: z(`${m}__label`, `${m}__label--abbr`), children: /* @__PURE__ */ p("abbr", { title: x, children: f }) }),
|
|
299
299
|
/* @__PURE__ */ p(
|
|
300
300
|
N,
|
|
301
301
|
{
|
|
302
|
-
className:
|
|
302
|
+
className: z(`${m}__label`, {
|
|
303
303
|
[`${m}__label--full`]: !!f
|
|
304
304
|
}),
|
|
305
305
|
children: x
|
|
@@ -308,8 +308,8 @@ const c = {
|
|
|
308
308
|
]
|
|
309
309
|
}
|
|
310
310
|
);
|
|
311
|
-
},
|
|
312
|
-
({ renderAfterEnd: r, renderBeforeStart:
|
|
311
|
+
}, O = W.bind(Nr), _ = "purpur-countdown", I = /* @__PURE__ */ new Date(), Cr = Y(
|
|
312
|
+
({ renderAfterEnd: r, renderBeforeStart: e, ...t }, o) => {
|
|
313
313
|
const u = rr(), {
|
|
314
314
|
size: n = "lg",
|
|
315
315
|
fullWidth: a = !1,
|
|
@@ -319,32 +319,32 @@ const c = {
|
|
|
319
319
|
className: b,
|
|
320
320
|
counterLabels: d,
|
|
321
321
|
useMediaQueries: g = !1
|
|
322
|
-
} =
|
|
323
|
-
if (
|
|
324
|
-
if (A) return r ? r(
|
|
322
|
+
} = t, x = new Date(t.starttime).getTime(), f = new Date(t.endtime).getTime(), y = x > I.getTime(), A = f < I.getTime();
|
|
323
|
+
if (y) return e ? e(t) : null;
|
|
324
|
+
if (A) return r ? r(t) : null;
|
|
325
325
|
const H = () => {
|
|
326
|
-
const
|
|
327
|
-
return /* @__PURE__ */
|
|
328
|
-
l && /* @__PURE__ */ p(
|
|
329
|
-
/* @__PURE__ */ p(
|
|
330
|
-
/* @__PURE__ */ p(
|
|
331
|
-
/* @__PURE__ */ p(
|
|
326
|
+
const w = { size: n, end: f, counterLabels: d };
|
|
327
|
+
return /* @__PURE__ */ j(L, { children: [
|
|
328
|
+
l && /* @__PURE__ */ p(C, { tag: "days", ...w }),
|
|
329
|
+
/* @__PURE__ */ p(C, { tag: "hours", ...w }),
|
|
330
|
+
/* @__PURE__ */ p(C, { tag: "minutes", ...w }),
|
|
331
|
+
/* @__PURE__ */ p(C, { tag: "seconds", ...w })
|
|
332
332
|
] });
|
|
333
333
|
}, F = () => {
|
|
334
|
-
const
|
|
335
|
-
const { days: K, hours: Q, minutes: Z, seconds: J } =
|
|
334
|
+
const w = () => {
|
|
335
|
+
const { days: K, hours: Q, minutes: Z, seconds: J } = k(f), v = [];
|
|
336
336
|
return l && v.push(`${K} ${d.days}`), v.push(`${Q} ${d.hours}`), v.push(`${Z} ${d.minutes}`), v.push(`${J} ${d.seconds}`), v.join(", ");
|
|
337
337
|
};
|
|
338
338
|
return /* @__PURE__ */ p(
|
|
339
|
-
|
|
339
|
+
wr,
|
|
340
340
|
{
|
|
341
341
|
"data-testid": "live-region",
|
|
342
342
|
"aria-live": "polite",
|
|
343
|
-
"aria-label":
|
|
344
|
-
children:
|
|
343
|
+
"aria-label": t["aria-label"],
|
|
344
|
+
children: w()
|
|
345
345
|
}
|
|
346
346
|
);
|
|
347
|
-
}, B = H(), G =
|
|
347
|
+
}, B = H(), G = O(
|
|
348
348
|
_,
|
|
349
349
|
`${_}--size-${n}`,
|
|
350
350
|
`${_}--variant-${h}`,
|
|
@@ -357,25 +357,25 @@ const c = {
|
|
|
357
357
|
},
|
|
358
358
|
b
|
|
359
359
|
);
|
|
360
|
-
return /* @__PURE__ */
|
|
360
|
+
return /* @__PURE__ */ j(
|
|
361
361
|
"section",
|
|
362
362
|
{
|
|
363
363
|
id: u,
|
|
364
364
|
className: G,
|
|
365
365
|
ref: o,
|
|
366
366
|
role: "timer",
|
|
367
|
-
"data-testid":
|
|
367
|
+
"data-testid": t["data-testid"],
|
|
368
368
|
children: [
|
|
369
369
|
F(),
|
|
370
|
-
|
|
371
|
-
/* @__PURE__ */ p("div", { className:
|
|
370
|
+
t.label && /* @__PURE__ */ p(N, { className: O(`${_}__label`), variant: "paragraph-100-medium", children: t.label }),
|
|
371
|
+
/* @__PURE__ */ p("div", { className: O(`${_}__counter-container`), children: B })
|
|
372
372
|
]
|
|
373
373
|
}
|
|
374
374
|
);
|
|
375
375
|
}
|
|
376
376
|
);
|
|
377
|
-
|
|
377
|
+
Cr.displayName = "Countdown";
|
|
378
378
|
export {
|
|
379
|
-
|
|
379
|
+
Cr as Countdown
|
|
380
380
|
};
|
|
381
381
|
//# sourceMappingURL=countdown.es.js.map
|
package/dist/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
._purpur-countdown--size-
|
|
1
|
+
._purpur-countdown--size-md_ytnsp_1{--counter-height: calc(56 * var(--purpur-spacing-10));--counter-width: calc(56 * var(--purpur-spacing-10))}._purpur-countdown--size-lg_ytnsp_5{--counter-height: calc(72 * var(--purpur-spacing-10));--counter-width: 1fr}@container countdown (min-width: 600px){._purpur-countdown--size-lg_ytnsp_5._purpur-countdown--use-container-queries_ytnsp_10 ._purpur-countdown__counter-container_ytnsp_10{gap:var(--purpur-spacing-200)}}@container countdown (min-width: 320px){._purpur-countdown--size-lg_ytnsp_5._purpur-countdown--use-container-queries_ytnsp_10:not(._purpur-countdown--full-width_ytnsp_15) ._purpur-countdown__counter-container_ytnsp_10{--counter-width: calc(72 * var(--purpur-spacing-10))}}@container countdown (min-width: 600px){._purpur-countdown--size-lg_ytnsp_5._purpur-countdown--use-container-queries_ytnsp_10:not(._purpur-countdown--full-width_ytnsp_15) ._purpur-countdown__counter-container_ytnsp_10{--counter-width: calc(80 * var(--purpur-spacing-10))}}@media(min-width:350px){._purpur-countdown--size-lg_ytnsp_5._purpur-countdown--use-media-queries_ytnsp_25:not(._purpur-countdown--full-width_ytnsp_15){--counter-width: calc(72 * var(--purpur-spacing-10))}}@media(min-width:600px){._purpur-countdown--size-lg_ytnsp_5._purpur-countdown--use-media-queries_ytnsp_25:not(._purpur-countdown--full-width_ytnsp_15){--counter-width: calc(80 * var(--purpur-spacing-10))}._purpur-countdown--size-lg_ytnsp_5._purpur-countdown--use-media-queries_ytnsp_25 ._purpur-countdown__counter-container_ytnsp_10{gap:var(--purpur-spacing-200)}}._purpur-countdown_ytnsp_1{--text-color: var(--purpur-color-text-default)}._purpur-countdown--variant-primary_ytnsp_40{--bg-color: var(--purpur-color-background-primary)}._purpur-countdown--variant-secondary_ytnsp_43{--bg-color: var(--purpur-color-background-secondary)}._purpur-countdown--negative_ytnsp_46{--text-color: var(--purpur-color-text-default-negative);--bg-color: var(--purpur-color-background-interactive-read-only-negative)}._purpur-countdown--full-width_ytnsp_15{--counter-width: 1fr}._purpur-countdown_ytnsp_1{--counter-count: 3}._purpur-countdown--show-days_ytnsp_56{--counter-count: 4}._purpur-countdown_ytnsp_1{display:grid;gap:var(--purpur-spacing-150);color:var(--text-color)}._purpur-countdown--use-container-queries_ytnsp_10{container:countdown/inline-size}._purpur-countdown__counter-container_ytnsp_10{display:grid;grid:var(--counter-height)/repeat(var(--counter-count),var(--counter-width));gap:var(--purpur-spacing-100)}._purpur-countdown__label_ytnsp_72{color:inherit}._purpur-countdown-counter_19zid_1{display:grid;justify-items:center;align-items:center;padding:var(--purpur-spacing-100);border-radius:var(--purpur-border-radius-md);background-color:var(--bg-color);color:var(--text-color);overflow:hidden}._purpur-countdown-counter_19zid_1>._purpur-countdown-counter__number--size-lg_19zid_11{font-family:var(--purpur-typography-family-display);font-weight:var(--purpur-typography-weight-normal);font-size:clamp(var(--purpur-typography-scale-400),3cqw,var(--purpur-typography-scale-600));line-height:var(--purpur-typography-line-height-snug)}._purpur-countdown-counter_19zid_1>._purpur-countdown-counter__number--size-md_19zid_17{font-family:var(--purpur-typography-family-display);font-weight:var(--purpur-typography-weight-normal);font-size:clamp(var(--purpur-typography-scale-150),3cqw,var(--purpur-typography-scale-200));line-height:var(--purpur-typography-line-height-snug)}._purpur-countdown-counter_19zid_1>._purpur-countdown-counter__number_19zid_11{position:relative;width:100%;color:inherit;text-align:center}@media(prefers-reduced-motion:no-preference){._purpur-countdown-counter_19zid_1>._purpur-countdown-counter__number_19zid_11[data-tick]{text-align:center;animation:_tick-animation_19zid_1 .15s ease-out forwards}._purpur-countdown-counter_19zid_1>._purpur-countdown-counter__number_19zid_11[data-tick]:after{content:attr(data-tick);position:absolute;bottom:100%;inset-inline:0;color:inherit;animation:_tick-animation-pseudo_19zid_1 .25s forwards}}._purpur-countdown-counter_19zid_1>._purpur-countdown-counter__label_19zid_44{font-family:var(--purpur-typography-family-default);font-weight:var(--purpur-typography-weight-normal);font-size:var(--purpur-typography-scale-75);line-height:var(--purpur-typography-line-height-loose);color:inherit}._purpur-countdown-counter_19zid_1>._purpur-countdown-counter__label--abbr_19zid_51 abbr{text-decoration:none}._purpur-countdown-counter_19zid_1>._purpur-countdown-counter__label--full_19zid_54{display:none}@container countdown (min-width: 600px){[class*=purpur-countdown--use-container-queries] ._purpur-countdown-counter_19zid_1>._purpur-countdown-counter__label--abbr_19zid_51{display:none}[class*=purpur-countdown--use-container-queries] ._purpur-countdown-counter_19zid_1>._purpur-countdown-counter__label--full_19zid_54{display:block}}@media(min-width:600px){[class*=purpur-countdown--use-media-queries] ._purpur-countdown-counter_19zid_1>._purpur-countdown-counter__label--abbr_19zid_51{display:none}[class*=purpur-countdown--use-media-queries] ._purpur-countdown-counter_19zid_1>._purpur-countdown-counter__label--full_19zid_54{display:block}}@keyframes _tick-animation_19zid_1{0%{transform:translateY(100%);color:transparent}to{transform:translateY(0);color:var(--text-color)}}@keyframes _tick-animation-pseudo_19zid_1{0%{color:var(--text-color)}to{color:transparent}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@purpurds/countdown",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.10.1",
|
|
4
4
|
"license": "AGPL-3.0-only",
|
|
5
5
|
"main": "./dist/countdown.cjs.js",
|
|
6
6
|
"types": "./dist/countdown.d.ts",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"source": "src/countdown.tsx",
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"classnames": "~2.5.1",
|
|
19
|
-
"@purpurds/heading": "8.
|
|
20
|
-
"@purpurds/
|
|
21
|
-
"@purpurds/visually-hidden": "8.
|
|
22
|
-
"@purpurds/
|
|
19
|
+
"@purpurds/heading": "8.10.1",
|
|
20
|
+
"@purpurds/tokens": "8.10.1",
|
|
21
|
+
"@purpurds/visually-hidden": "8.10.1",
|
|
22
|
+
"@purpurds/paragraph": "8.10.1"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@rushstack/eslint-patch": "~1.10.0",
|
|
@@ -10,7 +10,7 @@ $root: ".purpur-countdown";
|
|
|
10
10
|
|
|
11
11
|
&--size-lg {
|
|
12
12
|
--counter-height: calc(72 * var(--purpur-spacing-10));
|
|
13
|
-
--counter-width:
|
|
13
|
+
--counter-width: 1fr;
|
|
14
14
|
|
|
15
15
|
&#{$root}--use-container-queries {
|
|
16
16
|
#{$root}__counter-container {
|
|
@@ -21,6 +21,9 @@ $root: ".purpur-countdown";
|
|
|
21
21
|
|
|
22
22
|
&:not(#{$root}--full-width) {
|
|
23
23
|
#{$root}__counter-container {
|
|
24
|
+
@container countdown (min-width: 320px) {
|
|
25
|
+
--counter-width: calc(72 * var(--purpur-spacing-10));
|
|
26
|
+
}
|
|
24
27
|
@container countdown (min-width: #{$purpur-breakpoint-md}) {
|
|
25
28
|
--counter-width: calc(80 * var(--purpur-spacing-10));
|
|
26
29
|
}
|
|
@@ -29,6 +32,12 @@ $root: ".purpur-countdown";
|
|
|
29
32
|
}
|
|
30
33
|
|
|
31
34
|
&#{$root}--use-media-queries {
|
|
35
|
+
@media (min-width: 350px) {
|
|
36
|
+
&:not(#{$root}--full-width) {
|
|
37
|
+
--counter-width: calc(72 * var(--purpur-spacing-10));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
32
41
|
@media (min-width: $purpur-breakpoint-md) {
|
|
33
42
|
&:not(#{$root}--full-width) {
|
|
34
43
|
--counter-width: calc(80 * var(--purpur-spacing-10));
|
package/src/counter.module.scss
CHANGED
|
@@ -26,7 +26,7 @@ $root: ".purpur-countdown-counter";
|
|
|
26
26
|
color: var(--text-color);
|
|
27
27
|
overflow: hidden;
|
|
28
28
|
|
|
29
|
-
&__number {
|
|
29
|
+
& > #{$root}__number {
|
|
30
30
|
@include size();
|
|
31
31
|
|
|
32
32
|
position: relative;
|
|
@@ -52,7 +52,7 @@ $root: ".purpur-countdown-counter";
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
&__label {
|
|
55
|
+
& > #{$root}__label {
|
|
56
56
|
@include paragraph.purpur-additional-100();
|
|
57
57
|
|
|
58
58
|
color: inherit;
|