UNPKG

@hakit/components

Version:
3 lines (2 loc) 2.33 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../../emotion-react-jsx-runtime.browser.esm-CgJouFLh.cjs"),g=require("./shared.js"),y=require("react"),x=new Map,D=[{weekday:"long",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"},{month:"long",hour:"2-digit",hour12:!1}];function M(e){return function(r,n,o){const c=k(r,o);return R(e,n,c,r)}}const $=e=>D.map(t=>new Intl.DateTimeFormat(e.locale,{...t,timeZone:e.timezone})),w=e=>e.type!=="literal"?{type:`l${e.type}`,value:e.value}:e,F=(e,t)=>(e[t.type]=t.value,e),P=(e,t)=>e.formatToParts(t).filter(r=>r.type!=="literal"),b=e=>(e.dayPeriod=e.dayPeriod||e.dayperiod||"",delete e.dayperiod,e.lhour=("0"+Number(e.lhour)%24).slice(-2),e),T=e=>{const[t,r]=$(e);return function(o){const c=P(t,o),u=P(r,o).map(w),a=[...c,...u].reduce(F,{});return b(a)}};function k(e,t={}){const r=`${t.locale}${t.timezone}`;let n=x.get(r);return n||(n=T(t),x.set(r,n)),n(e)}function f(e){let t="";switch(e){case 1:case 21:case 31:t="st";break;case 2:case 22:t="nd";break;case 3:case 23:t="rd";break;default:t="th"}return t}const I="[YMDxdAaHhms]+",j={YYYY:e=>e.year,YY:e=>e.year.slice(-2),MMMM:e=>e.lmonth,MMM:e=>e.lmonth.slice(0,3),MM:e=>e.month,DD:e=>e.day,DDx:e=>`${e.day}${f(parseInt(e.day))}`,dd:e=>`${parseInt(e.day,10)}`,ddx:e=>`${parseInt(e.day,10)}${f(parseInt(e.day))}`,dddd:e=>e.weekday,ddd:e=>e.weekday.slice(0,3),A:e=>i.jsx(g.AmOrPm,{className:"time-suffix",children:e.dayPeriod}),a:e=>i.jsx(g.AmOrPm,{className:"time-suffix",children:e.dayPeriod.toLowerCase()}),HH:e=>("0"+Number(e.lhour)%24).slice(-2),hh:e=>e.hour,mm:e=>e.minute,ss:e=>e.second},Y=e=>Object.keys(e).reduce((t,r)=>`|${r}`,"");function R(e,t,r,n){const o="\\[([^\\]]+)\\]|",c=Y(e),u=new RegExp(`${o}${I}${c}`,"g"),p={...j,...e},a=[];let l=0;return t.replace(u,(s,d,m)=>{if(m>l){const h=t.slice(l,m);h.length>0&&h.trim().length===0?a.push(i.jsx("span",{className:"whitespace",children:" "})):a.push(h)}return l=m+s.length,d?a.push(d):a.push(p[s](r,n)),""}),l<t.length&&a.push(t.slice(l)),i.jsx(i.Fragment,{children:a.map((s,d)=>typeof s=="string"?i.jsx(y.Fragment,{children:s},d):y.isValidElement(s)?y.cloneElement(s,{key:d}):s)})}exports.createDateFormatter=M;exports.daySuffix=f; //# sourceMappingURL=formatter.js.map