@pure-ds/storybook 0.7.46 → 0.7.53

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.
Files changed (45) hide show
  1. package/.storybook/preview.js +14 -14
  2. package/dist/pds-reference.json +271 -41
  3. package/package.json +2 -2
  4. package/public/assets/js/app.js +8 -6
  5. package/public/assets/js/pds-ask.js +6 -6
  6. package/public/assets/js/pds-enhancers.js +1 -1
  7. package/public/assets/js/pds-manager.js +511 -291
  8. package/public/assets/js/pds.js +2 -2
  9. package/public/assets/pds/components/pds-live-edit.js +1 -1
  10. package/public/assets/pds/components/pds-toaster.js +55 -11
  11. package/public/assets/pds/core/pds-ask.js +6 -6
  12. package/public/assets/pds/core/pds-enhancers.js +1 -1
  13. package/public/assets/pds/core/pds-manager.js +511 -291
  14. package/public/assets/pds/core.js +2 -2
  15. package/public/assets/pds/pds-css-complete.json +544 -55
  16. package/public/assets/pds/pds.css-data.json +154 -0
  17. package/public/assets/pds/styles/pds-components.css +12 -11
  18. package/public/assets/pds/styles/pds-components.css.js +24 -22
  19. package/public/assets/pds/styles/pds-styles.css +12 -11
  20. package/public/assets/pds/styles/pds-styles.css.js +24 -22
  21. package/public/assets/pds/vscode-custom-data.json +30 -0
  22. package/src/js/app.js +7 -4
  23. package/src/js/common/common.js +120 -23
  24. package/src/js/common/toast.js +8 -0
  25. package/src/js/pds-core/pds-config.js +63 -10
  26. package/src/js/pds-core/pds-enhancers.js +6 -1
  27. package/src/js/pds-core/pds-generator.js +823 -217
  28. package/src/js/pds-core/pds-live.js +3 -4
  29. package/src/js/pds.d.ts +19 -6
  30. package/src/js/pds.js +11 -6
  31. package/stories/components/PdsFab.stories.js +2 -2
  32. package/stories/components/PdsForm.stories.js +3 -3
  33. package/stories/components/PdsIcon.stories.js +2 -2
  34. package/stories/components/PdsRating.stories.js +1 -1
  35. package/stories/components/PdsScrollrow.stories.js +10 -10
  36. package/stories/components/PdsSplitpanel.stories.js +8 -8
  37. package/stories/foundations/Colors.stories.js +1289 -187
  38. package/stories/foundations/HTMLDefaults.stories.js +3 -3
  39. package/stories/foundations/Icons.stories.js +20 -20
  40. package/stories/foundations/SmartSurfaces.stories.js +11 -14
  41. package/stories/patterns/InteractiveStates.stories.js +5 -5
  42. package/stories/primitives/Badges.stories.js +1 -0
  43. package/stories/primitives/Cards.stories.js +3 -3
  44. package/stories/reference/pds-object-docs.js +7 -2
  45. package/stories/utils/PdsToast.stories.js +62 -1
