@pure-ds/core 0.5.31 → 0.5.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/.github/copilot-instructions.md +1 -1
  2. package/INTELLISENSE.md +1 -1
  3. package/custom-elements.json +268 -0
  4. package/dist/types/pds.d.ts +2 -0
  5. package/dist/types/public/assets/js/pds-configurator.d.ts +2 -0
  6. package/dist/types/public/assets/js/pds-configurator.d.ts.map +1 -0
  7. package/dist/types/public/assets/js/pds-manager.d.ts +13 -13
  8. package/dist/types/public/assets/js/pds-manager.d.ts.map +1 -1
  9. package/dist/types/public/assets/js/pds.d.ts +3 -3
  10. package/dist/types/public/assets/js/pds.d.ts.map +1 -1
  11. package/dist/types/public/assets/pds/components/pds-fab.d.ts +82 -0
  12. package/dist/types/public/assets/pds/components/pds-fab.d.ts.map +1 -0
  13. package/dist/types/public/assets/pds/components/pds-omnibox.d.ts +28 -0
  14. package/dist/types/public/assets/pds/components/pds-omnibox.d.ts.map +1 -0
  15. package/dist/types/src/js/common/ask.d.ts +6 -6
  16. package/dist/types/src/js/common/ask.d.ts.map +1 -1
  17. package/dist/types/src/js/common/common.d.ts +9 -0
  18. package/dist/types/src/js/common/common.d.ts.map +1 -1
  19. package/dist/types/src/js/pds-configurator.d.ts +2 -0
  20. package/dist/types/src/js/pds-configurator.d.ts.map +1 -0
  21. package/dist/types/src/js/pds-core/pds-config.d.ts.map +1 -1
  22. package/dist/types/src/js/pds-core/pds-enhancers-meta.d.ts.map +1 -1
  23. package/dist/types/src/js/pds-core/pds-enhancers.d.ts.map +1 -1
  24. package/dist/types/src/js/pds-core/pds-enums.d.ts +9 -0
  25. package/dist/types/src/js/pds-core/pds-generator.d.ts.map +1 -1
  26. package/dist/types/src/js/pds-core/pds-live.d.ts.map +1 -1
  27. package/dist/types/src/js/pds-core/pds-ontology.d.ts +146 -158
  28. package/dist/types/src/js/pds-core/pds-ontology.d.ts.map +1 -1
  29. package/dist/types/src/js/pds-core/pds-start-helpers.d.ts.map +1 -1
  30. package/dist/types/src/js/pds.d.ts.map +1 -1
  31. package/package.json +3 -2
  32. package/packages/pds-cli/bin/templates/bootstrap/pds.config.js +2 -2
  33. package/public/assets/js/app.js +315 -207
  34. package/public/assets/js/pds-manager.js +297 -189
  35. package/public/assets/js/pds.js +16 -53
  36. package/public/assets/pds/components/pds-calendar.js +1 -1
  37. package/public/assets/pds/components/pds-fab.js +598 -0
  38. package/public/assets/pds/components/pds-form.js +1 -1
  39. package/public/assets/pds/components/pds-icon.js +10 -10
  40. package/public/assets/pds/components/pds-omnibox.js +430 -0
  41. package/public/assets/pds/components/pds-toaster.js +15 -15
  42. package/public/assets/pds/vscode-custom-data.json +23 -0
  43. package/readme.md +21 -4
  44. package/src/js/pds-core/pds-config.js +1 -8
  45. package/src/js/pds-core/pds-enhancers-meta.js +20 -5
  46. package/src/js/pds-core/pds-enhancers.js +45 -2
  47. package/src/js/pds-core/pds-enums.js +9 -0
  48. package/src/js/pds-core/pds-generator.js +245 -143
  49. package/src/js/pds-core/pds-live.js +2 -0
  50. package/src/js/pds-core/pds-ontology.js +47 -20
  51. package/src/js/pds-core/pds-query.js +1 -1
  52. package/src/js/pds-core/pds-start-helpers.js +2 -6
  53. package/src/js/pds.d.ts +2 -0
  54. package/src/js/pds.js +23 -0
