@pure-ds/core 0.7.36 → 0.7.38

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.
@@ -2025,6 +2025,15 @@ function localeOptionLabel(locale) {
2025
2025
  return normalized;
2026
2026
  }
2027
2027
 
2028
+ function localeOptionAlias(locale) {
2029
+ const normalized = normalizeLocaleTag(locale);
2030
+ if (!normalized) return "";
2031
+
2032
+ const base = toBaseLocale(normalized);
2033
+ if (!base) return normalized;
2034
+ return base.slice(0, 2);
2035
+ }
2036
+
2028
2037
  function localeMatches(selectedLocale, activeLocale) {
2029
2038
  const selected = normalizeLocaleTag(selectedLocale);
2030
2039
  const active = normalizeLocaleTag(activeLocale);
@@ -2066,8 +2075,15 @@ async function buildQuickLanguageSelector() {
2066
2075
  optionInput.checked = localeMatches(locale, activeDocumentLang);
2067
2076
 
2068
2077
  const optionText = document.createElement("span");
2069
-
2070
- optionText.textContent = localeOptionLabel(locale);
2078
+ const fullLocaleLabel = localeOptionLabel(locale);
2079
+ const localeAlias = localeOptionAlias(locale) || fullLocaleLabel;
2080
+
2081
+ optionText.textContent = localeAlias.toUpperCase();
2082
+ if (fullLocaleLabel) {
2083
+ optionLabel.title = fullLocaleLabel;
2084
+ optionText.title = fullLocaleLabel;
2085
+ optionInput.setAttribute("aria-label", `${fullLocaleLabel} (${localeAlias})`);
2086
+ }
2071
2087
 
2072
2088
  optionLabel.append(optionInput, optionText);
2073
2089
  languageFieldset.appendChild(optionLabel);
@@ -1 +1 @@
1
- var se=new Set(["log","warn","error","debug","info"]),ie="__PURE_DS_PDS_SINGLETON__",V=null,H=null;function G(){try{let t=(typeof globalThis<"u"?globalThis:window)?.[ie];if(t&&typeof t=="object")return t}catch{return null}return null}function ce(e){return!e||typeof e!="object"?null:{mode:e.mode==="live"||e.mode==="static"?e.mode:null,debug:e.debug===!0,thisArg:e.thisArg}}function le(e){if(typeof e!="string")return"log";let t=e.toLowerCase();return se.has(t)?t:"log"}function ue(){if(typeof H=="function")try{let t=ce(H());if(t)return t}catch{}let e=G();if(e){let t=e?.mode||e?.compiled?.mode||(e?.registry?.isLive?"live":"static"),n=(e?.debug||e?.currentConfig?.debug||e?.currentConfig?.design?.debug||e?.compiled?.debug||e?.compiled?.design?.debug||!1)===!0;return{mode:t,debug:n,thisArg:e}}return{mode:null,debug:!1}}function de(){if(typeof V=="function")try{let t=V();if(typeof t=="function")return t}catch{}let e=G();return typeof e?.logHandler=="function"?e.logHandler:null}function U(e,t,...n){if(typeof console>"u")return;let o=typeof console[e]=="function"?console[e].bind(console):typeof console.log=="function"?console.log.bind(console):null;o&&(n.length>0?o(t,...n):o(t))}function fe(e,t){let n=t?.debug===!0;return!(t?.mode==="static"&&!n||!n&&e!=="error"&&e!=="warn")}function X(e="log",t,...n){let o=le(e),r=ue(),s=de();if(s)try{s.call(r?.thisArg,o,t,...n);return}catch(i){U("error","Custom log handler failed:",i)}fe(o,r)&&U(o,t,...n)}var pe="en",u={defaultLocale:pe,provider:null,messagesByLocale:new Map,loadingByLocale:new Map,observer:null,reconcileTimer:null,requestedKeys:new Set,textNodeKeyMap:new WeakMap,valueToKeys:new Map,missingWarnings:new Set},ge=e=>!!e&&typeof e!="string"&&typeof e=="object"&&"strTag"in e;function E(e){return String(e||"").trim().toLowerCase()}function he(e){let t=E(e);return t?t.split("-")[0]||t:""}function S(e){let t=E(e);return t||u.defaultLocale}function ye(e){let t="";for(let n=0;n<=e.length-1;n+=1)t+=e[n],n<e.length-1&&(t+=`{${n}}`);return t}function O(e,t){return String(e).replace(/\{(\d+)\}/g,(n,o)=>t(Number(o)))}function K(e){if(!e||typeof e!="object")return{};let t={};for(let[n,o]of Object.entries(e)){if(typeof o=="string"){t[n]=o;continue}o&&typeof o=="object"&&typeof o.content=="string"&&(t[n]=o.content)}return t}function me(e){let t=E(e);if(!t)return[u.defaultLocale];let n=he(t);return!n||n===t?[t]:[t,n]}function Y(e,t){let n=S(e);u.messagesByLocale.set(n,K(t))}function Z(e){typeof e=="string"&&e.length>0&&u.requestedKeys.add(e)}function J(e,t){if(typeof e!="string"||!e.length)return;let n=typeof t=="string"?t:String(t||"");n.length&&(u.valueToKeys.has(n)||u.valueToKeys.set(n,new Set),u.valueToKeys.get(n).add(e))}function M(e){let t=me(e);for(let n of t)if(u.messagesByLocale.has(n))return{locale:n,messages:u.messagesByLocale.get(n)};return null}async function B(e,t="explicit"){let n=S(e),o=M(n);if(o)return o.messages;let r=n;if(u.loadingByLocale.has(r))return u.loadingByLocale.get(r);if(!u.provider)return{};let s=u.provider.loadLocale||u.provider.setLocale||null;if(typeof s!="function")return{};let i={locale:n,defaultLocale:u.defaultLocale,reason:t,loadedLocales:Array.from(u.messagesByLocale.keys()),messages:{...M(n)?.messages||{}},load:t==="set-default"||t==="explicit-load"},a;try{a=s(i)}catch{return{}}if(a&&typeof a.then=="function"){let c=a.then(f=>{let p=K(f);return Y(n,p),p}).catch(()=>({})).finally(()=>{u.loadingByLocale.delete(r)});return u.loadingByLocale.set(r,c),c}let d=K(a);return Y(n,d),d}function be(e){if(!e||typeof e!="object")return"";let n=typeof Element<"u"&&e instanceof Element||e?.nodeType===1?e:null;if(!n)return"";if(n.hasAttribute?.("lang"))return E(n.getAttribute("lang"));let o=n.closest?.("[lang]");return o&&o.getAttribute?E(o.getAttribute("lang")):""}function $(e={}){if(typeof e?.lang=="string"&&e.lang.trim())return S(e.lang);let t=e?.element||e?.scope||e?.host||e?.contextElement||null,n=be(t);if(n)return S(n);if(typeof document<"u"&&document.documentElement){let o=E(document.documentElement.getAttribute("lang"));if(o)return S(o)}return u.defaultLocale}function ve(){let e=new Set([u.defaultLocale]);if(typeof document>"u")return e;let t=E(document.documentElement?.getAttribute?.("lang"));t&&e.add(S(t));let n=document.querySelectorAll?.("[lang]")||[];for(let o of n){let r=E(o.getAttribute("lang"));r&&e.add(S(r))}return e}async function Le(e){for(let t of e)await B(t,"lang-detected")}function we(e){for(let t of Array.from(u.messagesByLocale.keys()))e.has(t)||u.messagesByLocale.delete(t)}function xe(e){let t=String(e||""),n=(t.match(/^\s*/)||[""])[0],o=(t.match(/\s*$/)||[""])[0],r=n.length,s=t.length-o.length,i=s>=r?t.slice(r,s):"";return{leading:n,core:i,trailing:o}}function Q(e){return String(e||"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _e(e,t){let n=typeof e=="string"?e:String(e||""),o=typeof t=="string"?t:String(t||""),r=/\{(\d+)\}/g,s=Array.from(n.matchAll(r));if(!s.length)return n===o?[]:null;let i=[],a="^",d=0;for(let p of s){let y=p.index??0;a+=Q(n.slice(d,y)),a+="([\\s\\S]*?)",i.push(Number(p[1])),d=y+p[0].length}a+=Q(n.slice(d)),a+="$";let c=new RegExp(a).exec(o);if(!c)return null;let f=[];for(let p=1;p<c.length;p+=1){let y=i[p-1],v=c[p];if(Object.prototype.hasOwnProperty.call(f,y)&&f[y]!==v)return null;f[y]=v}return f}function ee(e,t){if(typeof e!="string"||!e.length)return[];let n=[e];for(let[,o]of u.messagesByLocale.entries()){let r=o?.[e];typeof r=="string"&&r.length&&n.push(r)}for(let o of n){let r=_e(o,t);if(r)return r}return[]}function Ee(e){if(!e)return null;let t=u.valueToKeys.get(e);if(t&&t.size>0){for(let o of t)if(u.requestedKeys.has(o))return o}if(u.requestedKeys.has(e))return e;let n=Array.from(u.messagesByLocale.entries());for(let o of u.requestedKeys)for(let[,r]of n)if(r&&r[o]===e)return o;return null}function Ae(e){if(!e)return null;let t=null;for(let[n,o]of u.valueToKeys.entries()){if(typeof n!="string"||!n.length||n===e)continue;let r=e.indexOf(n);if(r!==-1)for(let s of o){if(!u.requestedKeys.has(s))continue;let i=ee(s,n),a={key:s,matchedText:n,start:r,end:r+n.length,values:i};(!t||a.matchedText.length>t.matchedText.length)&&(t=a);break}}return t}async function Se(e){if(!e||e.nodeType!==3)return;let t=e.parentElement||null;if(!t)return;let{leading:n,core:o,trailing:r}=xe(e.nodeValue);if(!o)return;let s=u.textNodeKeyMap.get(e)||null;if((!s||!u.requestedKeys.has(s))&&(s=Ee(o)),!s){let p=Ae(o);if(!p)return;let y=$({element:t});await B(y,"text-node");let v=R(p.key,p.values,{element:t},null),b=p.values.length?O(v,_=>p.values[_]):v,T=o.slice(0,p.start)+b+o.slice(p.end),k=`${n}${T}${r}`;k!==e.nodeValue&&(e.nodeValue=k);return}u.textNodeKeyMap.set(e,s);let i=$({element:t});await B(i,"text-node");let a=ee(s,o),d=R(s,a,{element:t},null),c=a.length?O(d,p=>a[p]):d,f=`${n}${c}${r}`;f!==e.nodeValue&&(e.nodeValue=f)}async function Ce(){if(typeof document>"u"||u.requestedKeys.size===0)return;let e=document.body||document.documentElement;if(!e||typeof document.createTreeWalker!="function")return;let t=[],n=new Set,o=s=>{!s||n.has(s)||(n.add(s),t.push(s))};o(e);for(let s=0;s<t.length;s+=1){let i=t[s];if(!i||typeof i.querySelectorAll!="function")continue;let a=i.querySelectorAll("*");for(let d of a){let c=d?.shadowRoot;c&&o(c)}}let r=[];for(let s of t){let i=document.createTreeWalker(s,NodeFilter.SHOW_TEXT);for(;i.nextNode();)r.push(i.currentNode)}for(let s of r)await Se(s)}async function Te(){let e=ve();await Le(e),await Ce(),we(e)}function Me(){typeof window>"u"||(u.reconcileTimer&&clearTimeout(u.reconcileTimer),u.reconcileTimer=setTimeout(()=>{u.reconcileTimer=null,Te()},16))}function R(e,t=[],n={},o=null){let r=$(n),s=M(r);s||B(r,"msg");let i=M(r)?.messages||{},a=M(u.defaultLocale)?.messages||{},d={key:e,values:t,options:n,locale:r,defaultLocale:u.defaultLocale,messages:i,messagesByLocale:Object.fromEntries(Array.from(u.messagesByLocale.entries())),template:o},c,f=!!s,p=r===u.defaultLocale;typeof u.provider?.translate=="function"&&(c=u.provider.translate(d));let y=null;if(c==null&&(c=i[e]),c==null&&(c=a[e],y=c==null?null:"default"),c==null&&(c=e,y="key"),f&&!p&&y){let b=`${r}::${e}`;u.missingWarnings.has(b)||(u.missingWarnings.add(b),X("warn",`[i18n] Missing translation for locale "${r}" and key "${e}"; using ${y} fallback.`))}let v=typeof c=="string"?c:String(c);if(J(e,v),Array.isArray(t)&&t.length>0){let b=O(v,T=>t[T]);b!==v&&J(e,b)}return v}var ke=(e,t,n={})=>{let o=ye(e);Z(o);let r=R(o,t,n,{strings:e,values:t});return O(r,s=>t[s])};var D=(e,t={})=>{if(!e)return"";if(ge(e))return ke(e.strings,e.values,t);let n=String(e);Z(n);let o=R(n,[],t,null);return!t?.element&&!t?.scope&&!t?.host&&!t?.contextElement&&!t?.lang&&Me(),o};var qe=[{selector:".accordion"},{selector:"nav[data-dropdown]"},{selector:"label[data-toggle]"},{selector:"label[data-color]"},{selector:'input[type="range"]'},{selector:"form[data-required]"},{selector:"fieldset[role=group][data-open]"},{selector:"[data-clip]"},{selector:"button, a[class*='btn-']"}];function Pe(e){e.dataset.enhancedAccordion||(e.dataset.enhancedAccordion="true",e.addEventListener("toggle",t=>{t.target.open&&t.target.parentElement===e&&e.querySelectorAll(":scope > details[open]").forEach(n=>{n!==t.target&&(n.open=!1)})},!0))}function Oe(e){if(e.dataset.enhancedDropdown)return;e.dataset.enhancedDropdown="true";let t=e.lastElementChild;if(!t)return;let n=e.querySelector("[data-dropdown-toggle]")||e.querySelector("button");n&&!n.hasAttribute("type")&&n.setAttribute("type","button"),t.id||(t.id=`dropdown-${Math.random().toString(36).slice(2,9)}`);let o=t.tagName?.toLowerCase()==="menu",r=8;o&&!t.hasAttribute("role")&&t.setAttribute("role","menu"),t.hasAttribute("aria-hidden")||t.setAttribute("aria-hidden","true"),n&&(n.setAttribute("aria-haspopup","true"),n.setAttribute("aria-controls",t.id),n.setAttribute("aria-expanded","false"));let s=()=>{let l=t.getAttribute("style");t.style.visibility="hidden",t.style.display="inline-block",t.style.pointerEvents="none";let g=t.getBoundingClientRect(),m=Math.max(t.offsetWidth||0,t.scrollWidth||0,g.width||0,1),h=Math.max(t.offsetHeight||0,t.scrollHeight||0,g.height||0,1);return l===null?t.removeAttribute("style"):t.setAttribute("style",l),{width:m,height:h}},i=()=>{let l=(e.getAttribute("data-direction")||e.getAttribute("data-dropdown-direction")||e.getAttribute("data-mode")||"auto").toLowerCase();if(l==="up"||l==="down")return l;let g=(n||e).getBoundingClientRect(),{height:m}=s(),h=Math.max(0,window.innerHeight-g.bottom),L=Math.max(0,g.top),x=h>=m,w=L>=m;return x&&!w?"down":w&&!x?"up":x&&w?"down":L>h?"up":"down"},a=()=>{let l=(e.getAttribute("data-align")||e.getAttribute("data-dropdown-align")||"auto").toLowerCase();if(l==="left"||l==="right"||l==="start"||l==="end")return l==="start"?"left":l==="end"?"right":l;let g=(n||e).getBoundingClientRect(),{width:m}=s(),h=Math.max(0,window.innerWidth-g.left),L=Math.max(0,g.right),x=h>=m,w=L>=m;return x&&!w?"left":w&&!x?"right":x&&w?"left":L>h?"right":"left"},d=(l,g=8)=>{let m=getComputedStyle(e).getPropertyValue(l).trim();if(!m)return g;let h=document.createElement("span");h.style.position="fixed",h.style.visibility="hidden",h.style.pointerEvents="none",h.style.height=m,document.body.appendChild(h);let L=Number.parseFloat(getComputedStyle(h).height);return h.remove(),Number.isFinite(L)?L:g},c=()=>{t.style.removeProperty("position"),t.style.removeProperty("left"),t.style.removeProperty("top"),t.style.removeProperty("right"),t.style.removeProperty("bottom"),t.style.removeProperty("margin-top"),t.style.removeProperty("margin-bottom"),t.style.removeProperty("max-width"),t.style.removeProperty("max-inline-size"),t.style.removeProperty("max-height"),t.style.removeProperty("overflow")},f=l=>{if(!l)return null;if(l.parentElement)return l.parentElement;let g=l.getRootNode?.();return g instanceof ShadowRoot?g.host:null},p=()=>{let l=f(t);for(;l&&l!==document.documentElement;){let g=getComputedStyle(l),m=g.contain||"",h=g.willChange||"";if(g.transform!=="none"||g.perspective!=="none"||g.filter!=="none"||g.backdropFilter!=="none"||m.includes("paint")||m.includes("layout")||m.includes("strict")||m.includes("content")||h.includes("transform")||h.includes("perspective")||h.includes("filter"))return!0;l=f(l)}return!1},y=()=>{t.getAttribute("aria-hidden")==="false"&&(c(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{v()})}))},v=()=>{if(t.getAttribute("aria-hidden")!=="false")return;if(p()){c();return}let l=(n||e).getBoundingClientRect(),g=window.visualViewport,m=g?.width||document.documentElement?.clientWidth||window.innerWidth,h=g?.height||document.documentElement?.clientHeight||window.innerHeight,L=g?.offsetLeft||0,x=g?.offsetTop||0,w=Math.max(1,m-r*2),ae=Math.max(1,h-r*2);t.style.maxWidth=`${Math.round(w)}px`,t.style.maxInlineSize=`${Math.round(w)}px`,t.style.maxHeight=`${Math.round(ae)}px`,t.style.overflow="auto";let{width:z,height:I}=s(),W=d("--spacing-2",8),j=i(),N=a();e.dataset.dropdownDirection=j,e.dataset.dropdownAlign=N;let P=N==="right"?l.right-z:l.left;z>=w-1?P=L+r:P=Math.max(L+r,Math.min(P,L+m-z-r));let F=j==="up"?l.top-W-I:l.bottom+W;F=Math.max(x+r,Math.min(F,x+h-I-r)),t.style.position="fixed",t.style.left=`${Math.round(P)}px`,t.style.top=`${Math.round(F)}px`,t.style.right="auto",t.style.bottom="auto",t.style.marginTop="0",t.style.marginBottom="0"},b=null,T=()=>{b||(b=()=>v(),window.addEventListener("resize",b),window.addEventListener("scroll",b,!0))},k=()=>{b&&(window.removeEventListener("resize",b),window.removeEventListener("scroll",b,!0),b=null)},_=null,A=null,te=()=>{_||typeof document>"u"||(_=()=>{t.getAttribute("aria-hidden")==="false"&&(e.dataset.dropdownDirection=i(),e.dataset.dropdownAlign=a(),A!==null&&cancelAnimationFrame(A),A=requestAnimationFrame(()=>{A=null,t.getAttribute("aria-hidden")==="false"&&v()}))},document.addEventListener("pds:config-changed",_))},ne=()=>{!_||typeof document>"u"||(document.removeEventListener("pds:config-changed",_),_=null,A!==null&&(cancelAnimationFrame(A),A=null))},C=null,oe=()=>{e.dataset.dropdownDirection=i(),e.dataset.dropdownAlign=a(),t.setAttribute("aria-hidden","false"),n?.setAttribute("aria-expanded","true"),T(),te(),y(),C||(C=l=>{(l.composedPath?l.composedPath():[l.target]).some(h=>h===e)||q()},setTimeout(()=>{document.addEventListener("click",C)},0))},q=()=>{t.setAttribute("aria-hidden","true"),n?.setAttribute("aria-expanded","false"),k(),ne(),c(),C&&(document.removeEventListener("click",C),C=null)},re=()=>{t.getAttribute("aria-hidden")==="false"?q():oe()};n?.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),re()}),e.addEventListener("keydown",l=>{l.key==="Escape"&&(q(),n?.focus())}),e.addEventListener("focusout",l=>{l.relatedTarget&&((l.composedPath?l.composedPath():[l.relatedTarget]).some(h=>h===e)||q())})}function Be(e){if(e.dataset.enhancedToggle)return;e.dataset.enhancedToggle="true";let t=e.querySelector('input[type="checkbox"]');if(!t)return;e.hasAttribute("tabindex")||e.setAttribute("tabindex","0"),e.setAttribute("role","switch"),e.setAttribute("aria-checked",t.checked?"true":"false");let n=document.createElement("span");n.className="toggle-switch",n.setAttribute("role","presentation"),n.setAttribute("aria-hidden","true");let o=document.createElement("span");o.className="toggle-knob",n.appendChild(o),e.insertBefore(n,t.nextSibling);let r=()=>{e.setAttribute("aria-checked",t.checked?"true":"false")},s=()=>{t.disabled||(t.checked=!t.checked,r(),t.dispatchEvent(new Event("input",{bubbles:!0})),t.dispatchEvent(new Event("change",{bubbles:!0})))};e.addEventListener("click",i=>{i.preventDefault(),s()}),e.addEventListener("keydown",i=>{(i.key===" "||i.key==="Enter")&&(i.preventDefault(),s())}),t.addEventListener("change",r)}function Re(e){if(e.dataset.enhancedColorInput)return;let t=e.querySelector('input[type="color"]');if(!t)return;e.dataset.enhancedColorInput="true";let n=e.querySelector(":scope > .color-control"),o=e.querySelector(":scope > .color-control > .color-swatch"),r=e.querySelector(":scope > .color-control > output");n||(n=document.createElement("span"),n.className="color-control",t.before(n)),o||(o=document.createElement("span"),o.className="color-swatch",n.appendChild(o)),t.parentElement!==o&&o.appendChild(t),r||(r=document.createElement("output"),n.appendChild(r));let s=()=>{if(t.dataset.colorUnset==="1"){r.value="",r.textContent=D("not set"),n.dataset.value="",n.dataset.unset="1",o.dataset.unset="1";return}r.value=t.value,r.textContent=t.value,n.dataset.value=t.value,delete n.dataset.unset,delete o.dataset.unset};s();let i=()=>{t.dataset.colorUnset==="1"&&(t.dataset.colorUnset="0"),s()};t.addEventListener("input",i,{passive:!0}),t.addEventListener("change",i,{passive:!0})}function De(e){if(e.dataset.enhancedRange)return;let t=i=>{if(e.dataset.enhancedRangeProgrammatic)return;e.dataset.enhancedRangeProgrammatic="1";let a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),"value")||Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value");a?.get&&a?.set&&Object.defineProperty(e,"value",{configurable:!0,enumerable:a.enumerable,get(){return a.get.call(this)},set(c){a.set.call(this,c),i()}}),new MutationObserver(c=>{c.some(p=>{let y=p.attributeName;return y==="value"||y==="min"||y==="max"})&&i()}).observe(e,{attributes:!0,attributeFilter:["value","min","max"]})},n=e.closest("label"),o=n?.classList.contains("range-output"),r=e.id||`range-${Math.random().toString(36).substring(2,11)}`,s=`${r}-output`;if(e.id=r,o){let i=n.querySelector("span");if(i&&!i.classList.contains("range-output-wrapper")){let a=document.createElement("span");a.className="range-output-wrapper",a.style.display="flex",a.style.justifyContent="space-between",a.style.alignItems="center";let d=document.createElement("span");d.textContent=i.textContent,a.appendChild(d);let c=document.createElement("output");c.id=s,c.setAttribute("for",r),c.style.color="var(--surface-text-secondary, var(--color-text-secondary))",c.style.fontSize="0.875rem",c.textContent=e.value,a.appendChild(c),i.textContent="",i.appendChild(a);let f=()=>{c.textContent=e.value};e.addEventListener("input",f),e.addEventListener("change",f),t(f),f()}}else{let i=e.closest(".range-container");i||(i=document.createElement("div"),i.className="range-container",e.parentNode?.insertBefore(i,e),i.appendChild(e)),i.style.position="relative";let a=document.createElement("output");a.id=s,a.setAttribute("for",r),a.className="range-bubble",a.setAttribute("aria-live","polite"),i.appendChild(a);let d=()=>{let p=parseFloat(e.min)||0,y=parseFloat(e.max)||100,v=parseFloat(e.value),b=(v-p)/(y-p);a.style.left=`calc(${b*100}% )`,a.textContent=String(v)},c=()=>a.classList.add("visible"),f=()=>a.classList.remove("visible");e.addEventListener("input",d),e.addEventListener("pointerdown",c),e.addEventListener("pointerup",f),e.addEventListener("pointerleave",f),e.addEventListener("focus",c),e.addEventListener("blur",f),e.addEventListener("change",d),t(d),d()}e.dataset.enhancedRange="1"}function ze(e){if(e.dataset.enhancedRequired)return;e.dataset.enhancedRequired="true";let t=n=>{let o;if(n.closest("[role$=group]")?o=n.closest("[role$=group]").querySelector("legend"):o=n.closest("label"),!o||o.querySelector(".required-asterisk"))return;let r=document.createElement("span");r.classList.add("required-asterisk"),r.textContent="*",r.style.marginLeft="4px";let s=o.querySelector("span, [data-label]");if(s)s.appendChild(r);else{let a=o.querySelector("input, select, textarea");a?o.insertBefore(r,a):o.appendChild(r)}let i=n.closest("form");if(i&&!i.querySelector(".required-legend")){let a=document.createElement("small");a.classList.add("required-legend"),a.textContent=D("* Required fields"),i.insertBefore(a,i.querySelector(".form-actions")||i.lastElementChild)}};e.querySelectorAll("[required]").forEach(n=>{t(n)})}function Fe(e){if(e.dataset.enhancedOpenGroup)return;e.dataset.enhancedOpenGroup="true",e.classList.add("flex","flex-wrap","buttons");let t=document.createElement("input");t.type="text",t.placeholder=D("Add item..."),t.classList.add("input-text","input-sm"),t.style.width="auto";let n=()=>e.querySelector('input[type="radio"], input[type="checkbox"]');e.appendChild(t),t.addEventListener("keydown",o=>{if(o.key==="Enter"||o.key==="Tab"){let r=t.value.trim();if(r){o.preventDefault();let s=n(),i=s?.type==="radio"?"radio":"checkbox",a=`open-group-${Math.random().toString(36).substring(2,11)}`,d=document.createElement("label"),c=document.createElement("span");c.setAttribute("data-label",""),c.textContent=r;let f=document.createElement("input");f.type=i,f.name=s?.name||e.getAttribute("data-name")||"open-group",f.value=r,f.id=a,d.appendChild(c),d.appendChild(f),e.insertBefore(d,t),t.value=""}}else if(o.key==="Backspace"&&t.value===""){o.preventDefault();let r=e.querySelectorAll("label");r.length>0&&r[r.length-1].remove()}})}function Ke(e){if(e.dataset.enhancedClip)return;e.dataset.enhancedClip="true",e.hasAttribute("tabindex")||e.setAttribute("tabindex","0"),e.hasAttribute("role")||e.setAttribute("role","button");let t=()=>{let o=e.getAttribute("data-clip-open")==="true";e.setAttribute("aria-expanded",o?"true":"false")},n=()=>{let o=e.getAttribute("data-clip-open")==="true";e.setAttribute("data-clip-open",o?"false":"true"),t()};e.addEventListener("click",o=>{o.defaultPrevented||n()}),e.addEventListener("keydown",o=>{(o.key===" "||o.key==="Enter")&&(o.preventDefault(),n())}),t()}function $e(e){if(e.dataset.enhancedBtnWorking)return;e.dataset.enhancedBtnWorking="true";let t=null,n=!1;new MutationObserver(r=>{r.forEach(s=>{if(s.attributeName==="class"){let i=e.classList.contains("btn-working"),a=e.querySelector("pds-icon");if(i)if(a)t||(t=a.getAttribute("icon")),a.setAttribute("icon","circle-notch");else{let d=document.createElement("pds-icon");d.setAttribute("icon","circle-notch"),d.setAttribute("size","sm"),e.insertBefore(d,e.firstChild),n=!0}else s.oldValue?.includes("btn-working")&&a&&(n?(a.remove(),n=!1):t&&(a.setAttribute("icon",t),t=null))}})}).observe(e,{attributes:!0,attributeFilter:["class"],attributeOldValue:!0})}var Ie=new Map([[".accordion",Pe],["nav[data-dropdown]",Oe],["label[data-toggle]",Be],["label[data-color]",Re],['input[type="range"]',De],["form[data-required]",ze],["fieldset[role=group][data-open]",Fe],["[data-clip]",Ke],["button, a[class*='btn-']",$e]]),We=qe.map(e=>({...e,run:Ie.get(e.selector)||(()=>{})}));export{We as defaultPDSEnhancers};
1
+ var ce=new Set(["log","warn","error","debug","info"]),le="__PURE_DS_PDS_SINGLETON__",H=null,U=null;function X(){try{let t=(typeof globalThis<"u"?globalThis:window)?.[le];if(t&&typeof t=="object")return t}catch{return null}return null}function ue(e){return!e||typeof e!="object"?null:{mode:e.mode==="live"||e.mode==="static"?e.mode:null,debug:e.debug===!0,thisArg:e.thisArg}}function de(e){if(typeof e!="string")return"log";let t=e.toLowerCase();return ce.has(t)?t:"log"}function fe(){if(typeof U=="function")try{let t=ue(U());if(t)return t}catch{}let e=X();if(e){let t=e?.mode||e?.compiled?.mode||(e?.registry?.isLive?"live":"static"),n=(e?.debug||e?.currentConfig?.debug||e?.currentConfig?.design?.debug||e?.compiled?.debug||e?.compiled?.design?.debug||!1)===!0;return{mode:t,debug:n,thisArg:e}}return{mode:null,debug:!1}}function pe(){if(typeof H=="function")try{let t=H();if(typeof t=="function")return t}catch{}let e=X();return typeof e?.logHandler=="function"?e.logHandler:null}function G(e,t,...n){if(typeof console>"u")return;let o=typeof console[e]=="function"?console[e].bind(console):typeof console.log=="function"?console.log.bind(console):null;o&&(n.length>0?o(t,...n):o(t))}function ge(e,t){let n=t?.debug===!0;return!(t?.mode==="static"&&!n||!n&&e!=="error"&&e!=="warn")}function Y(e="log",t,...n){let o=de(e),r=fe(),s=pe();if(s)try{s.call(r?.thisArg,o,t,...n);return}catch(i){G("error","Custom log handler failed:",i)}ge(o,r)&&G(o,t,...n)}var he="en",l={defaultLocale:he,provider:null,messagesByLocale:new Map,loadingByLocale:new Map,observer:null,reconcileTimer:null,requestedKeys:new Set,textNodeKeyMap:new WeakMap,attributeKeyMap:new WeakMap,valueToKeys:new Map,missingWarnings:new Set},ye=["title","placeholder","aria-label","aria-description","aria-placeholder","aria-roledescription","alt","label"],be=e=>!!e&&typeof e!="string"&&typeof e=="object"&&"strTag"in e;function _(e){return String(e||"").trim().toLowerCase()}function me(e){let t=_(e);return t?t.split("-")[0]||t:""}function S(e){let t=_(e);if(!t)return l.defaultLocale;let n=l.provider?.resolveLocale;if(typeof n=="function"){let o=_(n(e));if(o)return o}return t}function ve(e){let t="";for(let n=0;n<=e.length-1;n+=1)t+=e[n],n<e.length-1&&(t+=`{${n}}`);return t}function M(e,t){return String(e).replace(/\{(\d+)\}/g,(n,o)=>t(Number(o)))}function I(e){if(!e||typeof e!="object")return{};let t={};for(let[n,o]of Object.entries(e)){if(typeof o=="string"){t[n]=o;continue}o&&typeof o=="object"&&typeof o.content=="string"&&(t[n]=o.content)}return t}function Le(e){let t=_(e);if(!t)return[l.defaultLocale];let n=me(t);return!n||n===t?[t]:[t,n]}function Z(e,t){let n=S(e);l.messagesByLocale.set(n,I(t))}function ee(e){typeof e=="string"&&e.length>0&&l.requestedKeys.add(e)}function J(e,t){if(typeof e!="string"||!e.length)return;let n=typeof t=="string"?t:String(t||"");n.length&&(l.valueToKeys.has(n)||l.valueToKeys.set(n,new Set),l.valueToKeys.get(n).add(e))}function P(e){let t=Le(e);for(let n of t)if(l.messagesByLocale.has(n))return{locale:n,messages:l.messagesByLocale.get(n)};return null}async function T(e,t="explicit"){let n=S(e),o=P(n);if(o)return o.messages;let r=n;if(l.loadingByLocale.has(r))return l.loadingByLocale.get(r);if(!l.provider)return{};let s=l.provider.loadLocale||l.provider.setLocale||null;if(typeof s!="function")return{};let i={locale:n,defaultLocale:l.defaultLocale,reason:t,loadedLocales:Array.from(l.messagesByLocale.keys()),messages:{...P(n)?.messages||{}},load:t==="set-default"||t==="explicit-load"},a;try{a=s(i)}catch{return{}}if(a&&typeof a.then=="function"){let c=a.then(p=>{let f=I(p);return Z(n,f),f}).catch(()=>({})).finally(()=>{l.loadingByLocale.delete(r)});return l.loadingByLocale.set(r,c),c}let d=I(a);return Z(n,d),d}function we(e){if(!e||typeof e!="object")return"";let n=typeof Element<"u"&&e instanceof Element||e?.nodeType===1?e:null;if(!n)return"";if(n.hasAttribute?.("lang"))return _(n.getAttribute("lang"));let o=n.closest?.("[lang]");return o&&o.getAttribute?_(o.getAttribute("lang")):""}function O(e={}){if(typeof e?.lang=="string"&&e.lang.trim())return S(e.lang);let t=e?.element||e?.scope||e?.host||e?.contextElement||null,n=we(t);if(n)return S(n);if(typeof document<"u"&&document.documentElement){let o=_(document.documentElement.getAttribute("lang"));if(o)return S(o)}return l.defaultLocale}function Ae(){let e=new Set([l.defaultLocale]);if(typeof document>"u")return e;let t=_(document.documentElement?.getAttribute?.("lang"));t&&e.add(S(t));let n=document.querySelectorAll?.("[lang]")||[];for(let o of n){let r=_(o.getAttribute("lang"));r&&e.add(S(r))}return e}async function _e(e){for(let t of e)await T(t,"lang-detected")}function xe(e){for(let t of Array.from(l.messagesByLocale.keys()))e.has(t)||l.messagesByLocale.delete(t)}function Ee(e){let t=String(e||""),n=(t.match(/^\s*/)||[""])[0],o=(t.match(/\s*$/)||[""])[0],r=n.length,s=t.length-o.length,i=s>=r?t.slice(r,s):"";return{leading:n,core:i,trailing:o}}function Q(e){return String(e||"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Se(e,t){let n=typeof e=="string"?e:String(e||""),o=typeof t=="string"?t:String(t||""),r=/\{(\d+)\}/g,s=Array.from(n.matchAll(r));if(!s.length)return n===o?[]:null;let i=[],a="^",d=0;for(let f of s){let y=f.index??0;a+=Q(n.slice(d,y)),a+="([\\s\\S]*?)",i.push(Number(f[1])),d=y+f[0].length}a+=Q(n.slice(d)),a+="$";let c=new RegExp(a).exec(o);if(!c)return null;let p=[];for(let f=1;f<c.length;f+=1){let y=i[f-1],b=c[f];if(Object.prototype.hasOwnProperty.call(p,y)&&p[y]!==b)return null;p[y]=b}return p}function $(e,t){if(typeof e!="string"||!e.length)return[];let n=[e];for(let[,o]of l.messagesByLocale.entries()){let r=o?.[e];typeof r=="string"&&r.length&&n.push(r)}for(let o of n){let r=Se(o,t);if(r)return r}return[]}function te(e){if(!e)return null;let t=l.valueToKeys.get(e);if(t&&t.size>0){for(let o of t)if(l.requestedKeys.has(o))return o}if(l.requestedKeys.has(e))return e;let n=Array.from(l.messagesByLocale.entries());for(let o of l.requestedKeys)for(let[,r]of n)if(r&&r[o]===e)return o;return null}function ne(e){if(!e)return null;let t=null;for(let[n,o]of l.valueToKeys.entries()){if(typeof n!="string"||!n.length||n===e)continue;let r=e.indexOf(n);if(r!==-1)for(let s of o){if(!l.requestedKeys.has(s))continue;let i=$(s,n),a={key:s,matchedText:n,start:r,end:r+n.length,values:i};(!t||a.matchedText.length>t.matchedText.length)&&(t=a);break}}return t}async function Ce(e){if(!e||e.nodeType!==3)return;let t=e.parentElement||null;if(!t)return;let{leading:n,core:o,trailing:r}=Ee(e.nodeValue);if(!o)return;let s=l.textNodeKeyMap.get(e)||null;if((!s||!l.requestedKeys.has(s))&&(s=te(o)),!s){let f=ne(o);if(!f)return;let y=O({element:t});await T(y,"text-node");let b=k(f.key,f.values,{element:t},null),m=f.values.length?M(b,x=>f.values[x]):b,q=o.slice(0,f.start)+m+o.slice(f.end),B=`${n}${q}${r}`;B!==e.nodeValue&&(e.nodeValue=B);return}l.textNodeKeyMap.set(e,s);let i=O({element:t});await T(i,"text-node");let a=$(s,o),d=k(s,a,{element:t},null),c=a.length?M(d,f=>a[f]):d,p=`${n}${c}${r}`;p!==e.nodeValue&&(e.nodeValue=p)}async function Me(){if(typeof document>"u"||l.requestedKeys.size===0)return;let e=document.body||document.documentElement;if(!e||typeof document.createTreeWalker!="function")return;let t=[],n=new Set,o=s=>{!s||n.has(s)||(n.add(s),t.push(s))};o(e);for(let s=0;s<t.length;s+=1){let i=t[s];if(!i||typeof i.querySelectorAll!="function")continue;let a=i.querySelectorAll("*");for(let d of a){let c=d?.shadowRoot;c&&o(c)}}let r=[];for(let s of t){let i=document.createTreeWalker(s,NodeFilter.SHOW_TEXT);for(;i.nextNode();)r.push(i.currentNode)}for(let s of r)await Ce(s)}function Te(e){let t=l.attributeKeyMap.get(e);return t||(t=new Map,l.attributeKeyMap.set(e,t)),t}async function ke(e,t){if(!e||typeof e.getAttribute!="function")return;let n=e.getAttribute(t);if(typeof n!="string"||!n.length)return;let o=Te(e),r=o.get(t)||null;if((!r||!l.requestedKeys.has(r))&&(r=te(n)),!r){let c=ne(n);if(!c)return;let p=O({element:e});await T(p,"attribute");let f=k(c.key,c.values,{element:e},null),y=c.values.length?M(f,m=>c.values[m]):f,b=n.slice(0,c.start)+y+n.slice(c.end);b!==n&&e.setAttribute(t,b),o.set(t,c.key);return}o.set(t,r);let s=O({element:e});await T(s,"attribute");let i=$(r,n),a=k(r,i,{element:e},null),d=i.length?M(a,c=>i[c]):a;d!==n&&e.setAttribute(t,d)}async function qe(){if(typeof document>"u"||l.requestedKeys.size===0)return;let e=document.body||document.documentElement;if(!e)return;let t=[],n=new Set,o=r=>{!r||n.has(r)||(n.add(r),t.push(r))};o(e);for(let r=0;r<t.length;r+=1){let s=t[r];if(!s||typeof s.querySelectorAll!="function")continue;let i=s.querySelectorAll("*");for(let a of i){let d=a?.shadowRoot;d&&o(d)}}for(let r of t){if(!r||typeof r.querySelectorAll!="function")continue;let s=r.querySelectorAll("*");for(let i of s)for(let a of ye)i.hasAttribute(a)&&await ke(i,a)}}async function Pe(){let e=Ae();await _e(e),await Me(),await qe(),xe(e)}function Oe(){typeof window>"u"||(l.reconcileTimer&&clearTimeout(l.reconcileTimer),l.reconcileTimer=setTimeout(()=>{l.reconcileTimer=null,Pe()},16))}function k(e,t=[],n={},o=null){let r=O(n),s=P(r);s||T(r,"msg");let i=P(r)?.messages||{},a=P(l.defaultLocale)?.messages||{},d={key:e,values:t,options:n,locale:r,defaultLocale:l.defaultLocale,messages:i,messagesByLocale:Object.fromEntries(Array.from(l.messagesByLocale.entries())),template:o},c,p=!!s,f=r===l.defaultLocale;typeof l.provider?.translate=="function"&&(c=l.provider.translate(d));let y=null;if(c==null&&(c=i[e]),c==null&&(c=a[e],y=c==null?null:"default"),c==null&&(c=e,y="key"),p&&!f&&y){let m=`${r}::${e}`;l.missingWarnings.has(m)||(l.missingWarnings.add(m),Y("warn",`[i18n] Missing translation for locale "${r}" and key "${e}"; using ${y} fallback.`))}let b=typeof c=="string"?c:String(c);if(J(e,b),Array.isArray(t)&&t.length>0){let m=M(b,q=>t[q]);m!==b&&J(e,m)}return b}var Be=(e,t,n={})=>{let o=ve(e);ee(o);let r=k(o,t,n,{strings:e,values:t});return M(r,s=>t[s])};var z=(e,t={})=>{if(!e)return"";if(be(e))return Be(e.strings,e.values,t);let n=String(e);ee(n);let o=k(n,[],t,null);return!t?.element&&!t?.scope&&!t?.host&&!t?.contextElement&&!t?.lang&&Oe(),o};var Re=[{selector:".accordion"},{selector:"nav[data-dropdown]"},{selector:"label[data-toggle]"},{selector:"label[data-color]"},{selector:'input[type="range"]'},{selector:"form[data-required]"},{selector:"fieldset[role=group][data-open]"},{selector:"[data-clip]"},{selector:"button, a[class*='btn-']"}];function Ke(e){e.dataset.enhancedAccordion||(e.dataset.enhancedAccordion="true",e.addEventListener("toggle",t=>{t.target.open&&t.target.parentElement===e&&e.querySelectorAll(":scope > details[open]").forEach(n=>{n!==t.target&&(n.open=!1)})},!0))}function ze(e){if(e.dataset.enhancedDropdown)return;e.dataset.enhancedDropdown="true";let t=e.lastElementChild;if(!t)return;let n=e.querySelector("[data-dropdown-toggle]")||e.querySelector("button");n&&!n.hasAttribute("type")&&n.setAttribute("type","button"),t.id||(t.id=`dropdown-${Math.random().toString(36).slice(2,9)}`);let o=t.tagName?.toLowerCase()==="menu",r=8;o&&!t.hasAttribute("role")&&t.setAttribute("role","menu"),t.hasAttribute("aria-hidden")||t.setAttribute("aria-hidden","true"),n&&(n.setAttribute("aria-haspopup","true"),n.setAttribute("aria-controls",t.id),n.setAttribute("aria-expanded","false"));let s=()=>{let u=t.getAttribute("style");t.style.visibility="hidden",t.style.display="inline-block",t.style.pointerEvents="none";let g=t.getBoundingClientRect(),v=Math.max(t.offsetWidth||0,t.scrollWidth||0,g.width||0,1),h=Math.max(t.offsetHeight||0,t.scrollHeight||0,g.height||0,1);return u===null?t.removeAttribute("style"):t.setAttribute("style",u),{width:v,height:h}},i=()=>{let u=(e.getAttribute("data-direction")||e.getAttribute("data-dropdown-direction")||e.getAttribute("data-mode")||"auto").toLowerCase();if(u==="up"||u==="down")return u;let g=(n||e).getBoundingClientRect(),{height:v}=s(),h=Math.max(0,window.innerHeight-g.bottom),L=Math.max(0,g.top),A=h>=v,w=L>=v;return A&&!w?"down":w&&!A?"up":A&&w?"down":L>h?"up":"down"},a=()=>{let u=(e.getAttribute("data-align")||e.getAttribute("data-dropdown-align")||"auto").toLowerCase();if(u==="left"||u==="right"||u==="start"||u==="end")return u==="start"?"left":u==="end"?"right":u;let g=(n||e).getBoundingClientRect(),{width:v}=s(),h=Math.max(0,window.innerWidth-g.left),L=Math.max(0,g.right),A=h>=v,w=L>=v;return A&&!w?"left":w&&!A?"right":A&&w?"left":L>h?"right":"left"},d=(u,g=8)=>{let v=getComputedStyle(e).getPropertyValue(u).trim();if(!v)return g;let h=document.createElement("span");h.style.position="fixed",h.style.visibility="hidden",h.style.pointerEvents="none",h.style.height=v,document.body.appendChild(h);let L=Number.parseFloat(getComputedStyle(h).height);return h.remove(),Number.isFinite(L)?L:g},c=()=>{t.style.removeProperty("position"),t.style.removeProperty("left"),t.style.removeProperty("top"),t.style.removeProperty("right"),t.style.removeProperty("bottom"),t.style.removeProperty("margin-top"),t.style.removeProperty("margin-bottom"),t.style.removeProperty("max-width"),t.style.removeProperty("max-inline-size"),t.style.removeProperty("max-height"),t.style.removeProperty("overflow")},p=u=>{if(!u)return null;if(u.parentElement)return u.parentElement;let g=u.getRootNode?.();return g instanceof ShadowRoot?g.host:null},f=()=>{let u=p(t);for(;u&&u!==document.documentElement;){let g=getComputedStyle(u),v=g.contain||"",h=g.willChange||"";if(g.transform!=="none"||g.perspective!=="none"||g.filter!=="none"||g.backdropFilter!=="none"||v.includes("paint")||v.includes("layout")||v.includes("strict")||v.includes("content")||h.includes("transform")||h.includes("perspective")||h.includes("filter"))return!0;u=p(u)}return!1},y=()=>{t.getAttribute("aria-hidden")==="false"&&(c(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{b()})}))},b=()=>{if(t.getAttribute("aria-hidden")!=="false")return;if(f()){c();return}let u=(n||e).getBoundingClientRect(),g=window.visualViewport,v=g?.width||document.documentElement?.clientWidth||window.innerWidth,h=g?.height||document.documentElement?.clientHeight||window.innerHeight,L=g?.offsetLeft||0,A=g?.offsetTop||0,w=Math.max(1,v-r*2),ie=Math.max(1,h-r*2);t.style.maxWidth=`${Math.round(w)}px`,t.style.maxInlineSize=`${Math.round(w)}px`,t.style.maxHeight=`${Math.round(ie)}px`,t.style.overflow="auto";let{width:D,height:W}=s(),j=d("--spacing-2",8),V=i(),N=a();e.dataset.dropdownDirection=V,e.dataset.dropdownAlign=N;let K=N==="right"?u.right-D:u.left;D>=w-1?K=L+r:K=Math.max(L+r,Math.min(K,L+v-D-r));let F=V==="up"?u.top-j-W:u.bottom+j;F=Math.max(A+r,Math.min(F,A+h-W-r)),t.style.position="fixed",t.style.left=`${Math.round(K)}px`,t.style.top=`${Math.round(F)}px`,t.style.right="auto",t.style.bottom="auto",t.style.marginTop="0",t.style.marginBottom="0"},m=null,q=()=>{m||(m=()=>b(),window.addEventListener("resize",m),window.addEventListener("scroll",m,!0))},B=()=>{m&&(window.removeEventListener("resize",m),window.removeEventListener("scroll",m,!0),m=null)},x=null,E=null,oe=()=>{x||typeof document>"u"||(x=()=>{t.getAttribute("aria-hidden")==="false"&&(e.dataset.dropdownDirection=i(),e.dataset.dropdownAlign=a(),E!==null&&cancelAnimationFrame(E),E=requestAnimationFrame(()=>{E=null,t.getAttribute("aria-hidden")==="false"&&b()}))},document.addEventListener("pds:config-changed",x))},re=()=>{!x||typeof document>"u"||(document.removeEventListener("pds:config-changed",x),x=null,E!==null&&(cancelAnimationFrame(E),E=null))},C=null,ae=()=>{e.dataset.dropdownDirection=i(),e.dataset.dropdownAlign=a(),t.setAttribute("aria-hidden","false"),n?.setAttribute("aria-expanded","true"),q(),oe(),y(),C||(C=u=>{(u.composedPath?u.composedPath():[u.target]).some(h=>h===e)||R()},setTimeout(()=>{document.addEventListener("click",C)},0))},R=()=>{t.setAttribute("aria-hidden","true"),n?.setAttribute("aria-expanded","false"),B(),re(),c(),C&&(document.removeEventListener("click",C),C=null)},se=()=>{t.getAttribute("aria-hidden")==="false"?R():ae()};n?.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),se()}),e.addEventListener("keydown",u=>{u.key==="Escape"&&(R(),n?.focus())}),e.addEventListener("focusout",u=>{u.relatedTarget&&((u.composedPath?u.composedPath():[u.relatedTarget]).some(h=>h===e)||R())})}function De(e){if(e.dataset.enhancedToggle)return;e.dataset.enhancedToggle="true";let t=e.querySelector('input[type="checkbox"]');if(!t)return;e.hasAttribute("tabindex")||e.setAttribute("tabindex","0"),e.setAttribute("role","switch"),e.setAttribute("aria-checked",t.checked?"true":"false");let n=document.createElement("span");n.className="toggle-switch",n.setAttribute("role","presentation"),n.setAttribute("aria-hidden","true");let o=document.createElement("span");o.className="toggle-knob",n.appendChild(o),e.insertBefore(n,t.nextSibling);let r=()=>{e.setAttribute("aria-checked",t.checked?"true":"false")},s=()=>{t.disabled||(t.checked=!t.checked,r(),t.dispatchEvent(new Event("input",{bubbles:!0})),t.dispatchEvent(new Event("change",{bubbles:!0})))};e.addEventListener("click",i=>{i.preventDefault(),s()}),e.addEventListener("keydown",i=>{(i.key===" "||i.key==="Enter")&&(i.preventDefault(),s())}),t.addEventListener("change",r)}function Fe(e){if(e.dataset.enhancedColorInput)return;let t=e.querySelector('input[type="color"]');if(!t)return;e.dataset.enhancedColorInput="true";let n=e.querySelector(":scope > .color-control"),o=e.querySelector(":scope > .color-control > .color-swatch"),r=e.querySelector(":scope > .color-control > output");n||(n=document.createElement("span"),n.className="color-control",t.before(n)),o||(o=document.createElement("span"),o.className="color-swatch",n.appendChild(o)),t.parentElement!==o&&o.appendChild(t),r||(r=document.createElement("output"),n.appendChild(r));let s=()=>{if(t.dataset.colorUnset==="1"){r.value="",r.textContent=z("not set"),n.dataset.value="",n.dataset.unset="1",o.dataset.unset="1";return}r.value=t.value,r.textContent=t.value,n.dataset.value=t.value,delete n.dataset.unset,delete o.dataset.unset};s();let i=()=>{t.dataset.colorUnset==="1"&&(t.dataset.colorUnset="0"),s()};t.addEventListener("input",i,{passive:!0}),t.addEventListener("change",i,{passive:!0})}function Ie(e){if(e.dataset.enhancedRange)return;let t=i=>{if(e.dataset.enhancedRangeProgrammatic)return;e.dataset.enhancedRangeProgrammatic="1";let a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),"value")||Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value");a?.get&&a?.set&&Object.defineProperty(e,"value",{configurable:!0,enumerable:a.enumerable,get(){return a.get.call(this)},set(c){a.set.call(this,c),i()}}),new MutationObserver(c=>{c.some(f=>{let y=f.attributeName;return y==="value"||y==="min"||y==="max"})&&i()}).observe(e,{attributes:!0,attributeFilter:["value","min","max"]})},n=e.closest("label"),o=n?.classList.contains("range-output"),r=e.id||`range-${Math.random().toString(36).substring(2,11)}`,s=`${r}-output`;if(e.id=r,o){let i=n.querySelector("span");if(i&&!i.classList.contains("range-output-wrapper")){let a=document.createElement("span");a.className="range-output-wrapper",a.style.display="flex",a.style.justifyContent="space-between",a.style.alignItems="center";let d=document.createElement("span");d.textContent=i.textContent,a.appendChild(d);let c=document.createElement("output");c.id=s,c.setAttribute("for",r),c.style.color="var(--surface-text-secondary, var(--color-text-secondary))",c.style.fontSize="0.875rem",c.textContent=e.value,a.appendChild(c),i.textContent="",i.appendChild(a);let p=()=>{c.textContent=e.value};e.addEventListener("input",p),e.addEventListener("change",p),t(p),p()}}else{let i=e.closest(".range-container");i||(i=document.createElement("div"),i.className="range-container",e.parentNode?.insertBefore(i,e),i.appendChild(e)),i.style.position="relative";let a=document.createElement("output");a.id=s,a.setAttribute("for",r),a.className="range-bubble",a.setAttribute("aria-live","polite"),i.appendChild(a);let d=()=>{let f=parseFloat(e.min)||0,y=parseFloat(e.max)||100,b=parseFloat(e.value),m=(b-f)/(y-f);a.style.left=`calc(${m*100}% )`,a.textContent=String(b)},c=()=>a.classList.add("visible"),p=()=>a.classList.remove("visible");e.addEventListener("input",d),e.addEventListener("pointerdown",c),e.addEventListener("pointerup",p),e.addEventListener("pointerleave",p),e.addEventListener("focus",c),e.addEventListener("blur",p),e.addEventListener("change",d),t(d),d()}e.dataset.enhancedRange="1"}function $e(e){if(e.dataset.enhancedRequired)return;e.dataset.enhancedRequired="true";let t=n=>{let o;if(n.closest("[role$=group]")?o=n.closest("[role$=group]").querySelector("legend"):o=n.closest("label"),!o||o.querySelector(".required-asterisk"))return;let r=document.createElement("span");r.classList.add("required-asterisk"),r.textContent="*",r.style.marginLeft="4px";let s=o.querySelector("span, [data-label]");if(s)s.appendChild(r);else{let a=o.querySelector("input, select, textarea");a?o.insertBefore(r,a):o.appendChild(r)}let i=n.closest("form");if(i&&!i.querySelector(".required-legend")){let a=document.createElement("small");a.classList.add("required-legend"),a.textContent=z("* Required fields"),i.insertBefore(a,i.querySelector(".form-actions")||i.lastElementChild)}};e.querySelectorAll("[required]").forEach(n=>{t(n)})}function We(e){if(e.dataset.enhancedOpenGroup)return;e.dataset.enhancedOpenGroup="true",e.classList.add("flex","flex-wrap","buttons");let t=document.createElement("input");t.type="text",t.placeholder=z("Add item..."),t.classList.add("input-text","input-sm"),t.style.width="auto";let n=()=>e.querySelector('input[type="radio"], input[type="checkbox"]');e.appendChild(t),t.addEventListener("keydown",o=>{if(o.key==="Enter"||o.key==="Tab"){let r=t.value.trim();if(r){o.preventDefault();let s=n(),i=s?.type==="radio"?"radio":"checkbox",a=`open-group-${Math.random().toString(36).substring(2,11)}`,d=document.createElement("label"),c=document.createElement("span");c.setAttribute("data-label",""),c.textContent=r;let p=document.createElement("input");p.type=i,p.name=s?.name||e.getAttribute("data-name")||"open-group",p.value=r,p.id=a,d.appendChild(c),d.appendChild(p),e.insertBefore(d,t),t.value=""}}else if(o.key==="Backspace"&&t.value===""){o.preventDefault();let r=e.querySelectorAll("label");r.length>0&&r[r.length-1].remove()}})}function je(e){if(e.dataset.enhancedClip)return;e.dataset.enhancedClip="true",e.hasAttribute("tabindex")||e.setAttribute("tabindex","0"),e.hasAttribute("role")||e.setAttribute("role","button");let t=()=>{let o=e.getAttribute("data-clip-open")==="true";e.setAttribute("aria-expanded",o?"true":"false")},n=()=>{let o=e.getAttribute("data-clip-open")==="true";e.setAttribute("data-clip-open",o?"false":"true"),t()};e.addEventListener("click",o=>{o.defaultPrevented||n()}),e.addEventListener("keydown",o=>{(o.key===" "||o.key==="Enter")&&(o.preventDefault(),n())}),t()}function Ve(e){if(e.dataset.enhancedBtnWorking)return;e.dataset.enhancedBtnWorking="true";let t=null,n=!1;new MutationObserver(r=>{r.forEach(s=>{if(s.attributeName==="class"){let i=e.classList.contains("btn-working"),a=e.querySelector("pds-icon");if(i)if(a)t||(t=a.getAttribute("icon")),a.setAttribute("icon","circle-notch");else{let d=document.createElement("pds-icon");d.setAttribute("icon","circle-notch"),d.setAttribute("size","sm"),e.insertBefore(d,e.firstChild),n=!0}else s.oldValue?.includes("btn-working")&&a&&(n?(a.remove(),n=!1):t&&(a.setAttribute("icon",t),t=null))}})}).observe(e,{attributes:!0,attributeFilter:["class"],attributeOldValue:!0})}var Ne=new Map([[".accordion",Ke],["nav[data-dropdown]",ze],["label[data-toggle]",De],["label[data-color]",Fe],['input[type="range"]',Ie],["form[data-required]",$e],["fieldset[role=group][data-open]",We],["[data-clip]",je],["button, a[class*='btn-']",Ve]]),He=Re.map(e=>({...e,run:Ne.get(e.selector)||(()=>{})}));export{He as defaultPDSEnhancers};
@@ -1 +1 @@
1
- var W=new Set(["log","warn","error","debug","info"]),F="__PURE_DS_PDS_SINGLETON__",j=null,M=null;function q(){try{let t=(typeof globalThis<"u"?globalThis:window)?.[F];if(t&&typeof t=="object")return t}catch{return null}return null}function k(e){return!e||typeof e!="object"?null:{mode:e.mode==="live"||e.mode==="static"?e.mode:null,debug:e.debug===!0,thisArg:e.thisArg}}function N(e){if(typeof e!="string")return"log";let t=e.toLowerCase();return W.has(t)?t:"log"}function U(){if(typeof M=="function")try{let t=k(M());if(t)return t}catch{}let e=q();if(e){let t=e?.mode||e?.compiled?.mode||(e?.registry?.isLive?"live":"static"),n=(e?.debug||e?.currentConfig?.debug||e?.currentConfig?.design?.debug||e?.compiled?.debug||e?.compiled?.design?.debug||!1)===!0;return{mode:t,debug:n,thisArg:e}}return{mode:null,debug:!1}}function G(){if(typeof j=="function")try{let t=j();if(typeof t=="function")return t}catch{}let e=q();return typeof e?.logHandler=="function"?e.logHandler:null}function P(e,t,...n){if(typeof console>"u")return;let o=typeof console[e]=="function"?console[e].bind(console):typeof console.log=="function"?console.log.bind(console):null;o&&(n.length>0?o(t,...n):o(t))}function H(e,t){let n=t?.debug===!0;return!(t?.mode==="static"&&!n||!n&&e!=="error"&&e!=="warn")}function $(e="log",t,...n){let o=N(e),s=U(),l=G();if(l)try{l.call(s?.thisArg,o,t,...n);return}catch(a){P("error","Custom log handler failed:",a)}H(o,s)&&P(o,t,...n)}var D="en",r={defaultLocale:D,provider:null,messagesByLocale:new Map,loadingByLocale:new Map,observer:null,reconcileTimer:null,requestedKeys:new Set,textNodeKeyMap:new WeakMap,valueToKeys:new Map,missingWarnings:new Set},J=e=>!!e&&typeof e!="string"&&typeof e=="object"&&"strTag"in e;function _(e){return String(e||"").trim().toLowerCase()}function X(e){let t=_(e);return t?t.split("-")[0]||t:""}function m(e){let t=_(e);return t||r.defaultLocale}function Y(e){let t="";for(let n=0;n<=e.length-1;n+=1)t+=e[n],n<e.length-1&&(t+=`{${n}}`);return t}function T(e,t){return String(e).replace(/\{(\d+)\}/g,(n,o)=>t(Number(o)))}function A(e){if(!e||typeof e!="object")return{};let t={};for(let[n,o]of Object.entries(e)){if(typeof o=="string"){t[n]=o;continue}o&&typeof o=="object"&&typeof o.content=="string"&&(t[n]=o.content)}return t}function Q(e){let t=e&&typeof e.provider=="object"&&e.provider?e.provider:null,n=typeof e?.translate=="function"?e.translate:typeof t?.translate=="function"?t.translate:null,o=typeof e?.loadLocale=="function"?e.loadLocale:typeof t?.loadLocale=="function"?t.loadLocale:null,s=typeof e?.setLocale=="function"?e.setLocale:typeof t?.setLocale=="function"?t.setLocale:null;return!n&&!o&&!s?null:{translate:n,loadLocale:o,setLocale:s}}function Z(e){let t=_(e);if(!t)return[r.defaultLocale];let n=X(t);return!n||n===t?[t]:[t,n]}function E(e,t){let n=m(e);r.messagesByLocale.set(n,A(t))}function R(e){typeof e=="string"&&e.length>0&&r.requestedKeys.add(e)}function C(e,t){if(typeof e!="string"||!e.length)return;let n=typeof t=="string"?t:String(t||"");n.length&&(r.valueToKeys.has(n)||r.valueToKeys.set(n,new Set),r.valueToKeys.get(n).add(e))}function b(e){let t=Z(e);for(let n of t)if(r.messagesByLocale.has(n))return{locale:n,messages:r.messagesByLocale.get(n)};return null}async function S(e,t="explicit"){let n=m(e),o=b(n);if(o)return o.messages;let s=n;if(r.loadingByLocale.has(s))return r.loadingByLocale.get(s);if(!r.provider)return{};let l=r.provider.loadLocale||r.provider.setLocale||null;if(typeof l!="function")return{};let a={locale:n,defaultLocale:r.defaultLocale,reason:t,loadedLocales:Array.from(r.messagesByLocale.keys()),messages:{...b(n)?.messages||{}},load:t==="set-default"||t==="explicit-load"},u;try{u=l(a)}catch{return{}}if(u&&typeof u.then=="function"){let i=u.then(g=>{let c=A(g);return E(n,c),c}).catch(()=>({})).finally(()=>{r.loadingByLocale.delete(s)});return r.loadingByLocale.set(s,i),i}let d=A(u);return E(n,d),d}function ee(e){if(!e||typeof e!="object")return"";let n=typeof Element<"u"&&e instanceof Element||e?.nodeType===1?e:null;if(!n)return"";if(n.hasAttribute?.("lang"))return _(n.getAttribute("lang"));let o=n.closest?.("[lang]");return o&&o.getAttribute?_(o.getAttribute("lang")):""}function B(e={}){if(typeof e?.lang=="string"&&e.lang.trim())return m(e.lang);let t=e?.element||e?.scope||e?.host||e?.contextElement||null,n=ee(t);if(n)return m(n);if(typeof document<"u"&&document.documentElement){let o=_(document.documentElement.getAttribute("lang"));if(o)return m(o)}return r.defaultLocale}function te(){let e=new Set([r.defaultLocale]);if(typeof document>"u")return e;let t=_(document.documentElement?.getAttribute?.("lang"));t&&e.add(m(t));let n=document.querySelectorAll?.("[lang]")||[];for(let o of n){let s=_(o.getAttribute("lang"));s&&e.add(m(s))}return e}async function ne(e){for(let t of e)await S(t,"lang-detected")}function oe(e){for(let t of Array.from(r.messagesByLocale.keys()))e.has(t)||r.messagesByLocale.delete(t)}function re(e){let t=String(e||""),n=(t.match(/^\s*/)||[""])[0],o=(t.match(/\s*$/)||[""])[0],s=n.length,l=t.length-o.length,a=l>=s?t.slice(s,l):"";return{leading:n,core:a,trailing:o}}function V(e){return String(e||"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function se(e,t){let n=typeof e=="string"?e:String(e||""),o=typeof t=="string"?t:String(t||""),s=/\{(\d+)\}/g,l=Array.from(n.matchAll(s));if(!l.length)return n===o?[]:null;let a=[],u="^",d=0;for(let c of l){let f=c.index??0;u+=V(n.slice(d,f)),u+="([\\s\\S]*?)",a.push(Number(c[1])),d=f+c[0].length}u+=V(n.slice(d)),u+="$";let i=new RegExp(u).exec(o);if(!i)return null;let g=[];for(let c=1;c<i.length;c+=1){let f=a[c-1],y=i[c];if(Object.prototype.hasOwnProperty.call(g,f)&&g[f]!==y)return null;g[f]=y}return g}function I(e,t){if(typeof e!="string"||!e.length)return[];let n=[e];for(let[,o]of r.messagesByLocale.entries()){let s=o?.[e];typeof s=="string"&&s.length&&n.push(s)}for(let o of n){let s=se(o,t);if(s)return s}return[]}function le(e){if(!e)return null;let t=r.valueToKeys.get(e);if(t&&t.size>0){for(let o of t)if(r.requestedKeys.has(o))return o}if(r.requestedKeys.has(e))return e;let n=Array.from(r.messagesByLocale.entries());for(let o of r.requestedKeys)for(let[,s]of n)if(s&&s[o]===e)return o;return null}function ce(e){if(!e)return null;let t=null;for(let[n,o]of r.valueToKeys.entries()){if(typeof n!="string"||!n.length||n===e)continue;let s=e.indexOf(n);if(s!==-1)for(let l of o){if(!r.requestedKeys.has(l))continue;let a=I(l,n),u={key:l,matchedText:n,start:s,end:s+n.length,values:a};(!t||u.matchedText.length>t.matchedText.length)&&(t=u);break}}return t}async function ae(e){if(!e||e.nodeType!==3)return;let t=e.parentElement||null;if(!t)return;let{leading:n,core:o,trailing:s}=re(e.nodeValue);if(!o)return;let l=r.textNodeKeyMap.get(e)||null;if((!l||!r.requestedKeys.has(l))&&(l=le(o)),!l){let c=ce(o);if(!c)return;let f=B({element:t});await S(f,"text-node");let y=x(c.key,c.values,{element:t},null),p=c.values.length?T(y,w=>c.values[w]):y,L=o.slice(0,c.start)+p+o.slice(c.end),h=`${n}${L}${s}`;h!==e.nodeValue&&(e.nodeValue=h);return}r.textNodeKeyMap.set(e,l);let a=B({element:t});await S(a,"text-node");let u=I(l,o),d=x(l,u,{element:t},null),i=u.length?T(d,c=>u[c]):d,g=`${n}${i}${s}`;g!==e.nodeValue&&(e.nodeValue=g)}async function ie(){if(typeof document>"u"||r.requestedKeys.size===0)return;let e=document.body||document.documentElement;if(!e||typeof document.createTreeWalker!="function")return;let t=[],n=new Set,o=l=>{!l||n.has(l)||(n.add(l),t.push(l))};o(e);for(let l=0;l<t.length;l+=1){let a=t[l];if(!a||typeof a.querySelectorAll!="function")continue;let u=a.querySelectorAll("*");for(let d of u){let i=d?.shadowRoot;i&&o(i)}}let s=[];for(let l of t){let a=document.createTreeWalker(l,NodeFilter.SHOW_TEXT);for(;a.nextNode();)s.push(a.currentNode)}for(let l of s)await ae(l)}async function ue(){let e=te();await ne(e),await ie(),oe(e)}function z(){typeof window>"u"||(r.reconcileTimer&&clearTimeout(r.reconcileTimer),r.reconcileTimer=setTimeout(()=>{r.reconcileTimer=null,ue()},16))}function fe(){if(typeof window>"u"||typeof document>"u"||(r.observer&&(r.observer.disconnect(),r.observer=null),typeof MutationObserver!="function"))return;let e=new MutationObserver(()=>{z()});e.observe(document.documentElement,{attributes:!0,attributeFilter:["lang"],childList:!0,characterData:!0,subtree:!0}),r.observer=e}function x(e,t=[],n={},o=null){let s=B(n),l=b(s);l||S(s,"msg");let a=b(s)?.messages||{},u=b(r.defaultLocale)?.messages||{},d={key:e,values:t,options:n,locale:s,defaultLocale:r.defaultLocale,messages:a,messagesByLocale:Object.fromEntries(Array.from(r.messagesByLocale.entries())),template:o},i,g=!!l,c=s===r.defaultLocale;typeof r.provider?.translate=="function"&&(i=r.provider.translate(d));let f=null;if(i==null&&(i=a[e]),i==null&&(i=u[e],f=i==null?null:"default"),i==null&&(i=e,f="key"),g&&!c&&f){let p=`${s}::${e}`;r.missingWarnings.has(p)||(r.missingWarnings.add(p),$("warn",`[i18n] Missing translation for locale "${s}" and key "${e}"; using ${f} fallback.`))}let y=typeof i=="string"?i:String(i);if(C(e,y),Array.isArray(t)&&t.length>0){let p=T(y,L=>t[L]);p!==y&&C(e,p)}return y}function K(){let e=b(r.defaultLocale);return{locale:r.defaultLocale,messages:{...e?.messages||{}},loadedLocales:Array.from(r.messagesByLocale.keys()),hasProvider:!!r.provider}}function de(e=null){return r.observer&&(r.observer.disconnect(),r.observer=null),r.reconcileTimer&&(clearTimeout(r.reconcileTimer),r.reconcileTimer=null),r.defaultLocale=D,r.provider=null,r.messagesByLocale.clear(),r.loadingByLocale.clear(),r.requestedKeys.clear(),r.textNodeKeyMap=new WeakMap,r.valueToKeys.clear(),r.missingWarnings.clear(),!e||typeof e!="object"||(typeof e.locale=="string"&&e.locale.trim()&&(r.defaultLocale=m(e.locale)),Object.prototype.hasOwnProperty.call(e,"messages")&&E(r.defaultLocale,e.messages),(Object.prototype.hasOwnProperty.call(e,"provider")||Object.prototype.hasOwnProperty.call(e,"translate")||Object.prototype.hasOwnProperty.call(e,"loadLocale")||Object.prototype.hasOwnProperty.call(e,"setLocale"))&&(r.provider=Q(e)),fe(),z()),K()}async function ge(e){let t=m(e);return await S(t,"explicit-load"),{...b(t)?.messages||{}}}async function pe(e,{load:t=!0}={}){return r.defaultLocale=m(e),t&&await S(r.defaultLocale,"set-default"),z(),r.defaultLocale}var ye=(e,t,n={})=>{let o=Y(e);R(o);let s=x(o,t,n,{strings:e,values:t});return T(s,l=>t[l])},me=(e,...t)=>({strTag:!0,strings:Array.from(e),values:t,raw:Array.from(e?.raw||[])}),Le=(e,t={})=>{if(!e)return"";if(J(e))return ye(e.strings,e.values,t);let n=String(e);R(n);let o=x(n,[],t,null);return!t?.element&&!t?.scope&&!t?.host&&!t?.contextElement&&!t?.lang&&z(),o};function v(e){return String(e||"").trim().toLowerCase()}function O(e){return v(e).split("-")[0]||""}function he(e,t){let n=[],o=new Set,s=l=>{let a=v(l);!a||o.has(a)||(o.add(a),n.push(a))};return Array.isArray(e)&&e.forEach(s),s(t),n}function _e(e={}){let t={};return!e||typeof e!="object"||Object.entries(e).forEach(([n,o])=>{let s=v(n);if(!s)return;let l=[],a=new Set;Array.isArray(o)&&o.forEach(u=>{if(typeof u!="string")return;let d=u.trim();if(!d)return;let i=d.toLowerCase();a.has(i)||(a.add(i),l.push(d))}),t[s]=l}),t}function be(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function we(e){let t=typeof e=="string"?e.trim():"";return t?t==="/"?"":t.replace(/\/+$/,""):"/assets/locales"}function Se({locale:e,effectiveLocale:t,defaultLocale:n,aliases:o}){let s=[],l=new Set,a=c=>{if(typeof c!="string")return;let f=c.trim();if(!f)return;let y=f.toLowerCase();l.has(y)||(l.add(y),s.push(f))},u=c=>{let f=Array.isArray(o?.[c])?o[c]:[];if(!f.length)return;[...f].sort((p,L)=>{let h=String(p||"").includes("-"),w=String(L||"").includes("-");return h===w?0:h?-1:1}).forEach(a)},d=v(e),i=O(d),g=O(t);return u(d),u(i),u(t),u(g),a(e),a(d),a(i),a(t),a(g),t!==n&&(u(n),a(n)),s}function ve(e={}){let t=v(e?.locale||"en")||"en",n=he(e?.locales,t),o=new Set(n),s=_e(e?.aliases||{}),l=e?.cache instanceof Map?e.cache:new Map,a=we(e?.basePath),u=e?.requestInit&&typeof e.requestInit=="object"?e.requestInit:{},d=g=>{let c=v(g);if(!c)return t;if(o.has(c))return c;let f=O(c);return o.has(f)?f:t},i=async({locale:g})=>{let c=d(g);if(l.has(c))return l.get(c)||{};if(c===t){let p={};return l.set(c,p),p}if(typeof fetch!="function"){let p={};return l.set(c,p),p}let f=Se({locale:g,effectiveLocale:c,defaultLocale:t,aliases:s});for(let p of f)try{let L=a?`${a}/${p}.json`:`/${p}.json`,h=await fetch(L,{headers:{Accept:"application/json"},...u});if(!h.ok)continue;let w=be(await h.json());return l.set(c,w),w}catch{}let y={};return l.set(c,y),y};return{locale:t,locales:[...n],provider:{locales:[...n],loadLocale:i}}}export{de as configureLocalization,ve as createJSONLocalization,K as getLocalizationState,ge as loadLocale,Le as msg,pe as setLocale,me as str};
1
+ var U=new Set(["log","warn","error","debug","info"]),G="__PURE_DS_PDS_SINGLETON__",j=null,P=null;function C(){try{let t=(typeof globalThis<"u"?globalThis:window)?.[G];if(t&&typeof t=="object")return t}catch{return null}return null}function N(e){return!e||typeof e!="object"?null:{mode:e.mode==="live"||e.mode==="static"?e.mode:null,debug:e.debug===!0,thisArg:e.thisArg}}function H(e){if(typeof e!="string")return"log";let t=e.toLowerCase();return U.has(t)?t:"log"}function J(){if(typeof P=="function")try{let t=N(P());if(t)return t}catch{}let e=C();if(e){let t=e?.mode||e?.compiled?.mode||(e?.registry?.isLive?"live":"static"),n=(e?.debug||e?.currentConfig?.debug||e?.currentConfig?.design?.debug||e?.compiled?.debug||e?.compiled?.design?.debug||!1)===!0;return{mode:t,debug:n,thisArg:e}}return{mode:null,debug:!1}}function X(){if(typeof j=="function")try{let t=j();if(typeof t=="function")return t}catch{}let e=C();return typeof e?.logHandler=="function"?e.logHandler:null}function $(e,t,...n){if(typeof console>"u")return;let o=typeof console[e]=="function"?console[e].bind(console):typeof console.log=="function"?console.log.bind(console):null;o&&(n.length>0?o(t,...n):o(t))}function Y(e,t){let n=t?.debug===!0;return!(t?.mode==="static"&&!n||!n&&e!=="error"&&e!=="warn")}function k(e="log",t,...n){let o=H(e),r=J(),l=X();if(l)try{l.call(r?.thisArg,o,t,...n);return}catch(c){$("error","Custom log handler failed:",c)}Y(o,r)&&$(o,t,...n)}var D="en",s={defaultLocale:D,provider:null,messagesByLocale:new Map,loadingByLocale:new Map,observer:null,reconcileTimer:null,requestedKeys:new Set,textNodeKeyMap:new WeakMap,attributeKeyMap:new WeakMap,valueToKeys:new Map,missingWarnings:new Set},Z=["title","placeholder","aria-label","aria-description","aria-placeholder","aria-roledescription","alt","label"],Q=e=>!!e&&typeof e!="string"&&typeof e=="object"&&"strTag"in e;function h(e){return String(e||"").trim().toLowerCase()}function ee(e){let t=h(e);return t?t.split("-")[0]||t:""}function L(e){let t=h(e);if(!t)return s.defaultLocale;let n=s.provider?.resolveLocale;if(typeof n=="function"){let o=h(n(e));if(o)return o}return t}function te(e){let t="";for(let n=0;n<=e.length-1;n+=1)t+=e[n],n<e.length-1&&(t+=`{${n}}`);return t}function S(e,t){return String(e).replace(/\{(\d+)\}/g,(n,o)=>t(Number(o)))}function E(e){if(!e||typeof e!="object")return{};let t={};for(let[n,o]of Object.entries(e)){if(typeof o=="string"){t[n]=o;continue}o&&typeof o=="object"&&typeof o.content=="string"&&(t[n]=o.content)}return t}function ne(e){let t=e&&typeof e.provider=="object"&&e.provider?e.provider:null,n=typeof e?.translate=="function"?e.translate:typeof t?.translate=="function"?t.translate:null,o=typeof e?.loadLocale=="function"?e.loadLocale:typeof t?.loadLocale=="function"?t.loadLocale:null,r=typeof e?.setLocale=="function"?e.setLocale:typeof t?.setLocale=="function"?t.setLocale:null,l=typeof e?.resolveLocale=="function"?e.resolveLocale:typeof t?.resolveLocale=="function"?t.resolveLocale:null;return!n&&!o&&!r&&!l?null:{translate:n,loadLocale:o,setLocale:r,resolveLocale:l}}function oe(e){let t=h(e);if(!t)return[s.defaultLocale];let n=ee(t);return!n||n===t?[t]:[t,n]}function K(e,t){let n=L(e);s.messagesByLocale.set(n,E(t))}function I(e){typeof e=="string"&&e.length>0&&s.requestedKeys.add(e)}function R(e,t){if(typeof e!="string"||!e.length)return;let n=typeof t=="string"?t:String(t||"");n.length&&(s.valueToKeys.has(n)||s.valueToKeys.set(n,new Set),s.valueToKeys.get(n).add(e))}function w(e){let t=oe(e);for(let n of t)if(s.messagesByLocale.has(n))return{locale:n,messages:s.messagesByLocale.get(n)};return null}async function b(e,t="explicit"){let n=L(e),o=w(n);if(o)return o.messages;let r=n;if(s.loadingByLocale.has(r))return s.loadingByLocale.get(r);if(!s.provider)return{};let l=s.provider.loadLocale||s.provider.setLocale||null;if(typeof l!="function")return{};let c={locale:n,defaultLocale:s.defaultLocale,reason:t,loadedLocales:Array.from(s.messagesByLocale.keys()),messages:{...w(n)?.messages||{}},load:t==="set-default"||t==="explicit-load"},i;try{i=l(c)}catch{return{}}if(i&&typeof i.then=="function"){let a=i.then(p=>{let u=E(p);return K(n,u),u}).catch(()=>({})).finally(()=>{s.loadingByLocale.delete(r)});return s.loadingByLocale.set(r,a),a}let d=E(i);return K(n,d),d}function re(e){if(!e||typeof e!="object")return"";let n=typeof Element<"u"&&e instanceof Element||e?.nodeType===1?e:null;if(!n)return"";if(n.hasAttribute?.("lang"))return h(n.getAttribute("lang"));let o=n.closest?.("[lang]");return o&&o.getAttribute?h(o.getAttribute("lang")):""}function x(e={}){if(typeof e?.lang=="string"&&e.lang.trim())return L(e.lang);let t=e?.element||e?.scope||e?.host||e?.contextElement||null,n=re(t);if(n)return L(n);if(typeof document<"u"&&document.documentElement){let o=h(document.documentElement.getAttribute("lang"));if(o)return L(o)}return s.defaultLocale}function se(){let e=new Set([s.defaultLocale]);if(typeof document>"u")return e;let t=h(document.documentElement?.getAttribute?.("lang"));t&&e.add(L(t));let n=document.querySelectorAll?.("[lang]")||[];for(let o of n){let r=h(o.getAttribute("lang"));r&&e.add(L(r))}return e}async function le(e){for(let t of e)await b(t,"lang-detected")}function ce(e){for(let t of Array.from(s.messagesByLocale.keys()))e.has(t)||s.messagesByLocale.delete(t)}function ae(e){let t=String(e||""),n=(t.match(/^\s*/)||[""])[0],o=(t.match(/\s*$/)||[""])[0],r=n.length,l=t.length-o.length,c=l>=r?t.slice(r,l):"";return{leading:n,core:c,trailing:o}}function V(e){return String(e||"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ie(e,t){let n=typeof e=="string"?e:String(e||""),o=typeof t=="string"?t:String(t||""),r=/\{(\d+)\}/g,l=Array.from(n.matchAll(r));if(!l.length)return n===o?[]:null;let c=[],i="^",d=0;for(let u of l){let f=u.index??0;i+=V(n.slice(d,f)),i+="([\\s\\S]*?)",c.push(Number(u[1])),d=f+u[0].length}i+=V(n.slice(d)),i+="$";let a=new RegExp(i).exec(o);if(!a)return null;let p=[];for(let u=1;u<a.length;u+=1){let f=c[u-1],g=a[u];if(Object.prototype.hasOwnProperty.call(p,f)&&p[f]!==g)return null;p[f]=g}return p}function B(e,t){if(typeof e!="string"||!e.length)return[];let n=[e];for(let[,o]of s.messagesByLocale.entries()){let r=o?.[e];typeof r=="string"&&r.length&&n.push(r)}for(let o of n){let r=ie(o,t);if(r)return r}return[]}function W(e){if(!e)return null;let t=s.valueToKeys.get(e);if(t&&t.size>0){for(let o of t)if(s.requestedKeys.has(o))return o}if(s.requestedKeys.has(e))return e;let n=Array.from(s.messagesByLocale.entries());for(let o of s.requestedKeys)for(let[,r]of n)if(r&&r[o]===e)return o;return null}function F(e){if(!e)return null;let t=null;for(let[n,o]of s.valueToKeys.entries()){if(typeof n!="string"||!n.length||n===e)continue;let r=e.indexOf(n);if(r!==-1)for(let l of o){if(!s.requestedKeys.has(l))continue;let c=B(l,n),i={key:l,matchedText:n,start:r,end:r+n.length,values:c};(!t||i.matchedText.length>t.matchedText.length)&&(t=i);break}}return t}async function ue(e){if(!e||e.nodeType!==3)return;let t=e.parentElement||null;if(!t)return;let{leading:n,core:o,trailing:r}=ae(e.nodeValue);if(!o)return;let l=s.textNodeKeyMap.get(e)||null;if((!l||!s.requestedKeys.has(l))&&(l=W(o)),!l){let u=F(o);if(!u)return;let f=x({element:t});await b(f,"text-node");let g=T(u.key,u.values,{element:t},null),y=u.values.length?S(g,A=>u.values[A]):g,m=o.slice(0,u.start)+y+o.slice(u.end),_=`${n}${m}${r}`;_!==e.nodeValue&&(e.nodeValue=_);return}s.textNodeKeyMap.set(e,l);let c=x({element:t});await b(c,"text-node");let i=B(l,o),d=T(l,i,{element:t},null),a=i.length?S(d,u=>i[u]):d,p=`${n}${a}${r}`;p!==e.nodeValue&&(e.nodeValue=p)}async function fe(){if(typeof document>"u"||s.requestedKeys.size===0)return;let e=document.body||document.documentElement;if(!e||typeof document.createTreeWalker!="function")return;let t=[],n=new Set,o=l=>{!l||n.has(l)||(n.add(l),t.push(l))};o(e);for(let l=0;l<t.length;l+=1){let c=t[l];if(!c||typeof c.querySelectorAll!="function")continue;let i=c.querySelectorAll("*");for(let d of i){let a=d?.shadowRoot;a&&o(a)}}let r=[];for(let l of t){let c=document.createTreeWalker(l,NodeFilter.SHOW_TEXT);for(;c.nextNode();)r.push(c.currentNode)}for(let l of r)await ue(l)}function de(e){let t=s.attributeKeyMap.get(e);return t||(t=new Map,s.attributeKeyMap.set(e,t)),t}async function ge(e,t){if(!e||typeof e.getAttribute!="function")return;let n=e.getAttribute(t);if(typeof n!="string"||!n.length)return;let o=de(e),r=o.get(t)||null;if((!r||!s.requestedKeys.has(r))&&(r=W(n)),!r){let a=F(n);if(!a)return;let p=x({element:e});await b(p,"attribute");let u=T(a.key,a.values,{element:e},null),f=a.values.length?S(u,y=>a.values[y]):u,g=n.slice(0,a.start)+f+n.slice(a.end);g!==n&&e.setAttribute(t,g),o.set(t,a.key);return}o.set(t,r);let l=x({element:e});await b(l,"attribute");let c=B(r,n),i=T(r,c,{element:e},null),d=c.length?S(i,a=>c[a]):i;d!==n&&e.setAttribute(t,d)}async function pe(){if(typeof document>"u"||s.requestedKeys.size===0)return;let e=document.body||document.documentElement;if(!e)return;let t=[],n=new Set,o=r=>{!r||n.has(r)||(n.add(r),t.push(r))};o(e);for(let r=0;r<t.length;r+=1){let l=t[r];if(!l||typeof l.querySelectorAll!="function")continue;let c=l.querySelectorAll("*");for(let i of c){let d=i?.shadowRoot;d&&o(d)}}for(let r of t){if(!r||typeof r.querySelectorAll!="function")continue;let l=r.querySelectorAll("*");for(let c of l)for(let i of Z)c.hasAttribute(i)&&await ge(c,i)}}async function ye(){let e=se();await le(e),await fe(),await pe(),ce(e)}function z(){typeof window>"u"||(s.reconcileTimer&&clearTimeout(s.reconcileTimer),s.reconcileTimer=setTimeout(()=>{s.reconcileTimer=null,ye()},16))}function me(){if(typeof window>"u"||typeof document>"u"||(s.observer&&(s.observer.disconnect(),s.observer=null),typeof MutationObserver!="function"))return;let e=new MutationObserver(()=>{z()});e.observe(document.documentElement,{attributes:!0,attributeFilter:["lang"],childList:!0,characterData:!0,subtree:!0}),s.observer=e}function T(e,t=[],n={},o=null){let r=x(n),l=w(r);l||b(r,"msg");let c=w(r)?.messages||{},i=w(s.defaultLocale)?.messages||{},d={key:e,values:t,options:n,locale:r,defaultLocale:s.defaultLocale,messages:c,messagesByLocale:Object.fromEntries(Array.from(s.messagesByLocale.entries())),template:o},a,p=!!l,u=r===s.defaultLocale;typeof s.provider?.translate=="function"&&(a=s.provider.translate(d));let f=null;if(a==null&&(a=c[e]),a==null&&(a=i[e],f=a==null?null:"default"),a==null&&(a=e,f="key"),p&&!u&&f){let y=`${r}::${e}`;s.missingWarnings.has(y)||(s.missingWarnings.add(y),k("warn",`[i18n] Missing translation for locale "${r}" and key "${e}"; using ${f} fallback.`))}let g=typeof a=="string"?a:String(a);if(R(e,g),Array.isArray(t)&&t.length>0){let y=S(g,m=>t[m]);y!==g&&R(e,y)}return g}function M(){let e=w(s.defaultLocale);return{locale:s.defaultLocale,messages:{...e?.messages||{}},loadedLocales:Array.from(s.messagesByLocale.keys()),hasProvider:!!s.provider}}function Le(e=null){return s.observer&&(s.observer.disconnect(),s.observer=null),s.reconcileTimer&&(clearTimeout(s.reconcileTimer),s.reconcileTimer=null),s.defaultLocale=D,s.provider=null,s.messagesByLocale.clear(),s.loadingByLocale.clear(),s.requestedKeys.clear(),s.textNodeKeyMap=new WeakMap,s.attributeKeyMap=new WeakMap,s.valueToKeys.clear(),s.missingWarnings.clear(),!e||typeof e!="object"||(typeof e.locale=="string"&&e.locale.trim()&&(s.defaultLocale=L(e.locale)),Object.prototype.hasOwnProperty.call(e,"messages")&&K(s.defaultLocale,e.messages),(Object.prototype.hasOwnProperty.call(e,"provider")||Object.prototype.hasOwnProperty.call(e,"translate")||Object.prototype.hasOwnProperty.call(e,"loadLocale")||Object.prototype.hasOwnProperty.call(e,"setLocale")||Object.prototype.hasOwnProperty.call(e,"resolveLocale"))&&(s.provider=ne(e)),s.provider?.resolveLocale&&(s.defaultLocale=L(s.defaultLocale)),me(),z()),M()}async function he(e){let t=L(e);return await b(t,"explicit-load"),{...w(t)?.messages||{}}}async function _e(e,{load:t=!0}={}){return s.defaultLocale=L(e),t&&await b(s.defaultLocale,"set-default"),z(),s.defaultLocale}var be=(e,t,n={})=>{let o=te(e);I(o);let r=T(o,t,n,{strings:e,values:t});return S(r,l=>t[l])},we=(e,...t)=>({strTag:!0,strings:Array.from(e),values:t,raw:Array.from(e?.raw||[])}),ve=(e,t={})=>{if(!e)return"";if(Q(e))return be(e.strings,e.values,t);let n=String(e);I(n);let o=T(n,[],t,null);return!t?.element&&!t?.scope&&!t?.host&&!t?.contextElement&&!t?.lang&&z(),o};function v(e){return String(e||"").trim().toLowerCase()}function O(e){return v(e).split("-")[0]||""}function Ae(e,t){let n=[],o=new Set,r=l=>{let c=v(l);!c||o.has(c)||(o.add(c),n.push(c))};return Array.isArray(e)&&e.forEach(r),r(t),n}function Se(e={}){let t={};return!e||typeof e!="object"||Object.entries(e).forEach(([n,o])=>{let r=v(n);if(!r)return;let l=[],c=new Set;Array.isArray(o)&&o.forEach(i=>{if(typeof i!="string")return;let d=i.trim();if(!d)return;let a=d.toLowerCase();c.has(a)||(c.add(a),l.push(d))}),t[r]=l}),t}function Te(e,t,n){let o=Array.isArray(t?.[e])?t[e]:[];for(let r of o){let l=v(r);if(n.has(l))return l}return""}function xe({aliases:e,localeSet:t}){let n=new Map;for(let o of t)n.set(o,o);for(let o of Object.keys(e||{})){let r=Te(o,e,t);if(!r)throw new Error(`[i18n] Locale alias "${o}" does not map to any configured locale.`);n.set(o,r)}return n}function ze(e,{defaultLocale:t,aliasLookup:n}){let o=v(e);if(!o)return t;let r=n.get(o);if(r)return r;let l=O(o),c=l?n.get(l):"";if(c)return c;throw new Error(`[i18n] Locale alias "${e}" is not configured. Add an alias entry for "${l||o}".`)}function Ee(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function Ke(e){let t=typeof e=="string"?e.trim():"";return t?t==="/"?"":t.replace(/\/+$/,""):"/assets/locales"}function Me({locale:e,effectiveLocale:t,defaultLocale:n,aliases:o}){let r=[],l=new Set,c=u=>{if(typeof u!="string")return;let f=u.trim();if(!f)return;let g=f.toLowerCase();l.has(g)||(l.add(g),r.push(f))},i=u=>{let f=Array.isArray(o?.[u])?o[u]:[];if(!f.length)return;[...f].sort((y,m)=>{let _=String(y||"").includes("-"),A=String(m||"").includes("-");return _===A?0:_?-1:1}).forEach(c)},d=v(e),a=O(d),p=O(t);return i(d),i(a),i(t),i(p),c(e),c(d),c(a),c(t),c(p),t!==n&&(i(n),c(n)),r}function Be(e={}){let t=v(e?.locale||"en")||"en",n=Ae(e?.locales,t),o=new Set(n),r=Se(e?.aliases||{}),l=xe({aliases:r,localeSet:o}),c=e?.cache instanceof Map?e.cache:new Map,i=Ke(e?.basePath),d=e?.requestInit&&typeof e.requestInit=="object"?e.requestInit:{},a=u=>ze(u,{defaultLocale:t,aliasLookup:l}),p=async({locale:u})=>{let f=a(u);if(c.has(f))return c.get(f)||{};if(f===t){let m={};return c.set(f,m),m}if(typeof fetch!="function"){let m={};return c.set(f,m),m}let g=Me({locale:u,effectiveLocale:f,defaultLocale:t,aliases:r});for(let m of g)try{let _=i?`${i}/${m}.json`:`/${m}.json`,A=await fetch(_,{headers:{Accept:"application/json"},...d});if(!A.ok)continue;let q=Ee(await A.json());return c.set(f,q),q}catch{}let y={};return c.set(f,y),y};return{locale:t,locales:[...n],provider:{locales:[...n],resolveLocale:a,loadLocale:p}}}export{Le as configureLocalization,Be as createJSONLocalization,M as getLocalizationState,he as loadLocale,ve as msg,_e as setLocale,we as str};