@@ -1,10 +1,12 @@
1
- var rt=Object.defineProperty;var it=(e,t)=>{for(var n in t)rt(e,n,{get:t[n],enumerable:!0})};var ae=class extends EventTarget{constructor(){super(),this.mode=null,this.compiled=null,this.log=()=>{},this.logHandler=null}},je="__PURE_DS_PDS_SINGLETON__",ce=typeof globalThis<"u"?globalThis:window,ie=ce?.[je],o=ie&&typeof ie.addEventListener=="function"?ie:new ae;ce&&(ce[je]=o);typeof o.log!="function"&&(o.log=(e="log",t,...n)=>{if(typeof console>"u")return;let s=typeof console[e]=="function"?console[e].bind(console):typeof console.log=="function"?console.log.bind(console):null;s&&(n.length>0?s(t,...n):s(t))});typeof o.logHandler!="function"&&(o.logHandler=null);var le=class{constructor(){this._mode="static",this._staticPaths={tokens:"/assets/pds/styles/pds-tokens.css.js",primitives:"/assets/pds/styles/pds-primitives.css.js",components:"/assets/pds/styles/pds-components.css.js",utilities:"/assets/pds/styles/pds-utilities.css.js",styles:"/assets/pds/styles/pds-styles.css.js"}}setLiveMode(){this._mode="live"}setStaticMode(t={}){this._mode="static",this._staticPaths={...this._staticPaths,...t}}async getStylesheet(t){if(this._mode==="live")return null;try{return(await import(this._staticPaths[t]))[t]}catch(n){o.log("error",`Registry: failed to load static ${t}:`,n),o.log("error",`Registry: looking for ${this._staticPaths[t]}`),o.log("error","Registry: make sure you've run 'npm run pds:build' and configured PDS.start() with the correct static.root path");let s=new CSSStyleSheet;return s.replaceSync("/* Failed to load "+t+" */"),s}}get mode(){return this._mode}get isLive(){return this._mode==="live"}},z=new le;async function Ae(e,t=[],n=null){try{let s=n?.primitivesStylesheet?n.primitivesStylesheet:await z.getStylesheet("primitives");e.adoptedStyleSheets=[s,...t]}catch(s){let c=e.host?.tagName?.toLowerCase()||"unknown";o.log("error",`Adopter: <${c}> failed to adopt primitives:`,s),e.adoptedStyleSheets=t}}async function Pe(e,t=["primitives"],n=[],s=null){let c=Array.isArray(n)?n.filter(Boolean):[];if(c.length){let l=(Array.isArray(e.adoptedStyleSheets)?e.adoptedStyleSheets:[]).filter(g=>!c.includes(g));e.adoptedStyleSheets=[...l,...c]}try{let l=(await Promise.all(t.map(async g=>{if(s)switch(g){case"tokens":return s.tokensStylesheet;case"primitives":return s.primitivesStylesheet;case"components":return s.componentsStylesheet;case"utilities":return s.utilitiesStylesheet;default:break}return z.getStylesheet(g)}))).filter(g=>g!==null);e.adoptedStyleSheets=[...l,...c]}catch(r){let l=e.host?.tagName?.toLowerCase()||"unknown";o.log("error",`Adopter: <${l}> failed to adopt layers:`,r),e.adoptedStyleSheets=c}}function ke(e){let t=new CSSStyleSheet;return t.replaceSync(e),t}var xe={FontWeights:{light:300,normal:400,medium:500,semibold:600,bold:700},LineHeights:{tight:1.25,normal:1.5,relaxed:1.75},BorderWidths:{hairline:.5,thin:1,medium:2,thick:3},RadiusSizes:{none:0,small:4,medium:8,large:16,xlarge:24,xxlarge:32},ShadowDepths:{none:"none",light:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",medium:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",deep:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",extreme:"0 25px 50px -12px rgba(0, 0, 0, 0.25)"},TransitionSpeeds:{fast:150,normal:250,slow:350},AnimationEasings:{linear:"linear",ease:"ease","ease-in":"ease-in","ease-out":"ease-out","ease-in-out":"ease-in-out",bounce:"cubic-bezier(0.68, -0.55, 0.265, 1.55)"},TouchTargetSizes:{compact:36,standard:44,comfortable:48,spacious:56},LinkStyles:{inline:"inline",block:"block",button:"button"},FocusStyles:{ring:"ring",outline:"outline",border:"border",glow:"glow"},TabSizes:{compact:2,standard:4,wide:8},SelectIcons:{chevron:"chevron",arrow:"arrow",caret:"caret",none:"none"},IconSizes:{xs:16,sm:20,md:24,lg:32,xl:48,"2xl":64,"3xl":96}};var ue={};it(ue,{deepMerge:()=>Re,fragmentFromTemplateLike:()=>at,isObject:()=>B,parseHTML:()=>de});function B(e){return e&&typeof e=="object"&&!Array.isArray(e)}function Re(e,t){let n={...e};return B(e)&&B(t)&&Object.keys(t).forEach(s=>{B(t[s])?s in e?n[s]=Re(e[s],t[s]):Object.assign(n,{[s]:t[s]}):Object.assign(n,{[s]:t[s]})}),n}function at(e){let t=Array.isArray(e?.strings)?e.strings:[],n=Array.isArray(e?.values)?e.values:[],s=new Set,c=[],r=/(\s)(\.[\w-]+)=\s*$/;for(let i=0;i<t.length;i+=1){let w=t[i]??"",m=w.match(r);if(m&&i<n.length){let S=m[2].slice(1),v=`pds-val-${i}`;w=w.replace(r,`$1data-pds-prop="${S}:${v}"`),s.add(i)}c.push(w),i<n.length&&!s.has(i)&&c.push(`<!--pds-val-${i}-->`)}let l=document.createElement("template");l.innerHTML=c.join("");let g=(i,w)=>{let m=i.parentNode;if(!m)return;if(w==null){m.removeChild(i);return}let _=S=>{if(S!=null){if(S instanceof Node){m.insertBefore(S,i);return}if(Array.isArray(S)){S.forEach(v=>_(v));return}m.insertBefore(document.createTextNode(String(S)),i)}};_(w),m.removeChild(i)},y=document.createTreeWalker(l.content,NodeFilter.SHOW_COMMENT),d=[];for(;y.nextNode();){let i=y.currentNode;i?.nodeValue?.startsWith("pds-val-")&&d.push(i)}return d.forEach(i=>{let w=Number(i.nodeValue.replace("pds-val-",""));g(i,n[w])}),l.content.querySelectorAll("*").forEach(i=>{let w=i.getAttribute("data-pds-prop");if(!w)return;let[m,_]=w.split(":"),S=Number(String(_).replace("pds-val-",""));m&&Number.isInteger(S)&&(i[m]=n[S]),i.removeAttribute("data-pds-prop")}),l.content}function de(e){return new DOMParser().parseFromString(e,"text/html").body.childNodes}var ze="pds",ct=/^([a-z][a-z0-9+\-.]*:)?\/\//i,De=/^[a-z]:/i;function N(e=""){return e.endsWith("/")?e:`${e}/`}function lt(e="",t=ze){let n=e.replace(/\/+$/,"");return new RegExp(`(?:^|/)${t}$`,"i").test(n)?n:`${n}/${t}`}function dt(e){return e.replace(/^\.\/+/,"")}function ut(e){return De.test(e)?e.replace(De,"").replace(/^\/+/,""):e}function pt(e){return e.startsWith("public/")?e.substring(7):e}function K(e,t={}){let n=t.segment||ze,s=t.defaultRoot||`/assets/${n}/`,c=e?.public&&e.public?.root||e?.static&&e.static?.root||null;if(!c||typeof c!="string")return N(s);let r=c.trim();return r?(r=r.replace(/\\/g,"/"),r=lt(r,n),r=N(r),ct.test(r)?r:(r=dt(r),r=ut(r),r.startsWith("/")||(r=pt(r),r.startsWith("/")||(r=`/${r}`),r=r.replace(/\/+/g,(l,g)=>g===0?l:"/")),N(r))):N(s)}async function ft(...e){let t={};e.length&&typeof e[e.length-1]=="object"&&(t=e.pop()||{});let n=e,{baseURL:s,mapper:c=d=>`${d}.js`,onError:r=(d,a)=>console.error(`[defineWebComponents] ${d}:`,a)}=t,l=s?new URL(s,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),g=d=>d.toLowerCase().replace(/(^|-)([a-z])/g,(a,i,w)=>w.toUpperCase()),y=async d=>{try{if(customElements.get(d))return{tag:d,status:"already-defined"};let a=c(d),w=await import(a instanceof URL?a.href:new URL(a,l).href),m=w?.default??w?.[g(d)];if(!m){if(customElements.get(d))return{tag:d,status:"self-defined"};throw new Error(`No export found for ${d}. Expected default export or named export "${g(d)}".`)}return customElements.get(d)?{tag:d,status:"race-already-defined"}:(customElements.define(d,m),{tag:d,status:"defined"})}catch(a){throw r(d,a),a}};return Promise.all(n.map(y))}var G=class{constructor(t={}){let{baseURL:n,mapper:s,onError:c,predicate:r=()=>!0,attributeModule:l="data-module",root:g=document,scanExisting:y=!0,debounceMs:d=16,observeShadows:a=!0,enhancers:i=[],patchAttachShadow:w=!0}=t,m=new Set,_=new Set,S=new Set,v=new Map,P=new WeakMap,E=new WeakMap,h=0,b=!1,k=null,H=u=>{if(!u||!i.length)return;let f=E.get(u);f||(f=new Set,E.set(u,f));for(let p of i)if(!(!p.selector||!p.run)&&!f.has(p.selector))try{u.matches&&u.matches(p.selector)&&(p.run(u),f.add(p.selector))}catch(j){console.warn(`[AutoDefiner] Error applying enhancer for selector "${p.selector}":`,j)}},M=(u,f)=>{if(!b&&!(!u||!u.includes("-"))&&!customElements.get(u)&&!_.has(u)&&!S.has(u)){if(f&&f.getAttribute){let p=f.getAttribute(l);p&&!v.has(u)&&v.set(u,p)}m.add(u),st()}},st=()=>{h||(h=setTimeout(_e,d))},R=u=>{if(u){if(u.nodeType===1){let f=u,p=f.tagName?.toLowerCase();p&&p.includes("-")&&!customElements.get(p)&&r(p,f)&&M(p,f),H(f),a&&f.shadowRoot&&re(f.shadowRoot)}u.querySelectorAll&&u.querySelectorAll("*").forEach(f=>{let p=f.tagName?.toLowerCase();p&&p.includes("-")&&!customElements.get(p)&&r(p,f)&&M(p,f),H(f),a&&f.shadowRoot&&re(f.shadowRoot)})}},re=u=>{if(!u||P.has(u))return;R(u);let f=new MutationObserver(p=>{for(let j of p)j.addedNodes?.forEach(D=>{R(D)}),j.type==="attributes"&&j.target&&R(j.target)});f.observe(u,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[l,...i.map(p=>p.selector).filter(p=>p.startsWith("data-"))]}),P.set(u,f)};async function _e(){if(clearTimeout(h),h=0,!m.size)return;let u=Array.from(m);m.clear(),u.forEach(f=>_.add(f));try{let f=p=>v.get(p)??(s?s(p):`${p}.js`);await ft(...u,{baseURL:n,mapper:f,onError:(p,j)=>{S.add(p),c?.(p,j)}})}catch{}finally{u.forEach(f=>_.delete(f))}}let Ee=g===document?document.documentElement:g,ve=new MutationObserver(u=>{for(let f of u)f.addedNodes?.forEach(p=>{R(p)}),f.type==="attributes"&&f.target&&R(f.target)});if(ve.observe(Ee,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[l,...i.map(u=>u.selector).filter(u=>u.startsWith("data-"))]}),a&&w&&Element.prototype.attachShadow){let u=Element.prototype.attachShadow;Element.prototype.attachShadow=function(p){let j=u.call(this,p);if(p&&p.mode==="open"){re(j);let D=this.tagName?.toLowerCase();D&&D.includes("-")&&!customElements.get(D)&&M(D,this)}return j},k=()=>Element.prototype.attachShadow=u}return y&&R(Ee),{stop(){b=!0,ve.disconnect(),k&&k(),h&&(clearTimeout(h),h=0),P.forEach(u=>u.disconnect())},flush:_e}}static async define(...t){let n={};t.length&&typeof t[t.length-1]=="object"&&(n=t.pop()||{});let s=t,{baseURL:c,mapper:r=a=>`${a}.js`,onError:l=(a,i)=>console.error(`[defineWebComponents] ${a}:`,i)}=n,g=c?new URL(c,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),y=a=>a.toLowerCase().replace(/(^|-)([a-z])/g,(i,w,m)=>m.toUpperCase()),d=async a=>{try{if(customElements.get(a))return{tag:a,status:"already-defined"};let i=r(a),m=await import(i instanceof URL?i.href:new URL(i,g).href),_=m?.default??m?.[y(a)];if(!_){if(customElements.get(a))return{tag:a,status:"self-defined"};throw new Error(`No export found for ${a}. Expected default export or named export "${y(a)}".`)}return customElements.get(a)?{tag:a,status:"race-already-defined"}:(customElements.define(a,_),{tag:a,status:"defined"})}catch(i){throw l(a,i),i}};return Promise.all(s.map(d))}};var mt=/^[a-z][a-z0-9+\-.]*:\/\//i,O=(()=>{try{return import.meta.url}catch{return}})(),J=e=>typeof e=="string"&&e.length&&!e.endsWith("/")?`${e}/`:e;function q(e,t={}){if(!e||mt.test(e))return e;let{preferModule:n=!0}=t,s=()=>{if(!O)return null;try{return new URL(e,O).href}catch{return null}},c=()=>{if(typeof window>"u"||!window.location?.origin)return null;try{return new URL(e,window.location.origin).href}catch{return null}};return(n?s()||c():c()||s())||e}var Te=(()=>{if(O)try{let e=new URL(O);if(/\/public\/assets\/js\//.test(e.pathname))return new URL("../pds/",O).href}catch{return}})(),Ce=!1;function Ue(e){Ce||typeof document>"u"||(Ce=!0,e.addEventListener("pds:ready",t=>{let n=t.detail?.mode;n&&document.documentElement.classList.add(`pds-${n}`,"pds-ready")}))}function Me({manageTheme:e,themeStorageKey:t,applyResolvedTheme:n,setupSystemListenerIfNeeded:s}){let c="light",r=null;if(e&&typeof window<"u"){try{r=localStorage.getItem(t)||null}catch{r=null}try{n?.(r),s?.(r)}catch{}r?r==="system"?c=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":c=r:c=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}return{resolvedTheme:c,storedTheme:r}}function V(e,{resolvePublicAssetURL:t}){let n=!!(e?.public?.root||e?.static?.root),s=t(e);return!n&&Te&&(s=Te),J(q(s))}async function Ne(e,{baseEnhancers:t=[]}={}){let{autoDefineBaseURL:n="/auto-define/",autoDefinePreload:s=[],autoDefineMapper:c=null,enhancers:r=[],autoDefineOverrides:l=null,autoDefinePreferModule:g=!0}=e,y=(()=>{let a=new Map;return(t||[]).forEach(i=>a.set(i.selector,i)),(r||[]).forEach(i=>a.set(i.selector,i)),Array.from(a.values())})(),d=null;if(typeof window<"u"&&typeof document<"u"){let a=G,i=h=>{switch(h){case"pds-tabpanel":return"pds-tabstrip.js";default:return`${h}.js`}},{mapper:w,enhancers:m,..._}=l&&typeof l=="object"?l:{},S=m?Array.isArray(m)?m:typeof m=="object"?Object.values(m):[]:[],v=(()=>{let h=new Map;return(y||[]).forEach(b=>{b?.selector&&h.set(b.selector,b)}),(S||[]).forEach(b=>{if(!b?.selector)return;let k=h.get(b.selector)||null;h.set(b.selector,{...k||{},...b,run:typeof b?.run=="function"?b.run:k?.run})}),Array.from(h.values())})(),E={baseURL:n&&J(q(n,{preferModule:g})),predefine:s,scanExisting:!0,observeShadows:!0,patchAttachShadow:!0,debounceMs:16,enhancers:v,onError:(h,b)=>{if(typeof h=="string"&&h.startsWith("pds-")){let H=["pds-form","pds-drawer"].includes(h),M=b?.message?.includes("#pds/lit")||b?.message?.includes("Failed to resolve module specifier");H&&M?o.log("error",`\u274C PDS component <${h}> requires Lit but #pds/lit is not in import map.
2
- See: https://github.com/Pure-Web-Foundation/pure-ds/blob/main/readme.md#lit-components-not-working`):o.log("warn",`\u26A0\uFE0F PDS component <${h}> not found. Assets may not be installed.`)}else o.log("error",`\u274C Auto-define error for <${h}>:`,b)},..._,mapper:h=>{if(customElements.get(h))return null;if(typeof c=="function")try{let b=c(h);return b===void 0?i(h):b}catch(b){return o.log("warn","Custom autoDefine.mapper error; falling back to default:",b?.message||b),i(h)}return i(h)}};d=new a(E),s.length>0&&typeof a.define=="function"&&await a.define(...s,{baseURL:n,mapper:E.mapper,onError:E.onError})}return{autoDefiner:d,mergedEnhancers:y}}var pe=["light","dark"],fe=new Set(pe);function ht(e){let n=(Array.isArray(e?.themes)?e.themes.map(s=>String(s).toLowerCase()):pe).filter(s=>fe.has(s));return n.length?n:pe}function me(e,{preferDocument:t=!0}={}){let n=String(e||"").toLowerCase();if(fe.has(n))return n;if(t&&typeof document<"u"){let s=document.documentElement?.getAttribute("data-theme");if(fe.has(s))return s}return typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Oe(e,t){let n=me(t);return ht(e).includes(n)}var yt=new Set(["log","warn","error","debug","info"]),gt="__PURE_DS_PDS_SINGLETON__",he=null,ye=null;function Ie(){try{let t=(typeof globalThis<"u"?globalThis:window)?.[gt];if(t&&typeof t=="object")return t}catch{return null}return null}function bt(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 wt(e){if(typeof e!="string")return"log";let t=e.toLowerCase();return yt.has(t)?t:"log"}function St(){if(typeof ye=="function")try{let t=bt(ye());if(t)return t}catch{}let e=Ie();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 Lt(){if(typeof he=="function")try{let t=he();if(typeof t=="function")return t}catch{}let e=Ie();return typeof e?.logHandler=="function"?e.logHandler:null}function $e(e,t,...n){if(typeof console>"u")return;let s=typeof console[e]=="function"?console[e].bind(console):typeof console.log=="function"?console.log.bind(console):null;s&&(n.length>0?s(t,...n):s(t))}function _t(e,t){let n=t?.debug===!0;return!(t?.mode==="static"&&!n||!n&&e!=="error"&&e!=="warn")}function Fe({getLogger:e,getContext:t}={}){he=typeof e=="function"?e:null,ye=typeof t=="function"?t:null}function We(e="log",t,...n){let s=wt(e),c=St(),r=Lt();if(r)try{r.call(c?.thisArg,s,t,...n);return}catch(l){$e("error","Custom log handler failed:",l)}_t(s,c)&&$e(s,t,...n)}typeof o.initializing!="boolean"&&(o.initializing=!1);"currentPreset"in o||(o.currentPreset=null);typeof o.debug!="boolean"&&(o.debug=!1);"currentConfig"in o||(o.currentConfig=null);"compiled"in o||(o.compiled=null);typeof o.logHandler!="function"&&(o.logHandler=null);"mode"in o||(o.mode=null);var Q=null,Y=null,Z=null,X=null,ee=null,te=null,Be="__pdsLocalizationRuntime";function T(){if(te)return te;let e=o?.[Be];return e&&typeof e=="object"?(te=e,e):null}function Et(e){let t=e&&typeof e=="object"?e:null;te=t,o[Be]=t}Fe({getLogger:()=>typeof o.logHandler=="function"?o.logHandler:null,getContext:()=>{let e=o?.mode||o?.compiled?.mode||(o?.registry?.isLive?"live":"static"),t=(o?.debug||o?.currentConfig?.debug||o?.currentConfig?.design?.debug||o?.compiled?.debug||o?.compiled?.design?.debug||!1)===!0;return{mode:e,debug:t,thisArg:o}}});o.log=(e="log",t,...n)=>{We(e,t,...n)};var L={locale:"en",messages:{},hasProvider:!1},ne=new Set;function Ke(e){return!!e&&typeof e!="string"&&typeof e=="object"&&"strTag"in e}function Ge(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 vt(e,t){return String(e).replace(/\{(\d+)\}/g,(n,s)=>t(Number(s)))}function jt(e){if(!e||typeof e!="object")return{};let t={};for(let[n,s]of Object.entries(e)){if(typeof s=="string"){t[n]=s;continue}s&&typeof s=="object"&&typeof s.content=="string"&&(t[n]=s.content)}return t}function At(e,...t){return{strTag:!0,strings:Array.from(e||[]),values:t,raw:Array.from(e?.raw||[])}}function Pt(e){if(!e)return"";if(Ke(e)){let n=Ge(e.strings||[]),s=L.messages[n]||n;return vt(s,c=>e.values?.[c])}let t=String(e);return L.messages[t]||t}function kt(e){if(!e)return;let t=Ke(e)?Ge(e.strings||[]):String(e);typeof t=="string"&&t.length>0&&ne.add(t)}function Je(e){if(!e||typeof e.msg!="function"||ne.size===0)return;let t=Array.from(ne);ne.clear();for(let n of t)try{e.msg(n)}catch{}}async function I(){let e=T();return e||(ee||(ee=import(F("pds-localization.js")).then(n=>{if(typeof n?.msg!="function"||typeof n?.str!="function"||typeof n?.configureLocalization!="function"||typeof n?.loadLocale!="function"||typeof n?.setLocale!="function"||typeof n?.getLocalizationState!="function")throw new Error("Failed to load localization runtime exports");return Et(n),Je(n),n}).catch(n=>{throw ee=null,n})),ee)}var C=(e,t={})=>{let n=T();return typeof n?.msg=="function"?n.msg(e,t):(kt(e),Pt(e,t))},se=(e,...t)=>{let n=T();return typeof n?.str=="function"?n.str(e,...t):At(e,...t)},oe=(e=null)=>{let t=T();if(typeof t?.configureLocalization=="function")return t.configureLocalization(e);if(!e||typeof e!="object")return L.locale="en",L.messages={},L.hasProvider=!1,{locale:L.locale,messages:{...L.messages},hasProvider:L.hasProvider};typeof e.locale=="string"&&e.locale.trim()&&(L.locale=e.locale.trim()),Object.prototype.hasOwnProperty.call(e,"messages")&&(L.messages=jt(e.messages));let n=!!(e.provider||e.translate||e.loadLocale||e.setLocale);return L.hasProvider=n,n&&I().then(s=>{s.configureLocalization(e),Je(s)}).catch(()=>{}),{locale:L.locale,messages:{...L.messages},hasProvider:L.hasProvider}},qe=async e=>(await I()).loadLocale(e),Ve=async(e,t={})=>(await I()).setLocale(e,t),Qe=()=>{let e=T();return typeof e?.getLocalizationState=="function"?e.getLocalizationState():{locale:L.locale,messages:{...L.messages},hasProvider:L.hasProvider}},Ye=(e={})=>{let t=T();if(typeof t?.createJSONLocalization=="function")return t.createJSONLocalization(e);let n=typeof e?.locale=="string"&&e.locale.trim()?e.locale.trim().toLowerCase():"en",s=Array.isArray(e?.locales)?e.locales.map(y=>String(y||"").trim().toLowerCase()).filter(Boolean):[],c=Array.from(new Set([n,...s])),r=null,l=async()=>(r||(r=I().then(y=>typeof y?.createJSONLocalization=="function"?y.createJSONLocalization(e):null).catch(()=>null)),r),g=async(y="loadLocale")=>{let d=await l();if(!d||typeof d!="object")return null;let a=d.provider;if(!a||typeof a!="object")return null;let i=a[y];return typeof i=="function"?i:y==="setLocale"&&typeof a.loadLocale=="function"?a.loadLocale:null};return{locale:n,locales:[...c],provider:{locales:[...c],async loadLocale(y={}){let d=await g("loadLocale");return typeof d!="function"?{}:d(y)},async setLocale(y={}){let d=await g("setLocale");return typeof d!="function"?{}:d(y)}}}};function F(e,t){return t&&typeof t=="string"?t:`${V(o.currentConfig||{},{resolvePublicAssetURL:K})}core/${e}`}async function xt(){return Array.isArray(o.defaultEnhancers)&&o.defaultEnhancers.length>0?o.defaultEnhancers:(X||(X=import(F("pds-enhancers.js",o.currentConfig?.enhancersURL)).then(t=>{let n=Array.isArray(t?.defaultPDSEnhancers)?t.defaultPDSEnhancers:[];return o.defaultEnhancers=n,n}).catch(t=>{throw X=null,t})),X)}async function Rt(){return typeof o.ask=="function"&&o.ask!==Ze?o.ask:(Y||(Y=import(F("pds-ask.js",o.currentConfig?.askURL)).then(t=>{let n=t?.ask;if(typeof n!="function")throw new Error("Failed to load ask helper");return o.ask=n,n}).catch(t=>{throw Y=null,t})),Y)}async function W(){return typeof o.toast=="function"&&o.toast!==U?o.toast:(Z||(Z=import(F("pds-toast.js",o.currentConfig?.toastURL)).then(t=>{let n=t?.toast;if(typeof n!="function")throw new Error("Failed to load toast helper");return o.toast=n,n}).catch(t=>{throw Z=null,t})),Z)}async function Ze(...e){return(await Rt())(...e)}async function U(...e){return(await W())(...e)}U.success=async(...e)=>(await W()).success(...e);U.error=async(...e)=>(await W()).error(...e);U.warning=async(...e)=>(await W()).warning(...e);U.info=async(...e)=>(await W()).info(...e);var He=function(e="log",t,...n){o.log(e,t,...n)};function be(e){if(e==null)return e;if(typeof e=="function")return;if(typeof e!="object")return e;if(Array.isArray(e))return e.map(n=>be(n)).filter(n=>n!==void 0);let t={};for(let[n,s]of Object.entries(e)){let c=be(s);c!==void 0&&(t[n]=c)}return t}function Xe(e,t=new WeakSet){if(!e||typeof e!="object"||t.has(e))return e;t.add(e),Object.freeze(e);for(let n of Object.keys(e))Xe(e[n],t);return e}function we(e){return e==null||typeof e!="object"?e:Xe(structuredClone(be(e)))}async function Dt(e,t={}){if(t?.runtimeConfig===!1||typeof fetch!="function")return null;let n=t?.runtimeConfigURL||`${e}pds-runtime-config.json`;try{let s=await fetch(n,{cache:"no-store"});return s.ok?await s.json():null}catch{return null}}o.registry=z;o.enums=xe;o.adoptLayers=Pe;o.adoptPrimitives=Ae;o.parse=de;o.createStylesheet=ke;o.isLiveMode=()=>z.isLive;o.ask=Ze;o.toast=U;o.common=ue;o.msg=C;o.str=se;o.configureLocalization=oe;o.loadLocale=qe;o.setLocale=Ve;o.getLocalizationState=Qe;o.createJSONLocalization=Ye;o.i18n={msg:C,str:se,configure:oe,loadLocale:qe,setLocale:Ve,getState:Qe,createJSONLocalization:Ye};o.AutoComplete=null;o.loadAutoComplete=async()=>{if(o.AutoComplete&&typeof o.AutoComplete.connect=="function")return o.AutoComplete;let e=F("pds-autocomplete.js",o.currentConfig?.autoCompleteURL);return Q||(Q=import(e).then(t=>{let n=t?.AutoComplete||t?.default?.AutoComplete||t?.default||null;if(!n)throw new Error("AutoComplete export not found in module");return o.AutoComplete=n,n}).catch(t=>{throw Q=null,t})),Q};function et(e){let t=typeof CustomEvent=="function";try{let n=t?new CustomEvent("pds:ready",{detail:e}):new Event("pds:ready");o.dispatchEvent(n)}catch{}if(typeof document<"u")if(t){let n={detail:e,bubbles:!0,composed:!0};try{document.dispatchEvent(new CustomEvent("pds:ready",n))}catch{}try{document.dispatchEvent(new CustomEvent("pds-ready",n))}catch{}}else{try{document.dispatchEvent(new Event("pds:ready"))}catch{}try{document.dispatchEvent(new Event("pds-ready"))}catch{}}}function tt(e={}){let t=typeof CustomEvent=="function",n={at:Date.now(),...e};try{let s=t?new CustomEvent("pds:config-changed",{detail:n}):new Event("pds:config-changed");o.dispatchEvent(s)}catch{}if(typeof document<"u")if(t){let s={detail:n,bubbles:!0,composed:!0};try{document.dispatchEvent(new CustomEvent("pds:config-changed",s))}catch{}}else try{document.dispatchEvent(new Event("pds:config-changed"))}catch{}}var ge="pure-ds-theme",x=null,$=null;function Se(e){try{if(typeof document>"u")return;let t="light";e?e==="system"?t=typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":t=e:t=typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",document.documentElement.setAttribute("data-theme",t)}catch{}}function Le(e){try{if(x&&$){try{typeof x.removeEventListener=="function"?x.removeEventListener("change",$):typeof x.removeListener=="function"&&x.removeListener($)}catch{}x=null,$=null}if(e==="system"&&typeof window<"u"&&window.matchMedia){let t=window.matchMedia("(prefers-color-scheme: dark)"),n=s=>{let c=s?.matches===void 0?t.matches:s.matches;try{let r=c?"dark":"light";document.documentElement.setAttribute("data-theme",r),o.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:r,source:"system"}}))}catch{}};x=t,$=n,typeof t.addEventListener=="function"?t.addEventListener("change",n):typeof t.addListener=="function"&&t.addListener(n)}}catch{}}var zt=Object.getOwnPropertyDescriptor(o,"theme");zt||Object.defineProperty(o,"theme",{get(){try{return typeof window>"u"?null:localStorage.getItem(ge)||null}catch{return null}},set(e){try{if(typeof window>"u")return;let t=o.currentConfig?.design||null,n=me(e);if(t&&!Oe(t,n)){let s=t?.name||o.currentPreset?.name||o.currentConfig?.preset||"current preset";o.log("warn",`PDS theme "${n}" not supported by preset "${s}".`),o.dispatchEvent(new CustomEvent("pds:theme:blocked",{detail:{theme:e,resolvedTheme:n,preset:s}}));return}e==null?localStorage.removeItem(ge):localStorage.setItem(ge,e),Se(e),Le(e),o.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:e,source:"api"}}))}catch{}}});o.defaultEnhancers=[];async function Tt(e){o.initializing=!0;try{let t=e&&e.mode||"live",{mode:n,...s}=e||{};o.mode=t,o.logHandler=typeof s?.log=="function"?s.log:null,o.currentConfig=we(s);let c=s&&typeof s.localization=="object"&&s.localization?s.localization:null;c?(await I(),oe(c)):oe(null);let r;if(t==="static")r=await Ct(s);else{let{localization:g,...y}=s||{},d=V(y,{resolvePublicAssetURL:K}),a=y?.managerURL||y?.public?.managerURL||y?.manager?.url||new URL("core/pds-manager.js",d).href||new URL("./pds-manager.js",import.meta.url).href,{startLive:i}=await import(a);r=await i(o,y,{emitReady:et,emitConfigChanged:tt,applyResolvedTheme:Se,setupSystemListenerIfNeeded:Le})}o.compiled=we(r?.config||null);let l=o?.compiled?.design?.icons?.externalPath||"/assets/img/icons/";return o.log("info",`startup ready; external icon path: ${l}`),r}finally{o.initializing=!1}}o.start=Tt;async function Ct(e){if(!e||typeof e!="object")throw new Error("PDS.start({ mode: 'static', ... }) requires a valid configuration object");let t=e.applyGlobalStyles??!0,n=e.manageTheme??!0,s=e.themeStorageKey??"pure-ds-theme",c=e.staticPaths??{},r=V(e,{resolvePublicAssetURL:K}),l=e&&e.autoDefine||null,g;l&&l.baseURL?g=J(q(l.baseURL,{preferModule:!1})):g=`${r}components/`;let y=l&&Array.isArray(l.predefine)&&l.predefine||[],d=l&&typeof l.mapper=="function"&&l.mapper||null;try{Ue(o);let{resolvedTheme:a}=Me({manageTheme:n,themeStorageKey:s,applyResolvedTheme:Se,setupSystemListenerIfNeeded:Le}),i=await Dt(r,e),w=Array.isArray(e?.enhancers)?e.enhancers:e?.enhancers&&typeof e.enhancers=="object"?Object.values(e.enhancers):[],m=i?.config?{...i.config,...e,design:e?.design||i.config.design,preset:e?.preset||i.config.preset}:{...e},_={tokens:`${r}styles/pds-tokens.css.js`,primitives:`${r}styles/pds-primitives.css.js`,components:`${r}styles/pds-components.css.js`,utilities:`${r}styles/pds-utilities.css.js`,styles:`${r}styles/pds-styles.css.js`},S=i?.paths||{};if(c={..._,...S,...c},o.registry.setStaticMode(c),t&&typeof document<"u")try{let E=await o.registry.getStylesheet("styles");if(E){E._pds=!0;let h=(document.adoptedStyleSheets||[]).filter(b=>b._pds!==!0);document.adoptedStyleSheets=[...h,E],tt({mode:"static",source:"static:styles-applied"})}}catch(E){He.call(o,"warn","Failed to apply static styles:",E)}let v=null,P=[];try{let E=await xt(),h=await Ne({autoDefineBaseURL:g,autoDefinePreload:y,autoDefineMapper:d,enhancers:w,autoDefineOverrides:l||null,autoDefinePreferModule:!(l&&l.baseURL)},{baseEnhancers:E});v=h.autoDefiner,P=h.mergedEnhancers||[]}catch(E){He.call(o,"error","\u274C Failed to initialize AutoDefiner/Enhancers (static):",E)}return o.compiled=we({mode:"static",...m,theme:a,enhancers:P}),et({mode:"static",config:m,theme:a,autoDefiner:v}),{config:m,theme:a,autoDefiner:v}}catch(a){throw o.dispatchEvent(new CustomEvent("pds:error",{detail:{error:a}})),a}}var Ut=o.createJSONLocalization({locale:"en-US",locales:["en-US","nl-NL"],aliases:{en:["en-US"],nl:["nl-NL"]},basePath:"/assets/locales"}),nt={mode:"live",liveEdit:!0,preset:"default",localization:Ut,autoDefine:{predefine:["pds-icon","pds-drawer","pds-toaster"]},log(e,t,...n){(this?.mode||this?.compiled?.mode||"live")!=="static"&&(typeof console[e]=="function"?console[e]:console.log)(`[PDS] ${t}`,...n)}};var A={name:"@pure-ds/core",shortname:"pds",version:"0.7.46",description:"Why develop a Design System when you can generate one?",repository:{type:"git",url:"git+https://github.com/Pure-Web-Foundation/pure-ds.git"},bugs:{url:"https://github.com/Pure-Web-Foundation/pure-ds/issues"},homepage:"https://puredesignsystem.z6.web.core.windows.net/",keywords:["design-system","css","web-components","lit","constructable-stylesheets","tokens","utilities","a11y"],type:"module",main:"./public/assets/pds/core.js",module:"./public/assets/pds/core.js",types:"./dist/types/pds.d.ts",bin:{"pds-build":"packages/pds-cli/bin/pds-static.js","pds-sync-assets":"packages/pds-cli/bin/sync-assets.js","pds-build-icons":"packages/pds-cli/bin/pds-build-icons.js","pds-import":"packages/pds-cli/bin/pds-import.js","pds-setup-copilot":"packages/pds-cli/bin/pds-setup-copilot.js","pds-setup-mcp":"packages/pds-cli/bin/pds-setup-mcp.js","pds-init-config":"packages/pds-cli/bin/pds-init-config.js","pds-bootstrap":"packages/pds-cli/bin/pds-bootstrap.js","pds-mcp-server":"packages/pds-cli/bin/pds-mcp-server.js","pds-mcp-health":"packages/pds-cli/bin/pds-mcp-health.js","pds-mcp-eval":"packages/pds-cli/bin/pds-mcp-eval.js"},exports:{".":{types:"./src/js/pds.d.ts",import:"./public/assets/pds/core.js"},"./localization":{types:"./dist/types/src/js/pds-localization.d.ts",import:"./public/assets/pds/core/pds-localization.js"},"./lit":{types:"./dist/types/src/js/lit.d.ts",import:"./public/assets/pds/external/lit.js"},"./pds-core":"./src/js/pds.js","./auto-define/*":"./public/auto-define/*"},files:[".github/copilot-instructions.md",".cursorrules","dist/types/","public/assets/js/","public/assets/pds/components/","public/assets/pds/templates/","public/assets/pds/core.js","public/assets/pds/core/","public/assets/pds/external/","public/assets/pds/vscode-custom-data.json","public/assets/pds/pds.css-data.json","public/assets/pds/pds-css-complete.json","public/auto-define/","public/pds/components/","public/assets/pds/icons/pds-icons.svg","packages/pds-cli/bin/","packages/pds-cli/lib/","src/js/pds.d.ts","src/js/pds.js","src/js/pds-singleton.js","src/js/common/","src/js/pds-live-manager/","src/js/pds-core/","custom-elements.json","custom-elements-manifest.config.js","pds.html-data.json","pds.css-data.json","LOCALIZATION.md","readme.md","INTELLISENSE.md","CSS-INTELLISENSE-LIMITATION.md","CSS-INTELLISENSE-QUICK-REF.md"],scripts:{test:'echo "Error: no test specified" && exit 1',dev:"node esbuild-dev.js",prebuild:"npm run types",build:"node esbuild-build.js",types:"tsc -p tsconfig.json && node scripts/sync-types.mjs",postinstall:"node packages/pds-cli/bin/postinstall.mjs","prepds:build":"npm run types","pds:build":"node packages/pds-cli/bin/pds-static.js","pds:build-icons":"node packages/pds-cli/bin/pds-build-icons.js","pds:bootstrap":"node packages/pds-cli/bin/pds-bootstrap.js","pds:manifest":"node packages/pds-cli/bin/generate-manifest.js","pds:css-data":"node packages/pds-cli/bin/generate-css-data.js","pds:import":"node packages/pds-cli/bin/pds-import.js","pds:dx":"node packages/pds-cli/bin/pds-dx.js","pds:mcp:server":"node packages/pds-cli/bin/pds-mcp-server.js","pds:mcp:health":"node packages/pds-cli/bin/pds-mcp-health.js","pds:mcp:eval":"node packages/pds-cli/bin/pds-mcp-eval.js","storybook:generate":"cd packages/pds-storybook && npm run generate-stories","storybook:dev":"cd packages/pds-storybook && npm run storybook:dev","storybook:build":"cd packages/pds-storybook && npm run storybook:build"},author:"Marc van Neerven",license:"ISC",engines:{node:">=18"},publishConfig:{access:"public"},devDependencies:{"@custom-elements-manifest/analyzer":"^0.9.9","@types/node":"^22.10.2",esbuild:"^0.19.0","fs-extra":"^11.1.1",typescript:"^5.6.3"},dependencies:{lit:"^3.3.2","pure-web":"1.1.32"},customElements:"custom-elements.json"};await o.start(nt);document.documentElement.lang="en";var ot=typeof A.repository=="string"?A.repository:A.repository?.url,Nt=ot?ot.replace(/^git\+/,"").replace(/\.git$/,""):"",hn=A.homepage||Nt,yn=A.bugs?.url||"";document.body.innerHTML=`
1
+ var ct=Object.defineProperty;var lt=(e,t)=>{for(var n in t)ct(e,n,{get:t[n],enumerable:!0})};var ce=class extends EventTarget{constructor(){super(),this.mode=null,this.compiled=null,this.log=()=>{},this.logHandler=null}},ke="__PURE_DS_PDS_SINGLETON__",le=typeof globalThis<"u"?globalThis:window,ae=le?.[ke],o=ae&&typeof ae.addEventListener=="function"?ae:new ce;le&&(le[ke]=o);typeof o.log!="function"&&(o.log=(e="log",t,...n)=>{if(typeof console>"u")return;let s=typeof console[e]=="function"?console[e].bind(console):typeof console.log=="function"?console.log.bind(console):null;s&&(n.length>0?s(t,...n):s(t))});typeof o.logHandler!="function"&&(o.logHandler=null);var de=class{constructor(){this._mode="static",this._staticPaths={tokens:"/assets/pds/styles/pds-tokens.css.js",primitives:"/assets/pds/styles/pds-primitives.css.js",components:"/assets/pds/styles/pds-components.css.js",utilities:"/assets/pds/styles/pds-utilities.css.js",styles:"/assets/pds/styles/pds-styles.css.js"}}setLiveMode(){this._mode="live"}setStaticMode(t={}){this._mode="static",this._staticPaths={...this._staticPaths,...t}}async getStylesheet(t){if(this._mode==="live")return null;try{return(await import(this._staticPaths[t]))[t]}catch(n){o.log("error",`Registry: failed to load static ${t}:`,n),o.log("error",`Registry: looking for ${this._staticPaths[t]}`),o.log("error","Registry: make sure you've run 'npm run pds:build' and configured PDS.start() with the correct static.root path");let s=new CSSStyleSheet;return s.replaceSync("/* Failed to load "+t+" */"),s}}get mode(){return this._mode}get isLive(){return this._mode==="live"}},C=new de;async function xe(e,t=[],n=null){try{let s=n?.primitivesStylesheet?n.primitivesStylesheet:await C.getStylesheet("primitives");e.adoptedStyleSheets=[s,...t]}catch(s){let a=e.host?.tagName?.toLowerCase()||"unknown";o.log("error",`Adopter: <${a}> failed to adopt primitives:`,s),e.adoptedStyleSheets=t}}async function Re(e,t=["primitives"],n=[],s=null){let a=Array.isArray(n)?n.filter(Boolean):[];if(a.length){let l=(Array.isArray(e.adoptedStyleSheets)?e.adoptedStyleSheets:[]).filter(S=>!a.includes(S));e.adoptedStyleSheets=[...l,...a]}try{let l=(await Promise.all(t.map(async S=>{if(s)switch(S){case"tokens":return s.tokensStylesheet;case"primitives":return s.primitivesStylesheet;case"components":return s.componentsStylesheet;case"utilities":return s.utilitiesStylesheet;default:break}return C.getStylesheet(S)}))).filter(S=>S!==null);e.adoptedStyleSheets=[...l,...a]}catch(r){let l=e.host?.tagName?.toLowerCase()||"unknown";o.log("error",`Adopter: <${l}> failed to adopt layers:`,r),e.adoptedStyleSheets=a}}function De(e){let t=new CSSStyleSheet;return t.replaceSync(e),t}var ze={FontWeights:{light:300,normal:400,medium:500,semibold:600,bold:700},LineHeights:{tight:1.25,normal:1.5,relaxed:1.75},BorderWidths:{hairline:.5,thin:1,medium:2,thick:3},RadiusSizes:{none:0,small:4,medium:8,large:16,xlarge:24,xxlarge:32},ShadowDepths:{none:"none",light:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",medium:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",deep:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",extreme:"0 25px 50px -12px rgba(0, 0, 0, 0.25)"},TransitionSpeeds:{fast:150,normal:250,slow:350},AnimationEasings:{linear:"linear",ease:"ease","ease-in":"ease-in","ease-out":"ease-out","ease-in-out":"ease-in-out",bounce:"cubic-bezier(0.68, -0.55, 0.265, 1.55)"},TouchTargetSizes:{compact:36,standard:44,comfortable:48,spacious:56},LinkStyles:{inline:"inline",block:"block",button:"button"},FocusStyles:{ring:"ring",outline:"outline",border:"border",glow:"glow"},TabSizes:{compact:2,standard:4,wide:8},SelectIcons:{chevron:"chevron",arrow:"arrow",caret:"caret",none:"none"},IconSizes:{xs:16,sm:20,md:24,lg:32,xl:48,"2xl":64,"3xl":96}};var fe={};lt(fe,{deepMerge:()=>Ce,fragmentFromTemplateLike:()=>ue,isObject:()=>B,parseFragment:()=>K,parseHTML:()=>pe});function B(e){return e&&typeof e=="object"&&!Array.isArray(e)}function Ce(e,t){let n={...e};return B(e)&&B(t)&&Object.keys(t).forEach(s=>{B(t[s])?s in e?n[s]=Ce(e[s],t[s]):Object.assign(n,{[s]:t[s]}):Object.assign(n,{[s]:t[s]})}),n}function ue(e){let t=Array.isArray(e?.strings)?e.strings:[],n=Array.isArray(e?.values)?e.values:[],s=new Set,a=[],r=/(\s)(\.[\w-]+)=\s*$/,l=/(\s)(@[\w-]+)=\s*$/,S=/(\s)(\?[\w-]+)=\s*$/,g=/(\s)([\w:-]+)=\s*$/;for(let c=0;c<t.length;c+=1){let y=t[c]??"";if(c<n.length){let L=`pds-val-${c}`,v=y.match(r),b=y.match(l),d=y.match(S),w=y.match(g);if(v){let E=v[2].slice(1);y=y.replace(r,`$1data-pds-bind-${c}="prop:${E}:${L}"`),s.add(c)}else if(b){let E=b[2].slice(1);y=y.replace(l,`$1data-pds-bind-${c}="event:${E}:${L}"`),s.add(c)}else if(d){let E=d[2].slice(1);y=y.replace(S,`$1data-pds-bind-${c}="boolean:${E}:${L}"`),s.add(c)}else if(w){let E=w[2];y=y.replace(g,`$1data-pds-bind-${c}="attr:${E}:${L}"`),s.add(c)}}a.push(y),c<n.length&&!s.has(c)&&a.push(`<!--pds-val-${c}-->`)}let u=document.createElement("template");u.innerHTML=a.join("");let i=(c,y)=>{let L=c.parentNode;if(!L)return;if(y==null){L.removeChild(c);return}let v=b=>{if(b!=null){if(b instanceof Node){L.insertBefore(b,c);return}if(Array.isArray(b)){b.forEach(d=>v(d));return}L.insertBefore(document.createTextNode(String(b)),c)}};v(y),L.removeChild(c)},m=document.createTreeWalker(u.content,NodeFilter.SHOW_COMMENT),j=[];for(;m.nextNode();){let c=m.currentNode;c?.nodeValue?.startsWith("pds-val-")&&j.push(c)}return j.forEach(c=>{let y=Number(c.nodeValue.replace("pds-val-",""));i(c,n[y])}),u.content.querySelectorAll("*").forEach(c=>{[...c.attributes].forEach(y=>{if(!y.name.startsWith("data-pds-bind-"))return;let L=y.value.indexOf(":"),v=y.value.lastIndexOf(":");if(L<=0||v<=L){c.removeAttribute(y.name);return}let b=y.value.slice(0,L),d=y.value.slice(L+1,v),w=y.value.slice(v+1),E=Number(String(w).replace("pds-val-","")),P=n[E];if(!d||!Number.isInteger(E)){c.removeAttribute(y.name);return}b==="prop"?c[d]=P:b==="event"?(typeof P=="function"||P&&typeof P.handleEvent=="function")&&c.addEventListener(d,P):b==="boolean"?P?c.setAttribute(d,""):c.removeAttribute(d):b==="attr"&&(P==null||P===!1?c.removeAttribute(d):c.setAttribute(d,String(P))),c.removeAttribute(y.name)})}),u.content}function K(e,...t){if(Array.isArray(e)&&Object.prototype.hasOwnProperty.call(e,"raw"))return ue({strings:Array.from(e),values:t});if(Array.isArray(e?.strings)&&Array.isArray(e?.values))return ue({strings:e.strings,values:e.values});let s=document.createElement("template");return s.innerHTML=String(e??""),s.content}function pe(e,...t){return K(e,...t).childNodes}var Me="pds",dt=/^([a-z][a-z0-9+\-.]*:)?\/\//i,Te=/^[a-z]:/i;function N(e=""){return e.endsWith("/")?e:`${e}/`}function ut(e="",t=Me){let n=e.replace(/\/+$/,"");return new RegExp(`(?:^|/)${t}$`,"i").test(n)?n:`${n}/${t}`}function pt(e){return e.replace(/^\.\/+/,"")}function ft(e){return Te.test(e)?e.replace(Te,"").replace(/^\/+/,""):e}function mt(e){return e.startsWith("public/")?e.substring(7):e}function G(e,t={}){let n=t.segment||Me,s=t.defaultRoot||`/assets/${n}/`,a=e?.public&&e.public?.root||e?.static&&e.static?.root||null;if(!a||typeof a!="string")return N(s);let r=a.trim();return r?(r=r.replace(/\\/g,"/"),r=ut(r,n),r=N(r),dt.test(r)?r:(r=pt(r),r=ft(r),r.startsWith("/")||(r=mt(r),r.startsWith("/")||(r=`/${r}`),r=r.replace(/\/+/g,(l,S)=>S===0?l:"/")),N(r))):N(s)}async function ht(...e){let t={};e.length&&typeof e[e.length-1]=="object"&&(t=e.pop()||{});let n=e,{baseURL:s,mapper:a=u=>`${u}.js`,onError:r=(u,i)=>console.error(`[defineWebComponents] ${u}:`,i)}=t,l=s?new URL(s,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),S=u=>u.toLowerCase().replace(/(^|-)([a-z])/g,(i,m,j)=>j.toUpperCase()),g=async u=>{try{if(customElements.get(u))return{tag:u,status:"already-defined"};let i=a(u),j=await import(i instanceof URL?i.href:new URL(i,l).href),_=j?.default??j?.[S(u)];if(!_){if(customElements.get(u))return{tag:u,status:"self-defined"};throw new Error(`No export found for ${u}. Expected default export or named export "${S(u)}".`)}return customElements.get(u)?{tag:u,status:"race-already-defined"}:(customElements.define(u,_),{tag:u,status:"defined"})}catch(i){throw r(u,i),i}};return Promise.all(n.map(g))}var J=class{constructor(t={}){let{baseURL:n,mapper:s,onError:a,predicate:r=()=>!0,attributeModule:l="data-module",root:S=document,scanExisting:g=!0,debounceMs:u=16,observeShadows:i=!0,enhancers:m=[],patchAttachShadow:j=!0}=t,_=new Set,c=new Set,y=new Set,L=new Map,v=new WeakMap,b=new WeakMap,d=0,w=!1,E=null,P=p=>{if(!p||!m.length)return;let h=b.get(p);h||(h=new Set,b.set(p,h));for(let f of m)if(!(!f.selector||!f.run)&&!h.has(f.selector))try{p.matches&&p.matches(f.selector)&&(f.run(p),h.add(f.selector))}catch(k){console.warn(`[AutoDefiner] Error applying enhancer for selector "${f.selector}":`,k)}},$=(p,h)=>{if(!w&&!(!p||!p.includes("-"))&&!customElements.get(p)&&!c.has(p)&&!y.has(p)){if(h&&h.getAttribute){let f=h.getAttribute(l);f&&!L.has(p)&&L.set(p,f)}_.add(p),at()}},at=()=>{d||(d=setTimeout(Ae,u))},D=p=>{if(p){if(p.nodeType===1){let h=p,f=h.tagName?.toLowerCase();f&&f.includes("-")&&!customElements.get(f)&&r(f,h)&&$(f,h),P(h),i&&h.shadowRoot&&ie(h.shadowRoot)}p.querySelectorAll&&p.querySelectorAll("*").forEach(h=>{let f=h.tagName?.toLowerCase();f&&f.includes("-")&&!customElements.get(f)&&r(f,h)&&$(f,h),P(h),i&&h.shadowRoot&&ie(h.shadowRoot)})}},ie=p=>{if(!p||v.has(p))return;D(p);let h=new MutationObserver(f=>{for(let k of f)k.addedNodes?.forEach(z=>{D(z)}),k.type==="attributes"&&k.target&&D(k.target)});h.observe(p,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[l,...m.map(f=>f.selector).filter(f=>f.startsWith("data-"))]}),v.set(p,h)};async function Ae(){if(clearTimeout(d),d=0,!_.size)return;let p=Array.from(_);_.clear(),p.forEach(h=>c.add(h));try{let h=f=>L.get(f)??(s?s(f):`${f}.js`);await ht(...p,{baseURL:n,mapper:h,onError:(f,k)=>{y.add(f),a?.(f,k)}})}catch{}finally{p.forEach(h=>c.delete(h))}}let je=S===document?document.documentElement:S,Pe=new MutationObserver(p=>{for(let h of p)h.addedNodes?.forEach(f=>{D(f)}),h.type==="attributes"&&h.target&&D(h.target)});if(Pe.observe(je,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[l,...m.map(p=>p.selector).filter(p=>p.startsWith("data-"))]}),i&&j&&Element.prototype.attachShadow){let p=Element.prototype.attachShadow;Element.prototype.attachShadow=function(f){let k=p.call(this,f);if(f&&f.mode==="open"){ie(k);let z=this.tagName?.toLowerCase();z&&z.includes("-")&&!customElements.get(z)&&$(z,this)}return k},E=()=>Element.prototype.attachShadow=p}return g&&D(je),{stop(){w=!0,Pe.disconnect(),E&&E(),d&&(clearTimeout(d),d=0),v.forEach(p=>p.disconnect())},flush:Ae}}static async define(...t){let n={};t.length&&typeof t[t.length-1]=="object"&&(n=t.pop()||{});let s=t,{baseURL:a,mapper:r=i=>`${i}.js`,onError:l=(i,m)=>console.error(`[defineWebComponents] ${i}:`,m)}=n,S=a?new URL(a,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),g=i=>i.toLowerCase().replace(/(^|-)([a-z])/g,(m,j,_)=>_.toUpperCase()),u=async i=>{try{if(customElements.get(i))return{tag:i,status:"already-defined"};let m=r(i),_=await import(m instanceof URL?m.href:new URL(m,S).href),c=_?.default??_?.[g(i)];if(!c){if(customElements.get(i))return{tag:i,status:"self-defined"};throw new Error(`No export found for ${i}. Expected default export or named export "${g(i)}".`)}return customElements.get(i)?{tag:i,status:"race-already-defined"}:(customElements.define(i,c),{tag:i,status:"defined"})}catch(m){throw l(i,m),m}};return Promise.all(s.map(u))}};var yt=/^[a-z][a-z0-9+\-.]*:\/\//i,O=(()=>{try{return import.meta.url}catch{return}})(),q=e=>typeof e=="string"&&e.length&&!e.endsWith("/")?`${e}/`:e;function V(e,t={}){if(!e||yt.test(e))return e;let{preferModule:n=!0}=t,s=()=>{if(!O)return null;try{return new URL(e,O).href}catch{return null}},a=()=>{if(typeof window>"u"||!window.location?.origin)return null;try{return new URL(e,window.location.origin).href}catch{return null}};return(n?s()||a():a()||s())||e}var Ue=(()=>{if(O)try{let e=new URL(O);if(/\/public\/assets\/js\//.test(e.pathname))return new URL("../pds/",O).href}catch{return}})(),$e=!1;function Ne(e){$e||typeof document>"u"||($e=!0,e.addEventListener("pds:ready",t=>{let n=t.detail?.mode;n&&document.documentElement.classList.add(`pds-${n}`,"pds-ready")}))}function Oe({manageTheme:e,themeStorageKey:t,applyResolvedTheme:n,setupSystemListenerIfNeeded:s}){let a="light",r=null;if(e&&typeof window<"u"){try{r=localStorage.getItem(t)||null}catch{r=null}try{n?.(r),s?.(r)}catch{}r?r==="system"?a=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a=r:a=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}return{resolvedTheme:a,storedTheme:r}}function Q(e,{resolvePublicAssetURL:t}){let n=!!(e?.public?.root||e?.static?.root),s=t(e);return!n&&Ue&&(s=Ue),q(V(s))}async function Ie(e,{baseEnhancers:t=[]}={}){let{autoDefineBaseURL:n="/auto-define/",autoDefinePreload:s=[],autoDefineMapper:a=null,enhancers:r=[],autoDefineOverrides:l=null,autoDefinePreferModule:S=!0}=e,g=(()=>{let i=new Map;return(t||[]).forEach(m=>i.set(m.selector,m)),(r||[]).forEach(m=>i.set(m.selector,m)),Array.from(i.values())})(),u=null;if(typeof window<"u"&&typeof document<"u"){let i=J,m=d=>{switch(d){case"pds-tabpanel":return"pds-tabstrip.js";default:return`${d}.js`}},{mapper:j,enhancers:_,...c}=l&&typeof l=="object"?l:{},y=_?Array.isArray(_)?_:typeof _=="object"?Object.values(_):[]:[],L=(()=>{let d=new Map;return(g||[]).forEach(w=>{w?.selector&&d.set(w.selector,w)}),(y||[]).forEach(w=>{if(!w?.selector)return;let E=d.get(w.selector)||null;d.set(w.selector,{...E||{},...w,run:typeof w?.run=="function"?w.run:E?.run})}),Array.from(d.values())})(),b={baseURL:n&&q(V(n,{preferModule:S})),predefine:s,scanExisting:!0,observeShadows:!0,patchAttachShadow:!0,debounceMs:16,enhancers:L,onError:(d,w)=>{if(typeof d=="string"&&d.startsWith("pds-")){let P=["pds-form","pds-drawer"].includes(d),$=w?.message?.includes("#pds/lit")||w?.message?.includes("Failed to resolve module specifier");P&&$?o.log("error",`\u274C PDS component <${d}> requires Lit but #pds/lit is not in import map.
2
+ See: https://github.com/Pure-Web-Foundation/pure-ds/blob/main/readme.md#lit-components-not-working`):o.log("warn",`\u26A0\uFE0F PDS component <${d}> not found. Assets may not be installed.`)}else o.log("error",`\u274C Auto-define error for <${d}>:`,w)},...c,mapper:d=>{if(customElements.get(d))return null;if(typeof a=="function")try{let w=a(d);return w===void 0?m(d):w}catch(w){return o.log("warn","Custom autoDefine.mapper error; falling back to default:",w?.message||w),m(d)}return m(d)}};u=new i(b),s.length>0&&typeof i.define=="function"&&await i.define(...s,{baseURL:n,mapper:b.mapper,onError:b.onError})}return{autoDefiner:u,mergedEnhancers:g}}var me=["light","dark"],he=new Set(me);function gt(e){let n=(Array.isArray(e?.themes)?e.themes.map(s=>String(s).toLowerCase()):me).filter(s=>he.has(s));return n.length?n:me}function ye(e,{preferDocument:t=!0}={}){let n=String(e||"").toLowerCase();if(he.has(n))return n;if(t&&typeof document<"u"){let s=document.documentElement?.getAttribute("data-theme");if(he.has(s))return s}return typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Fe(e,t){let n=ye(t);return gt(e).includes(n)}var bt=new Set(["log","warn","error","debug","info"]),wt="__PURE_DS_PDS_SINGLETON__",ge=null,be=null;function He(){try{let t=(typeof globalThis<"u"?globalThis:window)?.[wt];if(t&&typeof t=="object")return t}catch{return null}return null}function St(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 Lt(e){if(typeof e!="string")return"log";let t=e.toLowerCase();return bt.has(t)?t:"log"}function _t(){if(typeof be=="function")try{let t=St(be());if(t)return t}catch{}let e=He();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 Et(){if(typeof ge=="function")try{let t=ge();if(typeof t=="function")return t}catch{}let e=He();return typeof e?.logHandler=="function"?e.logHandler:null}function We(e,t,...n){if(typeof console>"u")return;let s=typeof console[e]=="function"?console[e].bind(console):typeof console.log=="function"?console.log.bind(console):null;s&&(n.length>0?s(t,...n):s(t))}function vt(e,t){let n=t?.debug===!0;return!(t?.mode==="static"&&!n||!n&&e!=="error"&&e!=="warn")}function Be({getLogger:e,getContext:t}={}){ge=typeof e=="function"?e:null,be=typeof t=="function"?t:null}function Ke(e="log",t,...n){let s=Lt(e),a=_t(),r=Et();if(r)try{r.call(a?.thisArg,s,t,...n);return}catch(l){We("error","Custom log handler failed:",l)}vt(s,a)&&We(s,t,...n)}typeof o.initializing!="boolean"&&(o.initializing=!1);"currentPreset"in o||(o.currentPreset=null);typeof o.debug!="boolean"&&(o.debug=!1);"currentConfig"in o||(o.currentConfig=null);"compiled"in o||(o.compiled=null);typeof o.logHandler!="function"&&(o.logHandler=null);"mode"in o||(o.mode=null);var Y=null,Z=null,X=null,ee=null,te=null,ne=null,Je="__pdsLocalizationRuntime";function T(){if(ne)return ne;let e=o?.[Je];return e&&typeof e=="object"?(ne=e,e):null}function At(e){let t=e&&typeof e=="object"?e:null;ne=t,o[Je]=t}Be({getLogger:()=>typeof o.logHandler=="function"?o.logHandler:null,getContext:()=>{let e=o?.mode||o?.compiled?.mode||(o?.registry?.isLive?"live":"static"),t=(o?.debug||o?.currentConfig?.debug||o?.currentConfig?.design?.debug||o?.compiled?.debug||o?.compiled?.design?.debug||!1)===!0;return{mode:e,debug:t,thisArg:o}}});o.log=(e="log",t,...n)=>{Ke(e,t,...n)};var A={locale:"en",messages:{},hasProvider:!1},se=new Set;function qe(e){return!!e&&typeof e!="string"&&typeof e=="object"&&"strTag"in e}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 jt(e,t){return String(e).replace(/\{(\d+)\}/g,(n,s)=>t(Number(s)))}function Pt(e){if(!e||typeof e!="object")return{};let t={};for(let[n,s]of Object.entries(e)){if(typeof s=="string"){t[n]=s;continue}s&&typeof s=="object"&&typeof s.content=="string"&&(t[n]=s.content)}return t}function kt(e,...t){return{strTag:!0,strings:Array.from(e||[]),values:t,raw:Array.from(e?.raw||[])}}function xt(e){if(!e)return"";if(qe(e)){let n=Ve(e.strings||[]),s=A.messages[n]||n;return jt(s,a=>e.values?.[a])}let t=String(e);return A.messages[t]||t}function Rt(e){if(!e)return;let t=qe(e)?Ve(e.strings||[]):String(e);typeof t=="string"&&t.length>0&&se.add(t)}function Qe(e){if(!e||typeof e.msg!="function"||se.size===0)return;let t=Array.from(se);se.clear();for(let n of t)try{e.msg(n)}catch{}}async function F(){let e=T();return e||(te||(te=import(W("pds-localization.js")).then(n=>{if(typeof n?.msg!="function"||typeof n?.str!="function"||typeof n?.configureLocalization!="function"||typeof n?.loadLocale!="function"||typeof n?.setLocale!="function"||typeof n?.getLocalizationState!="function")throw new Error("Failed to load localization runtime exports");return At(n),Qe(n),n}).catch(n=>{throw te=null,n})),te)}var M=(e,t={})=>{let n=T();return typeof n?.msg=="function"?n.msg(e,t):(Rt(e),xt(e,t))},re=(e,...t)=>{let n=T();return typeof n?.str=="function"?n.str(e,...t):kt(e,...t)},oe=(e=null)=>{let t=T();if(typeof t?.configureLocalization=="function")return t.configureLocalization(e);if(!e||typeof e!="object")return A.locale="en",A.messages={},A.hasProvider=!1,{locale:A.locale,messages:{...A.messages},hasProvider:A.hasProvider};typeof e.locale=="string"&&e.locale.trim()&&(A.locale=e.locale.trim()),Object.prototype.hasOwnProperty.call(e,"messages")&&(A.messages=Pt(e.messages));let n=!!(e.provider||e.translate||e.loadLocale||e.setLocale);return A.hasProvider=n,n&&F().then(s=>{s.configureLocalization(e),Qe(s)}).catch(()=>{}),{locale:A.locale,messages:{...A.messages},hasProvider:A.hasProvider}},Ye=async e=>(await F()).loadLocale(e),Ze=async(e,t={})=>(await F()).setLocale(e,t),Xe=()=>{let e=T();return typeof e?.getLocalizationState=="function"?e.getLocalizationState():{locale:A.locale,messages:{...A.messages},hasProvider:A.hasProvider}},et=(e={})=>{let t=T();if(typeof t?.createJSONLocalization=="function")return t.createJSONLocalization(e);let n=typeof e?.locale=="string"&&e.locale.trim()?e.locale.trim().toLowerCase():"en",s=Array.isArray(e?.locales)?e.locales.map(g=>String(g||"").trim().toLowerCase()).filter(Boolean):[],a=Array.from(new Set([n,...s])),r=null,l=async()=>(r||(r=F().then(g=>typeof g?.createJSONLocalization=="function"?g.createJSONLocalization(e):null).catch(()=>null)),r),S=async(g="loadLocale")=>{let u=await l();if(!u||typeof u!="object")return null;let i=u.provider;if(!i||typeof i!="object")return null;let m=i[g];return typeof m=="function"?m:g==="setLocale"&&typeof i.loadLocale=="function"?i.loadLocale:null};return{locale:n,locales:[...a],provider:{locales:[...a],async loadLocale(g={}){let u=await S("loadLocale");return typeof u!="function"?{}:u(g)},async setLocale(g={}){let u=await S("setLocale");return typeof u!="function"?{}:u(g)}}}};function W(e,t){return t&&typeof t=="string"?t:`${Q(o.currentConfig||{},{resolvePublicAssetURL:G})}core/${e}`}async function Dt(){return Array.isArray(o.defaultEnhancers)&&o.defaultEnhancers.length>0?o.defaultEnhancers:(ee||(ee=import(W("pds-enhancers.js",o.currentConfig?.enhancersURL)).then(t=>{let n=Array.isArray(t?.defaultPDSEnhancers)?t.defaultPDSEnhancers:[];return o.defaultEnhancers=n,n}).catch(t=>{throw ee=null,t})),ee)}async function zt(){return typeof o.ask=="function"&&o.ask!==tt?o.ask:(Z||(Z=import(W("pds-ask.js",o.currentConfig?.askURL)).then(t=>{let n=t?.ask;if(typeof n!="function")throw new Error("Failed to load ask helper");return o.ask=n,n}).catch(t=>{throw Z=null,t})),Z)}async function H(){return typeof o.toast=="function"&&o.toast!==U?o.toast:(X||(X=import(W("pds-toast.js",o.currentConfig?.toastURL)).then(t=>{let n=t?.toast;if(typeof n!="function")throw new Error("Failed to load toast helper");return o.toast=n,n}).catch(t=>{throw X=null,t})),X)}async function tt(...e){return(await zt())(...e)}async function U(...e){return(await H())(...e)}U.success=async(...e)=>(await H()).success(...e);U.error=async(...e)=>(await H()).error(...e);U.warning=async(...e)=>(await H()).warning(...e);U.info=async(...e)=>(await H()).info(...e);var Ge=function(e="log",t,...n){o.log(e,t,...n)};function Se(e){if(e==null)return e;if(typeof e=="function")return;if(typeof e!="object")return e;if(Array.isArray(e))return e.map(n=>Se(n)).filter(n=>n!==void 0);let t={};for(let[n,s]of Object.entries(e)){let a=Se(s);a!==void 0&&(t[n]=a)}return t}function nt(e,t=new WeakSet){if(!e||typeof e!="object"||t.has(e))return e;t.add(e),Object.freeze(e);for(let n of Object.keys(e))nt(e[n],t);return e}function Le(e){return e==null||typeof e!="object"?e:nt(structuredClone(Se(e)))}async function Ct(e,t={}){if(t?.runtimeConfig===!1||typeof fetch!="function")return null;let n=t?.runtimeConfigURL||`${e}pds-runtime-config.json`;try{let s=await fetch(n,{cache:"no-store"});return s.ok?await s.json():null}catch{return null}}o.registry=C;o.enums=ze;o.adoptLayers=Re;o.adoptPrimitives=xe;var Tt=pe;o.parse=Tt;var _e=K;o.html=_e;o.createStylesheet=De;o.isLiveMode=()=>C.isLive;o.ask=tt;o.toast=U;o.common=fe;o.msg=M;o.str=re;o.configureLocalization=oe;o.loadLocale=Ye;o.setLocale=Ze;o.getLocalizationState=Xe;o.createJSONLocalization=et;o.i18n={msg:M,str:re,configure:oe,loadLocale:Ye,setLocale:Ze,getState:Xe,createJSONLocalization:et};o.AutoComplete=null;o.loadAutoComplete=async()=>{if(o.AutoComplete&&typeof o.AutoComplete.connect=="function")return o.AutoComplete;let e=W("pds-autocomplete.js",o.currentConfig?.autoCompleteURL);return Y||(Y=import(e).then(t=>{let n=t?.AutoComplete||t?.default?.AutoComplete||t?.default||null;if(!n)throw new Error("AutoComplete export not found in module");return o.AutoComplete=n,n}).catch(t=>{throw Y=null,t})),Y};function st(e){let t=typeof CustomEvent=="function";try{let n=t?new CustomEvent("pds:ready",{detail:e}):new Event("pds:ready");o.dispatchEvent(n)}catch{}if(typeof document<"u")if(t){let n={detail:e,bubbles:!0,composed:!0};try{document.dispatchEvent(new CustomEvent("pds:ready",n))}catch{}try{document.dispatchEvent(new CustomEvent("pds-ready",n))}catch{}}else{try{document.dispatchEvent(new Event("pds:ready"))}catch{}try{document.dispatchEvent(new Event("pds-ready"))}catch{}}}function ot(e={}){let t=typeof CustomEvent=="function",n={at:Date.now(),...e};try{let s=t?new CustomEvent("pds:config-changed",{detail:n}):new Event("pds:config-changed");o.dispatchEvent(s)}catch{}if(typeof document<"u")if(t){let s={detail:n,bubbles:!0,composed:!0};try{document.dispatchEvent(new CustomEvent("pds:config-changed",s))}catch{}}else try{document.dispatchEvent(new Event("pds:config-changed"))}catch{}}var we="pure-ds-theme",R=null,I=null;function Ee(e){try{if(typeof document>"u")return;let t="light";e?e==="system"?t=typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":t=e:t=typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",document.documentElement.setAttribute("data-theme",t)}catch{}}function ve(e){try{if(R&&I){try{typeof R.removeEventListener=="function"?R.removeEventListener("change",I):typeof R.removeListener=="function"&&R.removeListener(I)}catch{}R=null,I=null}if(e==="system"&&typeof window<"u"&&window.matchMedia){let t=window.matchMedia("(prefers-color-scheme: dark)"),n=s=>{let a=s?.matches===void 0?t.matches:s.matches;try{let r=a?"dark":"light";document.documentElement.setAttribute("data-theme",r),o.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:r,source:"system"}}))}catch{}};R=t,I=n,typeof t.addEventListener=="function"?t.addEventListener("change",n):typeof t.addListener=="function"&&t.addListener(n)}}catch{}}var Mt=Object.getOwnPropertyDescriptor(o,"theme");Mt||Object.defineProperty(o,"theme",{get(){try{return typeof window>"u"?null:localStorage.getItem(we)||null}catch{return null}},set(e){try{if(typeof window>"u")return;let t=o.currentConfig?.design||null,n=ye(e);if(t&&!Fe(t,n)){let s=t?.name||o.currentPreset?.name||o.currentConfig?.preset||"current preset";o.log("warn",`PDS theme "${n}" not supported by preset "${s}".`),o.dispatchEvent(new CustomEvent("pds:theme:blocked",{detail:{theme:e,resolvedTheme:n,preset:s}}));return}e==null?localStorage.removeItem(we):localStorage.setItem(we,e),Ee(e),ve(e),o.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:e,source:"api"}}))}catch{}}});o.defaultEnhancers=[];async function Ut(e){o.initializing=!0;try{let t=e&&e.mode||"live",{mode:n,...s}=e||{};o.mode=t,o.logHandler=typeof s?.log=="function"?s.log:null,o.currentConfig=Le(s);let a=s&&typeof s.localization=="object"&&s.localization?s.localization:null;a?(await F(),oe(a)):oe(null);let r;if(t==="static")r=await $t(s);else{let{localization:S,...g}=s||{},u=Q(g,{resolvePublicAssetURL:G}),i=g?.managerURL||g?.public?.managerURL||g?.manager?.url||new URL("core/pds-manager.js",u).href||new URL("./pds-manager.js",import.meta.url).href,{startLive:m}=await import(i);r=await m(o,g,{emitReady:st,emitConfigChanged:ot,applyResolvedTheme:Ee,setupSystemListenerIfNeeded:ve})}o.compiled=Le(r?.config||null);let l=o?.compiled?.design?.icons?.externalPath||"/assets/img/icons/";return o.log("info",`startup ready; external icon path: ${l}`),r}finally{o.initializing=!1}}o.start=Ut;async function $t(e){if(!e||typeof e!="object")throw new Error("PDS.start({ mode: 'static', ... }) requires a valid configuration object");let t=e.applyGlobalStyles??!0,n=e.manageTheme??!0,s=e.themeStorageKey??"pure-ds-theme",a=e.staticPaths??{},r=Q(e,{resolvePublicAssetURL:G}),l=e&&e.autoDefine||null,S;l&&l.baseURL?S=q(V(l.baseURL,{preferModule:!1})):S=`${r}components/`;let g=l&&Array.isArray(l.predefine)&&l.predefine||[],u=l&&typeof l.mapper=="function"&&l.mapper||null;try{Ne(o);let{resolvedTheme:i}=Oe({manageTheme:n,themeStorageKey:s,applyResolvedTheme:Ee,setupSystemListenerIfNeeded:ve}),m=await Ct(r,e),j=Array.isArray(e?.enhancers)?e.enhancers:e?.enhancers&&typeof e.enhancers=="object"?Object.values(e.enhancers):[],_=m?.config?{...m.config,...e,design:e?.design||m.config.design,preset:e?.preset||m.config.preset}:{...e},c={tokens:`${r}styles/pds-tokens.css.js`,primitives:`${r}styles/pds-primitives.css.js`,components:`${r}styles/pds-components.css.js`,utilities:`${r}styles/pds-utilities.css.js`,styles:`${r}styles/pds-styles.css.js`},y=m?.paths||{};if(a={...c,...y,...a},o.registry.setStaticMode(a),t&&typeof document<"u")try{let b=await o.registry.getStylesheet("styles");if(b){b._pds=!0;let d=(document.adoptedStyleSheets||[]).filter(w=>w._pds!==!0);document.adoptedStyleSheets=[...d,b],ot({mode:"static",source:"static:styles-applied"})}}catch(b){Ge.call(o,"warn","Failed to apply static styles:",b)}let L=null,v=[];try{let b=await Dt(),d=await Ie({autoDefineBaseURL:S,autoDefinePreload:g,autoDefineMapper:u,enhancers:j,autoDefineOverrides:l||null,autoDefinePreferModule:!(l&&l.baseURL)},{baseEnhancers:b});L=d.autoDefiner,v=d.mergedEnhancers||[]}catch(b){Ge.call(o,"error","\u274C Failed to initialize AutoDefiner/Enhancers (static):",b)}return o.compiled=Le({mode:"static",..._,theme:i,enhancers:v}),st({mode:"static",config:_,theme:i,autoDefiner:L}),{config:_,theme:i,autoDefiner:L}}catch(i){throw o.dispatchEvent(new CustomEvent("pds:error",{detail:{error:i}})),i}}var Nt=o.createJSONLocalization({locale:"en-US",locales:["en-US","nl-NL"],aliases:{en:["en-US"],nl:["nl-NL"]},basePath:"/assets/locales"}),rt={mode:"live",liveEdit:!0,preset:"default",localization:Nt,autoDefine:{predefine:["pds-icon","pds-drawer","pds-toaster"]},log(e,t,...n){(this?.mode||this?.compiled?.mode||"live")!=="static"&&(typeof console[e]=="function"?console[e]:console.log)(`[PDS] ${t}`,...n)}};var x={name:"@pure-ds/core",shortname:"pds",version:"0.7.53",description:"Why develop a Design System when you can generate one?",repository:{type:"git",url:"git+https://github.com/Pure-Web-Foundation/pure-ds.git"},bugs:{url:"https://github.com/Pure-Web-Foundation/pure-ds/issues"},homepage:"https://puredesignsystem.z6.web.core.windows.net/",keywords:["design-system","css","web-components","lit","constructable-stylesheets","tokens","utilities","a11y"],type:"module",main:"./public/assets/pds/core.js",module:"./public/assets/pds/core.js",types:"./dist/types/pds.d.ts",bin:{"pds-build":"packages/pds-cli/bin/pds-static.js","pds-sync-assets":"packages/pds-cli/bin/sync-assets.js","pds-build-icons":"packages/pds-cli/bin/pds-build-icons.js","pds-import":"packages/pds-cli/bin/pds-import.js","pds-setup-copilot":"packages/pds-cli/bin/pds-setup-copilot.js","pds-setup-mcp":"packages/pds-cli/bin/pds-setup-mcp.js","pds-init-config":"packages/pds-cli/bin/pds-init-config.js","pds-bootstrap":"packages/pds-cli/bin/pds-bootstrap.js","pds-mcp-server":"packages/pds-cli/bin/pds-mcp-server.js","pds-mcp-health":"packages/pds-cli/bin/pds-mcp-health.js","pds-mcp-eval":"packages/pds-cli/bin/pds-mcp-eval.js"},exports:{".":{types:"./src/js/pds.d.ts",import:"./public/assets/pds/core.js"},"./localization":{types:"./dist/types/src/js/pds-localization.d.ts",import:"./public/assets/pds/core/pds-localization.js"},"./lit":{types:"./dist/types/src/js/lit.d.ts",import:"./public/assets/pds/external/lit.js"},"./pds-core":"./src/js/pds.js","./auto-define/*":"./public/auto-define/*"},files:[".github/copilot-instructions.md",".cursorrules","dist/types/","public/assets/js/","public/assets/pds/components/","public/assets/pds/templates/","public/assets/pds/core.js","public/assets/pds/core/","public/assets/pds/external/","public/assets/pds/vscode-custom-data.json","public/assets/pds/pds.css-data.json","public/assets/pds/pds-css-complete.json","public/auto-define/","public/pds/components/","public/assets/pds/icons/pds-icons.svg","packages/pds-cli/bin/","packages/pds-cli/lib/","src/js/pds.d.ts","src/js/pds.js","src/js/pds-singleton.js","src/js/common/","src/js/pds-live-manager/","src/js/pds-core/","custom-elements.json","custom-elements-manifest.config.js","pds.html-data.json","pds.css-data.json","LOCALIZATION.md","readme.md","INTELLISENSE.md","CSS-INTELLISENSE-LIMITATION.md","CSS-INTELLISENSE-QUICK-REF.md"],scripts:{test:'echo "Error: no test specified" && exit 1',dev:"node esbuild-dev.js",prebuild:"npm run types",build:"node esbuild-build.js",types:"tsc -p tsconfig.json && node scripts/sync-types.mjs",postinstall:"node packages/pds-cli/bin/postinstall.mjs","prepds:build":"npm run types","pds:build":"node packages/pds-cli/bin/pds-static.js","pds:build-icons":"node packages/pds-cli/bin/pds-build-icons.js","pds:bootstrap":"node packages/pds-cli/bin/pds-bootstrap.js","pds:manifest":"node packages/pds-cli/bin/generate-manifest.js","pds:css-data":"node packages/pds-cli/bin/generate-css-data.js","pds:import":"node packages/pds-cli/bin/pds-import.js","pds:dx":"node packages/pds-cli/bin/pds-dx.js","pds:mcp:server":"node packages/pds-cli/bin/pds-mcp-server.js","pds:mcp:health":"node packages/pds-cli/bin/pds-mcp-health.js","pds:mcp:eval":"node packages/pds-cli/bin/pds-mcp-eval.js","storybook:generate":"cd packages/pds-storybook && npm run generate-stories","storybook:dev":"cd packages/pds-storybook && npm run storybook:dev","storybook:build":"cd packages/pds-storybook && npm run storybook:build"},author:"Marc van Neerven",license:"ISC",engines:{node:">=18"},publishConfig:{access:"public"},devDependencies:{"@custom-elements-manifest/analyzer":"^0.9.9","@types/node":"^22.10.2",esbuild:"^0.19.0","fs-extra":"^11.1.1",typescript:"^5.6.3"},dependencies:{lit:"^3.3.2","pure-web":"1.1.32"},customElements:"custom-elements.json"};await o.start(rt);document.documentElement.lang="en";var it=typeof x.repository=="string"?x.repository:x.repository?.url,It=it?it.replace(/^git\+/,"").replace(/\.git$/,""):"",bn=x.homepage||It,wn=x.bugs?.url||"";document.body.appendChild(_e`
3
3
  <div class="container text-center">