@@ -1,69 +1,32 @@
1
- var gt=Object.defineProperty;var bt=(t,e)=>()=>(t&&(e=t(t=0)),e);var $t=(t,e)=>{for(var s in e)gt(t,s,{get:e[s],enumerable:!0})};var it={};$t(it,{AutoDefiner:()=>Pe});async function Gt(...t){let e={};t.length&&typeof t[t.length-1]=="object"&&(e=t.pop()||{});let s=t,{baseURL:n,mapper:r=d=>`${d}.js`,onError:o=(d,l)=>console.error(`[defineWebComponents] ${d}:`,l)}=e,i=n?new URL(n,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),a=d=>d.toLowerCase().replace(/(^|-)([a-z])/g,(l,u,f)=>f.toUpperCase()),c=async d=>{try{if(customElements.get(d))return{tag:d,status:"already-defined"};let l=r(d),f=await import(l instanceof URL?l.href:new URL(l,i).href),m=f?.default??f?.[a(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 "${a(d)}".`)}return customElements.get(d)?{tag:d,status:"race-already-defined"}:(customElements.define(d,m),{tag:d,status:"defined"})}catch(l){throw o(d,l),l}};return Promise.all(s.map(c))}var Pe,at=bt(()=>{Pe=class{constructor(e={}){let{baseURL:s,mapper:n,onError:r,predicate:o=()=>!0,attributeModule:i="data-module",root:a=document,scanExisting:c=!0,debounceMs:d=16,observeShadows:l=!0,enhancers:u=[],patchAttachShadow:f=!0}=e,m=new Set,$=new Set,x=new Set,g=new Map,_=new WeakMap,H=new WeakMap,A=0,D=!1,L=null,Z=p=>{if(!p||!u.length)return;let y=H.get(p);y||(y=new Set,H.set(p,y));for(let h of u)if(!(!h.selector||!h.run)&&!y.has(h.selector))try{p.matches&&p.matches(h.selector)&&(h.run(p),y.add(h.selector))}catch(v){console.warn(`[AutoDefiner] Error applying enhancer for selector "${h.selector}":`,v)}},I=(p,y)=>{if(!D&&!(!p||!p.includes("-"))&&!customElements.get(p)&&!$.has(p)&&!x.has(p)){if(y&&y.getAttribute){let h=y.getAttribute(i);h&&!g.has(p)&&g.set(p,h)}m.add(p),oe()}},oe=()=>{A||(A=setTimeout(z,d))},E=p=>{if(p){if(p.nodeType===1){let y=p,h=y.tagName?.toLowerCase();h&&h.includes("-")&&!customElements.get(h)&&o(h,y)&&I(h,y),Z(y),l&&y.shadowRoot&&M(y.shadowRoot)}p.querySelectorAll&&p.querySelectorAll("*").forEach(y=>{let h=y.tagName?.toLowerCase();h&&h.includes("-")&&!customElements.get(h)&&o(h,y)&&I(h,y),Z(y),l&&y.shadowRoot&&M(y.shadowRoot)})}},M=p=>{if(!p||_.has(p))return;E(p);let y=new MutationObserver(h=>{for(let v of h)v.addedNodes?.forEach(B=>{E(B)}),v.type==="attributes"&&v.target&&E(v.target)});y.observe(p,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[i,...u.map(h=>h.selector).filter(h=>h.startsWith("data-"))]}),_.set(p,y)};async function z(){if(clearTimeout(A),A=0,!m.size)return;let p=Array.from(m);m.clear(),p.forEach(y=>$.add(y));try{let y=h=>g.get(h)??(n?n(h):`${h}.js`);await Gt(...p,{baseURL:s,mapper:y,onError:(h,v)=>{x.add(h),r?.(h,v)}})}catch{}finally{p.forEach(y=>$.delete(y))}}let S=a===document?document.documentElement:a,R=new MutationObserver(p=>{for(let y of p)y.addedNodes?.forEach(h=>{E(h)}),y.type==="attributes"&&y.target&&E(y.target)});if(R.observe(S,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[i,...u.map(p=>p.selector).filter(p=>p.startsWith("data-"))]}),l&&f&&Element.prototype.attachShadow){let p=Element.prototype.attachShadow;Element.prototype.attachShadow=function(h){let v=p.call(this,h);if(h&&h.mode==="open"){M(v);let B=this.tagName?.toLowerCase();B&&B.includes("-")&&!customElements.get(B)&&I(B,this)}return v},L=()=>Element.prototype.attachShadow=p}return c&&E(S),{stop(){D=!0,R.disconnect(),L&&L(),A&&(clearTimeout(A),A=0),_.forEach(p=>p.disconnect())},flush:z}}static async define(...e){let s={};e.length&&typeof e[e.length-1]=="object"&&(s=e.pop()||{});let n=e,{baseURL:r,mapper:o=l=>`${l}.js`,onError:i=(l,u)=>console.error(`[defineWebComponents] ${l}:`,u)}=s,a=r?new URL(r,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),c=l=>l.toLowerCase().replace(/(^|-)([a-z])/g,(u,f,m)=>m.toUpperCase()),d=async l=>{try{if(customElements.get(l))return{tag:l,status:"already-defined"};let u=o(l),m=await import(u instanceof URL?u.href:new URL(u,a).href),$=m?.default??m?.[c(l)];if(!$){if(customElements.get(l))return{tag:l,status:"self-defined"};throw new Error(`No export found for ${l}. Expected default export or named export "${c(l)}".`)}return customElements.get(l)?{tag:l,status:"race-already-defined"}:(customElements.define(l,$),{tag:l,status:"defined"})}catch(u){throw i(l,u),u}};return Promise.all(n.map(d))}}});var me=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(e={}){this._mode="static",this._staticPaths={...this._staticPaths,...e}}async getStylesheet(e){if(this._mode==="live")return null;try{return(await import(this._staticPaths[e]))[e]}catch(s){console.error(`[PDS Registry] Failed to load static ${e}:`,s),console.error(`[PDS Registry] Looking for: ${this._staticPaths[e]}`),console.error("[PDS Registry] Make sure you've run 'npm run pds:build' and configured PDS.start() with the correct static.root path");let n=new CSSStyleSheet;return n.replaceSync("/* Failed to load "+e+" */"),n}}get mode(){return this._mode}get isLive(){return this._mode==="live"}},F=new me;async function Oe(t,e=[],s=null){try{let n=s?.primitivesStylesheet?s.primitivesStylesheet:await F.getStylesheet("primitives");t.adoptedStyleSheets=[n,...e]}catch(n){let r=t.host?.tagName?.toLowerCase()||"unknown";console.error(`[PDS Adopter] <${r}> failed to adopt primitives:`,n),t.adoptedStyleSheets=e}}async function Ne(t,e=["primitives"],s=[],n=null){try{let o=(await Promise.all(e.map(async i=>{if(n)switch(i){case"tokens":return n.tokensStylesheet;case"primitives":return n.primitivesStylesheet;case"components":return n.componentsStylesheet;case"utilities":return n.utilitiesStylesheet;default:break}return F.getStylesheet(i)}))).filter(i=>i!==null);t.adoptedStyleSheets=[...o,...s]}catch(r){let o=t.host?.tagName?.toLowerCase()||"unknown";console.error(`[PDS Adopter] <${o}> failed to adopt layers:`,r),t.adoptedStyleSheets=s}}function je(t){let e=new CSSStyleSheet;return e.replaceSync(t),e}var ie=globalThis,ce=ie.ShadowRoot&&(ie.ShadyCSS===void 0||ie.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,He=Symbol(),qe=new WeakMap,ae=class{constructor(e,s,n){if(this._$cssResult$=!0,n!==He)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=s}get styleSheet(){let e=this.o,s=this.t;if(ce&&e===void 0){let n=s!==void 0&&s.length===1;n&&(e=qe.get(s)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&qe.set(s,e))}return e}toString(){return this.cssText}},Ie=t=>new ae(typeof t=="string"?t:t+"",void 0,He);var ze=(t,e)=>{if(ce)t.adoptedStyleSheets=e.map(s=>s instanceof CSSStyleSheet?s:s.styleSheet);else for(let s of e){let n=document.createElement("style"),r=ie.litNonce;r!==void 0&&n.setAttribute("nonce",r),n.textContent=s.cssText,t.appendChild(n)}},ye=ce?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let s="";for(let n of e.cssRules)s+=n.cssText;return Ie(s)})(t):t;var{is:wt,defineProperty:_t,getOwnPropertyDescriptor:St,getOwnPropertyNames:At,getOwnPropertySymbols:Et,getPrototypeOf:vt}=Object,le=globalThis,Be=le.trustedTypes,Lt=Be?Be.emptyScript:"",Ct=le.reactiveElementPolyfillSupport,J=(t,e)=>t,ge={toAttribute(t,e){switch(e){case Boolean:t=t?Lt:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let s=t;switch(e){case Boolean:s=t!==null;break;case Number:s=t===null?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch{s=null}}return s}},We=(t,e)=>!wt(t,e),Fe={attribute:!0,type:String,converter:ge,reflect:!1,useDefault:!1,hasChanged:We};Symbol.metadata??=Symbol("metadata"),le.litPropertyMetadata??=new WeakMap;var P=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,s=Fe){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(e,s),!s.noAccessor){let n=Symbol(),r=this.getPropertyDescriptor(e,n,s);r!==void 0&&_t(this.prototype,e,r)}}static getPropertyDescriptor(e,s,n){let{get:r,set:o}=St(this.prototype,e)??{get(){return this[s]},set(i){this[s]=i}};return{get:r,set(i){let a=r?.call(this);o?.call(this,i),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Fe}static _$Ei(){if(this.hasOwnProperty(J("elementProperties")))return;let e=vt(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(J("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(J("properties"))){let s=this.properties,n=[...At(s),...Et(s)];for(let r of n)this.createProperty(r,s[r])}let e=this[Symbol.metadata];if(e!==null){let s=litPropertyMetadata.get(e);if(s!==void 0)for(let[n,r]of s)this.elementProperties.set(n,r)}this._$Eh=new Map;for(let[s,n]of this.elementProperties){let r=this._$Eu(s,n);r!==void 0&&this._$Eh.set(r,s)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let s=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let r of n)s.unshift(ye(r))}else e!==void 0&&s.push(ye(e));return s}static _$Eu(e,s){let n=s.attribute;return n===!1?void 0:typeof n=="string"?n:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,s=this.constructor.elementProperties;for(let n of s.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return ze(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,s,n){this._$AK(e,n)}_$ET(e,s){let n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&n.reflect===!0){let o=(n.converter?.toAttribute!==void 0?n.converter:ge).toAttribute(s,n.type);this._$Em=e,o==null?this.removeAttribute(r):this.setAttribute(r,o),this._$Em=null}}_$AK(e,s){let n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let o=n.getPropertyOptions(r),i=typeof o.converter=="function"?{fromAttribute:o.converter}:o.converter?.fromAttribute!==void 0?o.converter:ge;this._$Em=r;let a=i.fromAttribute(s,o.type);this[r]=a??this._$Ej?.get(r)??a,this._$Em=null}}requestUpdate(e,s,n){if(e!==void 0){let r=this.constructor,o=this[e];if(n??=r.getPropertyOptions(e),!((n.hasChanged??We)(o,s)||n.useDefault&&n.reflect&&o===this._$Ej?.get(e)&&!this.hasAttribute(r._$Eu(e,n))))return;this.C(e,s,n)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,s,{useDefault:n,reflect:r,wrapped:o},i){n&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,i??s??this[e]),o!==!0||i!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(s=void 0),this._$AL.set(e,s)),r===!0&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(s){Promise.reject(s)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[r,o]of this._$Ep)this[r]=o;this._$Ep=void 0}let n=this.constructor.elementProperties;if(n.size>0)for(let[r,o]of n){let{wrapped:i}=o,a=this[r];i!==!0||this._$AL.has(r)||a===void 0||this.C(r,void 0,o,a)}}let e=!1,s=this._$AL;try{e=this.shouldUpdate(s),e?(this.willUpdate(s),this._$EO?.forEach(n=>n.hostUpdate?.()),this.update(s)):this._$EM()}catch(n){throw e=!1,this._$EM(),n}e&&this._$AE(s)}willUpdate(e){}_$AE(e){this._$EO?.forEach(s=>s.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(s=>this._$ET(s,this[s])),this._$EM()}updated(e){}firstUpdated(e){}};P.elementStyles=[],P.shadowRootOptions={mode:"open"},P[J("elementProperties")]=new Map,P[J("finalized")]=new Map,Ct?.({ReactiveElement:P}),(le.reactiveElementVersions??=[]).push("2.1.1");var Ee=globalThis,de=Ee.trustedTypes,Ve=de?de.createPolicy("lit-html",{createHTML:t=>t}):void 0,Xe="$lit$",k=`lit$${Math.random().toFixed(9).slice(2)}$`,Ye="?"+k,xt=`<${Ye}>`,O=document,X=()=>O.createComment(""),Y=t=>t===null||typeof t!="object"&&typeof t!="function",ve=Array.isArray,Rt=t=>ve(t)||typeof t?.[Symbol.iterator]=="function",be=`[
2
- \f\r]`,Q=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Ke=/-->/g,Ge=/>/g,U=RegExp(`>|${be}(?:([^\\s"'>=/]+)(${be}*=${be}*(?:[^
3
- \f\r"'\`<>=]|("|')|))|$)`,"g"),Ze=/'/g,Je=/"/g,et=/^(?:script|style|textarea|title)$/i,Le=t=>(e,...s)=>({_$litType$:t,strings:e,values:s}),cs=Le(1),ls=Le(2),ds=Le(3),N=Symbol.for("lit-noChange"),w=Symbol.for("lit-nothing"),Qe=new WeakMap,T=O.createTreeWalker(O,129);function tt(t,e){if(!ve(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return Ve!==void 0?Ve.createHTML(e):e}var Pt=(t,e)=>{let s=t.length-1,n=[],r,o=e===2?"<svg>":e===3?"<math>":"",i=Q;for(let a=0;a<s;a++){let c=t[a],d,l,u=-1,f=0;for(;f<c.length&&(i.lastIndex=f,l=i.exec(c),l!==null);)f=i.lastIndex,i===Q?l[1]==="!--"?i=Ke:l[1]!==void 0?i=Ge:l[2]!==void 0?(et.test(l[2])&&(r=RegExp("</"+l[2],"g")),i=U):l[3]!==void 0&&(i=U):i===U?l[0]===">"?(i=r??Q,u=-1):l[1]===void 0?u=-2:(u=i.lastIndex-l[2].length,d=l[1],i=l[3]===void 0?U:l[3]==='"'?Je:Ze):i===Je||i===Ze?i=U:i===Ke||i===Ge?i=Q:(i=U,r=void 0);let m=i===U&&t[a+1].startsWith("/>")?" ":"";o+=i===Q?c+xt:u>=0?(n.push(d),c.slice(0,u)+Xe+c.slice(u)+k+m):c+k+(u===-2?a:m)}return[tt(t,o+(t[s]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),n]},ee=class t{constructor({strings:e,_$litType$:s},n){let r;this.parts=[];let o=0,i=0,a=e.length-1,c=this.parts,[d,l]=Pt(e,s);if(this.el=t.createElement(d,n),T.currentNode=this.el.content,s===2||s===3){let u=this.el.content.firstChild;u.replaceWith(...u.childNodes)}for(;(r=T.nextNode())!==null&&c.length<a;){if(r.nodeType===1){if(r.hasAttributes())for(let u of r.getAttributeNames())if(u.endsWith(Xe)){let f=l[i++],m=r.getAttribute(u).split(k),$=/([.?@])?(.*)/.exec(f);c.push({type:1,index:o,name:$[2],strings:m,ctor:$[1]==="."?we:$[1]==="?"?_e:$[1]==="@"?Se:V}),r.removeAttribute(u)}else u.startsWith(k)&&(c.push({type:6,index:o}),r.removeAttribute(u));if(et.test(r.tagName)){let u=r.textContent.split(k),f=u.length-1;if(f>0){r.textContent=de?de.emptyScript:"";for(let m=0;m<f;m++)r.append(u[m],X()),T.nextNode(),c.push({type:2,index:++o});r.append(u[f],X())}}}else if(r.nodeType===8)if(r.data===Ye)c.push({type:2,index:o});else{let u=-1;for(;(u=r.data.indexOf(k,u+1))!==-1;)c.push({type:7,index:o}),u+=k.length-1}o++}}static createElement(e,s){let n=O.createElement("template");return n.innerHTML=e,n}};function W(t,e,s=t,n){if(e===N)return e;let r=n!==void 0?s._$Co?.[n]:s._$Cl,o=Y(e)?void 0:e._$litDirective$;return r?.constructor!==o&&(r?._$AO?.(!1),o===void 0?r=void 0:(r=new o(t),r._$AT(t,s,n)),n!==void 0?(s._$Co??=[])[n]=r:s._$Cl=r),r!==void 0&&(e=W(t,r._$AS(t,e.values),r,n)),e}var $e=class{constructor(e,s){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=s}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:s},parts:n}=this._$AD,r=(e?.creationScope??O).importNode(s,!0);T.currentNode=r;let o=T.nextNode(),i=0,a=0,c=n[0];for(;c!==void 0;){if(i===c.index){let d;c.type===2?d=new te(o,o.nextSibling,this,e):c.type===1?d=new c.ctor(o,c.name,c.strings,this,e):c.type===6&&(d=new Ae(o,this,e)),this._$AV.push(d),c=n[++a]}i!==c?.index&&(o=T.nextNode(),i++)}return T.currentNode=O,r}p(e){let s=0;for(let n of this._$AV)n!==void 0&&(n.strings!==void 0?(n._$AI(e,n,s),s+=n.strings.length-2):n._$AI(e[s])),s++}},te=class t{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,s,n,r){this.type=2,this._$AH=w,this._$AN=void 0,this._$AA=e,this._$AB=s,this._$AM=n,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,s=this._$AM;return s!==void 0&&e?.nodeType===11&&(e=s.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,s=this){e=W(this,e,s),Y(e)?e===w||e==null||e===""?(this._$AH!==w&&this._$AR(),this._$AH=w):e!==this._$AH&&e!==N&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Rt(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==w&&Y(this._$AH)?this._$AA.nextSibling.data=e:this.T(O.createTextNode(e)),this._$AH=e}$(e){let{values:s,_$litType$:n}=e,r=typeof n=="number"?this._$AC(e):(n.el===void 0&&(n.el=ee.createElement(tt(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===r)this._$AH.p(s);else{let o=new $e(r,this),i=o.u(this.options);o.p(s),this.T(i),this._$AH=o}}_$AC(e){let s=Qe.get(e.strings);return s===void 0&&Qe.set(e.strings,s=new ee(e)),s}k(e){ve(this._$AH)||(this._$AH=[],this._$AR());let s=this._$AH,n,r=0;for(let o of e)r===s.length?s.push(n=new t(this.O(X()),this.O(X()),this,this.options)):n=s[r],n._$AI(o),r++;r<s.length&&(this._$AR(n&&n._$AB.nextSibling,r),s.length=r)}_$AR(e=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);e!==this._$AB;){let n=e.nextSibling;e.remove(),e=n}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},V=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,s,n,r,o){this.type=1,this._$AH=w,this._$AN=void 0,this.element=e,this.name=s,this._$AM=r,this.options=o,n.length>2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=w}_$AI(e,s=this,n,r){let o=this.strings,i=!1;if(o===void 0)e=W(this,e,s,0),i=!Y(e)||e!==this._$AH&&e!==N,i&&(this._$AH=e);else{let a=e,c,d;for(e=o[0],c=0;c<o.length-1;c++)d=W(this,a[n+c],s,c),d===N&&(d=this._$AH[c]),i||=!Y(d)||d!==this._$AH[c],d===w?e=w:e!==w&&(e+=(d??"")+o[c+1]),this._$AH[c]=d}i&&!r&&this.j(e)}j(e){e===w?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}},we=class extends V{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===w?void 0:e}},_e=class extends V{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==w)}},Se=class extends V{constructor(e,s,n,r,o){super(e,s,n,r,o),this.type=5}_$AI(e,s=this){if((e=W(this,e,s,0)??w)===N)return;let n=this._$AH,r=e===w&&n!==w||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,o=e!==w&&(n===w||r);r&&this.element.removeEventListener(this.name,this,n),o&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},Ae=class{constructor(e,s,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=s,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){W(this,e)}};var kt=Ee.litHtmlPolyfillSupport;kt?.(ee,te),(Ee.litHtmlVersions??=[]).push("3.3.1");var j=(t,e,s)=>{let n=s?.renderBefore??e,r=n._$litPart$;if(r===void 0){let o=s?.renderBefore??null;n._$litPart$=r=new te(e.insertBefore(X(),o),o,void 0,s??{})}return r._$AI(t),r};var Ce=globalThis,K=class extends P{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=j(s,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return N}};K._$litElement$=!0,K.finalized=!0,Ce.litElementHydrateSupport?.({LitElement:K});var Dt=Ce.litElementPolyfillSupport;Dt?.({LitElement:K});(Ce.litElementVersions??=[]).push("4.2.1");var st={mode:"live",preset:"default",autoDefine:{predefine:["pds-icon","pds-drawer","pds-toaster"]},log(t,e,...s){console[t](e,...s)}};async function nt(t,e={}){return e={...{title:"Confirm",type:"confirm",buttons:{ok:{name:"OK",primary:!0},cancel:{name:"Cancel",cancel:!0}}},...e},new Promise(n=>{let r=document.createElement("dialog");st.options?.liquidGlassEffects&&r.classList.add("liquid-glass"),e.size&&r.classList.add(`dialog-${e.size}`),e.type&&r.classList.add(`dialog-${e.type}`),e.class&&(Array.isArray(e.class)?r.classList.add(...e.class):r.classList.add(e.class)),e.maxHeight&&r.style.setProperty("--dialog-max-height",e.maxHeight);let o=Object.entries(e.buttons).map(([a,c])=>{let d=c.primary?"btn-primary btn-sm":"btn-outline btn-sm";return`<button type="${c.cancel?"button":"submit"}" class="${d}" value="${a}">${c.name}</button>`});if(e.useForm){let a=document.createElement("div");typeof t=="object"&&t._$litType$?j(t,a):typeof t=="string"?a.textContent=t:j(t,a);let c=a.querySelector("form");if(c){r.innerHTML=`
1
+ var Ne=Object.defineProperty;var Z=(e,t)=>()=>(e&&(t=e(e=0)),t);var J=(e,t)=>{for(var n in t)Ne(e,n,{get:t[n],enumerable:!0})};var ve={};J(ve,{AutoDefiner:()=>se});async function tt(...e){let t={};e.length&&typeof e[e.length-1]=="object"&&(t=e.pop()||{});let n=e,{baseURL:r,mapper:o=d=>`${d}.js`,onError:s=(d,l)=>console.error(`[defineWebComponents] ${d}:`,l)}=t,i=r?new URL(r,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),u=d=>d.toLowerCase().replace(/(^|-)([a-z])/g,(l,a,p)=>p.toUpperCase()),c=async d=>{try{if(customElements.get(d))return{tag:d,status:"already-defined"};let l=o(d),p=await import(l instanceof URL?l.href:new URL(l,i).href),f=p?.default??p?.[u(d)];if(!f){if(customElements.get(d))return{tag:d,status:"self-defined"};throw new Error(`No export found for ${d}. Expected default export or named export "${u(d)}".`)}return customElements.get(d)?{tag:d,status:"race-already-defined"}:(customElements.define(d,f),{tag:d,status:"defined"})}catch(l){throw s(d,l),l}};return Promise.all(n.map(c))}var se,xe=Z(()=>{se=class{constructor(t={}){let{baseURL:n,mapper:r,onError:o,predicate:s=()=>!0,attributeModule:i="data-module",root:u=document,scanExisting:c=!0,debounceMs:d=16,observeShadows:l=!0,enhancers:a=[],patchAttachShadow:p=!0}=t,f=new Set,w=new Set,v=new Set,g=new Map,x=new WeakMap,M=new WeakMap,E=0,R=!1,C=null,N=h=>{if(!h||!a.length)return;let y=M.get(h);y||(y=new Set,M.set(h,y));for(let m of a)if(!(!m.selector||!m.run)&&!y.has(m.selector))try{h.matches&&h.matches(m.selector)&&(m.run(h),y.add(m.selector))}catch(L){console.warn(`[AutoDefiner] Error applying enhancer for selector "${m.selector}":`,L)}},I=(h,y)=>{if(!R&&!(!h||!h.includes("-"))&&!customElements.get(h)&&!w.has(h)&&!v.has(h)){if(y&&y.getAttribute){let m=y.getAttribute(i);m&&!g.has(h)&&g.set(h,m)}f.add(h),H()}},H=()=>{E||(E=setTimeout(P,d))},A=h=>{if(h){if(h.nodeType===1){let y=h,m=y.tagName?.toLowerCase();m&&m.includes("-")&&!customElements.get(m)&&s(m,y)&&I(m,y),N(y),l&&y.shadowRoot&&$(y.shadowRoot)}h.querySelectorAll&&h.querySelectorAll("*").forEach(y=>{let m=y.tagName?.toLowerCase();m&&m.includes("-")&&!customElements.get(m)&&s(m,y)&&I(m,y),N(y),l&&y.shadowRoot&&$(y.shadowRoot)})}},$=h=>{if(!h||x.has(h))return;A(h);let y=new MutationObserver(m=>{for(let L of m)L.addedNodes?.forEach(_=>{A(_)}),L.type==="attributes"&&L.target&&A(L.target)});y.observe(h,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[i,...a.map(m=>m.selector).filter(m=>m.startsWith("data-"))]}),x.set(h,y)};async function P(){if(clearTimeout(E),E=0,!f.size)return;let h=Array.from(f);f.clear(),h.forEach(y=>w.add(y));try{let y=m=>g.get(m)??(r?r(m):`${m}.js`);await tt(...h,{baseURL:n,mapper:y,onError:(m,L)=>{v.add(m),o?.(m,L)}})}catch{}finally{h.forEach(y=>w.delete(y))}}let S=u===document?document.documentElement:u,k=new MutationObserver(h=>{for(let y of h)y.addedNodes?.forEach(m=>{A(m)}),y.type==="attributes"&&y.target&&A(y.target)});if(k.observe(S,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[i,...a.map(h=>h.selector).filter(h=>h.startsWith("data-"))]}),l&&p&&Element.prototype.attachShadow){let h=Element.prototype.attachShadow;Element.prototype.attachShadow=function(m){let L=h.call(this,m);if(m&&m.mode==="open"){$(L);let _=this.tagName?.toLowerCase();_&&_.includes("-")&&!customElements.get(_)&&I(_,this)}return L},C=()=>Element.prototype.attachShadow=h}return c&&A(S),{stop(){R=!0,k.disconnect(),C&&C(),E&&(clearTimeout(E),E=0),x.forEach(h=>h.disconnect())},flush:P}}static async define(...t){let n={};t.length&&typeof t[t.length-1]=="object"&&(n=t.pop()||{});let r=t,{baseURL:o,mapper:s=l=>`${l}.js`,onError:i=(l,a)=>console.error(`[defineWebComponents] ${l}:`,a)}=n,u=o?new URL(o,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),c=l=>l.toLowerCase().replace(/(^|-)([a-z])/g,(a,p,f)=>f.toUpperCase()),d=async l=>{try{if(customElements.get(l))return{tag:l,status:"already-defined"};let a=s(l),f=await import(a instanceof URL?a.href:new URL(a,u).href),w=f?.default??f?.[c(l)];if(!w){if(customElements.get(l))return{tag:l,status:"self-defined"};throw new Error(`No export found for ${l}. Expected default export or named export "${c(l)}".`)}return customElements.get(l)?{tag:l,status:"race-already-defined"}:(customElements.define(l,w),{tag:l,status:"defined"})}catch(a){throw i(l,a),a}};return Promise.all(r.map(d))}}});function Re(e){return new DOMParser().parseFromString(e,"text/html").body.childNodes}function $e(e,t=100){let n;return function(...o){let s=()=>{clearTimeout(n),e(...o)};clearTimeout(n),n=setTimeout(s,t)}}function V(e){setTimeout(e,0)}function Te(e){try{if(typeof e!="string"||e.indexOf(`
2
+ `)!==-1||e.indexOf(" ")!==-1||e.startsWith("#/"))return!1;let t=new URL(e,window.location.origin);return t.protocol==="http:"||t.protocol==="https:"}catch{return!1}}function Me(e,t,n){let r=window.screen.width/2-t/2,o=window.screen.height/2-n/2;return window.open(e,"",`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, width=${t}, height=${n}, top=${o}, left=${r}`)}var Ie=Z(()=>{});var Pe={};J(Pe,{AutoComplete:()=>ce});var ae,ce,_e=Z(()=>{Ie();ae={result:"ac-suggestion",item:"ac-itm"},ce=class e extends EventTarget{constructor(t,n,r){super(),this.settings={emptyResultsText:"",...r},this.container=t,this.input=n,this.input.setAttribute("autocomplete","off"),this.categories=r.categories||{},this.caches=new Map,V(this.attach.bind(this))}static connect(t,n){let r=t.target;if(!r._autoComplete){if(!n?.categories)throw Error("Missing autocomplete settings");r._autoComplete=new e(r.parentNode,r,n),t.type==="focus"&&setTimeout(()=>{r._autoComplete.focusHandler(t)},100)}return r._autoComplete}on(t,n){return this.input.addEventListener(t,n),this}attach(){this.resultsDiv=document.createElement("div"),this.resultsDiv.title="",this.resultsDiv.classList.add(ae.result),this.container.offsetWidth>100&&(this.resultsDiv.style.width=this.container.offsetWidth),this.resultsDiv.addEventListener("mousedown",this.resultClick.bind(this)),this.container.classList.add("ac-container"),this.input.classList.add("ac-input");let t=getComputedStyle(this.input);this.container.style.setProperty("--ac-bg-default",t.backgroundColor),this.container.style.setProperty("--ac-color-default",t.color);let n=getComputedStyle(this.input).accentColor;n!=="auto"&&this.container.style.setProperty("--ac-accent-color",n),(this.container?.shadowRoot??this.container).appendChild(this.resultsDiv),this.controller().clear("attach"),this.on("input",$e(this.inputHandler.bind(this),this.settings.throttleInputMs??300)).on("focus",this.focusHandler.bind(this)).on("focusout",this.blurHandler.bind(this)).on("keyup",this.keyUpHandler.bind(this)).on("keydown",this.keyDownHandler.bind(this))}controller(){let t=this.internalController();return typeof this.settings.controller=="function"&&(t=this.settings.controller(this)??t),t}internalController(){return{show:this.show.bind(this),hide:this.hide.bind(this),clear:this.clear.bind(this),empty:()=>{}}}moveResult(t){this.controller().show();let n=this.acItems.length;this.rowIndex=this.rowIndex+t,this.rowIndex<=0?this.rowIndex=0:this.rowIndex>n-1&&(this.rowIndex=0);for(let o of this.acItems)o.classList.remove("selected");let r=this.getSelectedDiv();r?(r.classList.add("selected"),r.scrollIntoView({behavior:"smooth",block:"end",inline:"nearest"})):this.focusHandler({target:this.input})}getSelectedDiv(){return this.resultsDiv.querySelector(`div:nth-child(${this.rowIndex+1})`)}selectResult(t){if(t=t||this.getSelectedDiv(),t){let n=parseInt(t.getAttribute("data-index"));this.resultClicked=!0;let r=this.results[n],o=this.categories[r.category]??{};o.action=o.action??this.setText.bind(this),o.newTab&&(this.tabWindow=Me("about:blank"));let s={...r,search:this.input.value};t.classList.add("ac-active"),setTimeout(()=>{this.controller().hide("result-selected"),s.action?s.action(s):(o.action(s),o.newTab&&(s.url?this.tabWindow.location.href=s.url:this.tabWindow.close()));var i=new Event("change",{bubbles:!0});this.input.dispatchEvent(i),this.controller().clear("result-selected");let u=new Event("result-selected");u.detail=s,this.input.dispatchEvent(u)},0)}}setText(t){this.container.autoCompleteInput||(this.container.value=t.text),this.controller().hide("settext")}resultClick(t){this.selectResult(t.target.closest(`.${ae.item}`))}blurHandler(){setTimeout(()=>{this.resultClicked||this.controller().clear("blurred"),this.resultClicked=!1},100)}clear(){this.settings.debug||this.resultsDiv&&(this.resultsDiv.innerHTML="",this.controller().hide("clear"),this.cacheTmr&&clearTimeout(this.cacheTmr),this.cacheTmr=setTimeout(()=>{this.caches.clear()},60*1e3*5))}show(){if(!this.resultsDiv.classList.contains("ac-active")){let t=this.getViewBounds();this.resultsDiv.style.position="absolute",t.rect.width>100&&(this.resultsDiv.style.width=`${t.rect.width}px`),this.settings.direction=this.settings.direction??t.suggestedDirection,this.resultsDiv.setAttribute("data-direction",this.settings.direction),this.settings.direction==="up"?(this.resultsDiv.style.top="unset",this.resultsDiv.style.bottom=`${t.rect.height+20}px`,this.rowIndex=this.acItems.length):(this.resultsDiv.style.bottom="unset",this.resultsDiv.style.top=`${t.rect.height}px`,this.rowIndex=-1),this.resultsDiv.style.maxWidth="unset",this.resultsDiv.classList.toggle("ac-active",!0)}}getViewBounds(){let t=this.input.getBoundingClientRect();return{rect:t,suggestedDirection:t.top+t.height+500>window.innerHeight?"up":"down"}}hide(){this.resultsDiv.classList.toggle("ac-active",!1)}empty(){this.resultsDiv.innerHTML=`<div class="ac-empty">${this.settings.emptyResultsText}</div>`,this.controller().show()}inputHandler(t){this.cacheTmr&&clearTimeout(this.cacheTmr);let n={search:t.target.value,categories:this.categories};this.container.classList.add("search-running"),this.getItems(n,t).then(r=>{this.controller().clear("new-results"),this.resultsHandler(r,n),this.container.classList.remove("search-running")})}keyDownHandler(t){switch(t.key){case"Enter":t.stopPropagation(),t.preventDefault();break;case"ArrowDown":V(this.moveResult(1));break;case"ArrowUp":V(this.moveResult(-1));break}}keyUpHandler(t){switch(t.key){case"Escape":this.controller().hide("escape");break;case"Enter":this.getSelectedDiv()&&(this.container.preventEnter=!0,t.stopPropagation(),t.preventDefault(),this.selectResult(),setTimeout(()=>{this.container.preventEnter=!1},10));break;default:break}}focusHandler(t){this.controller().clear("focus");let n=t.target.value;this.suggest(n,t)}suggest(t,n){this.input.focus();let r={suggest:!0,search:t||"",categories:this.categories};this.getItems(r,n).then(o=>{this.input.dispatchEvent(new CustomEvent("show-results",{detail:{results:o}})),this.resultsHandler(o,r)})}sort(t,n){return t.sort((r,o)=>{let s=n.categories[r.category],i=n.categories[o.category],u=typeof s.sortIndex=="function"?s.sortIndex(n):s.sortIndex??0;return(typeof i.sortIndex=="function"?i.sortIndex(n):i.sortIndex??0)>u?1:-1})}resultsHandler(t,n){this.results=t,this.rowIndex=-1;let r=0,o=(s,i)=>`
3
+ <div title="${i.tooltip||""}" data-index="${r}" class="${`${ae.item} cat-${i.category} ${i.class??""}`.trim()}">
4
+ ${this.handleImageOrIcon(i)}
5
+ <span class="text">${this.formatResultItem(i,n,s)}</span>
6
+ ${this.settings.hideCategory?"":`<span class="category">${i.category||""}</span>`}
7
+ </div>`;t.forEach(s=>{let i=n.categories[s.category]||{};s.element?this.resultsDiv.appendChild(s.element):(s=typeof s=="string"?{text:s}:s,this.resultsDiv.appendChild(Re(o(i,s))[0])),r++}),t.length?(this.acItems=this.resultsDiv.querySelectorAll(".ac-itm"),this.controller().show()):n.search.length&&this.controller().empty()}handleImageOrIcon(t){return t.image?`<img src="${t.image}"/>`:typeof this.settings.iconHandler=="function"?this.settings.iconHandler(t):`<svg-icon icon="${t.icon}"></svg-icon>`}formatResultItem(t,n,r){let o=typeof t=="string"?{text:t}:t,s=o.text;return n.search&&(s=s.replace("%search%",n.search),o.description=o.description?.replace("%search%",n.search)),s=this.highlight(s,n.search),o.description&&(s=`<div>${s}</div><small>${o.description}</small>`),r.format&&(s=r.format({item:o,result:s,options:n})),s}highlight(t,n){var r=new RegExp("("+n+")","gi");return t.replace(r,'<span class="txt-hl">$1</span>')}async getItems(t,n){this.aborter&&this.aborter.abort();let r=this.caches.get(t.search);if(r)return r;let o=this.settings.map,s=c=>(typeof c=="string"&&(c={text:c}),c),i=c=>o?c.map(d=>({text:d[o]})):c.map(d=>s(d)),u=c=>(this.settings.max&&this.settings.max>0&&(c.length=this.settings.max),c);return this.aborter=new AbortController,this.aborterSignal=this.aborter.signal,new Promise(c=>{let d=l=>{l=this.sort(l,t),this.settings.cache!==!1&&this.caches.set(t.search,l),c(l)};if(Te(this.items)){if(this.settings.minlength>0&&(!t.search||t.search.length<this.settings.minlength)){d([]);return}let l=this.formatSearch(this.items,t);fetch(l).then(a=>{if(a.status===200){a.json().then(p=>{p=i(p),d(u(p.filter(f=>this.isMatch(t,f))))});return}throw Error(`HTTP error ${a.status} - ${l}`)})}else if(Array.isArray(this.items)){let l=!0;this.items=this.items.map(a=>typeof a=="string"?{text:a}:(l=!1,a)),l&&this.container.classList.add("simple"),d(u(i(this.items)))}else if(typeof this.items=="function")t.control=this.container,Promise.resolve(this.items(t,n)).then(a=>{a=a.map(p=>s(p)),a=i(a),d(a)});else return d(Promise.resolve(this.items.apply(this,t)))})}async items(t){let n=[];t.results=[],t.signal=this.aborterSignal;for(var r in t.categories){let o=t.categories[r];if(o.trigger=o.trigger??(()=>!0),t.results=n,o.trigger(t)){let s=[];try{s=await o.getItems(t)}catch(i){console.warn(`Error loading items for omniBox category '${r}'.`,i)}n=n.concat(s.map(i=>(i.category=r,i)))}}return n}formatSearch(t,n){return t.indexOf("%search%")?t.replace("%search%",n.search||""):t+"?"+this.createQueryParam(n)}createQueryParam(t){let n=t.suggest?"&suggest=true":"";return`q=${t.text}${n}`}isMatch(t,n){return n.text?.indexOf("%search%")>=0?!0:t.search?n.text?.toLowerCase().indexOf(t.search.toLowerCase())>=0:t.suggest}static textFilter(t,n){return function(r){if(!t.search)return!0;if(r.hidden)return!1;let s=(n?r[n]:r).match(new RegExp(t.search,"gi"));if(s)return s;if(r.config?.tags)return r.config.tags.some(i=>i.match(new RegExp(t.search,"gi")))}}}});var X=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){console.error(`[PDS Registry] Failed to load static ${t}:`,n),console.error(`[PDS Registry] Looking for: ${this._staticPaths[t]}`),console.error("[PDS Registry] Make sure you've run 'npm run pds:build' and configured PDS.start() with the correct static.root path");let r=new CSSStyleSheet;return r.replaceSync("/* Failed to load "+t+" */"),r}}get mode(){return this._mode}get isLive(){return this._mode==="live"}},U=new X;async function ue(e,t=[],n=null){try{let r=n?.primitivesStylesheet?n.primitivesStylesheet:await U.getStylesheet("primitives");e.adoptedStyleSheets=[r,...t]}catch(r){let o=e.host?.tagName?.toLowerCase()||"unknown";console.error(`[PDS Adopter] <${o}> failed to adopt primitives:`,r),e.adoptedStyleSheets=t}}async function pe(e,t=["primitives"],n=[],r=null){try{let s=(await Promise.all(t.map(async i=>{if(r)switch(i){case"tokens":return r.tokensStylesheet;case"primitives":return r.primitivesStylesheet;case"components":return r.componentsStylesheet;case"utilities":return r.utilitiesStylesheet;default:break}return U.getStylesheet(i)}))).filter(i=>i!==null);e.adoptedStyleSheets=[...s,...n]}catch(o){let s=e.host?.tagName?.toLowerCase()||"unknown";console.error(`[PDS Adopter] <${s}> failed to adopt layers:`,o),e.adoptedStyleSheets=n}}function he(e){let t=new CSSStyleSheet;return t.replaceSync(e),t}var fe={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 me={mode:"live",preset:"default",autoDefine:{predefine:["pds-icon","pds-drawer","pds-toaster"]},log(e,t,...n){console[e](t,...n)}};var ee={};J(ee,{deepMerge:()=>ye,fragmentFromTemplateLike:()=>Y,isObject:()=>W});function W(e){return e&&typeof e=="object"&&!Array.isArray(e)}function ye(e,t){let n={...e};return W(e)&&W(t)&&Object.keys(t).forEach(r=>{W(t[r])?r in e?n[r]=ye(e[r],t[r]):Object.assign(n,{[r]:t[r]}):Object.assign(n,{[r]:t[r]})}),n}function Y(e){let t=Array.isArray(e?.strings)?e.strings:[],n=Array.isArray(e?.values)?e.values:[],r=new Set,o=[],s=/(\s)(\.[\w-]+)=\s*$/;for(let a=0;a<t.length;a+=1){let p=t[a]??"",f=p.match(s);if(f&&a<n.length){let v=f[2].slice(1),g=`pds-val-${a}`;p=p.replace(s,`$1data-pds-prop="${v}:${g}"`),r.add(a)}o.push(p),a<n.length&&!r.has(a)&&o.push(`<!--pds-val-${a}-->`)}let i=document.createElement("template");i.innerHTML=o.join("");let u=(a,p)=>{let f=a.parentNode;if(!f)return;if(p==null){f.removeChild(a);return}let w=v=>{if(v!=null){if(v instanceof Node){f.insertBefore(v,a);return}if(Array.isArray(v)){v.forEach(g=>w(g));return}f.insertBefore(document.createTextNode(String(v)),a)}};w(p),f.removeChild(a)},c=document.createTreeWalker(i.content,NodeFilter.SHOW_COMMENT),d=[];for(;c.nextNode();){let a=c.currentNode;a?.nodeValue?.startsWith("pds-val-")&&d.push(a)}return d.forEach(a=>{let p=Number(a.nodeValue.replace("pds-val-",""));u(a,n[p])}),i.content.querySelectorAll("*").forEach(a=>{let p=a.getAttribute("data-pds-prop");if(!p)return;let[f,w]=p.split(":"),v=Number(String(w).replace("pds-val-",""));f&&Number.isInteger(v)&&(a[f]=n[v]),a.removeAttribute("data-pds-prop")}),i.content}function te(e,t){if(t==null)return;if(typeof t=="object"&&Array.isArray(t.strings)&&Array.isArray(t.values)){e.appendChild(Y(t));return}if(t instanceof Node){e.appendChild(t);return}if(Array.isArray(t)){t.forEach(r=>te(e,r));return}let n=typeof t=="string"?t:String(t);e.appendChild(document.createTextNode(n))}async function ge(e,t={}){return t={...{title:"Confirm",type:"confirm",buttons:{ok:{name:"OK",primary:!0},cancel:{name:"Cancel",cancel:!0}}},...t},new Promise(r=>{let o=document.createElement("dialog");me.options?.liquidGlassEffects&&o.classList.add("liquid-glass"),t.size&&o.classList.add(`dialog-${t.size}`),t.type&&o.classList.add(`dialog-${t.type}`),t.class&&(Array.isArray(t.class)?o.classList.add(...t.class):o.classList.add(t.class)),t.maxHeight&&o.style.setProperty("--dialog-max-height",t.maxHeight);let s=Object.entries(t.buttons).map(([u,c])=>{let d=c.primary?"btn-primary btn-sm":"btn-outline btn-sm";return`<button type="${c.cancel?"button":"submit"}" class="${d}" value="${u}">${c.name}</button>`});if(t.useForm){let u=document.createElement("div");te(u,e);let c=u.querySelector("form");if(c){o.innerHTML=`
4
8
  <header>
5
- <h2>${e.title}</h2>
9
+ <h2>${t.title}</h2>
6
10
  </header>
7
- `;let d=document.createElement("article");for(d.className="dialog-body";c.firstChild;)d.appendChild(c.firstChild);c.appendChild(d);let l=document.createElement("footer");l.innerHTML=o.join(""),c.appendChild(l),r.appendChild(c)}else r.innerHTML=`
11
+ `;let d=document.createElement("article");for(d.className="dialog-body";c.firstChild;)d.appendChild(c.firstChild);c.appendChild(d);let l=document.createElement("footer");l.innerHTML=s.join(""),c.appendChild(l),o.appendChild(c)}else o.innerHTML=`
8
12
  <header>
9
- <h2>${e.title}</h2>
13
+ <h2>${t.title}</h2>
10
14
  </header>
11
15
  <article id="msg-container"></article>
12
16
  <footer>
13
- ${o.join("")}
17
+ ${s.join("")}
14
18
  </footer>
15
- `,r.querySelector("#msg-container").appendChild(a)}else{r.innerHTML=`
19
+ `,o.querySelector("#msg-container").appendChild(u)}else{o.innerHTML=`
16
20
  <form method="dialog">
17
21
  <header>
18
- <h2>${e.title}</h2>
22
+ <h2>${t.title}</h2>
19
23
  </header>
20
24
 
21
25
  <article id="msg-container"></article>
22
26
 
23
27
  <footer>
24
- ${o.join("")}
28
+ ${s.join("")}
25
29
  </footer>
26
30
  </form>
27
- `;let a=r.querySelector("#msg-container");typeof t=="object"&&t._$litType$?j(t,a):typeof t=="string"?a.textContent=t:j(t,a)}r.addEventListener("click",a=>{a.target.closest('button[value="cancel"]')&&(r.close(),n(!1))});let i=()=>{let a=r.querySelector("form");a?a.addEventListener("submit",c=>{c.preventDefault();let d;e.useForm&&c.submitter.value==="ok"?(console.log("Found form:",a),console.log("Form elements:",a?Array.from(a.elements):"no form"),d=new FormData(a),console.log("FormData entries:",Array.from(d.entries()))):d=c.submitter.value==="ok",r.close(),n(d)}):requestAnimationFrame(i)};i(),r.addEventListener("close",()=>{setTimeout(()=>r.remove(),200)}),document.body.appendChild(r),typeof e.rendered=="function"&&e.rendered(r),r.showModal()})}async function Mt(){let t=document.querySelector("pds-toaster");return t||(t=document.createElement("pds-toaster"),document.body.appendChild(t),await customElements.whenDefined("pds-toaster")),t}async function C(t,e={}){return(await Mt()).toast(t,e)}C.success=async function(t,e={}){return C(t,{...e,type:"success"})};C.error=async function(t,e={}){return C(t,{...e,type:"error"})};C.warning=async function(t,e={}){return C(t,{...e,type:"warning"})};C.info=async function(t,e={}){return C(t,{...e,type:"information"})};var Ut=[{selector:".accordion"},{selector:"nav[data-dropdown]"},{selector:"label[data-toggle]"},{selector:'input[type="range"]'},{selector:"form[data-required]"},{selector:"fieldset[role=group][data-open]"},{selector:"button, a[class*='btn-']"}];function Tt(t){t.dataset.enhancedAccordion||(t.dataset.enhancedAccordion="true",t.addEventListener("toggle",e=>{e.target.open&&e.target.parentElement===t&&t.querySelectorAll(":scope > details[open]").forEach(s=>{s!==e.target&&(s.open=!1)})},!0))}function Ot(t){if(t.dataset.enhancedDropdown)return;t.dataset.enhancedDropdown="true";let e=t.querySelector("menu");if(!e)return;let s=t.querySelector("[data-dropdown-toggle]")||t.querySelector("button");s&&!s.hasAttribute("type")&&s.setAttribute("type","button"),e.id||(e.id=`dropdown-${Math.random().toString(36).slice(2,9)}`),e.setAttribute("role",e.getAttribute("role")||"menu"),e.hasAttribute("aria-hidden")||e.setAttribute("aria-hidden","true"),s&&(s.setAttribute("aria-haspopup","true"),s.setAttribute("aria-controls",e.id),s.setAttribute("aria-expanded","false"));let n=()=>{let a=(t.getAttribute("data-mode")||"auto").toLowerCase();if(a==="up"||a==="down")return a;let c=t.getBoundingClientRect(),d=Math.max(0,window.innerHeight-c.bottom);return Math.max(0,c.top)>d?"up":"down"},r=()=>{t.dataset.dropdownDirection=n(),e.setAttribute("aria-hidden","false"),s?.setAttribute("aria-expanded","true")},o=()=>{e.setAttribute("aria-hidden","true"),s?.setAttribute("aria-expanded","false")},i=()=>{e.getAttribute("aria-hidden")==="false"?o():r()};s?.addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),i()}),document.addEventListener("click",a=>{t.contains(a.target)||o()}),t.addEventListener("keydown",a=>{a.key==="Escape"&&(o(),s?.focus())}),t.addEventListener("focusout",a=>{(!a.relatedTarget||!t.contains(a.relatedTarget))&&o()})}function Nt(t){if(t.dataset.enhancedToggle)return;t.dataset.enhancedToggle="true";let e=t.querySelector('input[type="checkbox"]');if(!e)return;t.hasAttribute("tabindex")||t.setAttribute("tabindex","0"),t.setAttribute("role","switch"),t.setAttribute("aria-checked",e.checked?"true":"false");let s=document.createElement("span");s.className="toggle-switch",s.setAttribute("role","presentation"),s.setAttribute("aria-hidden","true");let n=document.createElement("span");n.className="toggle-knob",s.appendChild(n),t.insertBefore(s,e.nextSibling);let r=()=>{t.setAttribute("aria-checked",e.checked?"true":"false")},o=()=>{e.disabled||(e.checked=!e.checked,r(),e.dispatchEvent(new Event("change",{bubbles:!0})))};t.addEventListener("click",i=>{i.preventDefault(),o()}),t.addEventListener("keydown",i=>{(i.key===" "||i.key==="Enter")&&(i.preventDefault(),o())}),e.addEventListener("change",r)}function jt(t){if(t.dataset.enhancedRange)return;let e=t.closest("label"),s=e?.classList.contains("range-output"),n=t.id||`range-${Math.random().toString(36).substring(2,11)}`,r=`${n}-output`;if(t.id=n,s){let o=e.querySelector("span");if(o&&!o.classList.contains("range-output-wrapper")){let i=document.createElement("span");i.className="range-output-wrapper",i.style.display="flex",i.style.justifyContent="space-between",i.style.alignItems="center";let a=document.createElement("span");a.textContent=o.textContent,i.appendChild(a);let c=document.createElement("output");c.id=r,c.setAttribute("for",n),c.style.color="var(--surface-text-secondary, var(--color-text-secondary))",c.style.fontSize="0.875rem",c.textContent=t.value,i.appendChild(c),o.textContent="",o.appendChild(i);let d=()=>{c.textContent=t.value};t.addEventListener("input",d)}}else{let o=t.closest(".range-container");o||(o=document.createElement("div"),o.className="range-container",t.parentNode?.insertBefore(o,t),o.appendChild(t)),o.style.position="relative";let i=document.createElement("output");i.id=r,i.setAttribute("for",n),i.className="range-bubble",i.setAttribute("aria-live","polite"),o.appendChild(i);let a=()=>{let l=parseFloat(t.min)||0,u=parseFloat(t.max)||100,f=parseFloat(t.value),m=(f-l)/(u-l);i.style.left=`calc(${m*100}% )`,i.textContent=String(f)},c=()=>i.classList.add("visible"),d=()=>i.classList.remove("visible");t.addEventListener("input",a),t.addEventListener("pointerdown",c),t.addEventListener("pointerup",d),t.addEventListener("pointerleave",d),t.addEventListener("focus",c),t.addEventListener("blur",d),a()}t.dataset.enhancedRange="1"}function qt(t){if(t.dataset.enhancedRequired)return;t.dataset.enhancedRequired="true";let e=s=>{let n=s.closest("label");if(!n||n.querySelector(".required-asterisk"))return;let r=document.createElement("span");r.classList.add("required-asterisk"),r.textContent="*",r.style.marginLeft="4px",n.querySelector("span").appendChild(r);let o=s.closest("form");if(o&&!o.querySelector(".required-legend")){let i=document.createElement("small");i.classList.add("required-legend"),i.textContent="* Required fields",o.insertBefore(i,o.querySelector(".form-actions")||o.lastElementChild)}};t.querySelectorAll("[required]").forEach(s=>{e(s)})}function Ht(t){if(t.dataset.enhancedOpenGroup)return;t.dataset.enhancedOpenGroup="true",t.classList.add("flex","flex-wrap","buttons");let e=document.createElement("input");e.type="text",e.placeholder="Add item...",e.classList.add("input-text","input-sm"),e.style.width="auto";let s=t.querySelector('input[type="radio"], input[type="checkbox"]');t.appendChild(e),e.addEventListener("keydown",n=>{if(n.key==="Enter"||n.key==="Tab"){let r=e.value.trim();if(r){n.preventDefault();let o=s.type==="radio"?"radio":"checkbox",i=`open-group-${Math.random().toString(36).substring(2,11)}`,a=document.createElement("label"),c=document.createElement("span");c.setAttribute("data-label",""),c.textContent=r;let d=document.createElement("input");d.type=o,d.name=s.name||t.getAttribute("data-name")||"open-group",d.value=r,d.id=i,a.appendChild(c),a.appendChild(d),t.insertBefore(a,e),e.value=""}}else if(n.key==="Backspace"&&e.value===""){n.preventDefault();let r=t.querySelectorAll("label");r.length>0&&r[r.length-1].remove()}})}function It(t){if(t.dataset.enhancedBtnWorking)return;t.dataset.enhancedBtnWorking="true";let e=null,s=!1;new MutationObserver(r=>{r.forEach(o=>{if(o.attributeName==="class"){let i=t.classList.contains("btn-working"),a=t.querySelector("pds-icon");if(i)if(a)e||(e=a.getAttribute("icon")),a.setAttribute("icon","circle-notch");else{let c=document.createElement("pds-icon");c.setAttribute("icon","circle-notch"),c.setAttribute("size","sm"),t.insertBefore(c,t.firstChild),s=!0}else o.oldValue?.includes("btn-working")&&a&&(s?(a.remove(),s=!1):e&&(a.setAttribute("icon",e),e=null))}})}).observe(t,{attributes:!0,attributeFilter:["class"],attributeOldValue:!0})}var zt=new Map([[".accordion",Tt],["nav[data-dropdown]",Ot],["label[data-toggle]",Nt],['input[type="range"]',jt],["form[data-required]",qt],["fieldset[role=group][data-open]",Ht],["button, a[class*='btn-']",It]]),xe=Ut.map(t=>({...t,run:zt.get(t.selector)||(()=>{})}));var ot="pds",Bt=/^([a-z][a-z0-9+\-.]*:)?\/\//i,rt=/^[a-z]:/i;function se(t=""){return t.endsWith("/")?t:`${t}/`}function Ft(t="",e=ot){let s=t.replace(/\/+$/,"");return new RegExp(`(?:^|/)${e}$`,"i").test(s)?s:`${s}/${e}`}function Wt(t){return t.replace(/^\.\/+/,"")}function Vt(t){return rt.test(t)?t.replace(rt,"").replace(/^\/+/,""):t}function Kt(t){return t.startsWith("public/")?t.substring(7):t}function Re(t,e={}){let s=e.segment||ot,n=e.defaultRoot||`/assets/${s}/`,r=t?.public&&t.public?.root||t?.static&&t.static?.root||null;if(!r||typeof r!="string")return se(n);let o=r.trim();return o?(o=o.replace(/\\/g,"/"),o=Ft(o,s),o=se(o),Bt.test(o)?o:(o=Wt(o),o=Vt(o),o.startsWith("/")||(o=Kt(o),o.startsWith("/")||(o=`/${o}`),o=o.replace(/\/+/g,(i,a)=>a===0?i:"/")),se(o))):se(n)}var Zt=/^[a-z][a-z0-9+\-.]*:\/\//i,ne=(()=>{try{return import.meta.url}catch{return}})(),ue=t=>typeof t=="string"&&t.length&&!t.endsWith("/")?`${t}/`:t;function pe(t,e={}){if(!t||Zt.test(t))return t;let{preferModule:s=!0}=e,n=()=>{if(!ne)return null;try{return new URL(t,ne).href}catch{return null}},r=()=>{if(typeof window>"u"||!window.location?.origin)return null;try{return new URL(t,window.location.origin).href}catch{return null}};return(s?n()||r():r()||n())||t}var ct=(()=>{if(ne)try{let t=new URL(ne);if(/\/public\/assets\/js\//.test(t.pathname))return new URL("../pds/",ne).href}catch{return}})(),lt=!1;function dt(t){lt||typeof document>"u"||(lt=!0,t.addEventListener("pds:ready",e=>{let s=e.detail?.mode;s&&document.documentElement.classList.add(`pds-${s}`,"pds-ready")}))}function ut(t={},e={}){if(!e||typeof e!="object")return t;let s=Array.isArray(t)?[...t]:{...t};for(let[n,r]of Object.entries(e))r&&typeof r=="object"&&!Array.isArray(r)?s[n]=ut(s[n]&&typeof s[n]=="object"?s[n]:{},r):s[n]=r;return s}function ke(t=""){return String(t).toLowerCase().replace(/&/g," and ").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function G(t){if(t==null)return t;if(typeof t=="function")return;if(typeof t!="object")return t;if(Array.isArray(t))return t.map(s=>G(s)).filter(s=>s!==void 0);let e={};for(let s in t)if(t.hasOwnProperty(s)){let n=t[s];if(typeof n!="function"){let r=G(n);r!==void 0&&(e[s]=r)}}return e}function pt(t={},e={},{presets:s,defaultLog:n}){let r=typeof t=="object"&&("colors"in t||"typography"in t||"spatialRhythm"in t||"shape"in t||"behavior"in t||"layout"in t||"advanced"in t||"a11y"in t||"components"in t||"icons"in t),o=t&&t.enhancers;o&&!Array.isArray(o)&&(o=Object.values(o));let i=o??e.enhancers??[],a=t&&t.preset,c=t&&t.design,d="preset"in(t||{})||"design"in(t||{})||"enhancers"in(t||{}),l,u=null;if(d){let f=String(a||"default").toLowerCase(),m=s?.[f]||Object.values(s||{}).find(R=>ke(R.name)===f||String(R.name||"").toLowerCase()===f);if(!m)throw new Error(`PDS preset not found: "${a||"default"}"`);u={id:m.id||ke(m.name),name:m.name||m.id||String(f)};let $=structuredClone(m);if(c&&typeof c=="object"){let R=G(c);$=ut($,structuredClone(R))}let{mode:x,autoDefine:g,applyGlobalStyles:_,manageTheme:H,themeStorageKey:A,preloadStyles:D,criticalLayers:L,managerURL:Z,manager:I,preset:oe,design:E,enhancers:M,log:z,...S}=t;l={...S,design:$,preset:u.name,log:z||n}}else if(r){let{log:f,...m}=t;l={design:structuredClone(m),log:f||n}}else{let f=s?.default||Object.values(s||{}).find(m=>ke(m.name)==="default");if(!f)throw new Error("PDS default preset not available");u={id:f.id||"default",name:f.name||"Default"},l={design:structuredClone(f),preset:u.name,log:n}}return{generatorConfig:l,enhancers:i,presetInfo:u}}function ht({manageTheme:t,themeStorageKey:e,applyResolvedTheme:s,setupSystemListenerIfNeeded:n}){let r="light",o=null;if(t&&typeof window<"u"){try{o=localStorage.getItem(e)||null}catch{o=null}try{s?.(o),n?.(o)}catch{}o?o==="system"?r=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":r=o:r=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}return{resolvedTheme:r,storedTheme:o}}function De(t,{resolvePublicAssetURL:e}){let s=!!(t?.public?.root||t?.static?.root),n=e(t);return!s&&ct&&(n=ct),ue(pe(n))}async function ft(t,{baseEnhancers:e=[]}={}){let{autoDefineBaseURL:s="/auto-define/",autoDefinePreload:n=[],autoDefineMapper:r=null,enhancers:o=[],autoDefineOverrides:i=null,autoDefinePreferModule:a=!0}=t,c=(()=>{let l=new Map;return(e||[]).forEach(u=>l.set(u.selector,u)),(o||[]).forEach(u=>l.set(u.selector,u)),Array.from(l.values())})(),d=null;if(typeof window<"u"&&typeof document<"u"){let l=null;try{let g=await Promise.resolve().then(()=>(at(),it));l=g?.AutoDefiner||g?.default?.AutoDefiner||g?.default||null}catch(g){console.warn("AutoDefiner not available:",g?.message||g)}let u=g=>{switch(g){case"pds-tabpanel":return"pds-tabstrip.js";default:return`${g}.js`}},{mapper:f,...m}=i&&typeof i=="object"?i:{},x={baseURL:s&&ue(pe(s,{preferModule:a})),predefine:n,scanExisting:!0,observeShadows:!0,patchAttachShadow:!0,debounceMs:16,enhancers:c,onError:(g,_)=>{if(typeof g=="string"&&g.startsWith("pds-")){let A=["pds-form","pds-drawer"].includes(g),D=_?.message?.includes("#pds/lit")||_?.message?.includes("Failed to resolve module specifier");A&&D?console.error(`\u274C PDS component <${g}> requires Lit but #pds/lit is not in import map.
28
- Add this to your HTML <head>:
29
- <script type="importmap">
30
- { "imports": { "#pds/lit": "./path/to/lit.js" } }
31
- <\/script>
32
- See: https://github.com/pure-ds/core#lit-components`):console.warn(`\u26A0\uFE0F PDS component <${g}> not found. Assets may not be installed.`)}else console.error(`\u274C Auto-define error for <${g}>:`,_)},...m,mapper:g=>{if(customElements.get(g))return null;if(typeof r=="function")try{let _=r(g);return _===void 0?u(g):_}catch(_){return console.warn("Custom autoDefine.mapper error; falling back to default:",_?.message||_),u(g)}return u(g)}};l&&(d=new l(x),n.length>0&&typeof l.define=="function"&&await l.define(...n,{baseURL:s,mapper:x.mapper,onError:x.onError}))}return{autoDefiner:d,mergedEnhancers:c}}var Te=class extends EventTarget{},b=new Te;b.initializing=!1;b.currentPreset=null;b.debug=!1;var mt=(t="")=>String(t).toLowerCase().replace(/&/g," and ").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,""),Me=function(t="log",e,...s){let n=!!(b.registry&&!b.registry.isLive),r=(this?.debug||this?.design?.debug||b.debug||!1)===!0;if(n){if(!b.debug)return}else if(!r&&t!=="error"&&t!=="warn")return;let o=console[t]||console.log;s.length>0?o(e,...s):o(e)};async function Jt(t,e={}){if(e?.runtimeConfig===!1||typeof fetch!="function")return null;let s=e?.runtimeConfigURL||`${t}pds-runtime-config.json`;try{let n=await fetch(s,{cache:"no-store"});return n.ok?await n.json():null}catch{return null}}b.registry=F;b.adoptLayers=Ne;b.adoptPrimitives=Oe;b.createStylesheet=je;b.isLiveMode=()=>F.isLive;b.ask=nt;b.toast=C;function yt(t){let e=typeof CustomEvent=="function";try{let s=e?new CustomEvent("pds:ready",{detail:t}):new Event("pds:ready");b.dispatchEvent(s)}catch{}if(typeof document<"u")if(e){let s={detail:t,bubbles:!0,composed:!0};try{document.dispatchEvent(new CustomEvent("pds:ready",s))}catch{}try{document.dispatchEvent(new CustomEvent("pds-ready",s))}catch{}}else{try{document.dispatchEvent(new Event("pds:ready"))}catch{}try{document.dispatchEvent(new Event("pds-ready"))}catch{}}}typeof window<"u"&&(window.PDS=b);var Ue="pure-ds-theme",q=null,re=null;function he(t){try{if(typeof document>"u")return;let e="light";t?t==="system"?e=typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e=t:e=typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",document.documentElement.setAttribute("data-theme",e)}catch{}}function fe(t){try{if(q&&re){try{typeof q.removeEventListener=="function"?q.removeEventListener("change",re):typeof q.removeListener=="function"&&q.removeListener(re)}catch{}q=null,re=null}if(t==="system"&&typeof window<"u"&&window.matchMedia){let e=window.matchMedia("(prefers-color-scheme: dark)"),s=n=>{let r=n?.matches===void 0?e.matches:n.matches;try{let o=r?"dark":"light";document.documentElement.setAttribute("data-theme",o),b.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:o,source:"system"}}))}catch{}};q=e,re=s,typeof e.addEventListener=="function"?e.addEventListener("change",s):typeof e.addListener=="function"&&e.addListener(s)}}catch{}}Object.defineProperty(b,"theme",{get(){try{return typeof window>"u"?null:localStorage.getItem(Ue)||null}catch{return null}},set(t){try{if(typeof window>"u")return;t==null?localStorage.removeItem(Ue):localStorage.setItem(Ue,t),he(t),fe(t),b.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:t,source:"api"}}))}catch{}}});b.defaultEnhancers=xe;async function Qt(t){let e=t&&t.mode||"live",{mode:s,...n}=t||{};if(e==="static")return Xt(n);let r=De(n,{resolvePublicAssetURL:Re}),o=n?.managerURL||n?.public?.managerURL||n?.manager?.url||new URL("core/pds-manager.js",r).href||new URL("./pds-manager.js",import.meta.url).href,{startLive:i}=await import(o);return i(b,n,{emitReady:yt,applyResolvedTheme:he,setupSystemListenerIfNeeded:fe})}b.start=Qt;async function Xt(t){if(!t||typeof t!="object")throw new Error("PDS.start({ mode: 'static', ... }) requires a valid configuration object");let e=t.applyGlobalStyles??!0,s=t.manageTheme??!0,n=t.themeStorageKey??"pure-ds-theme",r=t.staticPaths??{},o=De(t,{resolvePublicAssetURL:Re}),i=t&&t.autoDefine||null,a;i&&i.baseURL?a=ue(pe(i.baseURL,{preferModule:!1})):a=`${o}components/`;let c=i&&Array.isArray(i.predefine)&&i.predefine||[],d=i&&typeof i.mapper=="function"&&i.mapper||null;try{dt(b);let{resolvedTheme:l}=ht({manageTheme:s,themeStorageKey:n,applyResolvedTheme:he,setupSystemListenerIfNeeded:fe}),u=await Jt(o,t),f=u?.config?.design||u?.design||null,m=u?.config?.preset||u?.preset||"default",$=u?.presetId||mt(m)||"default",x=f?{[String($).toLowerCase()]:f,...String($).toLowerCase()!=="default"?{default:f}:{}}:null,g=t?.design&&typeof t.design=="object"?G(t.design):null,_=mt(t?.preset||"default")||"default",H=g?{[String(_).toLowerCase()]:g,...String(_).toLowerCase()!=="default"?{default:g}:{}}:null,A=x||t?.presets||H||{};if(!Object.keys(A||{}).length)throw new Error("PDS static mode requires preset data. Run pds:build or provide config.presets/config.design.");let D=u?.config?{...u.config,...t,preset:t?.preset||$,design:g||f||u?.config?.design}:t,L=pt(D,{},{presets:A,defaultLog:Me}),Z=L.enhancers,I={tokens:`${o}styles/pds-tokens.css.js`,primitives:`${o}styles/pds-primitives.css.js`,components:`${o}styles/pds-components.css.js`,utilities:`${o}styles/pds-utilities.css.js`,styles:`${o}styles/pds-styles.css.js`},oe=u?.paths||{};if(r={...I,...oe,...r},b.registry.setStaticMode(r),e&&typeof document<"u")try{let S=await b.registry.getStylesheet("styles");if(S){S._pds=!0;let R=(document.adoptedStyleSheets||[]).filter(p=>p._pds!==!0);document.adoptedStyleSheets=[...R,S]}}catch(S){Me.call(b,"warn","Failed to apply static styles:",S)}let E=null,M=[];try{let S=await ft({autoDefineBaseURL:a,autoDefinePreload:c,autoDefineMapper:d,enhancers:Z,autoDefineOverrides:i||null,autoDefinePreferModule:!(i&&i.baseURL)},{baseEnhancers:xe});E=S.autoDefiner,M=S.mergedEnhancers||[]}catch(S){Me.call(b,"error","\u274C Failed to initialize AutoDefiner/Enhancers (static):",S)}let z=G(t);return b.currentConfig=Object.freeze({mode:"static",...structuredClone(z),design:structuredClone(L.generatorConfig.design),preset:L.generatorConfig.preset,theme:l,enhancers:M}),yt({mode:"static",config:L.generatorConfig,theme:l,autoDefiner:E}),{config:L.generatorConfig,theme:l,autoDefiner:E}}catch(l){throw b.dispatchEvent(new CustomEvent("pds:error",{detail:{error:l}})),l}}var qs=he,Hs=fe;export{b as PDS,qs as applyResolvedTheme,Hs as setupSystemListenerIfNeeded};
33
- /*! Bundled license information:
34
-
35
- @lit/reactive-element/css-tag.js:
36
- (**
37
- * @license
38
- * Copyright 2019 Google LLC
39
- * SPDX-License-Identifier: BSD-3-Clause
40
- *)
41
-
42
- @lit/reactive-element/reactive-element.js:
43
- (**
44
- * @license
45
- * Copyright 2017 Google LLC
46
- * SPDX-License-Identifier: BSD-3-Clause
47
- *)
48
-
49
- lit-html/lit-html.js:
50
- (**
51
- * @license
52
- * Copyright 2017 Google LLC
53
- * SPDX-License-Identifier: BSD-3-Clause
54
- *)
55
-
56
- lit-element/lit-element.js:
57
- (**
58
- * @license
59
- * Copyright 2017 Google LLC
60
- * SPDX-License-Identifier: BSD-3-Clause
61
- *)
62
-
63
- lit-html/is-server.js:
64
- (**
65
- * @license
66
- * Copyright 2022 Google LLC
67
- * SPDX-License-Identifier: BSD-3-Clause
68
- *)
69
- */
31
+ `;let u=o.querySelector("#msg-container");te(u,e)}o.addEventListener("click",u=>{u.target.closest('button[value="cancel"]')&&(o.close(),r(!1))});let i=()=>{let u=o.querySelector("form");u?u.addEventListener("submit",c=>{c.preventDefault();let d;t.useForm&&c.submitter.value==="ok"?(console.log("Found form:",u),console.log("Form elements:",u?Array.from(u.elements):"no form"),d=new FormData(u),console.log("FormData entries:",Array.from(d.entries()))):d=c.submitter.value==="ok",o.close(),r(d)}):requestAnimationFrame(i)};i(),o.addEventListener("close",()=>{setTimeout(()=>o.remove(),200)}),document.body.appendChild(o),typeof t.rendered=="function"&&t.rendered(o),o.showModal()})}async function Oe(){let e=document.querySelector("pds-toaster");return e||(e=document.createElement("pds-toaster"),document.body.appendChild(e),await customElements.whenDefined("pds-toaster")),e}async function D(e,t={}){return(await Oe()).toast(e,t)}D.success=async function(e,t={}){return D(e,{...t,type:"success"})};D.error=async function(e,t={}){return D(e,{...t,type:"error"})};D.warning=async function(e,t={}){return D(e,{...t,type:"warning"})};D.info=async function(e,t={}){return D(e,{...t,type:"information"})};var je=[{selector:".accordion"},{selector:"nav[data-dropdown]"},{selector:"label[data-toggle]"},{selector:'input[type="range"]'},{selector:"form[data-required]"},{selector:"fieldset[role=group][data-open]"},{selector:"[data-clip]"},{selector:"button, a[class*='btn-']"}];function Fe(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 He(e){if(e.dataset.enhancedDropdown)return;e.dataset.enhancedDropdown="true";let t=e.lastElementChild;if(!t)return;let n=e.querySelector("[data-dropdown-toggle]")||e.querySelector("button");n&&!n.hasAttribute("type")&&n.setAttribute("type","button"),t.id||(t.id=`dropdown-${Math.random().toString(36).slice(2,9)}`),t.tagName?.toLowerCase()==="menu"&&!t.hasAttribute("role")&&t.setAttribute("role","menu"),t.hasAttribute("aria-hidden")||t.setAttribute("aria-hidden","true"),n&&(n.setAttribute("aria-haspopup","true"),n.setAttribute("aria-controls",t.id),n.setAttribute("aria-expanded","false"));let o=()=>{let c=(e.getAttribute("data-mode")||"auto").toLowerCase();if(c==="up"||c==="down")return c;let d=e.getBoundingClientRect(),l=Math.max(0,window.innerHeight-d.bottom);return Math.max(0,d.top)>l?"up":"down"},s=()=>{e.dataset.dropdownDirection=o(),t.setAttribute("aria-hidden","false"),n?.setAttribute("aria-expanded","true")},i=()=>{t.setAttribute("aria-hidden","true"),n?.setAttribute("aria-expanded","false")},u=()=>{t.getAttribute("aria-hidden")==="false"?i():s()};n?.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),u()}),document.addEventListener("click",c=>{e.contains(c.target)||i()}),e.addEventListener("keydown",c=>{c.key==="Escape"&&(i(),n?.focus())}),e.addEventListener("focusout",c=>{(!c.relatedTarget||!e.contains(c.relatedTarget))&&i()})}function We(e){if(e.dataset.enhancedToggle)return;e.dataset.enhancedToggle="true";let t=e.querySelector('input[type="checkbox"]');if(!t)return;e.hasAttribute("tabindex")||e.setAttribute("tabindex","0"),e.setAttribute("role","switch"),e.setAttribute("aria-checked",t.checked?"true":"false");let n=document.createElement("span");n.className="toggle-switch",n.setAttribute("role","presentation"),n.setAttribute("aria-hidden","true");let r=document.createElement("span");r.className="toggle-knob",n.appendChild(r),e.insertBefore(n,t.nextSibling);let o=()=>{e.setAttribute("aria-checked",t.checked?"true":"false")},s=()=>{t.disabled||(t.checked=!t.checked,o(),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",o)}function ze(e){if(e.dataset.enhancedRange)return;let t=e.closest("label"),n=t?.classList.contains("range-output"),r=e.id||`range-${Math.random().toString(36).substring(2,11)}`,o=`${r}-output`;if(e.id=r,n){let s=t.querySelector("span");if(s&&!s.classList.contains("range-output-wrapper")){let i=document.createElement("span");i.className="range-output-wrapper",i.style.display="flex",i.style.justifyContent="space-between",i.style.alignItems="center";let u=document.createElement("span");u.textContent=s.textContent,i.appendChild(u);let c=document.createElement("output");c.id=o,c.setAttribute("for",r),c.style.color="var(--surface-text-secondary, var(--color-text-secondary))",c.style.fontSize="0.875rem",c.textContent=e.value,i.appendChild(c),s.textContent="",s.appendChild(i);let d=()=>{c.textContent=e.value};e.addEventListener("input",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=o,i.setAttribute("for",r),i.className="range-bubble",i.setAttribute("aria-live","polite"),s.appendChild(i);let u=()=>{let l=parseFloat(e.min)||0,a=parseFloat(e.max)||100,p=parseFloat(e.value),f=(p-l)/(a-l);i.style.left=`calc(${f*100}% )`,i.textContent=String(p)},c=()=>i.classList.add("visible"),d=()=>i.classList.remove("visible");e.addEventListener("input",u),e.addEventListener("pointerdown",c),e.addEventListener("pointerup",d),e.addEventListener("pointerleave",d),e.addEventListener("focus",c),e.addEventListener("blur",d),u()}e.dataset.enhancedRange="1"}function Be(e){if(e.dataset.enhancedRequired)return;e.dataset.enhancedRequired="true";let t=n=>{let r=n.closest("label");if(!r||r.querySelector(".required-asterisk"))return;let o=document.createElement("span");o.classList.add("required-asterisk"),o.textContent="*",o.style.marginLeft="4px",r.querySelector("span").appendChild(o);let s=n.closest("form");if(s&&!s.querySelector(".required-legend")){let i=document.createElement("small");i.classList.add("required-legend"),i.textContent="* Required fields",s.insertBefore(i,s.querySelector(".form-actions")||s.lastElementChild)}};e.querySelectorAll("[required]").forEach(n=>{t(n)})}function Ve(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="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",r=>{if(r.key==="Enter"||r.key==="Tab"){let o=t.value.trim();if(o){r.preventDefault();let s=n.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=o;let d=document.createElement("input");d.type=s,d.name=n.name||e.getAttribute("data-name")||"open-group",d.value=o,d.id=i,u.appendChild(c),u.appendChild(d),e.insertBefore(u,t),t.value=""}}else if(r.key==="Backspace"&&t.value===""){r.preventDefault();let o=e.querySelectorAll("label");o.length>0&&o[o.length-1].remove()}})}function Ge(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 r=e.getAttribute("data-clip-open")==="true";e.setAttribute("aria-expanded",r?"true":"false")},n=()=>{let r=e.getAttribute("data-clip-open")==="true";e.setAttribute("data-clip-open",r?"false":"true"),t()};e.addEventListener("click",r=>{r.defaultPrevented||n()}),e.addEventListener("keydown",r=>{(r.key===" "||r.key==="Enter")&&(r.preventDefault(),n())}),t()}function Ke(e){if(e.dataset.enhancedBtnWorking)return;e.dataset.enhancedBtnWorking="true";let t=null,n=!1;new MutationObserver(o=>{o.forEach(s=>{if(s.attributeName==="class"){let i=e.classList.contains("btn-working"),u=e.querySelector("pds-icon");if(i)if(u)t||(t=u.getAttribute("icon")),u.setAttribute("icon","circle-notch");else{let c=document.createElement("pds-icon");c.setAttribute("icon","circle-notch"),c.setAttribute("size","sm"),e.insertBefore(c,e.firstChild),n=!0}else s.oldValue?.includes("btn-working")&&u&&(n?(u.remove(),n=!1):t&&(u.setAttribute("icon",t),t=null))}})}).observe(e,{attributes:!0,attributeFilter:["class"],attributeOldValue:!0})}var Qe=new Map([[".accordion",Fe],["nav[data-dropdown]",He],["label[data-toggle]",We],['input[type="range"]',ze],["form[data-required]",Be],["fieldset[role=group][data-open]",Ve],["[data-clip]",Ge],["button, a[class*='btn-']",Ke]]),ne=je.map(e=>({...e,run:Qe.get(e.selector)||(()=>{})}));var we="pds",Ze=/^([a-z][a-z0-9+\-.]*:)?\/\//i,be=/^[a-z]:/i;function O(e=""){return e.endsWith("/")?e:`${e}/`}function Je(e="",t=we){let n=e.replace(/\/+$/,"");return new RegExp(`(?:^|/)${t}$`,"i").test(n)?n:`${n}/${t}`}function Xe(e){return e.replace(/^\.\/+/,"")}function Ye(e){return be.test(e)?e.replace(be,"").replace(/^\/+/,""):e}function et(e){return e.startsWith("public/")?e.substring(7):e}function re(e,t={}){let n=t.segment||we,r=t.defaultRoot||`/assets/${n}/`,o=e?.public&&e.public?.root||e?.static&&e.static?.root||null;if(!o||typeof o!="string")return O(r);let s=o.trim();return s?(s=s.replace(/\\/g,"/"),s=Je(s,n),s=O(s),Ze.test(s)?s:(s=Xe(s),s=Ye(s),s.startsWith("/")||(s=et(s),s.startsWith("/")||(s=`/${s}`),s=s.replace(/\/+/g,(i,u)=>u===0?i:"/")),O(s))):O(r)}var nt=/^[a-z][a-z0-9+\-.]*:\/\//i,j=(()=>{try{return import.meta.url}catch{return}})(),z=e=>typeof e=="string"&&e.length&&!e.endsWith("/")?`${e}/`:e;function B(e,t={}){if(!e||nt.test(e))return e;let{preferModule:n=!0}=t,r=()=>{if(!j)return null;try{return new URL(e,j).href}catch{return null}},o=()=>{if(typeof window>"u"||!window.location?.origin)return null;try{return new URL(e,window.location.origin).href}catch{return null}};return(n?r()||o():o()||r())||e}var Se=(()=>{if(j)try{let e=new URL(j);if(/\/public\/assets\/js\//.test(e.pathname))return new URL("../pds/",j).href}catch{return}})(),Ee=!1;function Ae(e){Ee||typeof document>"u"||(Ee=!0,e.addEventListener("pds:ready",t=>{let n=t.detail?.mode;n&&document.documentElement.classList.add(`pds-${n}`,"pds-ready")}))}function Le(e={},t={}){if(!t||typeof t!="object")return e;let n=Array.isArray(e)?[...e]:{...e};for(let[r,o]of Object.entries(t))o&&typeof o=="object"&&!Array.isArray(o)?n[r]=Le(n[r]&&typeof n[r]=="object"?n[r]:{},o):n[r]=o;return n}function oe(e=""){return String(e).toLowerCase().replace(/&/g," and ").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function q(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=>q(n)).filter(n=>n!==void 0);let t={};for(let n in e)if(e.hasOwnProperty(n)){let r=e[n];if(typeof r!="function"){let o=q(r);o!==void 0&&(t[n]=o)}}return t}function Ce(e={},t={},{presets:n,defaultLog:r}){let o=typeof e=="object"&&("colors"in e||"typography"in e||"spatialRhythm"in e||"shape"in e||"behavior"in e||"layout"in e||"advanced"in e||"a11y"in e||"components"in e||"icons"in e),s=e&&e.enhancers;s&&!Array.isArray(s)&&(s=Object.values(s));let i=s??t.enhancers??[],u=e&&e.preset,c=e&&e.design,d="preset"in(e||{})||"design"in(e||{})||"enhancers"in(e||{}),l,a=null;if(d){let p=String(u||"default").toLowerCase(),f=n?.[p]||Object.values(n||{}).find(k=>oe(k.name)===p||String(k.name||"").toLowerCase()===p);if(!f)throw new Error(`PDS preset not found: "${u||"default"}"`);a={id:f.id||oe(f.name),name:f.name||f.id||String(p)};let w=structuredClone(f);if(c&&typeof c=="object"){let k=q(c);w=Le(w,structuredClone(k))}let{mode:v,autoDefine:g,applyGlobalStyles:x,manageTheme:M,themeStorageKey:E,preloadStyles:R,criticalLayers:C,managerURL:N,manager:I,preset:H,design:A,enhancers:$,log:P,...S}=e;l={...S,design:w,preset:a.name,log:P||r}}else if(o){let{log:p,...f}=e;l={design:structuredClone(f),log:p||r}}else{let p=n?.default||Object.values(n||{}).find(f=>oe(f.name)==="default");if(!p)throw new Error("PDS default preset not available");a={id:p.id||"default",name:p.name||"Default"},l={design:structuredClone(p),preset:a.name,log:r}}return{generatorConfig:l,enhancers:i,presetInfo:a}}function De({manageTheme:e,themeStorageKey:t,applyResolvedTheme:n,setupSystemListenerIfNeeded:r}){let o="light",s=null;if(e&&typeof window<"u"){try{s=localStorage.getItem(t)||null}catch{s=null}try{n?.(s),r?.(s)}catch{}s?s==="system"?o=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":o=s:o=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}return{resolvedTheme:o,storedTheme:s}}function ie(e,{resolvePublicAssetURL:t}){let n=!!(e?.public?.root||e?.static?.root),r=t(e);return!n&&Se&&(r=Se),z(B(r))}async function ke(e,{baseEnhancers:t=[]}={}){let{autoDefineBaseURL:n="/auto-define/",autoDefinePreload:r=[],autoDefineMapper:o=null,enhancers:s=[],autoDefineOverrides:i=null,autoDefinePreferModule:u=!0}=e,c=(()=>{let l=new Map;return(t||[]).forEach(a=>l.set(a.selector,a)),(s||[]).forEach(a=>l.set(a.selector,a)),Array.from(l.values())})(),d=null;if(typeof window<"u"&&typeof document<"u"){let l=null;try{let g=await Promise.resolve().then(()=>(xe(),ve));l=g?.AutoDefiner||g?.default?.AutoDefiner||g?.default||null}catch(g){console.warn("AutoDefiner not available:",g?.message||g)}let a=g=>{switch(g){case"pds-tabpanel":return"pds-tabstrip.js";default:return`${g}.js`}},{mapper:p,...f}=i&&typeof i=="object"?i:{},v={baseURL:n&&z(B(n,{preferModule:u})),predefine:r,scanExisting:!0,observeShadows:!0,patchAttachShadow:!0,debounceMs:16,enhancers:c,onError:(g,x)=>{if(typeof g=="string"&&g.startsWith("pds-")){let E=["pds-form","pds-drawer"].includes(g),R=x?.message?.includes("#pds/lit")||x?.message?.includes("Failed to resolve module specifier");E&&R?console.error(`\u274C PDS component <${g}> requires Lit but #pds/lit is not in import map.
32
+ See: https://github.com/Pure-Web-Foundation/pure-ds/blob/main/readme.md#lit-components-not-working`):console.warn(`\u26A0\uFE0F PDS component <${g}> not found. Assets may not be installed.`)}else console.error(`\u274C Auto-define error for <${g}>:`,x)},...f,mapper:g=>{if(customElements.get(g))return null;if(typeof o=="function")try{let x=o(g);return x===void 0?a(g):x}catch(x){return console.warn("Custom autoDefine.mapper error; falling back to default:",x?.message||x),a(g)}return a(g)}};l&&(d=new l(v),r.length>0&&typeof l.define=="function"&&await l.define(...r,{baseURL:n,mapper:v.mapper,onError:v.onError}))}return{autoDefiner:d,mergedEnhancers:c}}var de=class extends EventTarget{},b=new de;b.initializing=!1;b.currentPreset=null;b.debug=!1;var Ue=(e="")=>String(e).toLowerCase().replace(/&/g," and ").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,""),G=function(e="log",t,...n){let r=!!(b.registry&&!b.registry.isLive),o=(this?.debug||this?.design?.debug||b.debug||!1)===!0;if(r){if(!b.debug)return}else if(!o&&e!=="error"&&e!=="warn")return;let s=console[e]||console.log;n.length>0?s(t,...n):s(t)};async function rt(e,t={}){if(t?.runtimeConfig===!1||typeof fetch!="function")return null;let n=t?.runtimeConfigURL||`${e}pds-runtime-config.json`;try{let r=await fetch(n,{cache:"no-store"});return r.ok?await r.json():null}catch{return null}}b.registry=U;b.enums=fe;b.adoptLayers=pe;b.adoptPrimitives=ue;b.createStylesheet=he;b.isLiveMode=()=>U.isLive;b.ask=ge;b.toast=D;b.common=ee;b.AutoComplete=null;b.loadAutoComplete=async()=>{if(b.AutoComplete)return b.AutoComplete;try{let e=await Promise.resolve().then(()=>(_e(),Pe)),t=e?.AutoComplete||e?.default||e;if(t)return b.AutoComplete=t,t}catch(e){G("warn","PDS.loadAutoComplete failed",e)}return null};function qe(e){let t=typeof CustomEvent=="function";try{let n=t?new CustomEvent("pds:ready",{detail:e}):new Event("pds:ready");b.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{}}}typeof window<"u"&&(window.PDS=b);var le="pure-ds-theme",T=null,F=null;function K(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 Q(e){try{if(T&&F){try{typeof T.removeEventListener=="function"?T.removeEventListener("change",F):typeof T.removeListener=="function"&&T.removeListener(F)}catch{}T=null,F=null}if(e==="system"&&typeof window<"u"&&window.matchMedia){let t=window.matchMedia("(prefers-color-scheme: dark)"),n=r=>{let o=r?.matches===void 0?t.matches:r.matches;try{let s=o?"dark":"light";document.documentElement.setAttribute("data-theme",s),b.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:s,source:"system"}}))}catch{}};T=t,F=n,typeof t.addEventListener=="function"?t.addEventListener("change",n):typeof t.addListener=="function"&&t.addListener(n)}}catch{}}Object.defineProperty(b,"theme",{get(){try{return typeof window>"u"?null:localStorage.getItem(le)||null}catch{return null}},set(e){try{if(typeof window>"u")return;e==null?localStorage.removeItem(le):localStorage.setItem(le,e),K(e),Q(e),b.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:e,source:"api"}}))}catch{}}});b.defaultEnhancers=ne;async function st(e){let t=e&&e.mode||"live",{mode:n,...r}=e||{};if(t==="static")return ot(r);let o=ie(r,{resolvePublicAssetURL:re}),s=r?.managerURL||r?.public?.managerURL||r?.manager?.url||new URL("core/pds-manager.js",o).href||new URL("./pds-manager.js",import.meta.url).href,{startLive:i}=await import(s);return i(b,r,{emitReady:qe,applyResolvedTheme:K,setupSystemListenerIfNeeded:Q})}b.start=st;async function ot(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,r=e.themeStorageKey??"pure-ds-theme",o=e.staticPaths??{},s=ie(e,{resolvePublicAssetURL:re}),i=e&&e.autoDefine||null,u;i&&i.baseURL?u=z(B(i.baseURL,{preferModule:!1})):u=`${s}components/`;let c=i&&Array.isArray(i.predefine)&&i.predefine||[],d=i&&typeof i.mapper=="function"&&i.mapper||null;try{Ae(b);let{resolvedTheme:l}=De({manageTheme:n,themeStorageKey:r,applyResolvedTheme:K,setupSystemListenerIfNeeded:Q}),a=await rt(s,e),p=a?.config?.design||a?.design||null,f=a?.config?.preset||a?.preset||"default",w=a?.presetId||Ue(f)||"default",v=p?{[String(w).toLowerCase()]:p,...String(w).toLowerCase()!=="default"?{default:p}:{}}:null,g=e?.design&&typeof e.design=="object"?q(e.design):null,x=Ue(e?.preset||"default")||"default",M=g?{[String(x).toLowerCase()]:g,...String(x).toLowerCase()!=="default"?{default:g}:{}}:null,E=v||e?.presets||M||{};if(!Object.keys(E||{}).length)throw new Error("PDS static mode requires preset data. Run pds:build or provide config.presets/config.design.");let R=a?.config?{...a.config,...e,preset:e?.preset||w,design:g||p||a?.config?.design}:e,C=Ce(R,{},{presets:E,defaultLog:G}),N=C.enhancers,I={tokens:`${s}styles/pds-tokens.css.js`,primitives:`${s}styles/pds-primitives.css.js`,components:`${s}styles/pds-components.css.js`,utilities:`${s}styles/pds-utilities.css.js`,styles:`${s}styles/pds-styles.css.js`},H=a?.paths||{};if(o={...I,...H,...o},b.registry.setStaticMode(o),t&&typeof document<"u")try{let S=await b.registry.getStylesheet("styles");if(S){S._pds=!0;let k=(document.adoptedStyleSheets||[]).filter(h=>h._pds!==!0);document.adoptedStyleSheets=[...k,S]}}catch(S){G.call(b,"warn","Failed to apply static styles:",S)}let A=null,$=[];try{let S=await ke({autoDefineBaseURL:u,autoDefinePreload:c,autoDefineMapper:d,enhancers:N,autoDefineOverrides:i||null,autoDefinePreferModule:!(i&&i.baseURL)},{baseEnhancers:ne});A=S.autoDefiner,$=S.mergedEnhancers||[]}catch(S){G.call(b,"error","\u274C Failed to initialize AutoDefiner/Enhancers (static):",S)}let P=q(e);return b.currentConfig=Object.freeze({mode:"static",...structuredClone(P),design:structuredClone(C.generatorConfig.design),preset:C.generatorConfig.preset,theme:l,enhancers:$}),qe({mode:"static",config:C.generatorConfig,theme:l,autoDefiner:A}),{config:C.generatorConfig,theme:l,autoDefiner:A}}catch(l){throw b.dispatchEvent(new CustomEvent("pds:error",{detail:{error:l}})),l}}var Rt=K,$t=Q;export{b as PDS,Rt as applyResolvedTheme,$t as setupSystemListenerIfNeeded};
@@ -464,7 +464,7 @@ button.btn-xs {
464
464
  `
465
465
  );
466
466
 
467
- // Adopt primitives (buttons), components (.alert classes), and toaster-specific styles
467
+ // Adopt primitives (buttons), components (.callout classes), and toaster-specific styles
468
468
  await PDS.adoptLayers(
469
469
  this.shadowRoot,
470
470
  ["primitives", "components"],