UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

3 lines (2 loc) • 6.92 kB
/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */ import{b as p}from"./K7LRDT5O.js";import{b as d}from"./MNIRD7Q7.js";var w=new RegExp("\\.(0+)?$"),E=new RegExp("0+$"),l=class t{static{this.DECIMALS=100}static{this.ROUNDED=!0}static{this.SHIFT=BigInt("1"+"0".repeat(this.DECIMALS))}constructor(e){if(e instanceof t)return e;let[i,s]=B(e).split(".").concat("");this.value=BigInt(i+s.padEnd(t.DECIMALS,"0").slice(0,t.DECIMALS))+BigInt(t.ROUNDED&&s[t.DECIMALS]>="5"),this.isNegative=e.charAt(0)==="-"}static{this._divRound=(e,i)=>t.fromBigInt(e/i+(t.ROUNDED?e*BigInt(2)/i%BigInt(2):BigInt(0)))}static{this.fromBigInt=e=>Object.assign(Object.create(t.prototype),{value:e,isNegative:e<BigInt(0)})}getIntegersAndDecimals(){let e=this.value.toString().replace("-","").padStart(t.DECIMALS+1,"0"),i=e.slice(0,-t.DECIMALS),s=e.slice(-t.DECIMALS).replace(E,"");return{integers:i,decimals:s}}toString(){let{integers:e,decimals:i}=this.getIntegersAndDecimals();return`${this.isNegative?"-":""}${e}${i.length?"."+i:""}`}formatToParts(e){let{integers:i,decimals:s}=this.getIntegersAndDecimals(),n=e.numberFormatter.formatToParts(BigInt(i));return this.isNegative&&n.unshift({type:"minusSign",value:e.minusSign}),s.length&&(n.push({type:"decimal",value:e.decimal}),s.split("").forEach(r=>n.push({type:"fraction",value:r}))),n}format(e){let{integers:i,decimals:s}=this.getIntegersAndDecimals(),n=`${this.isNegative?e.minusSign:""}${e.numberFormatter.format(BigInt(i))}`,r=s.length?`${e.decimal}${s.split("").map(u=>e.numberFormatter.format(Number(u))).join("")}`:"";return`${n}${r}`}add(e){return t.fromBigInt(this.value+new t(e).value)}subtract(e){return t.fromBigInt(this.value-new t(e).value)}multiply(e){return t._divRound(this.value*new t(e).value,t.SHIFT)}divide(e){return t._divRound(this.value*t.SHIFT,new t(e).value)}};function $(t){return!(!t||isNaN(Number(t)))}function k(t){return!t||!M(t)?"":g(t,e=>{let i=!1,s=e.split("").filter((n,r)=>n.match(/\./g)&&!i?(i=!0,!0):n.match(/-/g)&&r===0?!0:p.includes(n)).join("");return $(s)?new l(s).toString():""})}var F=/^([-0])0+(?=\d)/,A=/(?!^\.)\.$/,C=/(?!^-)-/g,x=/^-\b0\b\.?0*$/,_=/0*$/,L=new Set(["e","E","-",",",".",...p]),U=t=>{let e=Array.from(t).filter(i=>L.has(i)).join("");return g(e,i=>{let s=i.replace(C,"").replace(A,"").replace(F,"$1");return $(s)?x.test(s)?s:T(s):i})};function T(t){let e=t.split(".")[1],i=new l(t).toString(),[s,n]=i.split(".");return e&&n!==e?`${s}.${e}`:i}function g(t,e){if(!t)return t;let i=t.toLowerCase().indexOf("e")+1;return i?t.replace(/[eE]*$/g,"").substring(0,i).concat(t.slice(i).replace(/[eE]/g,"")).split(/[eE]/).map((s,n)=>e(n===1?s.replace(/\./g,""):s)).join("e").replace(/^e/,"1e"):e(t)}function B(t){let e=t.split(/[eE]/);if(e.length===1)return t;let i=+t;if(Number.isSafeInteger(i))return`${i}`;let s=t.charAt(0)==="-",n=+e[1],r=e[0].split("."),u=(s?r[0].substring(1):r[0])||"",D=r[1]||"",O=(a,m)=>{let c=Math.abs(m)-a.length,h=c>0?`${"0".repeat(c)}${a}`:a;return`${h.slice(0,m)}.${h.slice(m)}`},N=(a,m)=>{let c=m>a.length?`${a}${"0".repeat(m-a.length)}`:a;return`${c.slice(0,m)}.${c.slice(m)}`},S=n>0?`${u}${N(D,n)}`:`${O(u,n)}${D}`;return`${s?"-":""}${S.charAt(0)==="."?"0":""}${S.replace(w,"").replace(F,"")}`}function M(t){return p.some(e=>t.includes(e))}function z(t,e,i){let s=e.split(".")[1];if(s){let n=s.match(_)[0];if(n&&i.delocalize(t).length!==e.length&&s.indexOf("e")===-1){let r=i.decimal;return t=t.includes(r)?t:`${t}${r}`,t.padEnd(t.length+n.length,i.localize("0"))}}return t}var J=new Map(Object.entries({bg:{am:"\u043F\u0440.\u043E\u0431.",pm:"\u0441\u043B.\u043E\u0431."},bs:{am:"prijepodne",pm:"popodne"},ca:{am:"a.\xA0m.",pm:"p.\xA0m."},cs:{am:"dop.",pm:"odp."},es:{am:"a.\xA0m.",pm:"p.\xA0m."},"es-mx":{am:"a.m.",pm:"p.m."},"es-MX":{am:"a.m.",pm:"p.m."},fi:{am:"ap.",pm:"ip."},he:{am:"\u05DC\u05E4\u05E0\u05D4\u05F4\u05E6",pm:"\u05D0\u05D7\u05D4\u05F4\u05E6"},hu:{am:"de. ",pm:"du."},lt:{am:"prie\u0161piet",pm:"popiet"},lv:{am:"priek\u0161pusdien\u0101",pm:"p\u0113cpusdien\u0101"},mk:{am:"\u043F\u0440\u0435\u0442\u043F\u043B.",pm:"\u043F\u043E\u043F\u043B."},no:{am:"a.m.",pm:"p.m."},nl:{am:"a.m.",pm:"p.m."},"pt-pt":{am:"da manh\xE3",pm:"da tarde"},"pt-PT":{am:"da manh\xE3",pm:"da tarde"},ro:{am:"a.m.",pm:"p.m."},sl:{am:"dop.",pm:"pop."},sv:{am:"fm",pm:"em"},th:{am:"\u0E01\u0E48\u0E2D\u0E19\u0E40\u0E17\u0E35\u0E48\u0E22\u0E07",pm:"\u0E2B\u0E25\u0E31\u0E07\u0E40\u0E17\u0E35\u0E48\u0E22\u0E07"},tr:{am:"\xD6\xD6",pm:"\xD6S"},uk:{am:"\u0434\u043F",pm:"\u043F\u043F"},vi:{am:"SA",pm:"CH"}})),R=["arab","arabext","latn"],v=t=>R.includes(t),f=new Intl.NumberFormat().resolvedOptions().numberingSystem,y=f==="arab"||!v(f)?"latn":f,j=t=>v(t)?t:y;function K(t){switch(t){case"it-CH":return"de-CH";case"bs":return"sr-Latn-CS";default:return t}}var b=class{constructor(){this.delocalize=e=>this._numberFormatOptions?g(e,i=>i.replace(new RegExp(`[${this._minusSign}]`,"g"),"-").replace(new RegExp(`[${this._group}]`,"g"),"").replace(new RegExp(`[${this._decimal}]`,"g"),".").replace(new RegExp(`[${this._digits.join("")}]`,"g"),this._getDigitIndex)):e,this.localize=e=>this._numberFormatOptions?g(e,i=>$(i.trim())?new l(i.trim()).format(this).replace(new RegExp(`[${this._actualGroup}]`,"g"),this._group):i):e}get group(){return this._group}get decimal(){return this._decimal}get minusSign(){return this._minusSign}get digits(){return this._digits}get numberFormatter(){return this._numberFormatter}get numberFormatOptions(){return this._numberFormatOptions}set numberFormatOptions(e){if(e.numberingSystem=j(e?.numberingSystem),e.locale=e?.locale||d,!this._numberFormatOptions&&e.locale===d&&e.numberingSystem===y&&Object.keys(e).length===2||JSON.stringify(this._numberFormatOptions)===JSON.stringify(e))return;this._numberFormatOptions=e,this._numberFormatter=new Intl.NumberFormat(this._numberFormatOptions.locale,this._numberFormatOptions),this._digits=[...new Intl.NumberFormat(this._numberFormatOptions.locale,{useGrouping:!1,numberingSystem:this._numberFormatOptions.numberingSystem}).format(9876543210)].reverse();let i=new Map(this._digits.map((n,r)=>[n,r])),s=new Intl.NumberFormat(this._numberFormatOptions.locale,{numberingSystem:this._numberFormatOptions.numberingSystem}).formatToParts(-123456789e-1);this._actualGroup=s.find(n=>n.type==="group").value,this._group=this._actualGroup.trim().length===0||this._actualGroup==" "?"\xA0":this._actualGroup,this._decimal=e.locale==="bs"||e.locale==="mk"?",":s.find(n=>n.type==="decimal").value,this._minusSign=s.find(n=>n.type==="minusSign").value,this._getDigitIndex=n=>i.get(n)}},X=new b,o,I;function H(t={}){return Object.entries(t).sort(([e],[i])=>e.localeCompare(i)).map(e=>`${e[0]}-${e[1]}`).flat().join(":")}function q(t,e){o||(o=new Map),I!==t&&(o.clear(),I=t);let i=H(e),s=o.get(i);if(s)return s;let n=new Intl.DateTimeFormat(t,e);return o.set(i,n),n}export{l as a,$ as b,k as c,U as d,z as e,J as f,j as g,K as h,b as i,X as j,q as k};