4
- <img src="/assets/img/pds-logo.svg" alt="PDS Logo" title="${C("PDS Logo")}" width="64" height="64" />
4
+ <img src="/assets/img/pds-logo.svg" alt="PDS Logo" title="${M("PDS Logo")}" width="64" height="64" />
5
5
  <header class="container section">
6
- <h1>${A.name} ${C(se`version ${A.version}`)}</h1>
7
- <small class="text-muted">${C(A.description)}</small>
6
+ <h1 @click=${()=>o.toast("Hallo")}>
7
+ ${x.name} ${M(re`version ${x.version}`)}
8
+ </h1>
9
+ <small class="text-muted">${M(x.description)}</small>
8
10
  </header>
9
11
  </div>
10
- `;
12
+ `);
@@ -1,16 +1,16 @@
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=`
1
+ function N(a){let e=Array.isArray(a?.strings)?a.strings:[],u=Array.isArray(a?.values)?a.values:[],m=new Set,A=[],$=/(\s)(\.[\w-]+)=\s*$/,s=/(\s)(@[\w-]+)=\s*$/,o=/(\s)(\?[\w-]+)=\s*$/,d=/(\s)([\w:-]+)=\s*$/;for(let r=0;r<e.length;r+=1){let t=e[r]??"";if(r<u.length){let n=`pds-val-${r}`,c=t.match($),l=t.match(s),p=t.match(o),w=t.match(d);if(c){let y=c[2].slice(1);t=t.replace($,`$1data-pds-bind-${r}="prop:${y}:${n}"`),m.add(r)}else if(l){let y=l[2].slice(1);t=t.replace(s,`$1data-pds-bind-${r}="event:${y}:${n}"`),m.add(r)}else if(p){let y=p[2].slice(1);t=t.replace(o,`$1data-pds-bind-${r}="boolean:${y}:${n}"`),m.add(r)}else if(w){let y=w[2];t=t.replace(d,`$1data-pds-bind-${r}="attr:${y}:${n}"`),m.add(r)}}A.push(t),r<u.length&&!m.has(r)&&A.push(`<!--pds-val-${r}-->`)}let f=document.createElement("template");f.innerHTML=A.join("");let g=(r,t)=>{let n=r.parentNode;if(!n)return;if(t==null){n.removeChild(r);return}let c=l=>{if(l!=null){if(l instanceof Node){n.insertBefore(l,r);return}if(Array.isArray(l)){l.forEach(p=>c(p));return}n.insertBefore(document.createTextNode(String(l)),r)}};c(t),n.removeChild(r)},h=document.createTreeWalker(f.content,NodeFilter.SHOW_COMMENT),i=[];for(;h.nextNode();){let r=h.currentNode;r?.nodeValue?.startsWith("pds-val-")&&i.push(r)}return i.forEach(r=>{let t=Number(r.nodeValue.replace("pds-val-",""));g(r,u[t])}),f.content.querySelectorAll("*").forEach(r=>{[...r.attributes].forEach(t=>{if(!t.name.startsWith("data-pds-bind-"))return;let n=t.value.indexOf(":"),c=t.value.lastIndexOf(":");if(n<=0||c<=n){r.removeAttribute(t.name);return}let l=t.value.slice(0,n),p=t.value.slice(n+1,c),w=t.value.slice(c+1),y=Number(String(w).replace("pds-val-","")),b=u[y];if(!p||!Number.isInteger(y)){r.removeAttribute(t.name);return}l==="prop"?r[p]=b:l==="event"?(typeof b=="function"||b&&typeof b.handleEvent=="function")&&r.addEventListener(p,b):l==="boolean"?b?r.setAttribute(p,""):r.removeAttribute(p):l==="attr"&&(b==null||b===!1?r.removeAttribute(p):r.setAttribute(p,String(b))),r.removeAttribute(t.name)})}),f.content}var T=class extends EventTarget{constructor(){super(),this.mode=null,this.compiled=null,this.log=()=>{},this.logHandler=null}},F="__PURE_DS_PDS_SINGLETON__",L=typeof globalThis<"u"?globalThis:window,x=L?.[F],v=x&&typeof x.addEventListener=="function"?x:new T;L&&(L[F]=v);typeof v.log!="function"&&(v.log=(a="log",e,...u)=>{if(typeof console>"u")return;let m=typeof console[a]=="function"?console[a].bind(console):typeof console.log=="function"?console.log.bind(console):null;m&&(u.length>0?m(e,...u):m(e))});typeof v.logHandler!="function"&&(v.logHandler=null);function M(a,e){if(e==null)return;if(typeof e=="object"&&Array.isArray(e.strings)&&Array.isArray(e.values)){a.appendChild(N(e));return}if(e instanceof Node){a.appendChild(e);return}if(Array.isArray(e)){e.forEach(m=>M(a,m));return}let u=typeof e=="string"?e:String(e);a.appendChild(document.createTextNode(u))}function P(a){if(!a)return!0;let e=!0,u=o=>{if(!o||typeof o!="object")return"<unknown>";let d=o.tagName?String(o.tagName).toLowerCase():"node",f=o.id?`#${o.id}`:"",g=typeof o.getAttribute=="function"?o.getAttribute("name"):null,h=g?`[name="${g}"]`:"";return`${d}${f}${h}`},m=(o,d)=>{if(!o||typeof o.querySelectorAll!="function")return;let f=Array.from(o.querySelectorAll(":invalid"));if(!f.length)return;let g=f.map(h=>{let i=typeof h.validationMessage=="string"?h.validationMessage:"";return`${u(h)}${i?` \u2014 ${i}`:""}`});v.log("warn",`ask.validateDialogFormTree: invalid controls in ${d}:`,g)},A=(o,d)=>{try{let f=typeof o.reportValidity=="function"?o.reportValidity():o.checkValidity?.()??!0;return f||m(o,d),f}catch(f){return v.log("error",`ask.validateDialogFormTree: validation threw in ${d}`,f),!1}};e=A(a,"host dialog form")&&e;let $=Array.from(a.querySelectorAll("form"));for(let o of $){if(o===a)continue;e=A(o,`nested light DOM form ${u(o)}`)&&e}let s=Array.from(a.querySelectorAll("*"));for(let o of s){let d=o?.shadowRoot;if(!d)continue;let f=Array.from(d.querySelectorAll("form"));for(let g of f)e=A(g,`shadow form under ${u(o)}`)&&e}return e}function V(){let a=navigator.userAgent,e=/Safari/i.test(a),u=/(Chrome|Chromium|CriOS|FxiOS|EdgiOS|OPiOS|Opera)/i.test(a);return e&&!u}function k(a){if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let e=window.matchMedia?.("(max-width: 639px)").matches,u=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=`${u} var(--transition-normal) ease`,a.addEventListener("animationend",()=>{a.style.animation=""},{once:!0})}function D(a={}){return a?.liquidGlassEffects===!0}async function j(a,e={}){let u={title:"Confirm",type:"confirm",buttons:{ok:{name:"OK",primary:!0},cancel:{name:"Cancel",cancel:!0}}};e={...u,...e};let m=e.buttons&&typeof e.buttons=="object"?e.buttons:u.buttons,A=s=>{if(s==null)return{actionCode:"dismiss",actionKind:"dismiss",button:null};let o=m?.[s]??null,d=s==="ok"?"ok":s==="dismiss"?"dismiss":o?.cancel||s==="cancel"?"cancel":"custom";return{actionCode:s,actionKind:d,button:o}},$=s=>{if(typeof s>"u"||s===null||s===!0)return{allow:!0};if(s===!1)return{allow:!1};if(typeof s=="object"){let o=Object.prototype.hasOwnProperty.call(s,"result")||Object.prototype.hasOwnProperty.call(s,"value");return{allow:s.allow!==!1,hasResult:o,result:Object.prototype.hasOwnProperty.call(s,"result")?s.result:s.value}}return{allow:!!s}};return new Promise(s=>{let o=!1,d=(t,n,{shouldClose:c=!0}={})=>{if(!o&&(o=!0,s(t),!(!c||!n?.open)))try{n.close()}catch(l){v.log("warn","ask: dialog.close() failed",l)}},f=async t=>{if(t.actionKind!=="ok"||typeof e.beforeClose!="function")return{allow:!0};try{let n=await e.beforeClose(t);return $(n)}catch(n){return v.log("error","ask.beforeClose: validation failed",n),{allow:!1}}},g=({actionKind:t,form:n})=>t==="ok"?e.useForm&&n?new FormData(n):!0:!1,h=async({actionCode:t,form:n,submitter:c,originalEvent:l,bypassValidation:p=!1,shouldClose:w=!0})=>{if(o)return;let{actionKind:y,button:b}=A(t),S=n||i.querySelector("form")||null;if(e.useForm&&y==="ok"&&S&&!p&&!P(S))return;let E=g({actionKind:y,form:S}),O=await f({actionCode:t,actionKind:y,dialog:i,form:S,formData:e.useForm&&y==="ok"&&S?E:null,submitter:c,originalEvent:l,options:e,button:b,defaultResult:E});if(!O.allow)return;let q=O.hasResult?O.result:E;d(q,i,{shouldClose:w})},i=document.createElement("dialog");V()&&i.classList.add("dialog-no-scale-animation"),D(e)&&i.classList.add("liquid-glass"),e.size&&i.classList.add(`dialog-${e.size}`),e.type&&i.classList.add(`dialog-${e.type}`),e.class&&(Array.isArray(e.class)?i.classList.add(...e.class):i.classList.add(e.class)),e.maxHeight&&i.style.setProperty("--dialog-max-height",e.maxHeight);let C=Object.entries(m).map(([t,n])=>{let c=n.primary?"btn-primary btn-sm":"btn-outline btn-sm",l=n.cancel?"button":"submit",p=n.formNoValidate?" formnovalidate":"";return`<button type="${l}" class="${c}" value="${t}"${p}>${n.name}</button>`});if(e.useForm){let t=document.createElement("div");M(t,a);let n=t.querySelector("form");if(n){i.innerHTML=`
2
2
  <header>
