@pure-ds/core 0.7.42 → 0.7.43
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/dist/types/src/js/pds-core/pds-enhancers.d.ts.map +1 -1
- package/dist/types/src/js/pds-core/pds-generator.d.ts.map +1 -1
- package/package.json +1 -1
- package/public/assets/js/app.js +1 -1
- package/public/assets/js/pds-enhancers.js +1 -1
- package/public/assets/js/pds-manager.js +67 -63
- package/public/assets/pds/core/pds-enhancers.js +1 -1
- package/public/assets/pds/core/pds-manager.js +67 -63
- package/src/js/pds-core/pds-enhancers.js +89 -192
- package/src/js/pds-core/pds-generator.js +16 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
var fe=new Set(["log","warn","error","debug","info"]),pe="__PURE_DS_PDS_SINGLETON__",Y=null,X=null;function J(){try{let t=(typeof globalThis<"u"?globalThis:window)?.[pe];if(t&&typeof t=="object")return t}catch{return null}return null}function ge(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 he(e){if(typeof e!="string")return"log";let t=e.toLowerCase();return fe.has(t)?t:"log"}function ye(){if(typeof X=="function")try{let t=ge(X());if(t)return t}catch{}let e=J();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 be(){if(typeof Y=="function")try{let t=Y();if(typeof t=="function")return t}catch{}let e=J();return typeof e?.logHandler=="function"?e.logHandler:null}function Z(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 me(e,t){let n=t?.debug===!0;return!(t?.mode==="static"&&!n||!n&&e!=="error"&&e!=="warn")}function Q(e="log",t,...n){let o=he(e),r=ye(),s=be();if(s)try{s.call(r?.thisArg,o,t,...n);return}catch(i){Z("error","Custom log handler failed:",i)}me(o,r)&&Z(o,t,...n)}var ve="en",c={defaultLocale:ve,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},Le=["title","placeholder","aria-label","aria-description","aria-placeholder","aria-roledescription","alt","label"],we=e=>!!e&&typeof e!="string"&&typeof e=="object"&&"strTag"in e;function x(e){return String(e||"").trim().toLowerCase()}function Ae(e){let t=x(e);return t?t.split("-")[0]||t:""}function C(e){let t=x(e);if(!t)return c.defaultLocale;let n=c.provider?.resolveLocale;if(typeof n=="function"){let o=x(n(e));if(o)return o}return t}function _e(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 q(e,t){return String(e).replace(/\{(\d+)\}/g,(n,o)=>t(Number(o)))}function j(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 xe(e){let t=x(e);if(!t)return[c.defaultLocale];let n=Ae(t);return!n||n===t?[t]:[t,n]}function ee(e,t){let n=C(e);c.messagesByLocale.set(n,j(t))}function oe(e){typeof e=="string"&&e.length>0&&c.requestedKeys.add(e)}function te(e,t){if(typeof e!="string"||!e.length)return;let n=typeof t=="string"?t:String(t||"");n.length&&(c.valueToKeys.has(n)||c.valueToKeys.set(n,new Set),c.valueToKeys.get(n).add(e))}function B(e){let t=xe(e);for(let n of t)if(c.messagesByLocale.has(n))return{locale:n,messages:c.messagesByLocale.get(n)};return null}async function O(e,t="explicit"){let n=C(e),o=B(n);if(o)return o.messages;let r=n;if(c.loadingByLocale.has(r))return c.loadingByLocale.get(r);if(!c.provider)return{};let s=c.provider.loadLocale||c.provider.setLocale||null;if(typeof s!="function")return{};let i={locale:n,defaultLocale:c.defaultLocale,reason:t,loadedLocales:Array.from(c.messagesByLocale.keys()),messages:{...B(n)?.messages||{}},load:t==="set-default"||t==="explicit-load"},a;try{a=s(i)}catch{return{}}if(a&&typeof a.then=="function"){let l=a.then(p=>{let g=j(p);return ee(n,g),g}).catch(()=>({})).finally(()=>{c.loadingByLocale.delete(r)});return c.loadingByLocale.set(r,l),l}let f=j(a);return ee(n,f),f}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 x(n.getAttribute("lang"));let o=n.closest?.("[lang]");return o&&o.getAttribute?x(o.getAttribute("lang")):""}function R(e={}){if(typeof e?.lang=="string"&&e.lang.trim())return C(e.lang);let t=e?.element||e?.scope||e?.host||e?.contextElement||null,n=Ee(t);if(n)return C(n);if(typeof document<"u"&&document.documentElement){let o=x(document.documentElement.getAttribute("lang"));if(o)return C(o)}return c.defaultLocale}function Se(){let e=new Set([c.defaultLocale]);if(typeof document>"u")return e;let t=x(document.documentElement?.getAttribute?.("lang"));t&&e.add(C(t));let n=document.querySelectorAll?.("[lang]")||[];for(let o of n){let r=x(o.getAttribute("lang"));r&&e.add(C(r))}return e}async function Ce(e){for(let t of e)await O(t,"lang-detected")}function Me(e){for(let t of Array.from(c.messagesByLocale.keys()))e.has(t)||c.messagesByLocale.delete(t)}function Te(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 ne(e){return String(e||"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ke(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="^",f=0;for(let g of s){let b=g.index??0;a+=ne(n.slice(f,b)),a+="([\\s\\S]*?)",i.push(Number(g[1])),f=b+g[0].length}a+=ne(n.slice(f)),a+="$";let l=new RegExp(a).exec(o);if(!l)return null;let p=[];for(let g=1;g<l.length;g+=1){let b=i[g-1],m=l[g];if(Object.prototype.hasOwnProperty.call(p,b)&&p[b]!==m)return null;p[b]=m}return p}function V(e,t){if(typeof e!="string"||!e.length)return[];let n=[e];for(let[,o]of c.messagesByLocale.entries()){let r=o?.[e];typeof r=="string"&&r.length&&n.push(r)}for(let o of n){let r=ke(o,t);if(r)return r}return[]}function re(e){if(!e)return null;let t=c.valueToKeys.get(e);if(t&&t.size>0){for(let o of t)if(c.requestedKeys.has(o))return o}if(c.requestedKeys.has(e))return e;let n=Array.from(c.messagesByLocale.entries());for(let o of c.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 c.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(!c.requestedKeys.has(s))continue;let i=V(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 qe(e){if(!e||e.nodeType!==3)return;let t=e.parentElement||null;if(!t)return;let{leading:n,core:o,trailing:r}=Te(e.nodeValue);if(!o)return;let s=c.textNodeKeyMap.get(e)||null;if((!s||!c.requestedKeys.has(s))&&(s=re(o)),!s){let g=ae(o);if(!g)return;let b=R({element:t});await O(b,"text-node");let m=P(g.key,g.values,{element:t},null),w=g.values.length?q(m,I=>g.values[I]):m,E=o.slice(0,g.start)+w+o.slice(g.end),A=`${n}${E}${r}`;A!==e.nodeValue&&(e.nodeValue=A);return}c.textNodeKeyMap.set(e,s);let i=R({element:t});await O(i,"text-node");let a=V(s,o),f=P(s,a,{element:t},null),l=a.length?q(f,g=>a[g]):f,p=`${n}${l}${r}`;p!==e.nodeValue&&(e.nodeValue=p)}async function Oe(){if(typeof document>"u"||c.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 f of a){let l=f?.shadowRoot;l&&o(l)}}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 qe(s)}function Pe(e){let t=c.attributeKeyMap.get(e);return t||(t=new Map,c.attributeKeyMap.set(e,t)),t}async function Be(e,t){if(!e||typeof e.getAttribute!="function")return;let n=e.getAttribute(t);if(typeof n!="string"||!n.length)return;let o=Pe(e),r=o.get(t)||null;if((!r||!c.requestedKeys.has(r))&&(r=re(n)),!r){let l=ae(n);if(!l)return;let p=R({element:e});await O(p,"attribute");let g=P(l.key,l.values,{element:e},null),b=l.values.length?q(g,w=>l.values[w]):g,m=n.slice(0,l.start)+b+n.slice(l.end);m!==n&&e.setAttribute(t,m),o.set(t,l.key);return}o.set(t,r);let s=R({element:e});await O(s,"attribute");let i=V(r,n),a=P(r,i,{element:e},null),f=i.length?q(a,l=>i[l]):a;f!==n&&e.setAttribute(t,f)}async function Re(){if(typeof document>"u"||c.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 f=a?.shadowRoot;f&&o(f)}}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 Le)i.hasAttribute(a)&&await Be(i,a)}}async function ze(){let e=Se();await Ce(e),await Oe(),await Re(),Me(e)}function Ke(){typeof window>"u"||(c.reconcileTimer&&clearTimeout(c.reconcileTimer),c.reconcileTimer=setTimeout(()=>{c.reconcileTimer=null,ze()},16))}function P(e,t=[],n={},o=null){let r=R(n),s=B(r);s||O(r,"msg");let i=B(r)?.messages||{},a=B(c.defaultLocale)?.messages||{},f={key:e,values:t,options:n,locale:r,defaultLocale:c.defaultLocale,messages:i,messagesByLocale:Object.fromEntries(Array.from(c.messagesByLocale.entries())),template:o},l,p=!!s,g=r===c.defaultLocale;typeof c.provider?.translate=="function"&&(l=c.provider.translate(f));let b=null;if(l==null&&(l=i[e]),l==null&&(l=a[e],b=l==null?null:"default"),l==null&&(l=e,b="key"),p&&!g&&b){let w=`${r}::${e}`;c.missingWarnings.has(w)||(c.missingWarnings.add(w),Q("warn",`[i18n] Missing translation for locale "${r}" and key "${e}"; using ${b} fallback.`))}let m=typeof l=="string"?l:String(l);if(te(e,m),Array.isArray(t)&&t.length>0){let w=q(m,E=>t[E]);w!==m&&te(e,w)}return m}var De=(e,t,n={})=>{let o=_e(e);oe(o);let r=P(o,t,n,{strings:e,values:t});return q(r,s=>t[s])};var F=(e,t={})=>{if(!e)return"";if(we(e))return De(e.strings,e.values,t);let n=String(e);oe(n);let o=P(n,[],t,null);return!t?.element&&!t?.scope&&!t?.host&&!t?.contextElement&&!t?.lang&&Ke(),o};var Fe=[{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 Ie(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 $e(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 h=t.getBoundingClientRect(),y=Math.max(t.offsetWidth||0,t.scrollWidth||0,h.width||0,1),d=Math.max(t.offsetHeight||0,t.scrollHeight||0,h.height||0,1);return u===null?t.removeAttribute("style"):t.setAttribute("style",u),{width:y,height:d}},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 h=(n||e).getBoundingClientRect(),{height:y}=s(),d=Math.max(0,window.innerHeight-h.bottom),v=Math.max(0,h.top),L=d>=y,_=v>=y;return L&&!_?"down":_&&!L?"up":L&&_?"down":v>d?"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 h=(n||e).getBoundingClientRect(),{width:y}=s(),d=Math.max(0,window.innerWidth-h.left),v=Math.max(0,h.right),L=d>=y,_=v>=y;return L&&!_?"left":_&&!L?"right":L&&_?"left":v>d?"right":"left"},f=(u,h=8)=>{let y=getComputedStyle(e).getPropertyValue(u).trim();if(!y)return h;let d=document.createElement("span");d.style.position="fixed",d.style.visibility="hidden",d.style.pointerEvents="none",d.style.height=y,document.body.appendChild(d);let v=Number.parseFloat(getComputedStyle(d).height);return d.remove(),Number.isFinite(v)?v:h},l=()=>{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 h=u.getRootNode?.();return h instanceof ShadowRoot?h.host:null},g=()=>{let u=p(t);for(;u&&u!==document.documentElement;){let h=getComputedStyle(u),y=h.contain||"",d=h.willChange||"";if(h.transform!=="none"||h.perspective!=="none"||h.filter!=="none"||h.backdropFilter!=="none"||y.includes("paint")||y.includes("layout")||y.includes("strict")||y.includes("content")||d.includes("transform")||d.includes("perspective")||d.includes("filter"))return!0;u=p(u)}return!1},b=(u,h=null)=>{let y=[],d=p(u);for(;d instanceof Element;){let v=String(d.tagName||"").toUpperCase();if(v==="HTML"||v==="BODY")break;let L=getComputedStyle(d);if([L.overflow,L.overflowX,L.overflowY].some(k=>k&&k!=="visible")&&y.push(d),h&&d===h)break;d=p(d)}return y},m=(u,h=null)=>{if(u){if(z.size)return;b(t,h).forEach(d=>{z.set(d,{overflow:d.style.overflow,overflowX:d.style.overflowX,overflowY:d.style.overflowY}),d.style.overflow="visible",d.style.overflowX="visible",d.style.overflowY="visible"});return}z.forEach((y,d)=>{d.style.overflow=y.overflow,d.style.overflowX=y.overflowX,d.style.overflowY=y.overflowY}),z.clear()},w=()=>{t.getAttribute("aria-hidden")==="false"&&(l(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{E()})}))},E=()=>{if(t.getAttribute("aria-hidden")!=="false")return;if(g()){m(!0),l();return}m(!1);let h=(n||e).getBoundingClientRect(),y=window.visualViewport,d=y?.width||document.documentElement?.clientWidth||window.innerWidth,v=y?.height||document.documentElement?.clientHeight||window.innerHeight,L=y?.offsetLeft||0,_=y?.offsetTop||0,k=Math.max(1,d-r*2),de=Math.max(1,v-r*2);t.style.maxWidth=`${Math.round(k)}px`,t.style.maxInlineSize=`${Math.round(k)}px`,t.style.maxHeight=`${Math.round(de)}px`,t.style.overflow="auto";let{width:$,height:N}=s(),H=f("--spacing-2",8),U=i(),G=a();e.dataset.dropdownDirection=U,e.dataset.dropdownAlign=G;let D=G==="right"?h.right-$:h.left;$>=k-1?D=L+r:D=Math.max(L+r,Math.min(D,L+d-$-r));let W=U==="up"?h.top-H-N:h.bottom+H;W=Math.max(_+r,Math.min(W,_+v-N-r)),t.style.position="fixed",t.style.left=`${Math.round(D)}px`,t.style.top=`${Math.round(W)}px`,t.style.right="auto",t.style.bottom="auto",t.style.marginTop="0",t.style.marginBottom="0"},A=null,I=()=>{A||(A=()=>E(),window.addEventListener("resize",A),window.addEventListener("scroll",A,!0))},se=()=>{A&&(window.removeEventListener("resize",A),window.removeEventListener("scroll",A,!0),A=null)},M=null,S=null,z=new Map,ie=()=>{M||typeof document>"u"||(M=()=>{t.getAttribute("aria-hidden")==="false"&&(e.dataset.dropdownDirection=i(),e.dataset.dropdownAlign=a(),S!==null&&cancelAnimationFrame(S),S=requestAnimationFrame(()=>{S=null,t.getAttribute("aria-hidden")==="false"&&E()}))},document.addEventListener("pds:config-changed",M))},le=()=>{!M||typeof document>"u"||(document.removeEventListener("pds:config-changed",M),M=null,S!==null&&(cancelAnimationFrame(S),S=null))},T=null,ce=()=>{m(!1),e.dataset.dropdownDirection=i(),e.dataset.dropdownAlign=a(),t.setAttribute("aria-hidden","false"),n?.setAttribute("aria-expanded","true"),I(),ie(),w(),T||(T=u=>{(u.composedPath?u.composedPath():[u.target]).some(d=>d===e)||K()},setTimeout(()=>{document.addEventListener("click",T)},0))},K=()=>{t.setAttribute("aria-hidden","true"),n?.setAttribute("aria-expanded","false"),se(),le(),l(),m(!1),T&&(document.removeEventListener("click",T),T=null)},ue=()=>{t.getAttribute("aria-hidden")==="false"?K():ce()};n?.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),ue()}),e.addEventListener("keydown",u=>{u.key==="Escape"&&(K(),n?.focus())}),e.addEventListener("focusout",u=>{u.relatedTarget&&((u.composedPath?u.composedPath():[u.relatedTarget]).some(d=>d===e)||K())})}function We(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 je(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=F("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 Ve(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(l){a.set.call(this,l),i()}}),new MutationObserver(l=>{l.some(g=>{let b=g.attributeName;return b==="value"||b==="min"||b==="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 f=document.createElement("span");f.textContent=i.textContent,a.appendChild(f);let l=document.createElement("output");l.id=s,l.setAttribute("for",r),l.style.color="var(--surface-text-secondary, var(--color-text-secondary))",l.style.fontSize="0.875rem",l.textContent=e.value,a.appendChild(l),i.textContent="",i.appendChild(a);let p=()=>{l.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 f=()=>{let g=parseFloat(e.min)||0,b=parseFloat(e.max)||100,m=parseFloat(e.value),w=(m-g)/(b-g);a.style.left=`calc(${w*100}% )`,a.textContent=String(m)},l=()=>a.classList.add("visible"),p=()=>a.classList.remove("visible");e.addEventListener("input",f),e.addEventListener("pointerdown",l),e.addEventListener("pointerup",p),e.addEventListener("pointerleave",p),e.addEventListener("focus",l),e.addEventListener("blur",p),e.addEventListener("change",f),t(f),f()}e.dataset.enhancedRange="1"}function Ne(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=F("* Required fields"),i.insertBefore(a,i.querySelector(".form-actions")||i.lastElementChild)}};e.querySelectorAll("[required]").forEach(n=>{t(n)})}function He(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=F("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)}`,f=document.createElement("label"),l=document.createElement("span");l.setAttribute("data-label",""),l.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,f.appendChild(l),f.appendChild(p),e.insertBefore(f,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 Ue(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 Ge(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 f=document.createElement("pds-icon");f.setAttribute("icon","circle-notch"),f.setAttribute("size","sm"),e.insertBefore(f,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 Ye=new Map([[".accordion",Ie],["nav[data-dropdown]",$e],["label[data-toggle]",We],["label[data-color]",je],['input[type="range"]',Ve],["form[data-required]",Ne],["fieldset[role=group][data-open]",He],["[data-clip]",Ue],["button, a[class*='btn-']",Ge]]),Xe=Fe.map(e=>({...e,run:Ye.get(e.selector)||(()=>{})}));export{Xe as defaultPDSEnhancers};
|
|
1
|
+
var ce=new Set(["log","warn","error","debug","info"]),le="__PURE_DS_PDS_SINGLETON__",N=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 N=="function")try{let t=N();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(e){return String(e||"").trim().toLowerCase()}function me(e){let t=E(e);return t?t.split("-")[0]||t:""}function S(e){let t=E(e);if(!t)return l.defaultLocale;let n=l.provider?.resolveLocale;if(typeof n=="function"){let o=E(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 C(e,t){return String(e).replace(/\{(\d+)\}/g,(n,o)=>t(Number(o)))}function W(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(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,W(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 q(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=q(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:{...q(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 d=W(f);return Z(n,d),d}).catch(()=>({})).finally(()=>{l.loadingByLocale.delete(r)});return l.loadingByLocale.set(r,c),c}let u=W(a);return Z(n,u),u}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 E(n.getAttribute("lang"));let o=n.closest?.("[lang]");return o&&o.getAttribute?E(o.getAttribute("lang")):""}function P(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=E(document.documentElement.getAttribute("lang"));if(o)return S(o)}return l.defaultLocale}function _e(){let e=new Set([l.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 Ae(e){for(let t of e)await T(t,"lang-detected")}function Ee(e){for(let t of Array.from(l.messagesByLocale.keys()))e.has(t)||l.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 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="^",u=0;for(let d of s){let g=d.index??0;a+=Q(n.slice(u,g)),a+="([\\s\\S]*?)",i.push(Number(d[1])),u=g+d[0].length}a+=Q(n.slice(u)),a+="$";let c=new RegExp(a).exec(o);if(!c)return null;let f=[];for(let d=1;d<c.length;d+=1){let g=i[d-1],h=c[d];if(Object.prototype.hasOwnProperty.call(f,g)&&f[g]!==h)return null;f[g]=h}return f}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 Me(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=l.textNodeKeyMap.get(e)||null;if((!s||!l.requestedKeys.has(s))&&(s=te(o)),!s){let d=ne(o);if(!d)return;let g=P({element:t});await T(g,"text-node");let h=O(d.key,d.values,{element:t},null),m=d.values.length?C(h,D=>d.values[D]):h,L=o.slice(0,d.start)+m+o.slice(d.end),k=`${n}${L}${r}`;k!==e.nodeValue&&(e.nodeValue=k);return}l.textNodeKeyMap.set(e,s);let i=P({element:t});await T(i,"text-node");let a=$(s,o),u=O(s,a,{element:t},null),c=a.length?C(u,d=>a[d]):u,f=`${n}${c}${r}`;f!==e.nodeValue&&(e.nodeValue=f)}async function Ce(){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 u of a){let c=u?.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 Me(s)}function Te(e){let t=l.attributeKeyMap.get(e);return t||(t=new Map,l.attributeKeyMap.set(e,t)),t}async function Oe(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 f=P({element:e});await T(f,"attribute");let d=O(c.key,c.values,{element:e},null),g=c.values.length?C(d,m=>c.values[m]):d,h=n.slice(0,c.start)+g+n.slice(c.end);h!==n&&e.setAttribute(t,h),o.set(t,c.key);return}o.set(t,r);let s=P({element:e});await T(s,"attribute");let i=$(r,n),a=O(r,i,{element:e},null),u=i.length?C(a,c=>i[c]):a;u!==n&&e.setAttribute(t,u)}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 u=a?.shadowRoot;u&&o(u)}}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 Oe(i,a)}}async function Pe(){let e=_e();await Ae(e),await Ce(),await qe(),Ee(e)}function ke(){typeof window>"u"||(l.reconcileTimer&&clearTimeout(l.reconcileTimer),l.reconcileTimer=setTimeout(()=>{l.reconcileTimer=null,Pe()},16))}function O(e,t=[],n={},o=null){let r=P(n),s=q(r);s||T(r,"msg");let i=q(r)?.messages||{},a=q(l.defaultLocale)?.messages||{},u={key:e,values:t,options:n,locale:r,defaultLocale:l.defaultLocale,messages:i,messagesByLocale:Object.fromEntries(Array.from(l.messagesByLocale.entries())),template:o},c,f=!!s,d=r===l.defaultLocale;typeof l.provider?.translate=="function"&&(c=l.provider.translate(u));let g=null;if(c==null&&(c=i[e]),c==null&&(c=a[e],g=c==null?null:"default"),c==null&&(c=e,g="key"),f&&!d&&g){let m=`${r}::${e}`;l.missingWarnings.has(m)||(l.missingWarnings.add(m),Y("warn",`[i18n] Missing translation for locale "${r}" and key "${e}"; using ${g} fallback.`))}let h=typeof c=="string"?c:String(c);if(J(e,h),Array.isArray(t)&&t.length>0){let m=C(h,L=>t[L]);m!==h&&J(e,m)}return h}var Re=(e,t,n={})=>{let o=ve(e);ee(o);let r=O(o,t,n,{strings:e,values:t});return C(r,s=>t[s])};var B=(e,t={})=>{if(!e)return"";if(be(e))return Re(e.strings,e.values,t);let n=String(e);ee(n);let o=O(n,[],t,null);return!t?.element&&!t?.scope&&!t?.host&&!t?.contextElement&&!t?.lang&&ke(),o};var Be=[{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 De(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 Ke(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"),o=typeof HTMLElement<"u"&&"showPopover"in HTMLElement.prototype&&"hidePopover"in HTMLElement.prototype;n&&!n.hasAttribute("type")&&n.setAttribute("type","button"),t.id||(t.id=`dropdown-${Math.random().toString(36).slice(2,9)}`);let r=t.tagName?.toLowerCase()==="menu",s=8;if(r&&!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")),!o){let p="__PDS_DROPDOWN_POPOVER_WARNED__";globalThis[p]||(globalThis[p]=!0,console.warn("[PDS] nav[data-dropdown] requires the Popover API. Add a popover polyfill (recommended: @oddbird/popover-polyfill) for browsers without support."));return}t.setAttribute("popover","auto");let i=()=>{let p=t.getAttribute("style");t.style.visibility="hidden",t.style.display="inline-block",t.style.pointerEvents="none";let b=t.getBoundingClientRect(),v=Math.max(t.offsetWidth||0,t.scrollWidth||0,b.width||0,1),y=Math.max(t.offsetHeight||0,t.scrollHeight||0,b.height||0,1);return p===null?t.removeAttribute("style"):t.setAttribute("style",p),{width:v,height:y}},a=()=>{try{return t.matches(":popover-open")}catch{return!1}},u=()=>{t.setAttribute("aria-hidden","true"),n?.setAttribute("aria-expanded","false")},c=()=>{t.setAttribute("aria-hidden","false"),n?.setAttribute("aria-expanded","true")},f=()=>{let p=(e.getAttribute("data-direction")||e.getAttribute("data-dropdown-direction")||e.getAttribute("data-mode")||"auto").toLowerCase();if(p==="up"||p==="down")return p;let b=(n||e).getBoundingClientRect(),{height:v}=i(),y=Math.max(0,window.innerHeight-b.bottom),w=Math.max(0,b.top),A=y>=v,_=w>=v;return A&&!_?"down":_&&!A?"up":A&&_?"down":w>y?"up":"down"},d=()=>{let p=(e.getAttribute("data-align")||e.getAttribute("data-dropdown-align")||"auto").toLowerCase();if(p==="left"||p==="right"||p==="start"||p==="end")return p==="start"?"left":p==="end"?"right":p;let b=(n||e).getBoundingClientRect(),{width:v}=i(),y=Math.max(0,window.innerWidth-b.left),w=Math.max(0,b.right),A=y>=v,_=w>=v;return A&&!_?"left":_&&!A?"right":A&&_?"left":w>y?"right":"left"},g=(p,b=8)=>{let v=getComputedStyle(e).getPropertyValue(p).trim();if(!v)return b;let y=document.createElement("span");y.style.position="fixed",y.style.visibility="hidden",y.style.pointerEvents="none",y.style.height=v,document.body.appendChild(y);let w=Number.parseFloat(getComputedStyle(y).height);return y.remove(),Number.isFinite(w)?w:b},h=()=>{["position","left","top","right","bottom","margin-top","margin-bottom","max-width","max-inline-size","max-height","overflow"].forEach(p=>t.style.removeProperty(p))},m=()=>{if(!a())return;let p=(n||e).getBoundingClientRect(),b=window.visualViewport,v=b?.width||document.documentElement?.clientWidth||window.innerWidth,y=b?.height||document.documentElement?.clientHeight||window.innerHeight,w=b?.offsetLeft||0,A=b?.offsetTop||0,_=Math.max(1,v-s*2),ie=Math.max(1,y-s*2);t.style.maxWidth=`${Math.round(_)}px`,t.style.maxInlineSize=`${Math.round(_)}px`,t.style.maxHeight=`${Math.round(ie)}px`,t.style.overflow="auto";let{width:K,height:F}=i(),j=g("--spacing-2",8),V=f(),H=d();e.dataset.dropdownDirection=V,e.dataset.dropdownAlign=H;let R=H==="right"?p.right-K:p.left;K>=_-1?R=w+s:R=Math.max(w+s,Math.min(R,w+v-K-s));let z=V==="up"?p.top-j-F:p.bottom+j;z=Math.max(A+s,Math.min(z,A+y-F-s)),Object.assign(t.style,{position:"fixed",left:`${Math.round(R)}px`,top:`${Math.round(z)}px`,right:"auto",bottom:"auto",marginTop:"0",marginBottom:"0"})},L=null,k=()=>{L||(L=()=>m(),window.addEventListener("resize",L),window.addEventListener("scroll",L,!0))},D=()=>{L&&(window.removeEventListener("resize",L),window.removeEventListener("scroll",L,!0),L=null)},M=null,x=null,oe=()=>{M||typeof document>"u"||(M=()=>{a()&&(e.dataset.dropdownDirection=f(),e.dataset.dropdownAlign=d(),x!==null&&cancelAnimationFrame(x),x=requestAnimationFrame(()=>{x=null,a()&&m()}))},document.addEventListener("pds:config-changed",M))},re=()=>{!M||typeof document>"u"||(document.removeEventListener("pds:config-changed",M),M=null,x!==null&&(cancelAnimationFrame(x),x=null))};t.addEventListener("toggle",p=>{if(p.newState==="open"){c(),m(),k(),oe();return}u(),D(),re(),h()});let ae=()=>{a()||(e.dataset.dropdownDirection=f(),e.dataset.dropdownAlign=d(),t.showPopover(),requestAnimationFrame(()=>m()))},I=()=>{a()&&t.hidePopover()},se=()=>{a()?I():ae()};u(),n?.addEventListener("click",p=>{p.preventDefault(),p.stopPropagation(),se()}),e.addEventListener("keydown",p=>{p.key==="Escape"&&(I(),n?.focus())})}function ze(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 We(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=B("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 $e(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(d=>{let g=d.attributeName;return g==="value"||g==="min"||g==="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 u=document.createElement("span");u.textContent=i.textContent,a.appendChild(u);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 u=()=>{let d=parseFloat(e.min)||0,g=parseFloat(e.max)||100,h=parseFloat(e.value),m=(h-d)/(g-d);a.style.left=`calc(${m*100}% )`,a.textContent=String(h)},c=()=>a.classList.add("visible"),f=()=>a.classList.remove("visible");e.addEventListener("input",u),e.addEventListener("pointerdown",c),e.addEventListener("pointerup",f),e.addEventListener("pointerleave",f),e.addEventListener("focus",c),e.addEventListener("blur",f),e.addEventListener("change",u),t(u),u()}e.dataset.enhancedRange="1"}function Ie(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=B("* 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=B("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)}`,u=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,u.appendChild(c),u.appendChild(f),e.insertBefore(u,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 u=document.createElement("pds-icon");u.setAttribute("icon","circle-notch"),u.setAttribute("size","sm"),e.insertBefore(u,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 He=new Map([[".accordion",De],["nav[data-dropdown]",Ke],["label[data-toggle]",ze],["label[data-color]",We],['input[type="range"]',$e],["form[data-required]",Ie],["fieldset[role=group][data-open]",Fe],["[data-clip]",je],["button, a[class*='btn-']",Ve]]),Ne=Be.map(e=>({...e,run:He.get(e.selector)||(()=>{})}));export{Ne as defaultPDSEnhancers};
|