@anoki/fse-ui
Version:
FSE UI components library
3 lines (2 loc) • 7.08 kB
JavaScript
"use strict";const h=require("./index.cjs167.js"),c=require("./index.cjs313.js"),d=require("./index.cjs4.js"),l=require("./index.cjs161.js"),N=require("./index.cjs175.js");let w={};function O(n,e={}){const t=JSON.stringify([n,e]);let s=w[t];return s||(s=new Intl.ListFormat(n,e),w[t]=s),s}let g={};function p(n,e={}){const t=JSON.stringify([n,e]);let s=g[t];return s||(s=new Intl.DateTimeFormat(n,e),g[t]=s),s}let C={};function F(n,e={}){const t=JSON.stringify([n,e]);let s=C[t];return s||(s=new Intl.NumberFormat(n,e),C[t]=s),s}let k={};function I(n,e={}){const{base:t,...s}=e,i=JSON.stringify([n,s]);let r=k[i];return r||(r=new Intl.RelativeTimeFormat(n,e),k[i]=r),r}let m=null;function W(){return m||(m=new Intl.DateTimeFormat().resolvedOptions().locale,m)}let T={};function D(n){let e=T[n];if(!e){const t=new Intl.Locale(n);e="getWeekInfo"in t?t.getWeekInfo():t.weekInfo,T[n]=e}return e}function v(n){const e=n.indexOf("-x-");e!==-1&&(n=n.substring(0,e));const t=n.indexOf("-u-");if(t===-1)return[n];{let s,i;try{s=p(n).resolvedOptions(),i=n}catch{const u=n.substring(0,t);s=p(u).resolvedOptions(),i=u}const{numberingSystem:r,calendar:a}=s;return[i,r,a]}}function x(n,e,t){return(t||e)&&(n.includes("-u-")||(n+="-u"),t&&(n+=`-ca-${t}`),e&&(n+=`-nu-${e}`)),n}function Z(n){const e=[];for(let t=1;t<=12;t++){const s=l.default.utc(2009,t,1);e.push(n(s))}return e}function L(n){const e=[];for(let t=1;t<=7;t++){const s=l.default.utc(2016,11,13+t);e.push(n(s))}return e}function y(n,e,t,s){const i=n.listingMode();return i==="error"?null:i==="en"?t(e):s(e)}function E(n){return n.numberingSystem&&n.numberingSystem!=="latn"?!1:n.numberingSystem==="latn"||!n.locale||n.locale.startsWith("en")||new Intl.DateTimeFormat(n.intl).resolvedOptions().numberingSystem==="latn"}class P{constructor(e,t,s){this.padTo=s.padTo||0,this.floor=s.floor||!1;const{padTo:i,floor:r,...a}=s;if(!t||Object.keys(a).length>0){const o={useGrouping:!1,...s};s.padTo>0&&(o.minimumIntegerDigits=s.padTo),this.inf=F(e,o)}}format(e){if(this.inf){const t=this.floor?Math.floor(e):e;return this.inf.format(t)}else{const t=this.floor?Math.floor(e):h.roundTo(e,3);return h.padStart(t,this.padTo)}}}class R{constructor(e,t,s){this.opts=s,this.originalZone=void 0;let i;if(this.opts.timeZone)this.dt=e;else if(e.zone.type==="fixed"){const a=-1*(e.offset/60),o=a>=0?`Etc/GMT+${a}`:`Etc/GMT${a}`;e.offset!==0&&N.create(o).valid?(i=o,this.dt=e):(i="UTC",this.dt=e.offset===0?e:e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone)}else e.zone.type==="system"?this.dt=e:e.zone.type==="iana"?(this.dt=e,i=e.zone.name):(i="UTC",this.dt=e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone);const r={...this.opts};r.timeZone=r.timeZone||i,this.dtf=p(t,r)}format(){return this.originalZone?this.formatToParts().map(({value:e})=>e).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){const e=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?e.map(t=>{if(t.type==="timeZoneName"){const s=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...t,value:s}}else return t}):e}resolvedOptions(){return this.dtf.resolvedOptions()}}class M{constructor(e,t,s){this.opts={style:"long",...s},!t&&h.hasRelative()&&(this.rtf=I(e,s))}format(e,t){return this.rtf?this.rtf.format(e,t):c.formatRelativeTime(t,e,this.opts.numeric,this.opts.style!=="long")}formatToParts(e,t){return this.rtf?this.rtf.formatToParts(e,t):[]}}const z={firstDay:1,minimalDays:4,weekend:[6,7]};class f{static fromOpts(e){return f.create(e.locale,e.numberingSystem,e.outputCalendar,e.weekSettings,e.defaultToEN)}static create(e,t,s,i,r=!1){const a=e||d.defaultLocale,o=a||(r?"en-US":W()),u=t||d.defaultNumberingSystem,b=s||d.defaultOutputCalendar,S=h.validateWeekSettings(i)||d.defaultWeekSettings;return new f(o,u,b,S,a)}static resetCache(){m=null,g={},C={},k={}}static fromObject({locale:e,numberingSystem:t,outputCalendar:s,weekSettings:i}={}){return f.create(e,t,s,i)}constructor(e,t,s,i,r){const[a,o,u]=v(e);this.locale=a,this.numberingSystem=t||o||null,this.outputCalendar=s||u||null,this.weekSettings=i,this.intl=x(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=r,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=E(this)),this.fastNumbersCached}listingMode(){const e=this.isEnglish(),t=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return e&&t?"en":"intl"}clone(e){return!e||Object.getOwnPropertyNames(e).length===0?this:f.create(e.locale||this.specifiedLocale,e.numberingSystem||this.numberingSystem,e.outputCalendar||this.outputCalendar,h.validateWeekSettings(e.weekSettings)||this.weekSettings,e.defaultToEN||!1)}redefaultToEN(e={}){return this.clone({...e,defaultToEN:!0})}redefaultToSystem(e={}){return this.clone({...e,defaultToEN:!1})}months(e,t=!1){return y(this,e,c.months,()=>{const s=t?{month:e,day:"numeric"}:{month:e},i=t?"format":"standalone";return this.monthsCache[i][e]||(this.monthsCache[i][e]=Z(r=>this.extract(r,s,"month"))),this.monthsCache[i][e]})}weekdays(e,t=!1){return y(this,e,c.weekdays,()=>{const s=t?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},i=t?"format":"standalone";return this.weekdaysCache[i][e]||(this.weekdaysCache[i][e]=L(r=>this.extract(r,s,"weekday"))),this.weekdaysCache[i][e]})}meridiems(){return y(this,void 0,()=>c.meridiems,()=>{if(!this.meridiemCache){const e={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[l.default.utc(2016,11,13,9),l.default.utc(2016,11,13,19)].map(t=>this.extract(t,e,"dayperiod"))}return this.meridiemCache})}eras(e){return y(this,e,c.eras,()=>{const t={era:e};return this.eraCache[e]||(this.eraCache[e]=[l.default.utc(-40,1,1),l.default.utc(2017,1,1)].map(s=>this.extract(s,t,"era"))),this.eraCache[e]})}extract(e,t,s){const i=this.dtFormatter(e,t),r=i.formatToParts(),a=r.find(o=>o.type.toLowerCase()===s);return a?a.value:null}numberFormatter(e={}){return new P(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,t={}){return new R(e,this.intl,t)}relFormatter(e={}){return new M(this.intl,this.isEnglish(),e)}listFormatter(e={}){return O(this.intl,e)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:h.hasLocaleWeekInfo()?D(this.locale):z}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}}module.exports=f;
//# sourceMappingURL=index.cjs166.js.map