3
3
  <h2>${e.title}</h2>
4
4
  </header>
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=`
5
+ `;let c=document.createElement("article");for(c.className="dialog-body";n.firstChild;)c.appendChild(n.firstChild);n.appendChild(c);let l=document.createElement("footer");l.innerHTML=C.join(""),n.appendChild(l),i.appendChild(n)}else i.innerHTML=`
6
6
  <header>
7
7
  <h2>${e.title}</h2>
8
8
  </header>
9
9
  <article id="msg-container"></article>
10
10
  <footer>
11
- ${d.join("")}
11
+ ${C.join("")}
12
12
  </footer>
13
- `,t.querySelector("#msg-container").appendChild(n)}else{t.innerHTML=`
13
+ `,i.querySelector("#msg-container").appendChild(t)}else{i.innerHTML=`
14
14
  <form method="dialog">
15
15
  <header>
16
16
  <h2>${e.title}</h2>
@@ -19,7 +19,7 @@ function F(a){let e=Array.isArray(a?.strings)?a.strings:[],l=Array.isArray(a?.va
19
19
  <article id="msg-container"></article>
20
20
 
21
21
  <footer>
22
- ${d.join("")}
22
+ ${C.join("")}
23
23
  </footer>
24
24
  </form>
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};
25
+ `;let t=i.querySelector("#msg-container");M(t,a)}i.addEventListener("click",t=>{let n=t.target.closest('button[value="cancel"]');n&&h({actionCode:"cancel",form:i.querySelector("form"),submitter:n,originalEvent:t})});let r=()=>{let t=i.querySelector("form");if(t){if(t.dataset.askSubmitBound==="true")return;t.dataset.askSubmitBound="true",t.addEventListener("submit",n=>{n.preventDefault();let c=n.submitter?.value??(e.useForm?"ok":void 0),l=!!n.submitter?.hasAttribute("formnovalidate");h({actionCode:c,form:t,submitter:n.submitter,originalEvent:n,bypassValidation:l})})}else requestAnimationFrame(r)};i.addEventListener("cancel",t=>{t.preventDefault(),h({actionCode:"dismiss",form:i.querySelector("form"),originalEvent:t})}),i.addEventListener("close",()=>{o||d(!1,i,{shouldClose:!1}),setTimeout(()=>i.remove(),200)}),document.body.appendChild(i),requestAnimationFrame(r),typeof e.rendered=="function"&&e.rendered(i),i.showModal(),requestAnimationFrame(()=>k(i))})}export{j as ask};
@@ -1 +1 @@
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 $(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,$(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(p=>{let f=$(p);return Z(n,f),f}).catch(()=>({})).finally(()=>{l.loadingByLocale.delete(r)});return l.loadingByLocale.set(r,c),c}let u=$(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 k(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 f of s){let g=f.index??0;a+=Q(n.slice(u,g)),a+="([\\s\\S]*?)",i.push(Number(f[1])),u=g+f[0].length}a+=Q(n.slice(u)),a+="$";let c=new RegExp(a).exec(o);if(!c)return null;let p=[];for(let f=1;f<c.length;f+=1){let g=i[f-1],y=c[f];if(Object.prototype.hasOwnProperty.call(p,g)&&p[g]!==y)return null;p[g]=y}return p}function I(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=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 f=ne(o);if(!f)return;let g=k({element:t});await T(g,"text-node");let y=O(f.key,f.values,{element:t},null),m=f.values.length?C(y,D=>f.values[D]):y,L=o.slice(0,f.start)+m+o.slice(f.end),P=`${n}${L}${r}`;P!==e.nodeValue&&(e.nodeValue=P);return}l.textNodeKeyMap.set(e,s);let i=k({element:t});await T(i,"text-node");let a=I(s,o),u=O(s,a,{element:t},null),c=a.length?C(u,f=>a[f]):u,p=`${n}${c}${r}`;p!==e.nodeValue&&(e.nodeValue=p)}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 p=k({element:e});await T(p,"attribute");let f=O(c.key,c.values,{element:e},null),g=c.values.length?C(f,m=>c.values[m]):f,y=n.slice(0,c.start)+g+n.slice(c.end);y!==n&&e.setAttribute(t,y),o.set(t,c.key);return}o.set(t,r);let s=k({element:e});await T(s,"attribute");let i=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 ke(){let e=_e();await Ae(e),await Ce(),await qe(),Ee(e)}function Pe(){typeof window>"u"||(l.reconcileTimer&&clearTimeout(l.reconcileTimer),l.reconcileTimer=setTimeout(()=>{l.reconcileTimer=null,ke()},16))}function O(e,t=[],n={},o=null){let r=k(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,p=!!s,f=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"),p&&!f&&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 y=typeof c=="string"?c:String(c);if(J(e,y),Array.isArray(t)&&t.length>0){let m=C(y,L=>t[L]);m!==y&&J(e,m)}return y}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&&Pe(),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 d="__PDS_DROPDOWN_POPOVER_WARNED__";globalThis[d]||(globalThis[d]=!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 d=t.getAttribute("style");t.style.visibility="hidden",t.style.display="inline-block",t.style.pointerEvents="none";let h=t.getBoundingClientRect(),v=Math.max(t.offsetWidth||0,t.scrollWidth||0,h.width||0,1),b=Math.max(t.offsetHeight||0,t.scrollHeight||0,h.height||0,1);return d===null?t.removeAttribute("style"):t.setAttribute("style",d),{width:v,height:b}},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")},p=()=>{let d=(e.getAttribute("data-direction")||e.getAttribute("data-dropdown-direction")||e.getAttribute("data-mode")||"auto").toLowerCase();if(d==="up"||d==="down")return d;let h=(n||e).getBoundingClientRect(),{height:v}=i(),b=Math.max(0,window.innerHeight-h.bottom),w=Math.max(0,h.top),A=b>=v,_=w>=v;return A&&!_?"down":_&&!A?"up":A&&_?"down":w>b?"up":"down"},f=()=>{let d=(e.getAttribute("data-align")||e.getAttribute("data-dropdown-align")||"auto").toLowerCase();if(d==="left"||d==="right"||d==="start"||d==="end")return d==="start"?"left":d==="end"?"right":d;let h=(n||e).getBoundingClientRect(),{width:v}=i(),b=Math.max(0,window.innerWidth-h.left),w=Math.max(0,h.right),A=b>=v,_=w>=v;return A&&!_?"left":_&&!A?"right":A&&_?"left":w>b?"right":"left"},g=(d,h=8)=>{let v=getComputedStyle(e).getPropertyValue(d).trim();if(!v)return h;let b=document.createElement("span");b.style.position="fixed",b.style.visibility="hidden",b.style.pointerEvents="none",b.style.height=v,document.body.appendChild(b);let w=Number.parseFloat(getComputedStyle(b).height);return b.remove(),Number.isFinite(w)?w:h},y=()=>{["position","left","top","right","bottom","margin-top","margin-bottom","max-width","max-inline-size","max-height","overflow"].forEach(d=>t.style.removeProperty(d))},m=()=>{if(!a())return;let d=(n||e).getBoundingClientRect(),h=window.visualViewport,v=h?.width||document.documentElement?.clientWidth||window.innerWidth,b=h?.height||document.documentElement?.clientHeight||window.innerHeight,w=h?.offsetLeft||0,A=h?.offsetTop||0,_=Math.max(1,v-s*2),ie=Math.max(1,b-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:z,height:F}=i(),j=g("--spacing-2",8),V=p(),H=f();e.dataset.dropdownDirection=V,e.dataset.dropdownAlign=H;let R=H==="right"?d.right-z:d.left;z>=_-1?R=w+s:R=Math.max(w+s,Math.min(R,w+v-z-s));let W=V==="up"?d.top-j-F:d.bottom+j;W=Math.max(A+s,Math.min(W,A+b-F-s)),Object.assign(t.style,{position:"fixed",left:`${Math.round(R)}px`,top:`${Math.round(W)}px`,right:"auto",bottom:"auto",marginTop:"0",marginBottom:"0"})},L=null,P=()=>{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=p(),e.dataset.dropdownAlign=f(),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",d=>{if(d.newState==="open"){c(),m(),P(),oe();return}u(),D(),re(),y()});let ae=()=>{a()||(e.dataset.dropdownDirection=p(),e.dataset.dropdownAlign=f(),t.showPopover(),requestAnimationFrame(()=>m()))},K=()=>{a()&&t.hidePopover()},se=()=>{a()?K():ae()};u(),t.addEventListener("click",d=>{let h=d.target instanceof Element?d.target:d.target?.parentElement;h&&h.closest("[data-dropdown-close]")&&K()}),n?.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),se()}),e.addEventListener("keydown",d=>{d.key==="Escape"&&(K(),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(f=>{let g=f.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 p=()=>{c.textContent=e.value};e.addEventListener("input",p),e.addEventListener("change",p),t(p),p()}}else{let i=e.closest(".range-container");i||(i=document.createElement("div"),i.className="range-container",e.parentNode?.insertBefore(i,e),i.appendChild(e)),i.style.position="relative";let a=document.createElement("output");a.id=s,a.setAttribute("for",r),a.className="range-bubble",a.setAttribute("aria-live","polite"),i.appendChild(a);let u=()=>{let f=parseFloat(e.min)||0,g=parseFloat(e.max)||100,y=parseFloat(e.value),m=(y-f)/(g-f);a.style.left=`calc(${m*100}% )`,a.textContent=String(y)},c=()=>a.classList.add("visible"),p=()=>a.classList.remove("visible");e.addEventListener("input",u),e.addEventListener("pointerdown",c),e.addEventListener("pointerup",p),e.addEventListener("pointerleave",p),e.addEventListener("focus",c),e.addEventListener("blur",p),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 p=document.createElement("input");p.type=i,p.name=s?.name||e.getAttribute("data-name")||"open-group",p.value=r,p.id=a,u.appendChild(c),u.appendChild(p),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};
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(),a=pe();if(a)try{a.call(r?.thisArg,o,t,...n);return}catch(s){G("error","Custom log handler failed:",s)}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 Le(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 $(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 ve(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,$(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=ve(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 a=l.provider.loadLocale||l.provider.setLocale||null;if(typeof a!="function")return{};let s={locale:n,defaultLocale:l.defaultLocale,reason:t,loadedLocales:Array.from(l.messagesByLocale.keys()),messages:{...q(n)?.messages||{}},load:t==="set-default"||t==="explicit-load"},i;try{i=a(s)}catch{return{}}if(i&&typeof i.then=="function"){let c=i.then(p=>{let d=$(p);return Z(n,d),d}).catch(()=>({})).finally(()=>{l.loadingByLocale.delete(r)});return l.loadingByLocale.set(r,c),c}let u=$(i);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 k(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,a=t.length-o.length,s=a>=r?t.slice(r,a):"";return{leading:n,core:s,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,a=Array.from(n.matchAll(r));if(!a.length)return n===o?[]:null;let s=[],i="^",u=0;for(let d of a){let g=d.index??0;i+=Q(n.slice(u,g)),i+="([\\s\\S]*?)",s.push(Number(d[1])),u=g+d[0].length}i+=Q(n.slice(u)),i+="$";let c=new RegExp(i).exec(o);if(!c)return null;let p=[];for(let d=1;d<c.length;d+=1){let g=s[d-1],y=c[d];if(Object.prototype.hasOwnProperty.call(p,g)&&p[g]!==y)return null;p[g]=y}return p}function I(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 a of o){if(!l.requestedKeys.has(a))continue;let s=I(a,n),i={key:a,matchedText:n,start:r,end:r+n.length,values:s};(!t||i.matchedText.length>t.matchedText.length)&&(t=i);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 a=l.textNodeKeyMap.get(e)||null;if((!a||!l.requestedKeys.has(a))&&(a=te(o)),!a){let d=ne(o);if(!d)return;let g=k({element:t});await T(g,"text-node");let y=O(d.key,d.values,{element:t},null),m=d.values.length?C(y,D=>d.values[D]):y,v=o.slice(0,d.start)+m+o.slice(d.end),P=`${n}${v}${r}`;P!==e.nodeValue&&(e.nodeValue=P);return}l.textNodeKeyMap.set(e,a);let s=k({element:t});await T(s,"text-node");let i=I(a,o),u=O(a,i,{element:t},null),c=i.length?C(u,d=>i[d]):u,p=`${n}${c}${r}`;p!==e.nodeValue&&(e.nodeValue=p)}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=a=>{!a||n.has(a)||(n.add(a),t.push(a))};o(e);for(let a=0;a<t.length;a+=1){let s=t[a];if(!s||typeof s.querySelectorAll!="function")continue;let i=s.querySelectorAll("*");for(let u of i){let c=u?.shadowRoot;c&&o(c)}}let r=[];for(let a of t){let s=document.createTreeWalker(a,NodeFilter.SHOW_TEXT);for(;s.nextNode();)r.push(s.currentNode)}for(let a of r)await Me(a)}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 p=k({element:e});await T(p,"attribute");let d=O(c.key,c.values,{element:e},null),g=c.values.length?C(d,m=>c.values[m]):d,y=n.slice(0,c.start)+g+n.slice(c.end);y!==n&&e.setAttribute(t,y),o.set(t,c.key);return}o.set(t,r);let a=k({element:e});await T(a,"attribute");let s=I(r,n),i=O(r,s,{element:e},null),u=s.length?C(i,c=>s[c]):i;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 a=t[r];if(!a||typeof a.querySelectorAll!="function")continue;let s=a.querySelectorAll("*");for(let i of s){let u=i?.shadowRoot;u&&o(u)}}for(let r of t){if(!r||typeof r.querySelectorAll!="function")continue;let a=r.querySelectorAll("*");for(let s of a)for(let i of ye)s.hasAttribute(i)&&await Oe(s,i)}}async function ke(){let e=_e();await Ae(e),await Ce(),await qe(),Ee(e)}function Pe(){typeof window>"u"||(l.reconcileTimer&&clearTimeout(l.reconcileTimer),l.reconcileTimer=setTimeout(()=>{l.reconcileTimer=null,ke()},16))}function O(e,t=[],n={},o=null){let r=k(n),a=q(r);a||T(r,"msg");let s=q(r)?.messages||{},i=q(l.defaultLocale)?.messages||{},u={key:e,values:t,options:n,locale:r,defaultLocale:l.defaultLocale,messages:s,messagesByLocale:Object.fromEntries(Array.from(l.messagesByLocale.entries())),template:o},c,p=!!a,d=r===l.defaultLocale;typeof l.provider?.translate=="function"&&(c=l.provider.translate(u));let g=null;if(c==null&&(c=s[e]),c==null&&(c=i[e],g=c==null?null:"default"),c==null&&(c=e,g="key"),p&&!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 y=typeof c=="string"?c:String(c);if(J(e,y),Array.isArray(t)&&t.length>0){let m=C(y,v=>t[v]);m!==y&&J(e,m)}return y}var Re=(e,t,n={})=>{let o=Le(e);ee(o);let r=O(o,t,n,{strings:e,values:t});return C(r,a=>t[a])};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&&Pe(),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",a=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 f="__PDS_DROPDOWN_POPOVER_WARNED__";globalThis[f]||(globalThis[f]=!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 s=()=>{let f=t.getAttribute("style");t.style.visibility="hidden",t.style.display="inline-block",t.style.pointerEvents="none";let h=t.getBoundingClientRect(),L=Math.max(t.offsetWidth||0,t.scrollWidth||0,h.width||0,1),b=Math.max(t.offsetHeight||0,t.scrollHeight||0,h.height||0,1);return f===null?t.removeAttribute("style"):t.setAttribute("style",f),{width:L,height:b}},i=()=>{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")},p=()=>{let f=(e.getAttribute("data-direction")||e.getAttribute("data-dropdown-direction")||e.getAttribute("data-mode")||"auto").toLowerCase();if(f==="up"||f==="down")return f;let h=(n||e).getBoundingClientRect(),{height:L}=s(),b=Math.max(0,window.innerHeight-h.bottom),w=Math.max(0,h.top),A=b>=L,_=w>=L;return A&&!_?"down":_&&!A?"up":A&&_?"down":w>b?"up":"down"},d=()=>{let f=(e.getAttribute("data-align")||e.getAttribute("data-dropdown-align")||"auto").toLowerCase();if(f==="left"||f==="right"||f==="start"||f==="end")return f==="start"?"left":f==="end"?"right":f;let h=(n||e).getBoundingClientRect(),{width:L}=s(),b=Math.max(0,window.innerWidth-h.left),w=Math.max(0,h.right),A=b>=L,_=w>=L;return A&&!_?"left":_&&!A?"right":A&&_?"left":w>b?"right":"left"},g=(f,h=8)=>{let L=getComputedStyle(e).getPropertyValue(f).trim();if(!L)return h;let b=document.createElement("span");b.style.position="fixed",b.style.visibility="hidden",b.style.pointerEvents="none",b.style.height=L,document.body.appendChild(b);let w=Number.parseFloat(getComputedStyle(b).height);return b.remove(),Number.isFinite(w)?w:h},y=()=>{["position","left","top","right","bottom","margin-top","margin-bottom","max-width","max-inline-size","max-height","overflow"].forEach(f=>t.style.removeProperty(f))},m=()=>{if(!i())return;let f=(n||e).getBoundingClientRect(),h=window.visualViewport,L=h?.width||document.documentElement?.clientWidth||window.innerWidth,b=h?.height||document.documentElement?.clientHeight||window.innerHeight,w=h?.offsetLeft||0,A=h?.offsetTop||0,_=Math.max(1,L-a*2),ie=Math.max(1,b-a*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:z,height:F}=s(),j=g("--spacing-2",8),V=p(),H=d();e.dataset.dropdownDirection=V,e.dataset.dropdownAlign=H;let R=H==="right"?f.right-z:f.left;z>=_-1?R=w+a:R=Math.max(w+a,Math.min(R,w+L-z-a));let W=V==="up"?f.top-j-F:f.bottom+j;W=Math.max(A+a,Math.min(W,A+b-F-a)),Object.assign(t.style,{position:"fixed",left:`${Math.round(R)}px`,top:`${Math.round(W)}px`,right:"auto",bottom:"auto",marginTop:"0",marginBottom:"0"})},v=null,P=()=>{v||(v=()=>m(),window.addEventListener("resize",v),window.addEventListener("scroll",v,!0))},D=()=>{v&&(window.removeEventListener("resize",v),window.removeEventListener("scroll",v,!0),v=null)},M=null,x=null,oe=()=>{M||typeof document>"u"||(M=()=>{i()&&(e.dataset.dropdownDirection=p(),e.dataset.dropdownAlign=d(),x!==null&&cancelAnimationFrame(x),x=requestAnimationFrame(()=>{x=null,i()&&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",f=>{if(f.newState==="open"){c(),m(),P(),oe();return}u(),D(),re(),y()});let ae=()=>{i()||(e.dataset.dropdownDirection=p(),e.dataset.dropdownAlign=d(),t.showPopover(),requestAnimationFrame(()=>m()))},K=()=>{i()&&t.hidePopover()},se=()=>{i()?K():ae()};u(),t.addEventListener("click",f=>{let h=f.target instanceof Element?f.target:f.target?.parentElement;h&&h.closest("[data-dropdown-close]")&&K()}),n?.addEventListener("click",f=>{f.preventDefault(),f.stopPropagation(),se()}),e.addEventListener("keydown",f=>{f.key==="Escape"&&(K(),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")},a=()=>{t.disabled||(t.checked=!t.checked,r(),t.dispatchEvent(new Event("input",{bubbles:!0})),t.dispatchEvent(new Event("change",{bubbles:!0})))};e.addEventListener("click",s=>{s.preventDefault(),a()}),e.addEventListener("keydown",s=>{(s.key===" "||s.key==="Enter")&&(s.preventDefault(),a())}),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 a=()=>{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};a();let s=()=>{t.dataset.colorUnset==="1"&&(t.dataset.colorUnset="0"),a()};t.addEventListener("input",s,{passive:!0}),t.addEventListener("change",s,{passive:!0})}function $e(e){if(e.dataset.enhancedRange)return;let t=s=>{if(e.dataset.enhancedRangeProgrammatic)return;e.dataset.enhancedRangeProgrammatic="1";let i=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),"value")||Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value");i?.get&&i?.set&&Object.defineProperty(e,"value",{configurable:!0,enumerable:i.enumerable,get(){return i.get.call(this)},set(c){i.set.call(this,c),s()}}),new MutationObserver(c=>{c.some(d=>{let g=d.attributeName;return g==="value"||g==="min"||g==="max"})&&s()}).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)}`,a=`${r}-output`;if(e.id=r,o){let s=n.querySelector("span");if(s&&!s.classList.contains("range-output-wrapper")){let i=s.getAttribute("data-range-label")||n.getAttribute("data-range-label")||"",u=document.createElement("span");u.className="range-output-wrapper",u.style.display="flex",u.style.justifyContent="space-between",u.style.alignItems="center";let c=document.createElement("span");c.textContent=i||s.textContent,u.appendChild(c);let p=document.createElement("output");p.id=a,p.setAttribute("for",r),p.style.color="var(--surface-text-secondary, var(--color-text-secondary))",p.style.fontSize="0.875rem",p.textContent=e.value,u.appendChild(p),s.textContent="",s.appendChild(u);let d=()=>{p.textContent=e.value};e.addEventListener("input",d),e.addEventListener("change",d),t(d),d()}}else{let s=e.closest(".range-container");s||(s=document.createElement("div"),s.className="range-container",e.parentNode?.insertBefore(s,e),s.appendChild(e)),s.style.position="relative";let i=document.createElement("output");i.id=a,i.setAttribute("for",r),i.className="range-bubble",i.setAttribute("aria-live","polite"),s.appendChild(i);let u=()=>{let d=parseFloat(e.min)||0,g=parseFloat(e.max)||100,y=parseFloat(e.value),m=(y-d)/(g-d);i.style.left=`calc(${m*100}% )`,i.textContent=String(y)},c=()=>i.classList.add("visible"),p=()=>i.classList.remove("visible");e.addEventListener("input",u),e.addEventListener("pointerdown",c),e.addEventListener("pointerup",p),e.addEventListener("pointerleave",p),e.addEventListener("focus",c),e.addEventListener("blur",p),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 a=o.querySelector("span, [data-label]");if(a)a.appendChild(r);else{let i=o.querySelector("input, select, textarea");i?o.insertBefore(r,i):o.appendChild(r)}let s=n.closest("form");if(s&&!s.querySelector(".required-legend")){let i=document.createElement("small");i.classList.add("required-legend"),i.textContent=B("* Required fields"),s.insertBefore(i,s.querySelector(".form-actions")||s.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 a=n(),s=a?.type==="radio"?"radio":"checkbox",i=`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 p=document.createElement("input");p.type=s,p.name=a?.name||e.getAttribute("data-name")||"open-group",p.value=r,p.id=i,u.appendChild(c),u.appendChild(p),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(a=>{if(a.attributeName==="class"){let s=e.classList.contains("btn-working"),i=e.querySelector("pds-icon");if(s)if(i)t||(t=i.getAttribute("icon")),i.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 a.oldValue?.includes("btn-working")&&i&&(n?(i.remove(),n=!1):t&&(i.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};