UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

3 lines (2 loc) 2.11 kB
/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */ import{n as l}from"./G7AHLVJ5.js";var p=(n,o)=>{let t=n;for(;t;){if(t===o)return!0;if(!t.parentNode)return!1;t.parentNode instanceof ShadowRoot?t=t.parentNode.host:t=t.parentNode}return!1},f=(n,o,t)=>{let s=b(o).subscribe;return s(e=>{e.some(r=>p(n,r.target))&&t()})},u={},b=n=>{let o=n.join(","),t=u[o];if(t!==void 0)return t;let s=new Set,e=new MutationObserver(r=>s.forEach(a=>a(r)));globalThis.document&&e.observe(document.documentElement,{attributes:!0,attributeFilter:n,subtree:!0});let i={subscribe:r=>(s.add(r),()=>{s.delete(r),s.size===0&&(e.disconnect(),u[o]=void 0)})};return u[o]=i,i},E=(n,o)=>{let t=n;for(;t;){let s=t.closest?.(o);if(s)return s;let e=t.getRootNode?.();if(e===globalThis.document)return;t=e.host}};var h=(n,o,t)=>E(n,`[${o}]`)?.getAttribute(o)??t;var v="ar,bg,bs,ca,cs,da,de,el,en,es,et,fi,fr,he,hr,hu,id,it,ja,ko,lt,lv,nl,nb,no,pl,pt-BR,pt-PT,ro,ru,sk,sl,sr,sv,th,tr,uk,vi,zh-CN,zh-HK,zh-TW".split(","),C=new Set(v),c="en",N={pt:"pt-PT",nb:"no",nn:"no",zh:"zh-CN"},y=async(n,o,t="")=>{let s=`${o}/${t}`,e=`${s}${n}.json`;return d[e]??(d[e]=g(n,s)),await d[e]},d={},g=async(n,o)=>{let t=`${o}${n}.json`;try{let s=await fetch(t);if(s.ok)return await s.json()}catch(s){return l("error","intl",`An unknown error occurred while fetching localization strings at ${t}`,{detail:{error:s}}),{}}return n===c?{}:await g(c,o)},L=n=>{let o=h(n,"lang",globalThis.navigator?.language||c);return{lang:o,t9nLocale:m(o)}},m=n=>{let[o,t]=n.split("-"),s=o.toLowerCase(),e=s;return t&&(e=`${s}-${t.toUpperCase()}`),e=N[e]??e,C.has(e)?e:t?m(s):c},k=(n,o,t,s)=>{let e,i=()=>w(n,o(),s).then(r=>{(e?.lang!==r.lang||e.t9nLocale!==r.t9nLocale||e.t9nStrings!==r.t9nStrings)&&t(r),e=r}).catch(r=>{l("error","intl","Error updating component locale state",{detail:{error:r}})});return queueMicrotask(i),f(n,["lang"],i)},w=async(n,o,t=n.localName.split("-").slice(1).join("-"))=>{let{lang:s,t9nLocale:e}=L(n),i=`${o}/${t}/t9n`,a=t===null?{}:await y(e,i,"messages.");return{lang:s,t9nLocale:e,t9nStrings:a}};export{C as a,c as b,L as c,m as d,k as e};