@pure-ds/core 0.7.30 → 0.7.33
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.
- package/.github/copilot-instructions.md +20 -11
- package/LOCALIZATION.md +197 -0
- package/dist/types/pds.config.d.ts +1 -1
- package/dist/types/pds.config.d.ts.map +1 -1
- package/dist/types/pds.d.ts +150 -0
- package/dist/types/public/assets/pds/components/pds-form.d.ts +2 -2
- package/dist/types/public/assets/pds/components/pds-form.d.ts.map +1 -1
- package/dist/types/public/assets/pds/components/pds-omnibox.d.ts +2 -2
- package/dist/types/public/assets/pds/components/pds-omnibox.d.ts.map +1 -1
- package/dist/types/public/assets/pds/components/pds-rating.d.ts +1 -119
- package/dist/types/public/assets/pds/components/pds-rating.d.ts.map +1 -1
- package/dist/types/public/assets/pds/components/pds-treeview.d.ts.map +1 -1
- package/dist/types/public/assets/pds/components/pds-upload.d.ts.map +1 -1
- package/dist/types/src/js/common/ask.d.ts.map +1 -1
- package/dist/types/src/js/common/font-loader.d.ts.map +1 -1
- package/dist/types/src/js/common/localization-resource-provider.d.ts +49 -0
- package/dist/types/src/js/common/localization-resource-provider.d.ts.map +1 -0
- package/dist/types/src/js/common/localization.d.ts +25 -0
- package/dist/types/src/js/common/localization.d.ts.map +1 -0
- package/dist/types/src/js/common/msg.d.ts +1 -2
- package/dist/types/src/js/common/msg.d.ts.map +1 -1
- package/dist/types/src/js/common/pds-log.d.ts +3 -0
- package/dist/types/src/js/common/pds-log.d.ts.map +1 -0
- package/dist/types/src/js/lit.d.ts +0 -7
- package/dist/types/src/js/lit.d.ts.map +1 -1
- package/dist/types/src/js/pds-core/pds-config.d.ts +51 -0
- package/dist/types/src/js/pds-core/pds-config.d.ts.map +1 -1
- package/dist/types/src/js/pds-core/pds-enhancers.d.ts.map +1 -1
- package/dist/types/src/js/pds-core/pds-live.d.ts.map +1 -1
- package/dist/types/src/js/pds-core/pds-registry.d.ts.map +1 -1
- package/dist/types/src/js/pds-core/pds-runtime.d.ts.map +1 -1
- package/dist/types/src/js/pds-core/pds-start-helpers.d.ts.map +1 -1
- package/dist/types/src/js/pds-localization.d.ts +3 -0
- package/dist/types/src/js/pds-localization.d.ts.map +1 -0
- package/dist/types/src/js/pds-singleton.d.ts +13 -0
- package/dist/types/src/js/pds-singleton.d.ts.map +1 -0
- package/dist/types/src/js/pds.d.ts +9 -1
- package/dist/types/src/js/pds.d.ts.map +1 -1
- package/package.json +10 -4
- package/packages/pds-cli/README.md +2 -0
- package/packages/pds-cli/lib/pds-mcp-core.js +2 -2
- package/public/assets/js/app.js +9 -11
- package/public/assets/js/lit.js +3 -94
- package/public/assets/js/pds-ask.js +4 -4
- package/public/assets/js/pds-enhancers.js +1 -1
- package/public/assets/js/pds-localization.js +1 -0
- package/public/assets/js/pds-manager.js +118 -118
- package/public/assets/js/pds.js +2 -2
- package/public/assets/pds/components/pds-calendar.js +4 -4
- package/public/assets/pds/components/pds-daterange.js +11 -8
- package/public/assets/pds/components/pds-form.js +22 -22
- package/public/assets/pds/components/pds-live-edit.js +503 -42
- package/public/assets/pds/components/pds-live-importer.js +66 -66
- package/public/assets/pds/components/pds-live-template-canvas.js +3 -3
- package/public/assets/pds/components/pds-omnibox.js +4 -4
- package/public/assets/pds/components/pds-rating.js +5 -3
- package/public/assets/pds/components/pds-tags.js +5 -5
- package/public/assets/pds/components/pds-theme.js +4 -4
- package/public/assets/pds/components/pds-toaster.js +6 -6
- package/public/assets/pds/components/pds-treeview.js +8 -4
- package/public/assets/pds/components/pds-upload.js +7 -6
- package/public/assets/pds/core/pds-ask.js +4 -4
- package/public/assets/pds/core/pds-enhancers.js +1 -1
- package/public/assets/pds/core/pds-localization.js +1 -0
- package/public/assets/pds/core/pds-manager.js +118 -118
- package/public/assets/pds/core.js +2 -2
- package/public/assets/pds/external/lit.js +3 -94
- package/readme.md +34 -6
- package/src/js/common/ask.js +530 -0
- package/src/js/common/common.js +122 -0
- package/src/js/common/font-loader.js +202 -0
- package/src/js/common/localization-resource-provider.js +274 -0
- package/src/js/common/localization.js +839 -0
- package/src/js/common/msg.js +9 -0
- package/src/js/common/pds-core/pds.d.ts +128 -0
- package/src/js/common/pds-log.js +144 -0
- package/src/js/common/toast.js +122 -0
- package/src/js/pds-core/pds-config.js +51 -10
- package/src/js/pds-core/pds-enhancers.js +5 -3
- package/src/js/pds-core/pds-live.js +7 -5
- package/src/js/pds-core/pds-registry.js +6 -4
- package/src/js/pds-core/pds-runtime.js +12 -8
- package/src/js/pds-core/pds-start-helpers.js +9 -4
- package/src/js/pds-singleton.js +49 -0
- package/src/js/pds.d.ts +150 -0
- package/src/js/pds.js +420 -40
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
function
|
|
1
|
+
function F(a){let e=Array.isArray(a?.strings)?a.strings:[],l=Array.isArray(a?.values)?a.values:[],f=new Set,y=[],v=/(\s)(\.[\w-]+)=\s*$/;for(let o=0;o<e.length;o+=1){let t=e[o]??"",d=t.match(v);if(d&&o<l.length){let n=d[2].slice(1),i=`pds-val-${o}`;t=t.replace(v,`$1data-pds-prop="${n}:${i}"`),f.add(o)}y.push(t),o<l.length&&!f.has(o)&&y.push(`<!--pds-val-${o}-->`)}let s=document.createElement("template");s.innerHTML=y.join("");let r=(o,t)=>{let d=o.parentNode;if(!d)return;if(t==null){d.removeChild(o);return}let b=n=>{if(n!=null){if(n instanceof Node){d.insertBefore(n,o);return}if(Array.isArray(n)){n.forEach(i=>b(i));return}d.insertBefore(document.createTextNode(String(n)),o)}};b(t),d.removeChild(o)},c=document.createTreeWalker(s.content,NodeFilter.SHOW_COMMENT),u=[];for(;c.nextNode();){let o=c.currentNode;o?.nodeValue?.startsWith("pds-val-")&&u.push(o)}return u.forEach(o=>{let t=Number(o.nodeValue.replace("pds-val-",""));r(o,l[t])}),s.content.querySelectorAll("*").forEach(o=>{let t=o.getAttribute("data-pds-prop");if(!t)return;let[d,b]=t.split(":"),n=Number(String(b).replace("pds-val-",""));d&&Number.isInteger(n)&&(o[d]=l[n]),o.removeAttribute("data-pds-prop")}),s.content}var x=class extends EventTarget{constructor(){super(),this.mode=null,this.compiled=null,this.log=()=>{},this.logHandler=null}},L="__PURE_DS_PDS_SINGLETON__",O=typeof globalThis<"u"?globalThis:window,E=O?.[L],h=E&&typeof E.addEventListener=="function"?E:new x;O&&(O[L]=h);typeof h.log!="function"&&(h.log=(a="log",e,...l)=>{if(typeof console>"u")return;let f=typeof console[a]=="function"?console[a].bind(console):typeof console.log=="function"?console.log.bind(console):null;f&&(l.length>0?f(e,...l):f(e))});typeof h.logHandler!="function"&&(h.logHandler=null);function T(a,e){if(e==null)return;if(typeof e=="object"&&Array.isArray(e.strings)&&Array.isArray(e.values)){a.appendChild(F(e));return}if(e instanceof Node){a.appendChild(e);return}if(Array.isArray(e)){e.forEach(f=>T(a,f));return}let l=typeof e=="string"?e:String(e);a.appendChild(document.createTextNode(l))}function V(a){if(!a)return!0;let e=!0,l=r=>{if(!r||typeof r!="object")return"<unknown>";let c=r.tagName?String(r.tagName).toLowerCase():"node",u=r.id?`#${r.id}`:"",g=typeof r.getAttribute=="function"?r.getAttribute("name"):null,o=g?`[name="${g}"]`:"";return`${c}${u}${o}`},f=(r,c)=>{if(!r||typeof r.querySelectorAll!="function")return;let u=Array.from(r.querySelectorAll(":invalid"));if(!u.length)return;let g=u.map(o=>{let t=typeof o.validationMessage=="string"?o.validationMessage:"";return`${l(o)}${t?` \u2014 ${t}`:""}`});h.log("warn",`ask.validateDialogFormTree: invalid controls in ${c}:`,g)},y=(r,c)=>{try{let u=typeof r.reportValidity=="function"?r.reportValidity():r.checkValidity?.()??!0;return u||f(r,c),u}catch(u){return h.log("error",`ask.validateDialogFormTree: validation threw in ${c}`,u),!1}};e=y(a,"host dialog form")&&e;let v=Array.from(a.querySelectorAll("form"));for(let r of v){if(r===a)continue;e=y(r,`nested light DOM form ${l(r)}`)&&e}let s=Array.from(a.querySelectorAll("*"));for(let r of s){let c=r?.shadowRoot;if(!c)continue;let u=Array.from(c.querySelectorAll("form"));for(let g of u)e=y(g,`shadow form under ${l(r)}`)&&e}return e}function k(){let a=navigator.userAgent,e=/Safari/i.test(a),l=/(Chrome|Chromium|CriOS|FxiOS|EdgiOS|OPiOS|Opera)/i.test(a);return e&&!l}function D(a){if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let e=window.matchMedia?.("(max-width: 639px)").matches,l=a.classList.contains("dialog-no-scale-animation")?"pds-dialog-fade-enter":e?"pds-dialog-enter-mobile":"pds-dialog-enter";a.style.animation="none",a.offsetWidth,a.style.animation=`${l} var(--transition-normal) ease`,a.addEventListener("animationend",()=>{a.style.animation=""},{once:!0})}function P(a={}){return a?.liquidGlassEffects===!0}async function j(a,e={}){let l={title:"Confirm",type:"confirm",buttons:{ok:{name:"OK",primary:!0},cancel:{name:"Cancel",cancel:!0}}};e={...l,...e};let f=e.buttons&&typeof e.buttons=="object"?e.buttons:l.buttons,y=s=>{if(s==null)return{actionCode:"dismiss",actionKind:"dismiss",button:null};let r=f?.[s]??null,c=s==="ok"?"ok":s==="dismiss"?"dismiss":r?.cancel||s==="cancel"?"cancel":"custom";return{actionCode:s,actionKind:c,button:r}},v=s=>{if(typeof s>"u"||s===null||s===!0)return{allow:!0};if(s===!1)return{allow:!1};if(typeof s=="object"){let r=Object.prototype.hasOwnProperty.call(s,"result")||Object.prototype.hasOwnProperty.call(s,"value");return{allow:s.allow!==!1,hasResult:r,result:Object.prototype.hasOwnProperty.call(s,"result")?s.result:s.value}}return{allow:!!s}};return new Promise(s=>{let r=!1,c=(n,i,{shouldClose:m=!0}={})=>{if(!r&&(r=!0,s(n),!(!m||!i?.open)))try{i.close()}catch(p){h.log("warn","ask: dialog.close() failed",p)}},u=async n=>{if(n.actionKind!=="ok"||typeof e.beforeClose!="function")return{allow:!0};try{let i=await e.beforeClose(n);return v(i)}catch(i){return h.log("error","ask.beforeClose: validation failed",i),{allow:!1}}},g=({actionKind:n,form:i})=>n==="ok"?e.useForm&&i?new FormData(i):!0:!1,o=async({actionCode:n,form:i,submitter:m,originalEvent:p,bypassValidation:S=!1,shouldClose:N=!0})=>{if(r)return;let{actionKind:w,button:q}=y(n),A=i||t.querySelector("form")||null;if(e.useForm&&w==="ok"&&A&&!S&&!V(A))return;let C=g({actionKind:w,form:A}),$=await u({actionCode:n,actionKind:w,dialog:t,form:A,formData:e.useForm&&w==="ok"&&A?C:null,submitter:m,originalEvent:p,options:e,button:q,defaultResult:C});if(!$.allow)return;let M=$.hasResult?$.result:C;c(M,t,{shouldClose:N})},t=document.createElement("dialog");k()&&t.classList.add("dialog-no-scale-animation"),P(e)&&t.classList.add("liquid-glass"),e.size&&t.classList.add(`dialog-${e.size}`),e.type&&t.classList.add(`dialog-${e.type}`),e.class&&(Array.isArray(e.class)?t.classList.add(...e.class):t.classList.add(e.class)),e.maxHeight&&t.style.setProperty("--dialog-max-height",e.maxHeight);let d=Object.entries(f).map(([n,i])=>{let m=i.primary?"btn-primary btn-sm":"btn-outline btn-sm",p=i.cancel?"button":"submit",S=i.formNoValidate?" formnovalidate":"";return`<button type="${p}" class="${m}" value="${n}"${S}>${i.name}</button>`});if(e.useForm){let n=document.createElement("div");T(n,a);let i=n.querySelector("form");if(i){t.innerHTML=`
|
|
2
2
|
<header>
|
|
3
3
|
<h2>${e.title}</h2>
|
|
4
4
|
</header>
|
|
5
|
-
`;let
|
|
5
|
+
`;let m=document.createElement("article");for(m.className="dialog-body";i.firstChild;)m.appendChild(i.firstChild);i.appendChild(m);let p=document.createElement("footer");p.innerHTML=d.join(""),i.appendChild(p),t.appendChild(i)}else t.innerHTML=`
|
|
6
6
|
<header>
|
|
7
7
|
<h2>${e.title}</h2>
|
|
8
8
|
</header>
|
|
@@ -10,7 +10,7 @@ function E(i){let e=Array.isArray(i?.strings)?i.strings:[],c=Array.isArray(i?.va
|
|
|
10
10
|
<footer>
|
|
11
11
|
${d.join("")}
|
|
12
12
|
</footer>
|
|
13
|
-
`,t.querySelector("#msg-container").appendChild(
|
|
13
|
+
`,t.querySelector("#msg-container").appendChild(n)}else{t.innerHTML=`
|
|
14
14
|
<form method="dialog">
|
|
15
15
|
<header>
|
|
16
16
|
<h2>${e.title}</h2>
|
|
@@ -22,4 +22,4 @@ function E(i){let e=Array.isArray(i?.strings)?i.strings:[],c=Array.isArray(i?.va
|
|
|
22
22
|
${d.join("")}
|
|
23
23
|
</footer>
|
|
24
24
|
</form>
|
|
25
|
-
`;let
|
|
25
|
+
`;let n=t.querySelector("#msg-container");T(n,a)}t.addEventListener("click",n=>{let i=n.target.closest('button[value="cancel"]');i&&o({actionCode:"cancel",form:t.querySelector("form"),submitter:i,originalEvent:n})});let b=()=>{let n=t.querySelector("form");if(n){if(n.dataset.askSubmitBound==="true")return;n.dataset.askSubmitBound="true",n.addEventListener("submit",i=>{i.preventDefault();let m=i.submitter?.value??(e.useForm?"ok":void 0),p=!!i.submitter?.hasAttribute("formnovalidate");o({actionCode:m,form:n,submitter:i.submitter,originalEvent:i,bypassValidation:p})})}else requestAnimationFrame(b)};t.addEventListener("cancel",n=>{n.preventDefault(),o({actionCode:"dismiss",form:t.querySelector("form"),originalEvent:n})}),t.addEventListener("close",()=>{r||c(!1,t,{shouldClose:!1}),setTimeout(()=>t.remove(),200)}),document.body.appendChild(t),requestAnimationFrame(b),typeof e.rendered=="function"&&e.rendered(t),t.showModal(),requestAnimationFrame(()=>D(t))})}export{j as ask};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var T=[{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 $(t){t.dataset.enhancedAccordion||(t.dataset.enhancedAccordion="true",t.addEventListener("toggle",e=>{e.target.open&&e.target.parentElement===t&&t.querySelectorAll(":scope > details[open]").forEach(n=>{n!==e.target&&(n.open=!1)})},!0))}function U(t){if(t.dataset.enhancedDropdown)return;t.dataset.enhancedDropdown="true";let e=t.lastElementChild;if(!e)return;let n=t.querySelector("[data-dropdown-toggle]")||t.querySelector("button");n&&!n.hasAttribute("type")&&n.setAttribute("type","button"),e.id||(e.id=`dropdown-${Math.random().toString(36).slice(2,9)}`);let a=e.tagName?.toLowerCase()==="menu",i=8;a&&!e.hasAttribute("role")&&e.setAttribute("role","menu"),e.hasAttribute("aria-hidden")||e.setAttribute("aria-hidden","true"),n&&(n.setAttribute("aria-haspopup","true"),n.setAttribute("aria-controls",e.id),n.setAttribute("aria-expanded","false"));let u=()=>{let r=e.getAttribute("style");e.style.visibility="hidden",e.style.display="inline-block",e.style.pointerEvents="none";let c=e.getBoundingClientRect(),p=Math.max(e.offsetWidth||0,e.scrollWidth||0,c.width||0,1),d=Math.max(e.offsetHeight||0,e.scrollHeight||0,c.height||0,1);return r===null?e.removeAttribute("style"):e.setAttribute("style",r),{width:p,height:d}},s=()=>{let r=(t.getAttribute("data-direction")||t.getAttribute("data-dropdown-direction")||t.getAttribute("data-mode")||"auto").toLowerCase();if(r==="up"||r==="down")return r;let c=(n||t).getBoundingClientRect(),{height:p}=u(),d=Math.max(0,window.innerHeight-c.bottom),g=Math.max(0,c.top),v=d>=p,b=g>=p;return v&&!b?"down":b&&!v?"up":v&&b?"down":g>d?"up":"down"},o=()=>{let r=(t.getAttribute("data-align")||t.getAttribute("data-dropdown-align")||"auto").toLowerCase();if(r==="left"||r==="right"||r==="start"||r==="end")return r==="start"?"left":r==="end"?"right":r;let c=(n||t).getBoundingClientRect(),{width:p}=u(),d=Math.max(0,window.innerWidth-c.left),g=Math.max(0,c.right),v=d>=p,b=g>=p;return v&&!b?"left":b&&!v?"right":v&&b?"left":g>d?"right":"left"},f=(r,c=8)=>{let p=getComputedStyle(t).getPropertyValue(r).trim();if(!p)return c;let d=document.createElement("span");d.style.position="fixed",d.style.visibility="hidden",d.style.pointerEvents="none",d.style.height=p,document.body.appendChild(d);let g=Number.parseFloat(getComputedStyle(d).height);return d.remove(),Number.isFinite(g)?g:c},l=()=>{e.style.removeProperty("position"),e.style.removeProperty("left"),e.style.removeProperty("top"),e.style.removeProperty("right"),e.style.removeProperty("bottom"),e.style.removeProperty("margin-top"),e.style.removeProperty("margin-bottom"),e.style.removeProperty("max-width"),e.style.removeProperty("max-inline-size"),e.style.removeProperty("max-height"),e.style.removeProperty("overflow")},h=r=>{if(!r)return null;if(r.parentElement)return r.parentElement;let c=r.getRootNode?.();return c instanceof ShadowRoot?c.host:null},A=()=>{let r=h(e);for(;r&&r!==document.documentElement;){let c=getComputedStyle(r),p=c.contain||"",d=c.willChange||"";if(c.transform!=="none"||c.perspective!=="none"||c.filter!=="none"||c.backdropFilter!=="none"||p.includes("paint")||p.includes("layout")||p.includes("strict")||p.includes("content")||d.includes("transform")||d.includes("perspective")||d.includes("filter"))return!0;r=h(r)}return!1},m=()=>{e.getAttribute("aria-hidden")==="false"&&(l(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{E()})}))},E=()=>{if(e.getAttribute("aria-hidden")!=="false")return;if(A()){l();return}let r=(n||t).getBoundingClientRect(),c=window.visualViewport,p=c?.width||document.documentElement?.clientWidth||window.innerWidth,d=c?.height||document.documentElement?.clientHeight||window.innerHeight,g=c?.offsetLeft||0,v=c?.offsetTop||0,b=Math.max(1,p-i*2),H=Math.max(1,d-i*2);e.style.maxWidth=`${Math.round(b)}px`,e.style.maxInlineSize=`${Math.round(b)}px`,e.style.maxHeight=`${Math.round(H)}px`,e.style.overflow="auto";let{width:S,height:M}=u(),P=f("--spacing-2",8),R=s(),O=o();t.dataset.dropdownDirection=R,t.dataset.dropdownAlign=O;let k=O==="right"?r.right-S:r.left;S>=b-1?k=g+i:k=Math.max(g+i,Math.min(k,g+p-S-i));let q=R==="up"?r.top-P-M:r.bottom+P;q=Math.max(v+i,Math.min(q,v+d-M-i)),e.style.position="fixed",e.style.left=`${Math.round(k)}px`,e.style.top=`${Math.round(q)}px`,e.style.right="auto",e.style.bottom="auto",e.style.marginTop="0",e.style.marginBottom="0"},y=null,D=()=>{y||(y=()=>E(),window.addEventListener("resize",y),window.addEventListener("scroll",y,!0))},F=()=>{y&&(window.removeEventListener("resize",y),window.removeEventListener("scroll",y,!0),y=null)},x=null,w=null,B=()=>{x||typeof document>"u"||(x=()=>{e.getAttribute("aria-hidden")==="false"&&(t.dataset.dropdownDirection=s(),t.dataset.dropdownAlign=o(),w!==null&&cancelAnimationFrame(w),w=requestAnimationFrame(()=>{w=null,e.getAttribute("aria-hidden")==="false"&&E()}))},document.addEventListener("pds:config-changed",x))},I=()=>{!x||typeof document>"u"||(document.removeEventListener("pds:config-changed",x),x=null,w!==null&&(cancelAnimationFrame(w),w=null))},C=null,N=()=>{t.dataset.dropdownDirection=s(),t.dataset.dropdownAlign=o(),e.setAttribute("aria-hidden","false"),n?.setAttribute("aria-expanded","true"),D(),B(),m(),C||(C=r=>{(r.composedPath?r.composedPath():[r.target]).some(d=>d===t)||L()},setTimeout(()=>{document.addEventListener("click",C)},0))},L=()=>{e.setAttribute("aria-hidden","true"),n?.setAttribute("aria-expanded","false"),F(),I(),l(),C&&(document.removeEventListener("click",C),C=null)},W=()=>{e.getAttribute("aria-hidden")==="false"?L():N()};n?.addEventListener("click",r=>{r.preventDefault(),r.stopPropagation(),W()}),t.addEventListener("keydown",r=>{r.key==="Escape"&&(L(),n?.focus())}),t.addEventListener("focusout",r=>{r.relatedTarget&&((r.composedPath?r.composedPath():[r.relatedTarget]).some(d=>d===t)||L())})}function z(t){if(t.dataset.enhancedToggle)return;t.dataset.enhancedToggle="true";let e=t.querySelector('input[type="checkbox"]');if(!e)return;t.hasAttribute("tabindex")||t.setAttribute("tabindex","0"),t.setAttribute("role","switch"),t.setAttribute("aria-checked",e.checked?"true":"false");let n=document.createElement("span");n.className="toggle-switch",n.setAttribute("role","presentation"),n.setAttribute("aria-hidden","true");let a=document.createElement("span");a.className="toggle-knob",n.appendChild(a),t.insertBefore(n,e.nextSibling);let i=()=>{t.setAttribute("aria-checked",e.checked?"true":"false")},u=()=>{e.disabled||(e.checked=!e.checked,i(),e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0})))};t.addEventListener("click",s=>{s.preventDefault(),u()}),t.addEventListener("keydown",s=>{(s.key===" "||s.key==="Enter")&&(s.preventDefault(),u())}),e.addEventListener("change",i)}function V(t){if(t.dataset.enhancedColorInput)return;let e=t.querySelector('input[type="color"]');if(!e)return;t.dataset.enhancedColorInput="true";let n=t.querySelector(":scope > .color-control"),a=t.querySelector(":scope > .color-control > .color-swatch"),i=t.querySelector(":scope > .color-control > output");n||(n=document.createElement("span"),n.className="color-control",e.before(n)),a||(a=document.createElement("span"),a.className="color-swatch",n.appendChild(a)),e.parentElement!==a&&a.appendChild(e),i||(i=document.createElement("output"),n.appendChild(i));let u=()=>{if(e.dataset.colorUnset==="1"){i.value="",i.textContent="not set",n.dataset.value="",n.dataset.unset="1",a.dataset.unset="1";return}i.value=e.value,i.textContent=e.value,n.dataset.value=e.value,delete n.dataset.unset,delete a.dataset.unset};u();let s=()=>{e.dataset.colorUnset==="1"&&(e.dataset.colorUnset="0"),u()};e.addEventListener("input",s,{passive:!0}),e.addEventListener("change",s,{passive:!0})}function j(t){if(t.dataset.enhancedRange)return;let e=s=>{if(t.dataset.enhancedRangeProgrammatic)return;t.dataset.enhancedRangeProgrammatic="1";let o=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(t),"value")||Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value");o?.get&&o?.set&&Object.defineProperty(t,"value",{configurable:!0,enumerable:o.enumerable,get(){return o.get.call(this)},set(l){o.set.call(this,l),s()}}),new MutationObserver(l=>{l.some(A=>{let m=A.attributeName;return m==="value"||m==="min"||m==="max"})&&s()}).observe(t,{attributes:!0,attributeFilter:["value","min","max"]})},n=t.closest("label"),a=n?.classList.contains("range-output"),i=t.id||`range-${Math.random().toString(36).substring(2,11)}`,u=`${i}-output`;if(t.id=i,a){let s=n.querySelector("span");if(s&&!s.classList.contains("range-output-wrapper")){let o=document.createElement("span");o.className="range-output-wrapper",o.style.display="flex",o.style.justifyContent="space-between",o.style.alignItems="center";let f=document.createElement("span");f.textContent=s.textContent,o.appendChild(f);let l=document.createElement("output");l.id=u,l.setAttribute("for",i),l.style.color="var(--surface-text-secondary, var(--color-text-secondary))",l.style.fontSize="0.875rem",l.textContent=t.value,o.appendChild(l),s.textContent="",s.appendChild(o);let h=()=>{l.textContent=t.value};t.addEventListener("input",h),t.addEventListener("change",h),e(h),h()}}else{let s=t.closest(".range-container");s||(s=document.createElement("div"),s.className="range-container",t.parentNode?.insertBefore(s,t),s.appendChild(t)),s.style.position="relative";let o=document.createElement("output");o.id=u,o.setAttribute("for",i),o.className="range-bubble",o.setAttribute("aria-live","polite"),s.appendChild(o);let f=()=>{let A=parseFloat(t.min)||0,m=parseFloat(t.max)||100,E=parseFloat(t.value),y=(E-A)/(m-A);o.style.left=`calc(${y*100}% )`,o.textContent=String(E)},l=()=>o.classList.add("visible"),h=()=>o.classList.remove("visible");t.addEventListener("input",f),t.addEventListener("pointerdown",l),t.addEventListener("pointerup",h),t.addEventListener("pointerleave",h),t.addEventListener("focus",l),t.addEventListener("blur",h),t.addEventListener("change",f),e(f),f()}t.dataset.enhancedRange="1"}function G(t){if(t.dataset.enhancedRequired)return;t.dataset.enhancedRequired="true";let e=n=>{let a;if(n.closest("[role$=group]")?a=n.closest("[role$=group]").querySelector("legend"):a=n.closest("label"),!a||a.querySelector(".required-asterisk"))return;let i=document.createElement("span");i.classList.add("required-asterisk"),i.textContent="*",i.style.marginLeft="4px";let u=a.querySelector("span, [data-label]");if(u)u.appendChild(i);else{let o=a.querySelector("input, select, textarea");o?a.insertBefore(i,o):a.appendChild(i)}let s=n.closest("form");if(s&&!s.querySelector(".required-legend")){let o=document.createElement("small");o.classList.add("required-legend"),o.textContent="* Required fields",s.insertBefore(o,s.querySelector(".form-actions")||s.lastElementChild)}};t.querySelectorAll("[required]").forEach(n=>{e(n)})}function _(t){if(t.dataset.enhancedOpenGroup)return;t.dataset.enhancedOpenGroup="true",t.classList.add("flex","flex-wrap","buttons");let e=document.createElement("input");e.type="text",e.placeholder="Add item...",e.classList.add("input-text","input-sm"),e.style.width="auto";let n=()=>t.querySelector('input[type="radio"], input[type="checkbox"]');t.appendChild(e),e.addEventListener("keydown",a=>{if(a.key==="Enter"||a.key==="Tab"){let i=e.value.trim();if(i){a.preventDefault();let u=n(),s=u?.type==="radio"?"radio":"checkbox",o=`open-group-${Math.random().toString(36).substring(2,11)}`,f=document.createElement("label"),l=document.createElement("span");l.setAttribute("data-label",""),l.textContent=i;let h=document.createElement("input");h.type=s,h.name=u?.name||t.getAttribute("data-name")||"open-group",h.value=i,h.id=o,f.appendChild(l),f.appendChild(h),t.insertBefore(f,e),e.value=""}}else if(a.key==="Backspace"&&e.value===""){a.preventDefault();let i=t.querySelectorAll("label");i.length>0&&i[i.length-1].remove()}})}function J(t){if(t.dataset.enhancedClip)return;t.dataset.enhancedClip="true",t.hasAttribute("tabindex")||t.setAttribute("tabindex","0"),t.hasAttribute("role")||t.setAttribute("role","button");let e=()=>{let a=t.getAttribute("data-clip-open")==="true";t.setAttribute("aria-expanded",a?"true":"false")},n=()=>{let a=t.getAttribute("data-clip-open")==="true";t.setAttribute("data-clip-open",a?"false":"true"),e()};t.addEventListener("click",a=>{a.defaultPrevented||n()}),t.addEventListener("keydown",a=>{(a.key===" "||a.key==="Enter")&&(a.preventDefault(),n())}),e()}function K(t){if(t.dataset.enhancedBtnWorking)return;t.dataset.enhancedBtnWorking="true";let e=null,n=!1;new MutationObserver(i=>{i.forEach(u=>{if(u.attributeName==="class"){let s=t.classList.contains("btn-working"),o=t.querySelector("pds-icon");if(s)if(o)e||(e=o.getAttribute("icon")),o.setAttribute("icon","circle-notch");else{let f=document.createElement("pds-icon");f.setAttribute("icon","circle-notch"),f.setAttribute("size","sm"),t.insertBefore(f,t.firstChild),n=!0}else u.oldValue?.includes("btn-working")&&o&&(n?(o.remove(),n=!1):e&&(o.setAttribute("icon",e),e=null))}})}).observe(t,{attributes:!0,attributeFilter:["class"],attributeOldValue:!0})}var Q=new Map([[".accordion",$],["nav[data-dropdown]",U],["label[data-toggle]",z],["label[data-color]",V],['input[type="range"]',j],["form[data-required]",G],["fieldset[role=group][data-open]",_],["[data-clip]",J],["button, a[class*='btn-']",K]]),X=T.map(t=>({...t,run:Q.get(t.selector)||(()=>{})}));export{X as defaultPDSEnhancers};
|
|
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};
|
|
@@ -0,0 +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};
|