@pure-ds/core 0.6.3 → 0.6.4

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.
@@ -1,10 +1,10 @@
1
- var Ke=Object.defineProperty;var Ze=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ee=(e,t)=>{for(var s in t)Ke(e,s,{get:t[s],enumerable:!0})};var $e={};Ee($e,{AutoDefiner:()=>ue});async function yt(...e){let t={};e.length&&typeof e[e.length-1]=="object"&&(t=e.pop()||{});let s=e,{baseURL:n,mapper:i=d=>`${d}.js`,onError:r=(d,a)=>console.error(`[defineWebComponents] ${d}:`,a)}=t,o=n?new URL(n,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),u=d=>d.toLowerCase().replace(/(^|-)([a-z])/g,(a,c,f)=>f.toUpperCase()),p=async d=>{try{if(customElements.get(d))return{tag:d,status:"already-defined"};let a=i(d),f=await import(a instanceof URL?a.href:new URL(a,o).href),h=f?.default??f?.[u(d)];if(!h){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,h),{tag:d,status:"defined"})}catch(a){throw r(d,a),a}};return Promise.all(s.map(p))}var ue,je=Ze(()=>{ue=class{constructor(t={}){let{baseURL:s,mapper:n,onError:i,predicate:r=()=>!0,attributeModule:o="data-module",root:u=document,scanExisting:p=!0,debounceMs:d=16,observeShadows:a=!0,enhancers:c=[],patchAttachShadow:f=!0}=t,h=new Set,k=new Set,S=new Set,b=new Map,x=new WeakMap,P=new WeakMap,L=0,T=!1,C=null,_=m=>{if(!m||!c.length)return;let y=P.get(m);y||(y=new Set,P.set(m,y));for(let g of c)if(!(!g.selector||!g.run)&&!y.has(g.selector))try{m.matches&&m.matches(g.selector)&&(g.run(m),y.add(g.selector))}catch(A){console.warn(`[AutoDefiner] Error applying enhancer for selector "${g.selector}":`,A)}},z=(m,y)=>{if(!T&&!(!m||!m.includes("-"))&&!customElements.get(m)&&!k.has(m)&&!S.has(m)){if(y&&y.getAttribute){let g=y.getAttribute(o);g&&!b.has(m)&&b.set(m,g)}h.add(m),q()}},q=()=>{L||(L=setTimeout(B,d))},R=m=>{if(m){if(m.nodeType===1){let y=m,g=y.tagName?.toLowerCase();g&&g.includes("-")&&!customElements.get(g)&&r(g,y)&&z(g,y),_(y),a&&y.shadowRoot&&D(y.shadowRoot)}m.querySelectorAll&&m.querySelectorAll("*").forEach(y=>{let g=y.tagName?.toLowerCase();g&&g.includes("-")&&!customElements.get(g)&&r(g,y)&&z(g,y),_(y),a&&y.shadowRoot&&D(y.shadowRoot)})}},D=m=>{if(!m||x.has(m))return;R(m);let y=new MutationObserver(g=>{for(let A of g)A.addedNodes?.forEach($=>{R($)}),A.type==="attributes"&&A.target&&R(A.target)});y.observe(m,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[o,...c.map(g=>g.selector).filter(g=>g.startsWith("data-"))]}),x.set(m,y)};async function B(){if(clearTimeout(L),L=0,!h.size)return;let m=Array.from(h);h.clear(),m.forEach(y=>k.add(y));try{let y=g=>b.get(g)??(n?n(g):`${g}.js`);await yt(...m,{baseURL:s,mapper:y,onError:(g,A)=>{S.add(g),i?.(g,A)}})}catch{}finally{m.forEach(y=>k.delete(y))}}let v=u===document?document.documentElement:u,U=new MutationObserver(m=>{for(let y of m)y.addedNodes?.forEach(g=>{R(g)}),y.type==="attributes"&&y.target&&R(y.target)});if(U.observe(v,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[o,...c.map(m=>m.selector).filter(m=>m.startsWith("data-"))]}),a&&f&&Element.prototype.attachShadow){let m=Element.prototype.attachShadow;Element.prototype.attachShadow=function(g){let A=m.call(this,g);if(g&&g.mode==="open"){D(A);let $=this.tagName?.toLowerCase();$&&$.includes("-")&&!customElements.get($)&&z($,this)}return A},C=()=>Element.prototype.attachShadow=m}return p&&R(v),{stop(){T=!0,U.disconnect(),C&&C(),L&&(clearTimeout(L),L=0),x.forEach(m=>m.disconnect())},flush:B}}static async define(...t){let s={};t.length&&typeof t[t.length-1]=="object"&&(s=t.pop()||{});let n=t,{baseURL:i,mapper:r=a=>`${a}.js`,onError:o=(a,c)=>console.error(`[defineWebComponents] ${a}:`,c)}=s,u=i?new URL(i,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),p=a=>a.toLowerCase().replace(/(^|-)([a-z])/g,(c,f,h)=>h.toUpperCase()),d=async a=>{try{if(customElements.get(a))return{tag:a,status:"already-defined"};let c=r(a),h=await import(c instanceof URL?c.href:new URL(c,u).href),k=h?.default??h?.[p(a)];if(!k){if(customElements.get(a))return{tag:a,status:"self-defined"};throw new Error(`No export found for ${a}. Expected default export or named export "${p(a)}".`)}return customElements.get(a)?{tag:a,status:"race-already-defined"}:(customElements.define(a,k),{tag:a,status:"defined"})}catch(c){throw o(a,c),c}};return Promise.all(n.map(d))}}});function Le(e){return new DOMParser().parseFromString(e,"text/html").body.childNodes}function Ae(e,t=100){let s;return function(...i){let r=()=>{clearTimeout(s),e(...i)};clearTimeout(s),s=setTimeout(r,t)}}function G(e){setTimeout(e,0)}function Re(e){try{if(typeof e!="string"||e.indexOf(`
1
+ var Ke=Object.defineProperty;var Ze=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ee=(e,t)=>{for(var s in t)Ke(e,s,{get:t[s],enumerable:!0})};var $e={};Ee($e,{AutoDefiner:()=>ue});async function yt(...e){let t={};e.length&&typeof e[e.length-1]=="object"&&(t=e.pop()||{});let s=e,{baseURL:n,mapper:i=d=>`${d}.js`,onError:r=(d,a)=>console.error(`[defineWebComponents] ${d}:`,a)}=t,o=n?new URL(n,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),u=d=>d.toLowerCase().replace(/(^|-)([a-z])/g,(a,c,f)=>f.toUpperCase()),p=async d=>{try{if(customElements.get(d))return{tag:d,status:"already-defined"};let a=i(d),f=await import(a instanceof URL?a.href:new URL(a,o).href),h=f?.default??f?.[u(d)];if(!h){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,h),{tag:d,status:"defined"})}catch(a){throw r(d,a),a}};return Promise.all(s.map(p))}var ue,Fe=Ze(()=>{ue=class{constructor(t={}){let{baseURL:s,mapper:n,onError:i,predicate:r=()=>!0,attributeModule:o="data-module",root:u=document,scanExisting:p=!0,debounceMs:d=16,observeShadows:a=!0,enhancers:c=[],patchAttachShadow:f=!0}=t,h=new Set,k=new Set,S=new Set,b=new Map,x=new WeakMap,P=new WeakMap,L=0,T=!1,C=null,_=m=>{if(!m||!c.length)return;let y=P.get(m);y||(y=new Set,P.set(m,y));for(let g of c)if(!(!g.selector||!g.run)&&!y.has(g.selector))try{m.matches&&m.matches(g.selector)&&(g.run(m),y.add(g.selector))}catch(A){console.warn(`[AutoDefiner] Error applying enhancer for selector "${g.selector}":`,A)}},z=(m,y)=>{if(!T&&!(!m||!m.includes("-"))&&!customElements.get(m)&&!k.has(m)&&!S.has(m)){if(y&&y.getAttribute){let g=y.getAttribute(o);g&&!b.has(m)&&b.set(m,g)}h.add(m),q()}},q=()=>{L||(L=setTimeout(B,d))},R=m=>{if(m){if(m.nodeType===1){let y=m,g=y.tagName?.toLowerCase();g&&g.includes("-")&&!customElements.get(g)&&r(g,y)&&z(g,y),_(y),a&&y.shadowRoot&&D(y.shadowRoot)}m.querySelectorAll&&m.querySelectorAll("*").forEach(y=>{let g=y.tagName?.toLowerCase();g&&g.includes("-")&&!customElements.get(g)&&r(g,y)&&z(g,y),_(y),a&&y.shadowRoot&&D(y.shadowRoot)})}},D=m=>{if(!m||x.has(m))return;R(m);let y=new MutationObserver(g=>{for(let A of g)A.addedNodes?.forEach($=>{R($)}),A.type==="attributes"&&A.target&&R(A.target)});y.observe(m,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[o,...c.map(g=>g.selector).filter(g=>g.startsWith("data-"))]}),x.set(m,y)};async function B(){if(clearTimeout(L),L=0,!h.size)return;let m=Array.from(h);h.clear(),m.forEach(y=>k.add(y));try{let y=g=>b.get(g)??(n?n(g):`${g}.js`);await yt(...m,{baseURL:s,mapper:y,onError:(g,A)=>{S.add(g),i?.(g,A)}})}catch{}finally{m.forEach(y=>k.delete(y))}}let v=u===document?document.documentElement:u,U=new MutationObserver(m=>{for(let y of m)y.addedNodes?.forEach(g=>{R(g)}),y.type==="attributes"&&y.target&&R(y.target)});if(U.observe(v,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[o,...c.map(m=>m.selector).filter(m=>m.startsWith("data-"))]}),a&&f&&Element.prototype.attachShadow){let m=Element.prototype.attachShadow;Element.prototype.attachShadow=function(g){let A=m.call(this,g);if(g&&g.mode==="open"){D(A);let $=this.tagName?.toLowerCase();$&&$.includes("-")&&!customElements.get($)&&z($,this)}return A},C=()=>Element.prototype.attachShadow=m}return p&&R(v),{stop(){T=!0,U.disconnect(),C&&C(),L&&(clearTimeout(L),L=0),x.forEach(m=>m.disconnect())},flush:B}}static async define(...t){let s={};t.length&&typeof t[t.length-1]=="object"&&(s=t.pop()||{});let n=t,{baseURL:i,mapper:r=a=>`${a}.js`,onError:o=(a,c)=>console.error(`[defineWebComponents] ${a}:`,c)}=s,u=i?new URL(i,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),p=a=>a.toLowerCase().replace(/(^|-)([a-z])/g,(c,f,h)=>h.toUpperCase()),d=async a=>{try{if(customElements.get(a))return{tag:a,status:"already-defined"};let c=r(a),h=await import(c instanceof URL?c.href:new URL(c,u).href),k=h?.default??h?.[p(a)];if(!k){if(customElements.get(a))return{tag:a,status:"self-defined"};throw new Error(`No export found for ${a}. Expected default export or named export "${p(a)}".`)}return customElements.get(a)?{tag:a,status:"race-already-defined"}:(customElements.define(a,k),{tag:a,status:"defined"})}catch(c){throw o(a,c),c}};return Promise.all(n.map(d))}}});function Le(e){return new DOMParser().parseFromString(e,"text/html").body.childNodes}function Ae(e,t=100){let s;return function(...i){let r=()=>{clearTimeout(s),e(...i)};clearTimeout(s),s=setTimeout(r,t)}}function G(e){setTimeout(e,0)}function Re(e){try{if(typeof e!="string"||e.indexOf(`
2
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 Ce(e,t,s){let n=window.screen.width/2-t/2,i=window.screen.height/2-s/2;return window.open(e,"",`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, width=${t}, height=${s}, top=${i}, left=${n}`)}var X={result:"ac-suggestion",item:"ac-itm"},V=class e extends EventTarget{constructor(t,s,n){super(),this.settings={emptyResultsText:"",...n},this.container=t,this.input=s,this.input.setAttribute("autocomplete","off"),this.categories=n.categories||{},this.caches=new Map,G(this.attach.bind(this))}static connect(t,s){let n=t.target;if(!n._autoComplete){if(!s?.categories)throw Error("Missing autocomplete settings");n._autoComplete=new e(n.parentNode,n,s),t.type==="focus"&&setTimeout(()=>{n._autoComplete.focusHandler(t)},100)}return n._autoComplete}on(t,s){return this.input.addEventListener(t,s),this}attach(){this.resultsDiv=document.createElement("div"),this.resultsDiv.title="",this.resultsDiv.classList.add(X.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 s=getComputedStyle(this.input).accentColor;s!=="auto"&&this.container.style.setProperty("--ac-accent-color",s),(this.container?.shadowRoot??this.container).appendChild(this.resultsDiv),this.controller().clear("attach"),this.on("input",Ae(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 s=this.acItems.length;this.rowIndex=this.rowIndex+t,this.rowIndex<=0?this.rowIndex=0:this.rowIndex>s-1&&(this.rowIndex=0);for(let i of this.acItems)i.classList.remove("selected");let n=this.getSelectedDiv();n?(n.classList.add("selected"),n.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 s=parseInt(t.getAttribute("data-index"));this.resultClicked=!0;let n=this.results[s],i=this.categories[n.category]??{};i.action=i.action??this.setText.bind(this),i.newTab&&(this.tabWindow=Ce("about:blank"));let r={...n,search:this.input.value};t.classList.add("ac-active"),setTimeout(()=>{this.controller().hide("result-selected"),r.action?r.action(r):(i.action(r),i.newTab&&(r.url?this.tabWindow.location.href=r.url:this.tabWindow.close()));var o=new Event("change",{bubbles:!0});this.input.dispatchEvent(o),this.controller().clear("result-selected");let u=new Event("result-selected");u.detail=r,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(`.${X.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 s={search:t.target.value,categories:this.categories};this.container.classList.add("search-running"),this.getItems(s,t).then(n=>{this.controller().clear("new-results"),this.resultsHandler(n,s),this.container.classList.remove("search-running")})}keyDownHandler(t){switch(t.key){case"Enter":t.stopPropagation(),t.preventDefault();break;case"ArrowDown":G(this.moveResult(1));break;case"ArrowUp":G(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 s=t.target.value;this.suggest(s,t)}suggest(t,s){this.input.focus();let n={suggest:!0,search:t||"",categories:this.categories};this.getItems(n,s).then(i=>{this.input.dispatchEvent(new CustomEvent("show-results",{detail:{results:i}})),this.resultsHandler(i,n)})}sort(t,s){return t.sort((n,i)=>{let r=s.categories[n.category],o=s.categories[i.category],u=typeof r.sortIndex=="function"?r.sortIndex(s):r.sortIndex??0;return(typeof o.sortIndex=="function"?o.sortIndex(s):o.sortIndex??0)>u?1:-1})}resultsHandler(t,s){this.results=t,this.rowIndex=-1;let n=0,i=(r,o)=>`
3
3
  <div title="${o.tooltip||""}" data-index="${n}" class="${`${X.item} cat-${o.category} ${o.class??""}`.trim()}">
4
4
  ${this.handleImageOrIcon(o)}
5
5
  <span class="text">${this.formatResultItem(o,s,r)}</span>
6
6
  ${this.settings.hideCategory?"":`<span class="category">${o.category||""}</span>`}
7
- </div>`;t.forEach(r=>{let o=s.categories[r.category]||{};r.element?this.resultsDiv.appendChild(r.element):(r=typeof r=="string"?{text:r}:r,this.resultsDiv.appendChild(Le(i(o,r))[0])),n++}),t.length?(this.acItems=this.resultsDiv.querySelectorAll(".ac-itm"),this.controller().show()):s.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,s,n){let i=typeof t=="string"?{text:t}:t,r=i.text;return s.search&&(r=r.replace("%search%",s.search),i.description=i.description?.replace("%search%",s.search)),r=this.highlight(r,s.search),i.description&&(r=`<div>${r}</div><small>${i.description}</small>`),n.format&&(r=n.format({item:i,result:r,options:s})),r}highlight(t,s){var n=new RegExp("("+s+")","gi");return t.replace(n,'<span class="txt-hl">$1</span>')}async getItems(t,s){this.aborter&&this.aborter.abort();let n=this.caches.get(t.search);if(n)return n;let i=this.settings.map,r=p=>(typeof p=="string"&&(p={text:p}),p),o=p=>i?p.map(d=>({text:d[i]})):p.map(d=>r(d)),u=p=>(this.settings.max&&this.settings.max>0&&(p.length=this.settings.max),p);return this.aborter=new AbortController,this.aborterSignal=this.aborter.signal,new Promise(p=>{let d=a=>{a=this.sort(a,t),this.settings.cache!==!1&&this.caches.set(t.search,a),p(a)};if(Re(this.items)){if(this.settings.minlength>0&&(!t.search||t.search.length<this.settings.minlength)){d([]);return}let a=this.formatSearch(this.items,t);fetch(a).then(c=>{if(c.status===200){c.json().then(f=>{f=o(f),d(u(f.filter(h=>this.isMatch(t,h))))});return}throw Error(`HTTP error ${c.status} - ${a}`)})}else if(Array.isArray(this.items)){let a=!0;this.items=this.items.map(c=>typeof c=="string"?{text:c}:(a=!1,c)),a&&this.container.classList.add("simple"),d(u(o(this.items)))}else if(typeof this.items=="function")t.control=this.container,Promise.resolve(this.items(t,s)).then(c=>{c=c.map(f=>r(f)),c=o(c),d(c)});else return d(Promise.resolve(this.items.apply(this,t)))})}async items(t){let s=[];t.results=[],t.signal=this.aborterSignal;for(var n in t.categories){let i=t.categories[n];if(i.trigger=i.trigger??(()=>!0),t.results=s,i.trigger(t)){let r=[];try{r=await i.getItems(t)}catch(o){console.warn(`Error loading items for omniBox category '${n}'.`,o)}s=s.concat(r.map(o=>(o.category=n,o)))}}return s}formatSearch(t,s){return t.indexOf("%search%")?t.replace("%search%",s.search||""):t+"?"+this.createQueryParam(s)}createQueryParam(t){let s=t.suggest?"&suggest=true":"";return`q=${t.text}${s}`}isMatch(t,s){return s.text?.indexOf("%search%")>=0?!0:t.search?s.text?.toLowerCase().indexOf(t.search.toLowerCase())>=0:t.suggest}static textFilter(t,s){return function(n){if(!t.search)return!0;if(n.hidden)return!1;let r=(s?n[s]:n).match(new RegExp(t.search,"gi"));if(r)return r;if(n.config?.tags)return n.config.tags.some(o=>o.match(new RegExp(t.search,"gi")))}}};var ee=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(s){console.error(`[PDS Registry] Failed to load static ${t}:`,s),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 n=new CSSStyleSheet;return n.replaceSync("/* Failed to load "+t+" */"),n}}get mode(){return this._mode}get isLive(){return this._mode==="live"}},j=new ee;async function Me(e,t=[],s=null){try{let n=s?.primitivesStylesheet?s.primitivesStylesheet:await j.getStylesheet("primitives");e.adoptedStyleSheets=[n,...t]}catch(n){let i=e.host?.tagName?.toLowerCase()||"unknown";console.error(`[PDS Adopter] <${i}> failed to adopt primitives:`,n),e.adoptedStyleSheets=t}}async function Te(e,t=["primitives"],s=[],n=null){try{let r=(await Promise.all(t.map(async o=>{if(n)switch(o){case"tokens":return n.tokensStylesheet;case"primitives":return n.primitivesStylesheet;case"components":return n.componentsStylesheet;case"utilities":return n.utilitiesStylesheet;default:break}return j.getStylesheet(o)}))).filter(o=>o!==null);e.adoptedStyleSheets=[...r,...s]}catch(i){let r=e.host?.tagName?.toLowerCase()||"unknown";console.error(`[PDS Adopter] <${r}> failed to adopt layers:`,i),e.adoptedStyleSheets=s}}function De(e){let t=new CSSStyleSheet;return t.replaceSync(e),t}var l={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 Q={mode:"live",preset:"default",autoDefine:{predefine:["pds-icon","pds-drawer","pds-toaster"]},log(e,t,...s){console[e](t,...s)}};var ne={};Ee(ne,{deepMerge:()=>Ie,fragmentFromTemplateLike:()=>te,isObject:()=>K,parseHTML:()=>se});function K(e){return e&&typeof e=="object"&&!Array.isArray(e)}function Ie(e,t){let s={...e};return K(e)&&K(t)&&Object.keys(t).forEach(n=>{K(t[n])?n in e?s[n]=Ie(e[n],t[n]):Object.assign(s,{[n]:t[n]}):Object.assign(s,{[n]:t[n]})}),s}function te(e){let t=Array.isArray(e?.strings)?e.strings:[],s=Array.isArray(e?.values)?e.values:[],n=new Set,i=[],r=/(\s)(\.[\w-]+)=\s*$/;for(let c=0;c<t.length;c+=1){let f=t[c]??"",h=f.match(r);if(h&&c<s.length){let S=h[2].slice(1),b=`pds-val-${c}`;f=f.replace(r,`$1data-pds-prop="${S}:${b}"`),n.add(c)}i.push(f),c<s.length&&!n.has(c)&&i.push(`<!--pds-val-${c}-->`)}let o=document.createElement("template");o.innerHTML=i.join("");let u=(c,f)=>{let h=c.parentNode;if(!h)return;if(f==null){h.removeChild(c);return}let k=S=>{if(S!=null){if(S instanceof Node){h.insertBefore(S,c);return}if(Array.isArray(S)){S.forEach(b=>k(b));return}h.insertBefore(document.createTextNode(String(S)),c)}};k(f),h.removeChild(c)},p=document.createTreeWalker(o.content,NodeFilter.SHOW_COMMENT),d=[];for(;p.nextNode();){let c=p.currentNode;c?.nodeValue?.startsWith("pds-val-")&&d.push(c)}return d.forEach(c=>{let f=Number(c.nodeValue.replace("pds-val-",""));u(c,s[f])}),o.content.querySelectorAll("*").forEach(c=>{let f=c.getAttribute("data-pds-prop");if(!f)return;let[h,k]=f.split(":"),S=Number(String(k).replace("pds-val-",""));h&&Number.isInteger(S)&&(c[h]=s[S]),c.removeAttribute("data-pds-prop")}),o.content}function se(e){return new DOMParser().parseFromString(e,"text/html").body.childNodes}function re(e,t){if(t==null)return;if(typeof t=="object"&&Array.isArray(t.strings)&&Array.isArray(t.values)){e.appendChild(te(t));return}if(t instanceof Node){e.appendChild(t);return}if(Array.isArray(t)){t.forEach(n=>re(e,n));return}let s=typeof t=="string"?t:String(t);e.appendChild(document.createTextNode(s))}async function We(e,t={}){return t={...{title:"Confirm",type:"confirm",buttons:{ok:{name:"OK",primary:!0},cancel:{name:"Cancel",cancel:!0}}},...t},new Promise(n=>{let i=document.createElement("dialog");Q.options?.liquidGlassEffects&&i.classList.add("liquid-glass"),t.size&&i.classList.add(`dialog-${t.size}`),t.type&&i.classList.add(`dialog-${t.type}`),t.class&&(Array.isArray(t.class)?i.classList.add(...t.class):i.classList.add(t.class)),t.maxHeight&&i.style.setProperty("--dialog-max-height",t.maxHeight);let r=Object.entries(t.buttons).map(([u,p])=>{let d=p.primary?"btn-primary btn-sm":"btn-outline btn-sm";return`<button type="${p.cancel?"button":"submit"}" class="${d}" value="${u}">${p.name}</button>`});if(t.useForm){let u=document.createElement("div");re(u,e);let p=u.querySelector("form");if(p){i.innerHTML=`
7
+ </div>`;t.forEach(r=>{let o=s.categories[r.category]||{};r.element?this.resultsDiv.appendChild(r.element):(r=typeof r=="string"?{text:r}:r,this.resultsDiv.appendChild(Le(i(o,r))[0])),n++}),t.length?(this.acItems=this.resultsDiv.querySelectorAll(".ac-itm"),this.controller().show()):s.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,s,n){let i=typeof t=="string"?{text:t}:t,r=i.text;return s.search&&(r=r.replace("%search%",s.search),i.description=i.description?.replace("%search%",s.search)),r=this.highlight(r,s.search),i.description&&(r=`<div>${r}</div><small>${i.description}</small>`),n.format&&(r=n.format({item:i,result:r,options:s})),r}highlight(t,s){var n=new RegExp("("+s+")","gi");return t.replace(n,'<span class="txt-hl">$1</span>')}async getItems(t,s){this.aborter&&this.aborter.abort();let n=this.caches.get(t.search);if(n)return n;let i=this.settings.map,r=p=>(typeof p=="string"&&(p={text:p}),p),o=p=>i?p.map(d=>({text:d[i]})):p.map(d=>r(d)),u=p=>(this.settings.max&&this.settings.max>0&&(p.length=this.settings.max),p);return this.aborter=new AbortController,this.aborterSignal=this.aborter.signal,new Promise(p=>{let d=a=>{a=this.sort(a,t),this.settings.cache!==!1&&this.caches.set(t.search,a),p(a)};if(Re(this.items)){if(this.settings.minlength>0&&(!t.search||t.search.length<this.settings.minlength)){d([]);return}let a=this.formatSearch(this.items,t);fetch(a).then(c=>{if(c.status===200){c.json().then(f=>{f=o(f),d(u(f.filter(h=>this.isMatch(t,h))))});return}throw Error(`HTTP error ${c.status} - ${a}`)})}else if(Array.isArray(this.items)){let a=!0;this.items=this.items.map(c=>typeof c=="string"?{text:c}:(a=!1,c)),a&&this.container.classList.add("simple"),d(u(o(this.items)))}else if(typeof this.items=="function")t.control=this.container,Promise.resolve(this.items(t,s)).then(c=>{c=c.map(f=>r(f)),c=o(c),d(c)});else return d(Promise.resolve(this.items.apply(this,t)))})}async items(t){let s=[];t.results=[],t.signal=this.aborterSignal;for(var n in t.categories){let i=t.categories[n];if(i.trigger=i.trigger??(()=>!0),t.results=s,i.trigger(t)){let r=[];try{r=await i.getItems(t)}catch(o){console.warn(`Error loading items for omniBox category '${n}'.`,o)}s=s.concat(r.map(o=>(o.category=n,o)))}}return s}formatSearch(t,s){return t.indexOf("%search%")?t.replace("%search%",s.search||""):t+"?"+this.createQueryParam(s)}createQueryParam(t){let s=t.suggest?"&suggest=true":"";return`q=${t.text}${s}`}isMatch(t,s){return s.text?.indexOf("%search%")>=0?!0:t.search?s.text?.toLowerCase().indexOf(t.search.toLowerCase())>=0:t.suggest}static textFilter(t,s){return function(n){if(!t.search)return!0;if(n.hidden)return!1;let r=(s?n[s]:n).match(new RegExp(t.search,"gi"));if(r)return r;if(n.config?.tags)return n.config.tags.some(o=>o.match(new RegExp(t.search,"gi")))}}};var ee=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(s){console.error(`[PDS Registry] Failed to load static ${t}:`,s),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 n=new CSSStyleSheet;return n.replaceSync("/* Failed to load "+t+" */"),n}}get mode(){return this._mode}get isLive(){return this._mode==="live"}},F=new ee;async function Me(e,t=[],s=null){try{let n=s?.primitivesStylesheet?s.primitivesStylesheet:await F.getStylesheet("primitives");e.adoptedStyleSheets=[n,...t]}catch(n){let i=e.host?.tagName?.toLowerCase()||"unknown";console.error(`[PDS Adopter] <${i}> failed to adopt primitives:`,n),e.adoptedStyleSheets=t}}async function Te(e,t=["primitives"],s=[],n=null){try{let r=(await Promise.all(t.map(async o=>{if(n)switch(o){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(o)}))).filter(o=>o!==null);e.adoptedStyleSheets=[...r,...s]}catch(i){let r=e.host?.tagName?.toLowerCase()||"unknown";console.error(`[PDS Adopter] <${r}> failed to adopt layers:`,i),e.adoptedStyleSheets=s}}function De(e){let t=new CSSStyleSheet;return t.replaceSync(e),t}var l={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 Q={mode:"live",preset:"default",autoDefine:{predefine:["pds-icon","pds-drawer","pds-toaster"]},log(e,t,...s){console[e](t,...s)}};var ne={};Ee(ne,{deepMerge:()=>Ie,fragmentFromTemplateLike:()=>te,isObject:()=>K,parseHTML:()=>se});function K(e){return e&&typeof e=="object"&&!Array.isArray(e)}function Ie(e,t){let s={...e};return K(e)&&K(t)&&Object.keys(t).forEach(n=>{K(t[n])?n in e?s[n]=Ie(e[n],t[n]):Object.assign(s,{[n]:t[n]}):Object.assign(s,{[n]:t[n]})}),s}function te(e){let t=Array.isArray(e?.strings)?e.strings:[],s=Array.isArray(e?.values)?e.values:[],n=new Set,i=[],r=/(\s)(\.[\w-]+)=\s*$/;for(let c=0;c<t.length;c+=1){let f=t[c]??"",h=f.match(r);if(h&&c<s.length){let S=h[2].slice(1),b=`pds-val-${c}`;f=f.replace(r,`$1data-pds-prop="${S}:${b}"`),n.add(c)}i.push(f),c<s.length&&!n.has(c)&&i.push(`<!--pds-val-${c}-->`)}let o=document.createElement("template");o.innerHTML=i.join("");let u=(c,f)=>{let h=c.parentNode;if(!h)return;if(f==null){h.removeChild(c);return}let k=S=>{if(S!=null){if(S instanceof Node){h.insertBefore(S,c);return}if(Array.isArray(S)){S.forEach(b=>k(b));return}h.insertBefore(document.createTextNode(String(S)),c)}};k(f),h.removeChild(c)},p=document.createTreeWalker(o.content,NodeFilter.SHOW_COMMENT),d=[];for(;p.nextNode();){let c=p.currentNode;c?.nodeValue?.startsWith("pds-val-")&&d.push(c)}return d.forEach(c=>{let f=Number(c.nodeValue.replace("pds-val-",""));u(c,s[f])}),o.content.querySelectorAll("*").forEach(c=>{let f=c.getAttribute("data-pds-prop");if(!f)return;let[h,k]=f.split(":"),S=Number(String(k).replace("pds-val-",""));h&&Number.isInteger(S)&&(c[h]=s[S]),c.removeAttribute("data-pds-prop")}),o.content}function se(e){return new DOMParser().parseFromString(e,"text/html").body.childNodes}function re(e,t){if(t==null)return;if(typeof t=="object"&&Array.isArray(t.strings)&&Array.isArray(t.values)){e.appendChild(te(t));return}if(t instanceof Node){e.appendChild(t);return}if(Array.isArray(t)){t.forEach(n=>re(e,n));return}let s=typeof t=="string"?t:String(t);e.appendChild(document.createTextNode(s))}async function We(e,t={}){return t={...{title:"Confirm",type:"confirm",buttons:{ok:{name:"OK",primary:!0},cancel:{name:"Cancel",cancel:!0}}},...t},new Promise(n=>{let i=document.createElement("dialog");Q.options?.liquidGlassEffects&&i.classList.add("liquid-glass"),t.size&&i.classList.add(`dialog-${t.size}`),t.type&&i.classList.add(`dialog-${t.type}`),t.class&&(Array.isArray(t.class)?i.classList.add(...t.class):i.classList.add(t.class)),t.maxHeight&&i.style.setProperty("--dialog-max-height",t.maxHeight);let r=Object.entries(t.buttons).map(([u,p])=>{let d=p.primary?"btn-primary btn-sm":"btn-outline btn-sm";return`<button type="${p.cancel?"button":"submit"}" class="${d}" value="${u}">${p.name}</button>`});if(t.useForm){let u=document.createElement("div");re(u,e);let p=u.querySelector("form");if(p){i.innerHTML=`
8
8
  <header>
9
9
  <h2>${t.title}</h2>
10
10
  </header>
@@ -28,8 +28,8 @@ var Ke=Object.defineProperty;var Ze=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ee=(e,t)=>{
28
28
  ${r.join("")}
29
29
  </footer>
30
30
  </form>
31
- `;let u=i.querySelector("#msg-container");re(u,e)}i.addEventListener("click",u=>{u.target.closest('button[value="cancel"]')&&(i.close(),n(!1))});let o=()=>{let u=i.querySelector("form");u?u.addEventListener("submit",p=>{p.preventDefault();let d;t.useForm&&p.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=p.submitter.value==="ok",i.close(),n(d)}):requestAnimationFrame(o)};o(),i.addEventListener("close",()=>{setTimeout(()=>i.remove(),200)}),document.body.appendChild(i),typeof t.rendered=="function"&&t.rendered(i),i.showModal()})}async function Je(){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 M(e,t={}){return(await Je()).toast(e,t)}M.success=async function(e,t={}){return M(e,{...t,type:"success"})};M.error=async function(e,t={}){return M(e,{...t,type:"error"})};M.warning=async function(e,t={}){return M(e,{...t,type:"warning"})};M.info=async function(e,t={}){return M(e,{...t,type:"information"})};var Ye=[{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 Xe(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(s=>{s!==t.target&&(s.open=!1)})},!0))}function et(e){if(e.dataset.enhancedDropdown)return;e.dataset.enhancedDropdown="true";let t=e.lastElementChild;if(!t)return;let s=e.querySelector("[data-dropdown-toggle]")||e.querySelector("button");s&&!s.hasAttribute("type")&&s.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"),s&&(s.setAttribute("aria-haspopup","true"),s.setAttribute("aria-controls",t.id),s.setAttribute("aria-expanded","false"));let i=()=>{let a=(e.getAttribute("data-direction")||e.getAttribute("data-dropdown-direction")||e.getAttribute("data-mode")||"auto").toLowerCase();if(a==="up"||a==="down")return a;let c=e.getBoundingClientRect(),f=t?.getBoundingClientRect?.()||{height:0},h=Math.max(t?.offsetHeight||0,t?.scrollHeight||0,f.height||0,200),k=Math.max(0,window.innerHeight-c.bottom),S=Math.max(0,c.top);return k>=h?"down":S>=h||S>k?"up":"down"},r=()=>{let a=(e.getAttribute("data-align")||e.getAttribute("data-dropdown-align")||"auto").toLowerCase();if(a==="left"||a==="right"||a==="start"||a==="end")return a==="start"?"left":a==="end"?"right":a;let c=e.getBoundingClientRect(),f=t?.getBoundingClientRect?.()||{width:0},h=Math.max(t?.offsetWidth||0,t?.scrollWidth||0,f.width||0,240),k=Math.max(0,window.innerWidth-c.left),S=Math.max(0,c.right);return k>=h?"left":S>=h||S>k?"right":"left"},o=null,u=()=>{e.dataset.dropdownDirection=i(),e.dataset.dropdownAlign=r(),t.setAttribute("aria-hidden","false"),s?.setAttribute("aria-expanded","true"),o||(o=a=>{(a.composedPath?a.composedPath():[a.target]).some(h=>h===e)||p()},setTimeout(()=>{document.addEventListener("click",o)},0))},p=()=>{t.setAttribute("aria-hidden","true"),s?.setAttribute("aria-expanded","false"),o&&(document.removeEventListener("click",o),o=null)},d=()=>{t.getAttribute("aria-hidden")==="false"?p():u()};s?.addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),d()}),e.addEventListener("keydown",a=>{a.key==="Escape"&&(p(),s?.focus())}),e.addEventListener("focusout",a=>{a.relatedTarget&&((a.composedPath?a.composedPath():[a.relatedTarget]).some(h=>h===e)||p())})}function tt(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 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),e.insertBefore(s,t.nextSibling);let i=()=>{e.setAttribute("aria-checked",t.checked?"true":"false")},r=()=>{t.disabled||(t.checked=!t.checked,i(),t.dispatchEvent(new Event("change",{bubbles:!0})))};e.addEventListener("click",o=>{o.preventDefault(),r()}),e.addEventListener("keydown",o=>{(o.key===" "||o.key==="Enter")&&(o.preventDefault(),r())}),t.addEventListener("change",i)}function st(e){if(e.dataset.enhancedRange)return;let t=e.closest("label"),s=t?.classList.contains("range-output"),n=e.id||`range-${Math.random().toString(36).substring(2,11)}`,i=`${n}-output`;if(e.id=n,s){let r=t.querySelector("span");if(r&&!r.classList.contains("range-output-wrapper")){let o=document.createElement("span");o.className="range-output-wrapper",o.style.display="flex",o.style.justifyContent="space-between",o.style.alignItems="center";let u=document.createElement("span");u.textContent=r.textContent,o.appendChild(u);let p=document.createElement("output");p.id=i,p.setAttribute("for",n),p.style.color="var(--surface-text-secondary, var(--color-text-secondary))",p.style.fontSize="0.875rem",p.textContent=e.value,o.appendChild(p),r.textContent="",r.appendChild(o);let d=()=>{p.textContent=e.value};e.addEventListener("input",d)}}else{let r=e.closest(".range-container");r||(r=document.createElement("div"),r.className="range-container",e.parentNode?.insertBefore(r,e),r.appendChild(e)),r.style.position="relative";let o=document.createElement("output");o.id=i,o.setAttribute("for",n),o.className="range-bubble",o.setAttribute("aria-live","polite"),r.appendChild(o);let u=()=>{let a=parseFloat(e.min)||0,c=parseFloat(e.max)||100,f=parseFloat(e.value),h=(f-a)/(c-a);o.style.left=`calc(${h*100}% )`,o.textContent=String(f)},p=()=>o.classList.add("visible"),d=()=>o.classList.remove("visible");e.addEventListener("input",u),e.addEventListener("pointerdown",p),e.addEventListener("pointerup",d),e.addEventListener("pointerleave",d),e.addEventListener("focus",p),e.addEventListener("blur",d),u()}e.dataset.enhancedRange="1"}function nt(e){if(e.dataset.enhancedRequired)return;e.dataset.enhancedRequired="true";let t=s=>{let n;if(s.closest("[role$=group]")?n=s.closest("[role$=group]").querySelector("legend"):n=s.closest("label"),!n||n.querySelector(".required-asterisk"))return;let i=document.createElement("span");i.classList.add("required-asterisk"),i.textContent="*",i.style.marginLeft="4px";let r=n.querySelector("span, [data-label]");if(r)r.appendChild(i);else{let u=n.querySelector("input, select, textarea");u?n.insertBefore(i,u):n.appendChild(i)}let o=s.closest("form");if(o&&!o.querySelector(".required-legend")){let u=document.createElement("small");u.classList.add("required-legend"),u.textContent="* Required fields",o.insertBefore(u,o.querySelector(".form-actions")||o.lastElementChild)}};e.querySelectorAll("[required]").forEach(s=>{t(s)})}function rt(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 s=e.querySelector('input[type="radio"], input[type="checkbox"]');e.appendChild(t),t.addEventListener("keydown",n=>{if(n.key==="Enter"||n.key==="Tab"){let i=t.value.trim();if(i){n.preventDefault();let r=s.type==="radio"?"radio":"checkbox",o=`open-group-${Math.random().toString(36).substring(2,11)}`,u=document.createElement("label"),p=document.createElement("span");p.setAttribute("data-label",""),p.textContent=i;let d=document.createElement("input");d.type=r,d.name=s.name||e.getAttribute("data-name")||"open-group",d.value=i,d.id=o,u.appendChild(p),u.appendChild(d),e.insertBefore(u,t),t.value=""}}else if(n.key==="Backspace"&&t.value===""){n.preventDefault();let i=e.querySelectorAll("label");i.length>0&&i[i.length-1].remove()}})}function it(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 n=e.getAttribute("data-clip-open")==="true";e.setAttribute("aria-expanded",n?"true":"false")},s=()=>{let n=e.getAttribute("data-clip-open")==="true";e.setAttribute("data-clip-open",n?"false":"true"),t()};e.addEventListener("click",n=>{n.defaultPrevented||s()}),e.addEventListener("keydown",n=>{(n.key===" "||n.key==="Enter")&&(n.preventDefault(),s())}),t()}function ot(e){if(e.dataset.enhancedBtnWorking)return;e.dataset.enhancedBtnWorking="true";let t=null,s=!1;new MutationObserver(i=>{i.forEach(r=>{if(r.attributeName==="class"){let o=e.classList.contains("btn-working"),u=e.querySelector("pds-icon");if(o)if(u)t||(t=u.getAttribute("icon")),u.setAttribute("icon","circle-notch");else{let p=document.createElement("pds-icon");p.setAttribute("icon","circle-notch"),p.setAttribute("size","sm"),e.insertBefore(p,e.firstChild),s=!0}else r.oldValue?.includes("btn-working")&&u&&(s?(u.remove(),s=!1):t&&(u.setAttribute("icon",t),t=null))}})}).observe(e,{attributes:!0,attributeFilter:["class"],attributeOldValue:!0})}var at=new Map([[".accordion",Xe],["nav[data-dropdown]",et],["label[data-toggle]",tt],['input[type="range"]',st],["form[data-required]",nt],["fieldset[role=group][data-open]",rt],["[data-clip]",it],["button, a[class*='btn-']",ot]]),ie=Ye.map(e=>({...e,run:at.get(e.selector)||(()=>{})}));var ze="pds",ct=/^([a-z][a-z0-9+\-.]*:)?\/\//i,Pe=/^[a-z]:/i;function H(e=""){return e.endsWith("/")?e:`${e}/`}function lt(e="",t=ze){let s=e.replace(/\/+$/,"");return new RegExp(`(?:^|/)${t}$`,"i").test(s)?s:`${s}/${t}`}function dt(e){return e.replace(/^\.\/+/,"")}function ut(e){return Pe.test(e)?e.replace(Pe,"").replace(/^\/+/,""):e}function pt(e){return e.startsWith("public/")?e.substring(7):e}function oe(e,t={}){let s=t.segment||ze,n=t.defaultRoot||`/assets/${s}/`,i=e?.public&&e.public?.root||e?.static&&e.static?.root||null;if(!i||typeof i!="string")return H(n);let r=i.trim();return r?(r=r.replace(/\\/g,"/"),r=lt(r,s),r=H(r),ct.test(r)?r:(r=dt(r),r=ut(r),r.startsWith("/")||(r=pt(r),r.startsWith("/")||(r=`/${r}`),r=r.replace(/\/+/g,(o,u)=>u===0?o:"/")),H(r))):H(n)}var F="any",le={type:"object",allowUnknown:!1,properties:{id:{type:"string"},name:{type:"string"},tags:{type:"array",items:{type:"string"}},description:{type:"string"},options:{type:"object",allowUnknown:!0},form:{type:"object",allowUnknown:!0},colors:{type:"object",allowUnknown:!1,properties:{primary:{type:"string",relations:{tokens:["--color-primary-*","--color-primary-fill","--color-primary-text","--background-mesh-*"]}},secondary:{type:"string",relations:{tokens:["--color-secondary-*","--color-gray-*","--background-mesh-*"]}},accent:{type:"string",relations:{tokens:["--color-accent-*","--background-mesh-*"]}},background:{type:"string",relations:{tokens:["--color-surface-*","--color-surface-translucent-*","--surface-*-bg","--surface-*-text","--surface-*-text-secondary","--surface-*-text-muted","--surface-*-icon","--surface-*-icon-subtle","--surface-*-shadow","--surface-*-border"]}},success:{type:["string","null"],relations:{tokens:["--color-success-*"]}},warning:{type:["string","null"],relations:{tokens:["--color-warning-*"]}},danger:{type:["string","null"],relations:{tokens:["--color-danger-*"]}},info:{type:["string","null"],relations:{tokens:["--color-info-*"]}},gradientStops:{type:"number"},elevationOpacity:{type:"number",relations:{tokens:["--surface-*-shadow"]}},darkMode:{type:"object",allowUnknown:!0,properties:{background:{type:"string",relations:{theme:"dark",tokens:["--color-surface-*","--color-surface-translucent-*","--surface-*-bg","--surface-*-text","--surface-*-text-secondary","--surface-*-text-muted","--surface-*-icon","--surface-*-icon-subtle","--surface-*-shadow","--surface-*-border"]}},primary:{type:"string",relations:{theme:"dark",tokens:["--color-primary-*","--color-primary-fill","--color-primary-text"]}},secondary:{type:"string",relations:{theme:"dark",tokens:["--color-secondary-*","--color-gray-*"]}},accent:{type:"string",relations:{theme:"dark",tokens:["--color-accent-*"]}}}}}},typography:{type:"object",allowUnknown:!1,properties:{fontFamilyHeadings:{type:"string",relations:{tokens:["--font-family-headings"]}},fontFamilyBody:{type:"string",relations:{tokens:["--font-family-body"]}},fontFamilyMono:{type:"string",relations:{tokens:["--font-family-mono"]}},baseFontSize:{type:"number",relations:{tokens:["--font-size-*"]}},fontScale:{type:"number",relations:{tokens:["--font-size-*"]}},fontWeightLight:{type:["string","number"],relations:{tokens:["--font-weight-light"]}},fontWeightNormal:{type:["string","number"],relations:{tokens:["--font-weight-normal"]}},fontWeightMedium:{type:["string","number"],relations:{tokens:["--font-weight-medium"]}},fontWeightSemibold:{type:["string","number"],relations:{tokens:["--font-weight-semibold"]}},fontWeightBold:{type:["string","number"],relations:{tokens:["--font-weight-bold"]}},lineHeightTight:{type:["string","number"],relations:{tokens:["--font-line-height-tight"]}},lineHeightNormal:{type:["string","number"],relations:{tokens:["--font-line-height-normal"]}},lineHeightRelaxed:{type:["string","number"],relations:{tokens:["--font-line-height-relaxed"]}},letterSpacingTight:{type:"number"},letterSpacingNormal:{type:"number"},letterSpacingWide:{type:"number"}}},spatialRhythm:{type:"object",allowUnknown:!1,properties:{baseUnit:{type:"number",relations:{tokens:["--spacing-*"]}},scaleRatio:{type:"number"},maxSpacingSteps:{type:"number",relations:{tokens:["--spacing-*"]}},containerMaxWidth:{type:["number","string"]},containerPadding:{type:"number"},inputPadding:{type:"number",relations:{rules:[{selectors:["input","textarea","select"],properties:["padding"]}]}},buttonPadding:{type:"number",relations:{rules:[{selectors:["button",".btn"],properties:["padding"]}]}},sectionSpacing:{type:"number",relations:{rules:[{selectors:["section"],properties:["margin","padding"]}]}}}},shape:{type:"object",allowUnknown:!1,properties:{radiusSize:{type:["string","number"],relations:{tokens:["--radius-*"]}},customRadius:{type:["string","number","null"]},borderWidth:{type:["string","number"],relations:{tokens:["--border-width-*"]}}}},behavior:{type:"object",allowUnknown:!1,properties:{transitionSpeed:{type:["string","number"],relations:{tokens:["--transition-*"]}},animationEasing:{type:"string"},customTransitionSpeed:{type:["number","null"]},customEasing:{type:["string","null"]},focusRingWidth:{type:"number",relations:{rules:[{selectors:[":focus-visible"],properties:["outline-width","box-shadow"]}]}},focusRingOpacity:{type:"number",relations:{rules:[{selectors:[":focus-visible"],properties:["box-shadow","outline-color"]}]}},hoverOpacity:{type:"number"}}},layout:{type:"object",allowUnknown:!1,properties:{maxWidth:{type:["number","string"],relations:{tokens:["--layout-max-width","--layout-max-width-*"]}},maxWidths:{type:"object",allowUnknown:!1,properties:{sm:{type:["number","string"],relations:{tokens:["--layout-max-width-sm"]}},md:{type:["number","string"],relations:{tokens:["--layout-max-width-md"]}},lg:{type:["number","string"],relations:{tokens:["--layout-max-width-lg"]}},xl:{type:["number","string"],relations:{tokens:["--layout-max-width-xl"]}}}},containerPadding:{type:["number","string"],relations:{tokens:["--layout-container-padding"]}},breakpoints:{type:"object",allowUnknown:!1,properties:{sm:{type:"number"},md:{type:"number"},lg:{type:"number"},xl:{type:"number"}}},gridColumns:{type:"number"},gridGutter:{type:"number"},densityCompact:{type:"number"},densityNormal:{type:"number"},densityComfortable:{type:"number"},buttonMinHeight:{type:"number"},inputMinHeight:{type:"number"},baseShadowOpacity:{type:"number",relations:{tokens:["--shadow-*"]}},darkMode:{type:"object",allowUnknown:!0,properties:{baseShadowOpacity:{type:"number",relations:{theme:"dark",tokens:["--shadow-*"]}}}},utilities:{type:"object",allowUnknown:!0},gridSystem:{type:"object",allowUnknown:!0},containerMaxWidth:{type:["number","string"]}}},layers:{type:"object",allowUnknown:!1,properties:{baseShadowOpacity:{type:"number",relations:{tokens:["--shadow-*"]}},shadowBlurMultiplier:{type:"number",relations:{tokens:["--shadow-*"]}},shadowOffsetMultiplier:{type:"number",relations:{tokens:["--shadow-*"]}},shadowDepth:{type:"string"},blurLight:{type:"number"},blurMedium:{type:"number"},blurHeavy:{type:"number"},baseZIndex:{type:"number",relations:{tokens:["--z-*"]}},zIndexStep:{type:"number",relations:{tokens:["--z-*"]}},zIndexBase:{type:"number"},zIndexDropdown:{type:"number"},zIndexSticky:{type:"number"},zIndexFixed:{type:"number"},zIndexModal:{type:"number"},zIndexPopover:{type:"number"},zIndexTooltip:{type:"number"},zIndexNotification:{type:"number"},darkMode:{type:"object",allowUnknown:!0,properties:{baseShadowOpacity:{type:"number",relations:{theme:"dark",tokens:["--shadow-*"]}}}}}},advanced:{type:"object",allowUnknown:!0},a11y:{type:"object",allowUnknown:!0},icons:{type:"object",allowUnknown:!1,properties:{set:{type:"string"},weight:{type:"string"},defaultSize:{type:"number",relations:{tokens:["--icon-size"]}},sizes:{type:"object",allowUnknown:!0},spritePath:{type:"string"},externalPath:{type:"string"},include:{type:"object",allowUnknown:!0}}},components:{type:"object",allowUnknown:!0},gap:{type:"number"},debug:{type:"boolean"}}},ht={type:"object",allowUnknown:!0,properties:{mode:{type:"string"},preset:{type:"string"},design:le,enhancers:{type:["object","array"]},applyGlobalStyles:{type:"boolean"},manageTheme:{type:"boolean"},themeStorageKey:{type:"string"},preloadStyles:{type:"boolean"},criticalLayers:{type:"array",items:{type:"string"}},autoDefine:{type:"object",allowUnknown:!1,properties:{predefine:{type:"array",items:{type:"string"}},mapper:{type:F},enhancers:{type:["object","array"]},scanExisting:{type:"boolean"},observeShadows:{type:"boolean"},patchAttachShadow:{type:"boolean"},debounceMs:{type:"number"},onError:{type:F},baseURL:{type:"string"}}},managerURL:{type:"string"},manager:{type:F},liveEdit:{type:"boolean"},log:{type:F}}};function ae(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function ft(e,t){if(t===F)return!0;let s=ae(e);return Array.isArray(t)?t.includes(s):s===t}function Z(e,t,s,n){if(!t)return;let i=t.type||F;if(!ft(e,i)){n.push({path:s,expected:i,actual:ae(e),message:`Expected ${i} but got ${ae(e)}`});return}if(i==="array"&&t.items&&Array.isArray(e)&&e.forEach((r,o)=>{Z(r,t.items,`${s}[${o}]`,n)}),i==="object"&&e&&typeof e=="object"){let r=t.properties||{};for(let[o,u]of Object.entries(e)){if(!Object.prototype.hasOwnProperty.call(r,o)){t.allowUnknown||n.push({path:`${s}.${o}`,expected:"known property",actual:"unknown",message:`Unknown property "${o}"`});continue}Z(u,r[o],`${s}.${o}`,n)}}}function ce(e,t="",s={}){if(!e||typeof e!="object")return s;if(e.relations&&t&&(s[t]=e.relations),e.type==="object"&&e.properties&&Object.entries(e.properties).forEach(([n,i])=>{let r=t?`${t}.${n}`:n;ce(i,r,s)}),e.type==="array"&&e.items){let n=`${t}[]`;ce(e.items,n,s)}return s}var Nt=ce(le,"");function de(e,{log:t,context:s="PDS config"}={}){if(!e||typeof e!="object")return[];let n=[];return Z(e,le,"design",n),n.length&&typeof t=="function"&&n.forEach(i=>{t("warn",`[${s}] ${i.message} at ${i.path}`)}),n}function Ue(e,{log:t,context:s="PDS config"}={}){if(!e||typeof e!="object")return[];let n=[];return Z(e,ht,"config",n),n.length&&typeof t=="function"&&n.forEach(i=>{t("warn",`[${s}] ${i.message} at ${i.path}`)}),n}var mt={"ocean-breeze":{id:"ocean-breeze",name:"Ocean Breeze",tags:["playful"],description:"Fresh and calming ocean-inspired palette with professional undertones",options:{liquidGlassEffects:!0,backgroundMesh:3},colors:{primary:"#0891b2",secondary:"#64748b",accent:"#06b6d4",background:"#f0f9ff",darkMode:{background:"#0c1821",secondary:"#94a3b8",primary:"#0891b2"}},typography:{baseFontSize:17,fontScale:1.5,fontFamilyHeadings:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',fontFamilyBody:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif'},spatialRhythm:{baseUnit:6,scaleRatio:1.2},shape:{radiusSize:l.RadiusSizes.xxlarge}},"midnight-steel":{id:"midnight-steel",name:"Midnight Steel",description:"Bold industrial aesthetic with sharp contrasts and urban edge",colors:{primary:"#3b82f6",secondary:"#52525b",accent:"#f59e0b",background:"#fafaf9",darkMode:{background:"#18181b",secondary:"#71717a",primary:"#3b82f6"}},typography:{baseFontSize:16,fontScale:1.333,fontFamilyHeadings:"'IBM Plex Sans', system-ui, -apple-system, sans-serif",fontFamilyBody:"'Inter', system-ui, -apple-system, sans-serif",fontWeightSemibold:600},spatialRhythm:{baseUnit:4,scaleRatio:1.25},shape:{radiusSize:l.RadiusSizes.small,borderWidth:l.BorderWidths.thin}},"neural-glow":{id:"neural-glow",name:"Neural Glow",description:"AI-inspired with vibrant purple-blue gradients and futuristic vibes",colors:{primary:"#8b5cf6",secondary:"#6366f1",accent:"#ec4899",background:"#faf5ff",darkMode:{background:"#0f0a1a",secondary:"#818cf8",primary:"#8b5cf6"}},typography:{baseFontSize:16,fontScale:1.618,fontFamilyHeadings:"'Space Grotesk', system-ui, sans-serif",fontFamilyBody:"'Space Grotesk', system-ui, sans-serif"},spatialRhythm:{baseUnit:4,scaleRatio:1.5},shape:{radiusSize:l.RadiusSizes.xlarge,borderWidth:l.BorderWidths.medium},behavior:{transitionSpeed:l.TransitionSpeeds.fast}},"paper-and-ink":{id:"paper-and-ink",name:"Paper & Ink",tags:["app","featured"],themes:["light"],description:"Ultra-minimal design with focus on typography and whitespace",colors:{primary:"#171717",secondary:"#737373",accent:"#525252",background:"#ffffff",darkMode:{background:"#0a0a0a",secondary:"#a3a3a3",primary:"#737373"}},typography:{baseFontSize:18,fontScale:1.333,fontFamilyHeadings:"'Helvetica Neue', 'Arial', sans-serif",fontFamilyBody:"'Georgia', 'Times New Roman', serif",fontWeightNormal:400,fontWeightBold:700},spatialRhythm:{baseUnit:4,scaleRatio:1.2},shape:{radiusSize:l.RadiusSizes.none,borderWidth:l.BorderWidths.thin}},"sunset-paradise":{id:"sunset-paradise",name:"Sunset Paradise",description:"Warm tropical colors evoking golden hour by the beach",options:{liquidGlassEffects:!0,backgroundMesh:2},colors:{primary:"#ea580c",secondary:"#d4a373",accent:"#fb923c",background:"#fffbeb",darkMode:{background:"#1a0f0a",secondary:"#c9a482",primary:"#f97316"}},typography:{baseFontSize:16,fontScale:1.5,fontFamilyHeadings:"'Quicksand', 'Comfortaa', sans-serif",fontFamilyBody:"'Quicksand', 'Comfortaa', sans-serif"},spatialRhythm:{baseUnit:6,scaleRatio:1.5},shape:{radiusSize:l.RadiusSizes.xxlarge,borderWidth:l.BorderWidths.medium}},"retro-wave":{id:"retro-wave",name:"Retro Wave",description:"Nostalgic 80s-inspired palette with neon undertones",colors:{primary:"#c026d3",secondary:"#a78bfa",accent:"#22d3ee",background:"#fef3ff",darkMode:{background:"#1a0a1f",secondary:"#c4b5fd",primary:"#d946ef"}},typography:{baseFontSize:15,fontScale:1.5,fontFamilyHeadings:"'Orbitron', 'Impact', monospace",fontFamilyBody:"'Courier New', 'Courier', monospace",fontWeightBold:700},spatialRhythm:{baseUnit:4,scaleRatio:1.25},shape:{radiusSize:l.RadiusSizes.none,borderWidth:l.BorderWidths.thick},behavior:{transitionSpeed:l.TransitionSpeeds.instant}},"forest-canopy":{id:"forest-canopy",name:"Forest Canopy",description:"Natural earth tones with organic, calming green hues",colors:{primary:"#059669",secondary:"#78716c",accent:"#84cc16",background:"#f0fdf4",darkMode:{background:"#0a1410",secondary:"#a8a29e",primary:"#10b981"}},typography:{baseFontSize:16,fontScale:1.414,fontFamilyHeadings:"'Merriweather Sans', 'Arial', sans-serif",fontFamilyBody:"'Merriweather', 'Georgia', serif"},spatialRhythm:{baseUnit:6,scaleRatio:1.3},shape:{radiusSize:l.RadiusSizes.medium,borderWidth:l.BorderWidths.thin}},"ruby-elegance":{id:"ruby-elegance",name:"Ruby Elegance",description:"Sophisticated palette with rich ruby reds and warm accents",colors:{primary:"#dc2626",secondary:"#9ca3af",accent:"#be123c",background:"#fef2f2",darkMode:{background:"#1b0808",secondary:"#d1d5db",primary:"#ef4444"}},typography:{baseFontSize:17,fontScale:1.5,fontFamilyHeadings:"'Playfair Display', 'Georgia', serif",fontFamilyBody:"'Crimson Text', 'Garamond', serif",fontWeightNormal:400,fontWeightSemibold:600},spatialRhythm:{baseUnit:4,scaleRatio:1.333},shape:{radiusSize:l.RadiusSizes.small,borderWidth:l.BorderWidths.thin}},"desert-dawn":{id:"desert-dawn",name:"Desert Dawn",description:"Sun-baked neutrals with grounded terracotta and cool oasis accents",colors:{primary:"#b45309",secondary:"#a8a29e",accent:"#0ea5a8",background:"#fcf6ef",darkMode:{background:"#12100e",secondary:"#d1d5db",primary:"#f59e0b"}},typography:{baseFontSize:16,fontScale:1.414,fontFamilyHeadings:"'Source Sans Pro', system-ui, -apple-system, sans-serif",fontFamilyBody:"'Source Serif Pro', Georgia, serif"},spatialRhythm:{baseUnit:6,scaleRatio:1.3},shape:{radiusSize:l.RadiusSizes.medium,borderWidth:l.BorderWidths.medium}},"contrast-pro":{id:"contrast-pro",name:"Contrast Pro",description:"Accessibility-first, high-contrast UI with assertive clarity",colors:{primary:"#1f2937",secondary:"#111827",accent:"#eab308",background:"#ffffff",darkMode:{background:"#0b0f14",secondary:"#9ca3af",primary:"#9ca3af"}},typography:{baseFontSize:17,fontScale:1.2,fontFamilyHeadings:"system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",fontFamilyBody:"system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",fontWeightBold:700},spatialRhythm:{baseUnit:3,scaleRatio:1.2},shape:{radiusSize:l.RadiusSizes.small,borderWidth:l.BorderWidths.thick},behavior:{transitionSpeed:l.TransitionSpeeds.fast,focusRingWidth:4}},"pastel-play":{id:"pastel-play",name:"Pastel Play",themes:["light"],description:"Playful pastels with soft surfaces and friendly rounded shapes",colors:{primary:"#db2777",secondary:"#a78bfa",accent:"#34d399",background:"#fff7fa",darkMode:{background:"#1a1016",secondary:"#c4b5fd",primary:"#ec4899"}},typography:{baseFontSize:16,fontScale:1.333,fontFamilyHeadings:"'Nunito', system-ui, -apple-system, sans-serif",fontFamilyBody:"'Nunito', system-ui, -apple-system, sans-serif",lineHeightRelaxed:l.LineHeights.relaxed},spatialRhythm:{baseUnit:6,scaleRatio:1.4},shape:{radiusSize:l.RadiusSizes.xxlarge,borderWidth:l.BorderWidths.thin},behavior:{transitionSpeed:l.TransitionSpeeds.slow,animationEasing:l.AnimationEasings["ease-out"]}},"brutalist-tech":{id:"brutalist-tech",name:"Brutalist Tech",description:"Stark grayscale with engineered accents and unapologetically bold structure",colors:{primary:"#111111",secondary:"#4b5563",accent:"#06b6d4",background:"#f8fafc",darkMode:{background:"#0c0c0c",secondary:"#9ca3af",primary:"#06b6d4"}},typography:{baseFontSize:15,fontScale:1.25,fontFamilyHeadings:"'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace",fontFamilyBody:"'Inter', system-ui, -apple-system, sans-serif",letterSpacingTight:-.02},spatialRhythm:{baseUnit:4,scaleRatio:1.25},shape:{radiusSize:l.RadiusSizes.none,borderWidth:l.BorderWidths.thick},behavior:{transitionSpeed:l.TransitionSpeeds.instant}},"zen-garden":{id:"zen-garden",name:"Zen Garden",description:"Soft botanicals with contemplative spacing and balanced motion",colors:{primary:"#3f6212",secondary:"#6b7280",accent:"#7c3aed",background:"#f7fbef",darkMode:{background:"#0d130a",secondary:"#a3a3a3",primary:"#84cc16"}},typography:{baseFontSize:17,fontScale:1.414,fontFamilyHeadings:"'Merriweather', Georgia, serif",fontFamilyBody:"'Noto Sans', system-ui, -apple-system, sans-serif"},spatialRhythm:{baseUnit:6,scaleRatio:1.35},shape:{radiusSize:l.RadiusSizes.large,borderWidth:l.BorderWidths.medium},behavior:{transitionSpeed:l.TransitionSpeeds.normal,animationEasing:l.AnimationEasings.ease}},"fitness-pro":{id:"fitness-pro",name:"Fitness Pro",tags:["app","featured"],description:"Health and fitness tracking aesthetic with data-driven dark surfaces and vibrant accent rings",options:{liquidGlassEffects:!0,backgroundMesh:2},colors:{primary:"#e91e63",secondary:"#78909c",accent:"#ab47bc",background:"#fafafa",darkMode:{background:"#1a1d21",secondary:"#78909c",primary:"#0a4ca4"}},typography:{baseFontSize:15,fontScale:1.25,fontFamilyHeadings:"'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif",fontFamilyBody:"'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeightNormal:l.LineHeights.tight},spatialRhythm:{baseUnit:4,scaleRatio:1.25,containerPadding:1.25,sectionSpacing:2.5},shape:{radiusSize:l.RadiusSizes.large,borderWidth:l.BorderWidths.thin},layers:{shadowDepth:"medium",blurMedium:12},behavior:{transitionSpeed:l.TransitionSpeeds.fast,animationEasing:l.AnimationEasings["ease-out"],focusRingWidth:2}},"travel-market":{id:"travel-market",name:"Travel Market",description:"Hospitality marketplace design with clean cards, subtle shadows, and trust-building neutrals",options:{liquidGlassEffects:!0,backgroundMesh:3},colors:{primary:"#d93251",secondary:"#717171",accent:"#144990",background:"#ffffff",darkMode:{background:"#222222",secondary:"#b0b0b0",primary:"#ff5a7a"}},typography:{baseFontSize:16,fontScale:1.2,fontFamilyHeadings:"'Circular', system-ui, -apple-system, 'Segoe UI', sans-serif",fontFamilyBody:"'Circular', system-ui, -apple-system, 'Segoe UI', sans-serif",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeightRelaxed:l.LineHeights.relaxed},spatialRhythm:{baseUnit:4,scaleRatio:1.25,containerMaxWidth:1440,containerPadding:1.5,sectionSpacing:3},shape:{radiusSize:l.RadiusSizes.medium,borderWidth:l.BorderWidths.thin},layers:{shadowDepth:"light",blurLight:8},behavior:{transitionSpeed:l.TransitionSpeeds.normal,animationEasing:l.AnimationEasings["ease-in-out"],hoverOpacity:.9}},"mobility-app":{id:"mobility-app",name:"Mobility App",tags:["app","featured"],description:"On-demand service platform with bold typography, map-ready colors, and action-driven UI",options:{liquidGlassEffects:!0,backgroundMesh:0},colors:{primary:"#000000",secondary:"#545454",accent:"#06c167",background:"#f6f6f6",darkMode:{background:"#0f0f0f",secondary:"#8a8a8a",primary:"#06c167"}},typography:{baseFontSize:16,fontScale:1.3,fontFamilyHeadings:"'UberMove', system-ui, -apple-system, 'Segoe UI', sans-serif",fontFamilyBody:"'UberMove', system-ui, -apple-system, 'Segoe UI', sans-serif",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700},spatialRhythm:{baseUnit:4,scaleRatio:1.25,buttonPadding:1.25,inputPadding:1},shape:{radiusSize:l.RadiusSizes.small,borderWidth:l.BorderWidths.medium},behavior:{transitionSpeed:l.TransitionSpeeds.fast,animationEasing:l.AnimationEasings["ease-out"],focusRingWidth:3},a11y:{minTouchTarget:l.TouchTargetSizes.comfortable,focusStyle:l.FocusStyles.ring}},"fintech-secure":{id:"fintech-secure",name:"Fintech Secure",description:"Financial services app UI with trust-building blues, precise spacing, and security-first design",options:{liquidGlassEffects:!1,backgroundMesh:0},colors:{primary:"#0a2540",secondary:"#425466",accent:"#00d4ff",background:"#f7fafc",darkMode:{background:"#0a1929",secondary:"#8796a5",primary:"#00d4ff"}},typography:{baseFontSize:16,fontScale:1.25,fontFamilyHeadings:"'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif",fontFamilyBody:"'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif",fontFamilyMono:"'JetBrains Mono', ui-monospace, 'Cascadia Code', monospace",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700},spatialRhythm:{baseUnit:4,scaleRatio:1.25,containerMaxWidth:1280,sectionSpacing:2.5},shape:{radiusSize:l.RadiusSizes.medium,borderWidth:l.BorderWidths.thin},layers:{shadowDepth:"light",blurLight:6},behavior:{transitionSpeed:l.TransitionSpeeds.fast,animationEasing:l.AnimationEasings["ease-in-out"],focusRingWidth:3,focusRingOpacity:.4},a11y:{minTouchTarget:l.TouchTargetSizes.standard,focusStyle:l.FocusStyles.ring}},"social-feed":{id:"social-feed",name:"Social Feed",tags:["app","featured"],description:"Content-first social platform with minimal chrome, bold actions, and vibrant media presentation",options:{liquidGlassEffects:!0,backgroundMesh:4},colors:{primary:"#1877f2",secondary:"#65676b",accent:"#fe2c55",background:"#ffffff",darkMode:{background:"#18191a",secondary:"#b0b3b8",primary:"#2d88ff"}},typography:{baseFontSize:15,fontScale:1.2,fontFamilyHeadings:"system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",fontFamilyBody:"system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeightNormal:l.LineHeights.relaxed},spatialRhythm:{baseUnit:4,scaleRatio:1.25,containerMaxWidth:680,sectionSpacing:1.5},shape:{radiusSize:l.RadiusSizes.medium,borderWidth:l.BorderWidths.thin},behavior:{transitionSpeed:l.TransitionSpeeds.fast,animationEasing:l.AnimationEasings["ease-out"],hoverOpacity:.85}},"enterprise-dash":{id:"enterprise-dash",tags:["app","featured"],name:"Enterprise Dashboard",description:"Data-dense business intelligence app interface with organized hierarchy and professional polish",options:{liquidGlassEffects:!1},colors:{primary:"#0066cc",secondary:"#5f6368",accent:"#1a73e8",background:"#ffffff",success:"#34a853",warning:"#fbbc04",danger:"#ea4335",darkMode:{background:"#202124",secondary:"#9aa0a6",primary:"#8ab4f8"}},typography:{baseFontSize:14,fontScale:1.2,fontFamilyHeadings:"'Roboto', system-ui, -apple-system, 'Segoe UI', sans-serif",fontFamilyBody:"'Roboto', system-ui, -apple-system, 'Segoe UI', sans-serif",fontFamilyMono:"'Roboto Mono', ui-monospace, Consolas, monospace",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeightNormal:l.LineHeights.tight},spatialRhythm:{baseUnit:4,scaleRatio:1.2,containerMaxWidth:1600,containerPadding:1.5,sectionSpacing:2},shape:{radiusSize:l.RadiusSizes.small,borderWidth:l.BorderWidths.thin},layers:{shadowDepth:"light",blurLight:4},behavior:{transitionSpeed:l.TransitionSpeeds.fast,animationEasing:l.AnimationEasings["ease-in-out"],focusRingWidth:2},layout:{densityCompact:.85,gridColumns:12}}};mt.default={id:"default",name:"Default",tags:["app","featured"],description:"Fresh and modern design system with balanced aesthetics and usability",options:{liquidGlassEffects:!0,backgroundMesh:4},form:{options:{widgets:{booleans:"toggle",numbers:"input",selects:"standard"},layouts:{fieldsets:"default",arrays:"default"},enhancements:{icons:!0,datalists:!0,rangeOutput:!0},validation:{showErrors:!0,validateOnChange:!1}}},colors:{primary:"#0e7490",secondary:"#a99b95",accent:"#e54271",background:"#e7e6de",darkMode:{background:"#16171a",secondary:"#8b9199",primary:"#06b6d4"},success:null,warning:"#B38600",danger:null,info:null,gradientStops:3,elevationOpacity:.05},typography:{baseFontSize:16,fontScale:1.2,fontFamilyHeadings:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',fontFamilyBody:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',fontFamilyMono:'ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace',fontWeightLight:l.FontWeights.light,fontWeightNormal:l.FontWeights.normal,fontWeightMedium:l.FontWeights.medium,fontWeightSemibold:l.FontWeights.semibold,fontWeightBold:l.FontWeights.bold,lineHeightTight:l.LineHeights.tight,lineHeightNormal:l.LineHeights.normal,lineHeightRelaxed:l.LineHeights.relaxed,letterSpacingTight:-.025,letterSpacingNormal:0,letterSpacingWide:.025},spatialRhythm:{baseUnit:4,scaleRatio:1.25,maxSpacingSteps:32,containerMaxWidth:1200,containerPadding:1,inputPadding:.75,buttonPadding:1,sectionSpacing:2},layers:{shadowDepth:"medium",blurLight:4,blurMedium:8,blurHeavy:16,zIndexBase:0,zIndexDropdown:1e3,zIndexSticky:1020,zIndexFixed:1030,zIndexModal:1040,zIndexPopover:1050,zIndexTooltip:1060,zIndexNotification:1070},shape:{radiusSize:l.RadiusSizes.large,borderWidth:l.BorderWidths.medium,customRadius:null},behavior:{transitionSpeed:l.TransitionSpeeds.normal,animationEasing:l.AnimationEasings["ease-out"],customTransitionSpeed:null,customEasing:null,focusRingWidth:3,focusRingOpacity:.3,hoverOpacity:.8},layout:{gridColumns:12,gridGutter:1,baseShadowOpacity:.1,darkMode:{baseShadowOpacity:.25},breakpoints:{sm:640,md:768,lg:1024,xl:1280},densityCompact:.8,densityNormal:1,densityComfortable:1.2,buttonMinHeight:l.TouchTargetSizes.standard,inputMinHeight:40,utilities:{grid:!0,flex:!0,spacing:!0,container:!0},gridSystem:{columns:[1,2,3,4,6],autoFitBreakpoints:{sm:"150px",md:"250px",lg:"350px",xl:"450px"},enableGapUtilities:!0},containerMaxWidth:"1400px",containerPadding:"var(--spacing-6)"},advanced:{linkStyle:l.LinkStyles.inline,colorDerivation:"hsl"},a11y:{minTouchTarget:l.TouchTargetSizes.standard,prefersReducedMotion:!0,focusStyle:l.FocusStyles.ring},icons:{set:"phosphor",weight:"regular",defaultSize:24,externalPath:"/assets/img/icons/",sizes:l.IconSizes,include:{navigation:["arrow-left","arrow-right","arrow-up","arrow-down","arrow-counter-clockwise","caret-left","caret-right","caret-down","caret-up","x","list","list-dashes","dots-three-vertical","dots-three","house","gear","magnifying-glass","funnel","tabs","sidebar"],actions:["plus","minus","check","trash","pencil","floppy-disk","copy","download","upload","share","link","eye","eye-slash","heart","star","bookmark","note-pencil","cursor-click","clipboard","magic-wand","sparkle"],communication:["envelope","bell","bell-ringing","bell-simple","chat-circle","phone","paper-plane-tilt","user","users","user-gear","at"],content:["image","file","file-text","file-css","file-js","folder","folder-open","book-open","camera","video-camera","play","pause","microphone","brackets-curly","code","folder-simple","grid-four","briefcase","chart-line","chart-bar","database","map-pin"],status:["info","warning","check-circle","x-circle","question","shield","shield-check","shield-warning","lock","lock-open","fingerprint","circle-notch"],time:["calendar","clock","timer","hourglass"],commerce:["shopping-cart","credit-card","currency-dollar","tag","receipt","storefront"],formatting:["text-align-left","text-align-center","text-align-right","text-b","text-italic","text-underline","list-bullets","list-numbers","text-aa"],system:["cloud","cloud-arrow-up","cloud-arrow-down","desktop","device-mobile","globe","wifi-high","battery-charging","sun","moon","moon-stars","palette","rocket","feather","square","circle","squares-four","lightning","wrench"]},spritePath:"public/assets/pds/icons/pds-icons.svg"},gap:4,debug:!1};var gt=/^[a-z][a-z0-9+\-.]*:\/\//i,N=(()=>{try{return import.meta.url}catch{return}})(),J=e=>typeof e=="string"&&e.length&&!e.endsWith("/")?`${e}/`:e;function Y(e,t={}){if(!e||gt.test(e))return e;let{preferModule:s=!0}=t,n=()=>{if(!N)return null;try{return new URL(e,N).href}catch{return null}},i=()=>{if(typeof window>"u"||!window.location?.origin)return null;try{return new URL(e,window.location.origin).href}catch{return null}};return(s?n()||i():i()||n())||e}var Fe=(()=>{if(N)try{let e=new URL(N);if(/\/public\/assets\/js\//.test(e.pathname))return new URL("../pds/",N).href}catch{return}})(),_e=!1;function Be(e){_e||typeof document>"u"||(_e=!0,e.addEventListener("pds:ready",t=>{let s=t.detail?.mode;s&&document.documentElement.classList.add(`pds-${s}`,"pds-ready")}))}function he(e={},t={}){if(!t||typeof t!="object")return e;let s=Array.isArray(e)?[...e]:{...e};for(let[n,i]of Object.entries(t))i&&typeof i=="object"&&!Array.isArray(i)?s[n]=he(s[n]&&typeof s[n]=="object"?s[n]:{},i):s[n]=i;return s}function pe(e=""){return String(e).toLowerCase().replace(/&/g," and ").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function I(e){if(e==null)return e;if(typeof e=="function")return;if(typeof e!="object")return e;if(Array.isArray(e))return e.map(s=>I(s)).filter(s=>s!==void 0);let t={};for(let s in e)if(e.hasOwnProperty(s)){let n=e[s];if(typeof n!="function"){let i=I(n);i!==void 0&&(t[s]=i)}}return t}function He(e={},t={},{presets:s,defaultLog:n}){let i=e&&typeof e.log=="function"?e.log:n,r=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),o=e&&e.enhancers;o&&!Array.isArray(o)&&(o=Object.values(o));let u=o??t.enhancers??[],p=e&&e.preset,d=e&&e.design,a=e&&e.icons&&typeof e.icons=="object"?e.icons:null,c="preset"in(e||{})||"design"in(e||{})||"enhancers"in(e||{});e&&typeof e=="object"&&Ue(e,{log:i,context:"PDS.start"});let f,h=null;if(c){d&&typeof d=="object"&&de(d,{log:i,context:"PDS.start"});let k=String(p||"default").toLowerCase(),S=s?.[k]||Object.values(s||{}).find(y=>pe(y.name)===k||String(y.name||"").toLowerCase()===k);if(!S)throw new Error(`PDS preset not found: "${p||"default"}"`);h={id:S.id||pe(S.name),name:S.name||S.id||String(k)};let b=structuredClone(S);if(d&&typeof d=="object"||a){let y=d?I(d):{},g=a?I(a):null,A=g?he(y,{icons:g}):y;b=he(b,structuredClone(A))}let{mode:x,autoDefine:P,applyGlobalStyles:L,manageTheme:T,themeStorageKey:C,preloadStyles:_,criticalLayers:z,managerURL:q,manager:R,preset:D,design:B,enhancers:v,log:U,...m}=e;f={...m,design:b,preset:h.name,log:U||n}}else if(r){de(e,{log:i,context:"PDS.start"});let{log:k,...S}=e;f={design:structuredClone(S),log:k||n}}else{let k=s?.default||Object.values(s||{}).find(S=>pe(S.name)==="default");if(!k)throw new Error("PDS default preset not available");h={id:k.id||"default",name:k.name||"Default"},f={design:structuredClone(k),preset:h.name,log:n}}return{generatorConfig:f,enhancers:u,presetInfo:h}}function Ne({manageTheme:e,themeStorageKey:t,applyResolvedTheme:s,setupSystemListenerIfNeeded:n}){let i="light",r=null;if(e&&typeof window<"u"){try{r=localStorage.getItem(t)||null}catch{r=null}try{s?.(r),n?.(r)}catch{}r?r==="system"?i=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":i=r:i=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}return{resolvedTheme:i,storedTheme:r}}function fe(e,{resolvePublicAssetURL:t}){let s=!!(e?.public?.root||e?.static?.root),n=t(e);return!s&&Fe&&(n=Fe),J(Y(n))}async function Oe(e,{baseEnhancers:t=[]}={}){let{autoDefineBaseURL:s="/auto-define/",autoDefinePreload:n=[],autoDefineMapper:i=null,enhancers:r=[],autoDefineOverrides:o=null,autoDefinePreferModule:u=!0}=e,p=(()=>{let a=new Map;return(t||[]).forEach(c=>a.set(c.selector,c)),(r||[]).forEach(c=>a.set(c.selector,c)),Array.from(a.values())})(),d=null;if(typeof window<"u"&&typeof document<"u"){let a=null;try{let b=await Promise.resolve().then(()=>(je(),$e));a=b?.AutoDefiner||b?.default?.AutoDefiner||b?.default||null}catch(b){console.warn("AutoDefiner not available:",b?.message||b)}let c=b=>{switch(b){case"pds-tabpanel":return"pds-tabstrip.js";default:return`${b}.js`}},{mapper:f,...h}=o&&typeof o=="object"?o:{},S={baseURL:s&&J(Y(s,{preferModule:u})),predefine:n,scanExisting:!0,observeShadows:!0,patchAttachShadow:!0,debounceMs:16,enhancers:p,onError:(b,x)=>{if(typeof b=="string"&&b.startsWith("pds-")){let L=["pds-form","pds-drawer"].includes(b),T=x?.message?.includes("#pds/lit")||x?.message?.includes("Failed to resolve module specifier");L&&T?console.error(`\u274C PDS component <${b}> 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 <${b}> not found. Assets may not be installed.`)}else console.error(`\u274C Auto-define error for <${b}>:`,x)},...h,mapper:b=>{if(customElements.get(b))return null;if(typeof i=="function")try{let x=i(b);return x===void 0?c(b):x}catch(x){return console.warn("Custom autoDefine.mapper error; falling back to default:",x?.message||x),c(b)}return c(b)}};a&&(d=new a(S),n.length>0&&typeof a.define=="function"&&await a.define(...n,{baseURL:s,mapper:S.mapper,onError:S.onError}))}return{autoDefiner:d,mergedEnhancers:p}}var me=["light","dark"],ye=new Set(me);function bt(e){let s=(Array.isArray(e?.themes)?e.themes.map(n=>String(n).toLowerCase()):me).filter(n=>ye.has(n));return s.length?s:me}function ge(e,{preferDocument:t=!0}={}){let s=String(e||"").toLowerCase();if(ye.has(s))return s;if(t&&typeof document<"u"){let n=document.documentElement?.getAttribute("data-theme");if(ye.has(n))return n}return typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function qe(e,t){let s=ge(t);return bt(e).includes(s)}var Se=class extends EventTarget{},w=new Se;w.initializing=!1;w.currentPreset=null;w.debug=!1;var Ge=(e="")=>String(e).toLowerCase().replace(/&/g," and ").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,""),be=function(e="log",t,...s){let n=!!(w.registry&&!w.registry.isLive),i=(this?.debug||this?.design?.debug||w.debug||!1)===!0;if(n){if(!w.debug)return}else if(!i&&e!=="error"&&e!=="warn")return;let r=console[e]||console.log;s.length>0?r(t,...s):r(t)};async function wt(e,t={}){if(t?.runtimeConfig===!1||typeof fetch!="function")return null;let s=t?.runtimeConfigURL||`${e}pds-runtime-config.json`;try{let n=await fetch(s,{cache:"no-store"});return n.ok?await n.json():null}catch{return null}}w.registry=j;w.enums=l;w.adoptLayers=Te;w.adoptPrimitives=Me;w.parse=se;w.createStylesheet=De;w.isLiveMode=()=>j.isLive;w.ask=We;w.toast=M;w.common=ne;w.AutoComplete=V;function Ve(e){let t=typeof CustomEvent=="function";try{let s=t?new CustomEvent("pds:ready",{detail:e}):new Event("pds:ready");w.dispatchEvent(s)}catch{}if(typeof document<"u")if(t){let s={detail:e,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=w);var we="pure-ds-theme",W=null,O=null;function ke(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 xe(e){try{if(W&&O){try{typeof W.removeEventListener=="function"?W.removeEventListener("change",O):typeof W.removeListener=="function"&&W.removeListener(O)}catch{}W=null,O=null}if(e==="system"&&typeof window<"u"&&window.matchMedia){let t=window.matchMedia("(prefers-color-scheme: dark)"),s=n=>{let i=n?.matches===void 0?t.matches:n.matches;try{let r=i?"dark":"light";document.documentElement.setAttribute("data-theme",r),w.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:r,source:"system"}}))}catch{}};W=t,O=s,typeof t.addEventListener=="function"?t.addEventListener("change",s):typeof t.addListener=="function"&&t.addListener(s)}}catch{}}Object.defineProperty(w,"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=w.currentConfig?.design||null,s=ge(e);if(t&&!qe(t,s)){let n=t?.name||w.currentPreset?.name||w.currentConfig?.preset||"current preset";console.warn(`PDS theme "${s}" not supported by preset "${n}".`),w.dispatchEvent(new CustomEvent("pds:theme:blocked",{detail:{theme:e,resolvedTheme:s,preset:n}}));return}e==null?localStorage.removeItem(we):localStorage.setItem(we,e),ke(e),xe(e),w.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:e,source:"api"}}))}catch{}}});w.defaultEnhancers=ie;async function St(e){let t=e&&e.mode||"live",{mode:s,...n}=e||{};if(t==="static")return kt(n);let i=fe(n,{resolvePublicAssetURL:oe}),r=n?.managerURL||n?.public?.managerURL||n?.manager?.url||new URL("core/pds-manager.js",i).href||new URL("./pds-manager.js",import.meta.url).href,{startLive:o}=await import(r);return o(w,n,{emitReady:Ve,applyResolvedTheme:ke,setupSystemListenerIfNeeded:xe})}w.start=St;async function kt(e){if(!e||typeof e!="object")throw new Error("PDS.start({ mode: 'static', ... }) requires a valid configuration object");let t=e.applyGlobalStyles??!0,s=e.manageTheme??!0,n=e.themeStorageKey??"pure-ds-theme",i=e.staticPaths??{},r=fe(e,{resolvePublicAssetURL:oe}),o=e&&e.autoDefine||null,u;o&&o.baseURL?u=J(Y(o.baseURL,{preferModule:!1})):u=`${r}components/`;let p=o&&Array.isArray(o.predefine)&&o.predefine||[],d=o&&typeof o.mapper=="function"&&o.mapper||null;try{Be(w);let{resolvedTheme:a}=Ne({manageTheme:s,themeStorageKey:n,applyResolvedTheme:ke,setupSystemListenerIfNeeded:xe}),c=await wt(r,e),f=c?.config?.design||c?.design||null,h=c?.config?.preset||c?.preset||"default",k=c?.presetId||Ge(h)||"default",S=f?{[String(k).toLowerCase()]:f,...String(k).toLowerCase()!=="default"?{default:f}:{}}:null,b=e?.design&&typeof e.design=="object"?I(e.design):null,x=Ge(e?.preset||"default")||"default",P=b?{[String(x).toLowerCase()]:b,...String(x).toLowerCase()!=="default"?{default:b}:{}}:null,L=S||e?.presets||P||{};if(!Object.keys(L||{}).length)throw new Error("PDS static mode requires preset data. Run pds:build or provide config.presets/config.design.");let T=c?.config?{...c.config,...e,preset:e?.preset||k,design:b||f||c?.config?.design}:e,C=He(T,{},{presets:L,defaultLog:be}),_=C.enhancers,z={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`},q=c?.paths||{};if(i={...z,...q,...i},w.registry.setStaticMode(i),t&&typeof document<"u")try{let v=await w.registry.getStylesheet("styles");if(v){v._pds=!0;let U=(document.adoptedStyleSheets||[]).filter(m=>m._pds!==!0);document.adoptedStyleSheets=[...U,v]}}catch(v){be.call(w,"warn","Failed to apply static styles:",v)}let R=null,D=[];try{let v=await Oe({autoDefineBaseURL:u,autoDefinePreload:p,autoDefineMapper:d,enhancers:_,autoDefineOverrides:o||null,autoDefinePreferModule:!(o&&o.baseURL)},{baseEnhancers:ie});R=v.autoDefiner,D=v.mergedEnhancers||[]}catch(v){be.call(w,"error","\u274C Failed to initialize AutoDefiner/Enhancers (static):",v)}let B=I(e);return w.currentConfig=Object.freeze({mode:"static",...structuredClone(B),design:structuredClone(C.generatorConfig.design),preset:C.generatorConfig.preset,theme:a,enhancers:D}),Ve({mode:"static",config:C.generatorConfig,theme:a,autoDefiner:R}),{config:C.generatorConfig,theme:a,autoDefiner:R}}catch(a){throw w.dispatchEvent(new CustomEvent("pds:error",{detail:{error:a}})),a}}var E={name:"@pure-ds/core",shortname:"pds",version:"0.6.3",description:"Pure Design System - 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/js/pds.js",module:"./public/assets/js/pds.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-setup-copilot":"packages/pds-cli/bin/pds-setup-copilot.js","pds-init-config":"packages/pds-cli/bin/pds-init-config.js","pds-bootstrap":"packages/pds-cli/bin/pds-bootstrap.js"},exports:{".":{types:"./src/js/pds.d.ts",import:"./public/assets/js/pds.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/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-core/","custom-elements.json","custom-elements-manifest.config.js","pds.html-data.json","pds.css-data.json","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:dx":"node packages/pds-cli/bin/pds-dx.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",esbuild:"^0.19.0","fs-extra":"^11.1.1",typescript:"^5.6.3","@types/node":"^22.10.2"},dependencies:{lit:"^3.3.1","pure-web":"1.1.30"},customElements:"custom-elements.json"};await w.start(Q);var vt=new Date,Et=vt.toLocaleDateString(void 0,{year:"numeric",month:"long",day:"numeric"}),Qe=typeof E.repository=="string"?E.repository:E.repository?.url,ve=Qe?Qe.replace(/^git\+/,"").replace(/\.git$/,""):"",Lt=E.homepage||ve,At=E.bugs?.url||"";document.body.innerHTML=`
31
+ `;let u=i.querySelector("#msg-container");re(u,e)}i.addEventListener("click",u=>{u.target.closest('button[value="cancel"]')&&(i.close(),n(!1))});let o=()=>{let u=i.querySelector("form");u?u.addEventListener("submit",p=>{p.preventDefault();let d;t.useForm&&p.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=p.submitter.value==="ok",i.close(),n(d)}):requestAnimationFrame(o)};o(),i.addEventListener("close",()=>{setTimeout(()=>i.remove(),200)}),document.body.appendChild(i),typeof t.rendered=="function"&&t.rendered(i),i.showModal()})}async function Je(){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 M(e,t={}){return(await Je()).toast(e,t)}M.success=async function(e,t={}){return M(e,{...t,type:"success"})};M.error=async function(e,t={}){return M(e,{...t,type:"error"})};M.warning=async function(e,t={}){return M(e,{...t,type:"warning"})};M.info=async function(e,t={}){return M(e,{...t,type:"information"})};var Ye=[{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 Xe(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(s=>{s!==t.target&&(s.open=!1)})},!0))}function et(e){if(e.dataset.enhancedDropdown)return;e.dataset.enhancedDropdown="true";let t=e.lastElementChild;if(!t)return;let s=e.querySelector("[data-dropdown-toggle]")||e.querySelector("button");s&&!s.hasAttribute("type")&&s.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"),s&&(s.setAttribute("aria-haspopup","true"),s.setAttribute("aria-controls",t.id),s.setAttribute("aria-expanded","false"));let i=()=>{let a=(e.getAttribute("data-direction")||e.getAttribute("data-dropdown-direction")||e.getAttribute("data-mode")||"auto").toLowerCase();if(a==="up"||a==="down")return a;let c=e.getBoundingClientRect(),f=t?.getBoundingClientRect?.()||{height:0},h=Math.max(t?.offsetHeight||0,t?.scrollHeight||0,f.height||0,200),k=Math.max(0,window.innerHeight-c.bottom),S=Math.max(0,c.top);return k>=h?"down":S>=h||S>k?"up":"down"},r=()=>{let a=(e.getAttribute("data-align")||e.getAttribute("data-dropdown-align")||"auto").toLowerCase();if(a==="left"||a==="right"||a==="start"||a==="end")return a==="start"?"left":a==="end"?"right":a;let c=e.getBoundingClientRect(),f=t?.getBoundingClientRect?.()||{width:0},h=Math.max(t?.offsetWidth||0,t?.scrollWidth||0,f.width||0,240),k=Math.max(0,window.innerWidth-c.left),S=Math.max(0,c.right);return k>=h?"left":S>=h||S>k?"right":"left"},o=null,u=()=>{e.dataset.dropdownDirection=i(),e.dataset.dropdownAlign=r(),t.setAttribute("aria-hidden","false"),s?.setAttribute("aria-expanded","true"),o||(o=a=>{(a.composedPath?a.composedPath():[a.target]).some(h=>h===e)||p()},setTimeout(()=>{document.addEventListener("click",o)},0))},p=()=>{t.setAttribute("aria-hidden","true"),s?.setAttribute("aria-expanded","false"),o&&(document.removeEventListener("click",o),o=null)},d=()=>{t.getAttribute("aria-hidden")==="false"?p():u()};s?.addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),d()}),e.addEventListener("keydown",a=>{a.key==="Escape"&&(p(),s?.focus())}),e.addEventListener("focusout",a=>{a.relatedTarget&&((a.composedPath?a.composedPath():[a.relatedTarget]).some(h=>h===e)||p())})}function tt(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 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),e.insertBefore(s,t.nextSibling);let i=()=>{e.setAttribute("aria-checked",t.checked?"true":"false")},r=()=>{t.disabled||(t.checked=!t.checked,i(),t.dispatchEvent(new Event("change",{bubbles:!0})))};e.addEventListener("click",o=>{o.preventDefault(),r()}),e.addEventListener("keydown",o=>{(o.key===" "||o.key==="Enter")&&(o.preventDefault(),r())}),t.addEventListener("change",i)}function st(e){if(e.dataset.enhancedRange)return;let t=e.closest("label"),s=t?.classList.contains("range-output"),n=e.id||`range-${Math.random().toString(36).substring(2,11)}`,i=`${n}-output`;if(e.id=n,s){let r=t.querySelector("span");if(r&&!r.classList.contains("range-output-wrapper")){let o=document.createElement("span");o.className="range-output-wrapper",o.style.display="flex",o.style.justifyContent="space-between",o.style.alignItems="center";let u=document.createElement("span");u.textContent=r.textContent,o.appendChild(u);let p=document.createElement("output");p.id=i,p.setAttribute("for",n),p.style.color="var(--surface-text-secondary, var(--color-text-secondary))",p.style.fontSize="0.875rem",p.textContent=e.value,o.appendChild(p),r.textContent="",r.appendChild(o);let d=()=>{p.textContent=e.value};e.addEventListener("input",d)}}else{let r=e.closest(".range-container");r||(r=document.createElement("div"),r.className="range-container",e.parentNode?.insertBefore(r,e),r.appendChild(e)),r.style.position="relative";let o=document.createElement("output");o.id=i,o.setAttribute("for",n),o.className="range-bubble",o.setAttribute("aria-live","polite"),r.appendChild(o);let u=()=>{let a=parseFloat(e.min)||0,c=parseFloat(e.max)||100,f=parseFloat(e.value),h=(f-a)/(c-a);o.style.left=`calc(${h*100}% )`,o.textContent=String(f)},p=()=>o.classList.add("visible"),d=()=>o.classList.remove("visible");e.addEventListener("input",u),e.addEventListener("pointerdown",p),e.addEventListener("pointerup",d),e.addEventListener("pointerleave",d),e.addEventListener("focus",p),e.addEventListener("blur",d),u()}e.dataset.enhancedRange="1"}function nt(e){if(e.dataset.enhancedRequired)return;e.dataset.enhancedRequired="true";let t=s=>{let n;if(s.closest("[role$=group]")?n=s.closest("[role$=group]").querySelector("legend"):n=s.closest("label"),!n||n.querySelector(".required-asterisk"))return;let i=document.createElement("span");i.classList.add("required-asterisk"),i.textContent="*",i.style.marginLeft="4px";let r=n.querySelector("span, [data-label]");if(r)r.appendChild(i);else{let u=n.querySelector("input, select, textarea");u?n.insertBefore(i,u):n.appendChild(i)}let o=s.closest("form");if(o&&!o.querySelector(".required-legend")){let u=document.createElement("small");u.classList.add("required-legend"),u.textContent="* Required fields",o.insertBefore(u,o.querySelector(".form-actions")||o.lastElementChild)}};e.querySelectorAll("[required]").forEach(s=>{t(s)})}function rt(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 s=e.querySelector('input[type="radio"], input[type="checkbox"]');e.appendChild(t),t.addEventListener("keydown",n=>{if(n.key==="Enter"||n.key==="Tab"){let i=t.value.trim();if(i){n.preventDefault();let r=s.type==="radio"?"radio":"checkbox",o=`open-group-${Math.random().toString(36).substring(2,11)}`,u=document.createElement("label"),p=document.createElement("span");p.setAttribute("data-label",""),p.textContent=i;let d=document.createElement("input");d.type=r,d.name=s.name||e.getAttribute("data-name")||"open-group",d.value=i,d.id=o,u.appendChild(p),u.appendChild(d),e.insertBefore(u,t),t.value=""}}else if(n.key==="Backspace"&&t.value===""){n.preventDefault();let i=e.querySelectorAll("label");i.length>0&&i[i.length-1].remove()}})}function it(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 n=e.getAttribute("data-clip-open")==="true";e.setAttribute("aria-expanded",n?"true":"false")},s=()=>{let n=e.getAttribute("data-clip-open")==="true";e.setAttribute("data-clip-open",n?"false":"true"),t()};e.addEventListener("click",n=>{n.defaultPrevented||s()}),e.addEventListener("keydown",n=>{(n.key===" "||n.key==="Enter")&&(n.preventDefault(),s())}),t()}function ot(e){if(e.dataset.enhancedBtnWorking)return;e.dataset.enhancedBtnWorking="true";let t=null,s=!1;new MutationObserver(i=>{i.forEach(r=>{if(r.attributeName==="class"){let o=e.classList.contains("btn-working"),u=e.querySelector("pds-icon");if(o)if(u)t||(t=u.getAttribute("icon")),u.setAttribute("icon","circle-notch");else{let p=document.createElement("pds-icon");p.setAttribute("icon","circle-notch"),p.setAttribute("size","sm"),e.insertBefore(p,e.firstChild),s=!0}else r.oldValue?.includes("btn-working")&&u&&(s?(u.remove(),s=!1):t&&(u.setAttribute("icon",t),t=null))}})}).observe(e,{attributes:!0,attributeFilter:["class"],attributeOldValue:!0})}var at=new Map([[".accordion",Xe],["nav[data-dropdown]",et],["label[data-toggle]",tt],['input[type="range"]',st],["form[data-required]",nt],["fieldset[role=group][data-open]",rt],["[data-clip]",it],["button, a[class*='btn-']",ot]]),ie=Ye.map(e=>({...e,run:at.get(e.selector)||(()=>{})}));var ze="pds",ct=/^([a-z][a-z0-9+\-.]*:)?\/\//i,Pe=/^[a-z]:/i;function H(e=""){return e.endsWith("/")?e:`${e}/`}function lt(e="",t=ze){let s=e.replace(/\/+$/,"");return new RegExp(`(?:^|/)${t}$`,"i").test(s)?s:`${s}/${t}`}function dt(e){return e.replace(/^\.\/+/,"")}function ut(e){return Pe.test(e)?e.replace(Pe,"").replace(/^\/+/,""):e}function pt(e){return e.startsWith("public/")?e.substring(7):e}function oe(e,t={}){let s=t.segment||ze,n=t.defaultRoot||`/assets/${s}/`,i=e?.public&&e.public?.root||e?.static&&e.static?.root||null;if(!i||typeof i!="string")return H(n);let r=i.trim();return r?(r=r.replace(/\\/g,"/"),r=lt(r,s),r=H(r),ct.test(r)?r:(r=dt(r),r=ut(r),r.startsWith("/")||(r=pt(r),r.startsWith("/")||(r=`/${r}`),r=r.replace(/\/+/g,(o,u)=>u===0?o:"/")),H(r))):H(n)}var j="any",le={type:"object",allowUnknown:!1,properties:{id:{type:"string"},name:{type:"string"},tags:{type:"array",items:{type:"string"}},description:{type:"string"},options:{type:"object",allowUnknown:!0},form:{type:"object",allowUnknown:!0},colors:{type:"object",allowUnknown:!1,properties:{primary:{type:"string",relations:{tokens:["--color-primary-*","--color-primary-fill","--color-primary-text","--background-mesh-*"]}},secondary:{type:"string",relations:{tokens:["--color-secondary-*","--color-gray-*","--background-mesh-*"]}},accent:{type:"string",relations:{tokens:["--color-accent-*","--background-mesh-*"]}},background:{type:"string",relations:{tokens:["--color-surface-*","--color-surface-translucent-*","--surface-*-bg","--surface-*-text","--surface-*-text-secondary","--surface-*-text-muted","--surface-*-icon","--surface-*-icon-subtle","--surface-*-shadow","--surface-*-border"]}},success:{type:["string","null"],relations:{tokens:["--color-success-*"]}},warning:{type:["string","null"],relations:{tokens:["--color-warning-*"]}},danger:{type:["string","null"],relations:{tokens:["--color-danger-*"]}},info:{type:["string","null"],relations:{tokens:["--color-info-*"]}},gradientStops:{type:"number"},elevationOpacity:{type:"number",relations:{tokens:["--surface-*-shadow"]}},darkMode:{type:"object",allowUnknown:!0,properties:{background:{type:"string",relations:{theme:"dark",tokens:["--color-surface-*","--color-surface-translucent-*","--surface-*-bg","--surface-*-text","--surface-*-text-secondary","--surface-*-text-muted","--surface-*-icon","--surface-*-icon-subtle","--surface-*-shadow","--surface-*-border"]}},primary:{type:"string",relations:{theme:"dark",tokens:["--color-primary-*","--color-primary-fill","--color-primary-text"]}},secondary:{type:"string",relations:{theme:"dark",tokens:["--color-secondary-*","--color-gray-*"]}},accent:{type:"string",relations:{theme:"dark",tokens:["--color-accent-*"]}}}}}},typography:{type:"object",allowUnknown:!1,properties:{fontFamilyHeadings:{type:"string",relations:{tokens:["--font-family-headings"]}},fontFamilyBody:{type:"string",relations:{tokens:["--font-family-body"]}},fontFamilyMono:{type:"string",relations:{tokens:["--font-family-mono"]}},baseFontSize:{type:"number",relations:{tokens:["--font-size-*"]}},fontScale:{type:"number",relations:{tokens:["--font-size-*"]}},fontWeightLight:{type:["string","number"],relations:{tokens:["--font-weight-light"]}},fontWeightNormal:{type:["string","number"],relations:{tokens:["--font-weight-normal"]}},fontWeightMedium:{type:["string","number"],relations:{tokens:["--font-weight-medium"]}},fontWeightSemibold:{type:["string","number"],relations:{tokens:["--font-weight-semibold"]}},fontWeightBold:{type:["string","number"],relations:{tokens:["--font-weight-bold"]}},lineHeightTight:{type:["string","number"],relations:{tokens:["--font-line-height-tight"]}},lineHeightNormal:{type:["string","number"],relations:{tokens:["--font-line-height-normal"]}},lineHeightRelaxed:{type:["string","number"],relations:{tokens:["--font-line-height-relaxed"]}},letterSpacingTight:{type:"number"},letterSpacingNormal:{type:"number"},letterSpacingWide:{type:"number"}}},spatialRhythm:{type:"object",allowUnknown:!1,properties:{baseUnit:{type:"number",relations:{tokens:["--spacing-*"]}},scaleRatio:{type:"number"},maxSpacingSteps:{type:"number",relations:{tokens:["--spacing-*"]}},containerMaxWidth:{type:["number","string"]},containerPadding:{type:"number"},inputPadding:{type:"number",relations:{rules:[{selectors:["input","textarea","select"],properties:["padding"]}]}},buttonPadding:{type:"number",relations:{rules:[{selectors:["button",".btn"],properties:["padding"]}]}},sectionSpacing:{type:"number",relations:{rules:[{selectors:["section"],properties:["margin","padding"]}]}}}},shape:{type:"object",allowUnknown:!1,properties:{radiusSize:{type:["string","number"],relations:{tokens:["--radius-*"]}},customRadius:{type:["string","number","null"]},borderWidth:{type:["string","number"],relations:{tokens:["--border-width-*"]}}}},behavior:{type:"object",allowUnknown:!1,properties:{transitionSpeed:{type:["string","number"],relations:{tokens:["--transition-*"]}},animationEasing:{type:"string"},customTransitionSpeed:{type:["number","null"]},customEasing:{type:["string","null"]},focusRingWidth:{type:"number",relations:{rules:[{selectors:[":focus-visible"],properties:["outline-width","box-shadow"]}]}},focusRingOpacity:{type:"number",relations:{rules:[{selectors:[":focus-visible"],properties:["box-shadow","outline-color"]}]}},hoverOpacity:{type:"number"}}},layout:{type:"object",allowUnknown:!1,properties:{maxWidth:{type:["number","string"],relations:{tokens:["--layout-max-width","--layout-max-width-*"]}},maxWidths:{type:"object",allowUnknown:!1,properties:{sm:{type:["number","string"],relations:{tokens:["--layout-max-width-sm"]}},md:{type:["number","string"],relations:{tokens:["--layout-max-width-md"]}},lg:{type:["number","string"],relations:{tokens:["--layout-max-width-lg"]}},xl:{type:["number","string"],relations:{tokens:["--layout-max-width-xl"]}}}},containerPadding:{type:["number","string"],relations:{tokens:["--layout-container-padding"]}},breakpoints:{type:"object",allowUnknown:!1,properties:{sm:{type:"number"},md:{type:"number"},lg:{type:"number"},xl:{type:"number"}}},gridColumns:{type:"number"},gridGutter:{type:"number"},densityCompact:{type:"number"},densityNormal:{type:"number"},densityComfortable:{type:"number"},buttonMinHeight:{type:"number"},inputMinHeight:{type:"number"},baseShadowOpacity:{type:"number",relations:{tokens:["--shadow-*"]}},darkMode:{type:"object",allowUnknown:!0,properties:{baseShadowOpacity:{type:"number",relations:{theme:"dark",tokens:["--shadow-*"]}}}},utilities:{type:"object",allowUnknown:!0},gridSystem:{type:"object",allowUnknown:!0},containerMaxWidth:{type:["number","string"]}}},layers:{type:"object",allowUnknown:!1,properties:{baseShadowOpacity:{type:"number",relations:{tokens:["--shadow-*"]}},shadowBlurMultiplier:{type:"number",relations:{tokens:["--shadow-*"]}},shadowOffsetMultiplier:{type:"number",relations:{tokens:["--shadow-*"]}},shadowDepth:{type:"string"},blurLight:{type:"number"},blurMedium:{type:"number"},blurHeavy:{type:"number"},baseZIndex:{type:"number",relations:{tokens:["--z-*"]}},zIndexStep:{type:"number",relations:{tokens:["--z-*"]}},zIndexBase:{type:"number"},zIndexDropdown:{type:"number"},zIndexSticky:{type:"number"},zIndexFixed:{type:"number"},zIndexModal:{type:"number"},zIndexPopover:{type:"number"},zIndexTooltip:{type:"number"},zIndexNotification:{type:"number"},darkMode:{type:"object",allowUnknown:!0,properties:{baseShadowOpacity:{type:"number",relations:{theme:"dark",tokens:["--shadow-*"]}}}}}},advanced:{type:"object",allowUnknown:!0},a11y:{type:"object",allowUnknown:!0},icons:{type:"object",allowUnknown:!1,properties:{set:{type:"string"},weight:{type:"string"},defaultSize:{type:"number",relations:{tokens:["--icon-size"]}},sizes:{type:"object",allowUnknown:!0},spritePath:{type:"string"},externalPath:{type:"string"},include:{type:"object",allowUnknown:!0}}},components:{type:"object",allowUnknown:!0},gap:{type:"number"},debug:{type:"boolean"}}},ht={type:"object",allowUnknown:!0,properties:{mode:{type:"string"},preset:{type:"string"},design:le,enhancers:{type:["object","array"]},applyGlobalStyles:{type:"boolean"},manageTheme:{type:"boolean"},themeStorageKey:{type:"string"},preloadStyles:{type:"boolean"},criticalLayers:{type:"array",items:{type:"string"}},autoDefine:{type:"object",allowUnknown:!1,properties:{predefine:{type:"array",items:{type:"string"}},mapper:{type:j},enhancers:{type:["object","array"]},scanExisting:{type:"boolean"},observeShadows:{type:"boolean"},patchAttachShadow:{type:"boolean"},debounceMs:{type:"number"},onError:{type:j},baseURL:{type:"string"}}},managerURL:{type:"string"},manager:{type:j},liveEdit:{type:"boolean"},log:{type:j}}};function ae(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function ft(e,t){if(t===j)return!0;let s=ae(e);return Array.isArray(t)?t.includes(s):s===t}function Z(e,t,s,n){if(!t)return;let i=t.type||j;if(!ft(e,i)){n.push({path:s,expected:i,actual:ae(e),message:`Expected ${i} but got ${ae(e)}`});return}if(i==="array"&&t.items&&Array.isArray(e)&&e.forEach((r,o)=>{Z(r,t.items,`${s}[${o}]`,n)}),i==="object"&&e&&typeof e=="object"){let r=t.properties||{};for(let[o,u]of Object.entries(e)){if(!Object.prototype.hasOwnProperty.call(r,o)){t.allowUnknown||n.push({path:`${s}.${o}`,expected:"known property",actual:"unknown",message:`Unknown property "${o}"`});continue}Z(u,r[o],`${s}.${o}`,n)}}}function ce(e,t="",s={}){if(!e||typeof e!="object")return s;if(e.relations&&t&&(s[t]=e.relations),e.type==="object"&&e.properties&&Object.entries(e.properties).forEach(([n,i])=>{let r=t?`${t}.${n}`:n;ce(i,r,s)}),e.type==="array"&&e.items){let n=`${t}[]`;ce(e.items,n,s)}return s}var Nt=ce(le,"");function de(e,{log:t,context:s="PDS config"}={}){if(!e||typeof e!="object")return[];let n=[];return Z(e,le,"design",n),n.length&&typeof t=="function"&&n.forEach(i=>{t("warn",`[${s}] ${i.message} at ${i.path}`)}),n}function Ue(e,{log:t,context:s="PDS config"}={}){if(!e||typeof e!="object")return[];let n=[];return Z(e,ht,"config",n),n.length&&typeof t=="function"&&n.forEach(i=>{t("warn",`[${s}] ${i.message} at ${i.path}`)}),n}var mt={"ocean-breeze":{id:"ocean-breeze",name:"Ocean Breeze",tags:["playful"],description:"Fresh and calming ocean-inspired palette with professional undertones",options:{liquidGlassEffects:!0,backgroundMesh:3},colors:{primary:"#0891b2",secondary:"#64748b",accent:"#06b6d4",background:"#f0f9ff",darkMode:{background:"#0c1821",secondary:"#94a3b8",primary:"#0891b2"}},typography:{baseFontSize:17,fontScale:1.5,fontFamilyHeadings:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',fontFamilyBody:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif'},spatialRhythm:{baseUnit:6,scaleRatio:1.2},shape:{radiusSize:l.RadiusSizes.xxlarge}},"midnight-steel":{id:"midnight-steel",name:"Midnight Steel",description:"Bold industrial aesthetic with sharp contrasts and urban edge",colors:{primary:"#3b82f6",secondary:"#52525b",accent:"#f59e0b",background:"#fafaf9",darkMode:{background:"#18181b",secondary:"#71717a",primary:"#3b82f6"}},typography:{baseFontSize:16,fontScale:1.333,fontFamilyHeadings:"'IBM Plex Sans', system-ui, -apple-system, sans-serif",fontFamilyBody:"'Inter', system-ui, -apple-system, sans-serif",fontWeightSemibold:600},spatialRhythm:{baseUnit:4,scaleRatio:1.25},shape:{radiusSize:l.RadiusSizes.small,borderWidth:l.BorderWidths.thin}},"neural-glow":{id:"neural-glow",name:"Neural Glow",description:"AI-inspired with vibrant purple-blue gradients and futuristic vibes",colors:{primary:"#8b5cf6",secondary:"#6366f1",accent:"#ec4899",background:"#faf5ff",darkMode:{background:"#0f0a1a",secondary:"#818cf8",primary:"#8b5cf6"}},typography:{baseFontSize:16,fontScale:1.618,fontFamilyHeadings:"'Space Grotesk', system-ui, sans-serif",fontFamilyBody:"'Space Grotesk', system-ui, sans-serif"},spatialRhythm:{baseUnit:4,scaleRatio:1.5},shape:{radiusSize:l.RadiusSizes.xlarge,borderWidth:l.BorderWidths.medium},behavior:{transitionSpeed:l.TransitionSpeeds.fast}},"paper-and-ink":{id:"paper-and-ink",name:"Paper & Ink",tags:["app","featured"],themes:["light"],description:"Ultra-minimal design with focus on typography and whitespace",colors:{primary:"#171717",secondary:"#737373",accent:"#525252",background:"#ffffff",darkMode:{background:"#0a0a0a",secondary:"#a3a3a3",primary:"#737373"}},typography:{baseFontSize:18,fontScale:1.333,fontFamilyHeadings:"'Helvetica Neue', 'Arial', sans-serif",fontFamilyBody:"'Georgia', 'Times New Roman', serif",fontWeightNormal:400,fontWeightBold:700},spatialRhythm:{baseUnit:4,scaleRatio:1.2},shape:{radiusSize:l.RadiusSizes.none,borderWidth:l.BorderWidths.thin}},"sunset-paradise":{id:"sunset-paradise",name:"Sunset Paradise",description:"Warm tropical colors evoking golden hour by the beach",options:{liquidGlassEffects:!0,backgroundMesh:2},colors:{primary:"#ea580c",secondary:"#d4a373",accent:"#fb923c",background:"#fffbeb",darkMode:{background:"#1a0f0a",secondary:"#c9a482",primary:"#f97316"}},typography:{baseFontSize:16,fontScale:1.5,fontFamilyHeadings:"'Quicksand', 'Comfortaa', sans-serif",fontFamilyBody:"'Quicksand', 'Comfortaa', sans-serif"},spatialRhythm:{baseUnit:6,scaleRatio:1.5},shape:{radiusSize:l.RadiusSizes.xxlarge,borderWidth:l.BorderWidths.medium}},"retro-wave":{id:"retro-wave",name:"Retro Wave",description:"Nostalgic 80s-inspired palette with neon undertones",colors:{primary:"#c026d3",secondary:"#a78bfa",accent:"#22d3ee",background:"#fef3ff",darkMode:{background:"#1a0a1f",secondary:"#c4b5fd",primary:"#d946ef"}},typography:{baseFontSize:15,fontScale:1.5,fontFamilyHeadings:"'Orbitron', 'Impact', monospace",fontFamilyBody:"'Courier New', 'Courier', monospace",fontWeightBold:700},spatialRhythm:{baseUnit:4,scaleRatio:1.25},shape:{radiusSize:l.RadiusSizes.none,borderWidth:l.BorderWidths.thick},behavior:{transitionSpeed:l.TransitionSpeeds.instant}},"forest-canopy":{id:"forest-canopy",name:"Forest Canopy",description:"Natural earth tones with organic, calming green hues",colors:{primary:"#059669",secondary:"#78716c",accent:"#84cc16",background:"#f0fdf4",darkMode:{background:"#0a1410",secondary:"#a8a29e",primary:"#10b981"}},typography:{baseFontSize:16,fontScale:1.414,fontFamilyHeadings:"'Merriweather Sans', 'Arial', sans-serif",fontFamilyBody:"'Merriweather', 'Georgia', serif"},spatialRhythm:{baseUnit:6,scaleRatio:1.3},shape:{radiusSize:l.RadiusSizes.medium,borderWidth:l.BorderWidths.thin}},"ruby-elegance":{id:"ruby-elegance",name:"Ruby Elegance",description:"Sophisticated palette with rich ruby reds and warm accents",colors:{primary:"#dc2626",secondary:"#9ca3af",accent:"#be123c",background:"#fef2f2",darkMode:{background:"#1b0808",secondary:"#d1d5db",primary:"#ef4444"}},typography:{baseFontSize:17,fontScale:1.5,fontFamilyHeadings:"'Playfair Display', 'Georgia', serif",fontFamilyBody:"'Crimson Text', 'Garamond', serif",fontWeightNormal:400,fontWeightSemibold:600},spatialRhythm:{baseUnit:4,scaleRatio:1.333},shape:{radiusSize:l.RadiusSizes.small,borderWidth:l.BorderWidths.thin}},"desert-dawn":{id:"desert-dawn",name:"Desert Dawn",description:"Sun-baked neutrals with grounded terracotta and cool oasis accents",colors:{primary:"#b45309",secondary:"#a8a29e",accent:"#0ea5a8",background:"#fcf6ef",darkMode:{background:"#12100e",secondary:"#d1d5db",primary:"#f59e0b"}},typography:{baseFontSize:16,fontScale:1.414,fontFamilyHeadings:"'Source Sans Pro', system-ui, -apple-system, sans-serif",fontFamilyBody:"'Source Serif Pro', Georgia, serif"},spatialRhythm:{baseUnit:6,scaleRatio:1.3},shape:{radiusSize:l.RadiusSizes.medium,borderWidth:l.BorderWidths.medium}},"contrast-pro":{id:"contrast-pro",name:"Contrast Pro",description:"Accessibility-first, high-contrast UI with assertive clarity",colors:{primary:"#1f2937",secondary:"#111827",accent:"#eab308",background:"#ffffff",darkMode:{background:"#0b0f14",secondary:"#9ca3af",primary:"#9ca3af"}},typography:{baseFontSize:17,fontScale:1.2,fontFamilyHeadings:"system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",fontFamilyBody:"system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",fontWeightBold:700},spatialRhythm:{baseUnit:3,scaleRatio:1.2},shape:{radiusSize:l.RadiusSizes.small,borderWidth:l.BorderWidths.thick},behavior:{transitionSpeed:l.TransitionSpeeds.fast,focusRingWidth:4}},"pastel-play":{id:"pastel-play",name:"Pastel Play",themes:["light"],description:"Playful pastels with soft surfaces and friendly rounded shapes",colors:{primary:"#db2777",secondary:"#a78bfa",accent:"#34d399",background:"#fff7fa",darkMode:{background:"#1a1016",secondary:"#c4b5fd",primary:"#ec4899"}},typography:{baseFontSize:16,fontScale:1.333,fontFamilyHeadings:"'Nunito', system-ui, -apple-system, sans-serif",fontFamilyBody:"'Nunito', system-ui, -apple-system, sans-serif",lineHeightRelaxed:l.LineHeights.relaxed},spatialRhythm:{baseUnit:6,scaleRatio:1.4},shape:{radiusSize:l.RadiusSizes.xxlarge,borderWidth:l.BorderWidths.thin},behavior:{transitionSpeed:l.TransitionSpeeds.slow,animationEasing:l.AnimationEasings["ease-out"]}},"brutalist-tech":{id:"brutalist-tech",name:"Brutalist Tech",description:"Stark grayscale with engineered accents and unapologetically bold structure",colors:{primary:"#111111",secondary:"#4b5563",accent:"#06b6d4",background:"#f8fafc",darkMode:{background:"#0c0c0c",secondary:"#9ca3af",primary:"#06b6d4"}},typography:{baseFontSize:15,fontScale:1.25,fontFamilyHeadings:"'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace",fontFamilyBody:"'Inter', system-ui, -apple-system, sans-serif",letterSpacingTight:-.02},spatialRhythm:{baseUnit:4,scaleRatio:1.25},shape:{radiusSize:l.RadiusSizes.none,borderWidth:l.BorderWidths.thick},behavior:{transitionSpeed:l.TransitionSpeeds.instant}},"zen-garden":{id:"zen-garden",name:"Zen Garden",description:"Soft botanicals with contemplative spacing and balanced motion",colors:{primary:"#3f6212",secondary:"#6b7280",accent:"#7c3aed",background:"#f7fbef",darkMode:{background:"#0d130a",secondary:"#a3a3a3",primary:"#84cc16"}},typography:{baseFontSize:17,fontScale:1.414,fontFamilyHeadings:"'Merriweather', Georgia, serif",fontFamilyBody:"'Noto Sans', system-ui, -apple-system, sans-serif"},spatialRhythm:{baseUnit:6,scaleRatio:1.35},shape:{radiusSize:l.RadiusSizes.large,borderWidth:l.BorderWidths.medium},behavior:{transitionSpeed:l.TransitionSpeeds.normal,animationEasing:l.AnimationEasings.ease}},"fitness-pro":{id:"fitness-pro",name:"Fitness Pro",tags:["app","featured"],description:"Health and fitness tracking aesthetic with data-driven dark surfaces and vibrant accent rings",options:{liquidGlassEffects:!0,backgroundMesh:2},colors:{primary:"#e91e63",secondary:"#78909c",accent:"#ab47bc",background:"#fafafa",darkMode:{background:"#1a1d21",secondary:"#78909c",primary:"#0a4ca4"}},typography:{baseFontSize:15,fontScale:1.25,fontFamilyHeadings:"'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif",fontFamilyBody:"'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeightNormal:l.LineHeights.tight},spatialRhythm:{baseUnit:4,scaleRatio:1.25,containerPadding:1.25,sectionSpacing:2.5},shape:{radiusSize:l.RadiusSizes.large,borderWidth:l.BorderWidths.thin},layers:{shadowDepth:"medium",blurMedium:12},behavior:{transitionSpeed:l.TransitionSpeeds.fast,animationEasing:l.AnimationEasings["ease-out"],focusRingWidth:2}},"travel-market":{id:"travel-market",name:"Travel Market",description:"Hospitality marketplace design with clean cards, subtle shadows, and trust-building neutrals",options:{liquidGlassEffects:!0,backgroundMesh:3},colors:{primary:"#d93251",secondary:"#717171",accent:"#144990",background:"#ffffff",darkMode:{background:"#222222",secondary:"#b0b0b0",primary:"#ff5a7a"}},typography:{baseFontSize:16,fontScale:1.2,fontFamilyHeadings:"'Circular', system-ui, -apple-system, 'Segoe UI', sans-serif",fontFamilyBody:"'Circular', system-ui, -apple-system, 'Segoe UI', sans-serif",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeightRelaxed:l.LineHeights.relaxed},spatialRhythm:{baseUnit:4,scaleRatio:1.25,containerMaxWidth:1440,containerPadding:1.5,sectionSpacing:3},shape:{radiusSize:l.RadiusSizes.medium,borderWidth:l.BorderWidths.thin},layers:{shadowDepth:"light",blurLight:8},behavior:{transitionSpeed:l.TransitionSpeeds.normal,animationEasing:l.AnimationEasings["ease-in-out"],hoverOpacity:.9}},"mobility-app":{id:"mobility-app",name:"Mobility App",tags:["app","featured"],description:"On-demand service platform with bold typography, map-ready colors, and action-driven UI",options:{liquidGlassEffects:!0,backgroundMesh:0},colors:{primary:"#000000",secondary:"#545454",accent:"#06c167",background:"#f6f6f6",darkMode:{background:"#0f0f0f",secondary:"#8a8a8a",primary:"#06c167"}},typography:{baseFontSize:16,fontScale:1.3,fontFamilyHeadings:"'UberMove', system-ui, -apple-system, 'Segoe UI', sans-serif",fontFamilyBody:"'UberMove', system-ui, -apple-system, 'Segoe UI', sans-serif",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700},spatialRhythm:{baseUnit:4,scaleRatio:1.25,buttonPadding:1.25,inputPadding:1},shape:{radiusSize:l.RadiusSizes.small,borderWidth:l.BorderWidths.medium},behavior:{transitionSpeed:l.TransitionSpeeds.fast,animationEasing:l.AnimationEasings["ease-out"],focusRingWidth:3},a11y:{minTouchTarget:l.TouchTargetSizes.comfortable,focusStyle:l.FocusStyles.ring}},"fintech-secure":{id:"fintech-secure",name:"Fintech Secure",description:"Financial services app UI with trust-building blues, precise spacing, and security-first design",options:{liquidGlassEffects:!1,backgroundMesh:0},colors:{primary:"#0a2540",secondary:"#425466",accent:"#00d4ff",background:"#f7fafc",darkMode:{background:"#0a1929",secondary:"#8796a5",primary:"#00d4ff"}},typography:{baseFontSize:16,fontScale:1.25,fontFamilyHeadings:"'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif",fontFamilyBody:"'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif",fontFamilyMono:"'JetBrains Mono', ui-monospace, 'Cascadia Code', monospace",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700},spatialRhythm:{baseUnit:4,scaleRatio:1.25,containerMaxWidth:1280,sectionSpacing:2.5},shape:{radiusSize:l.RadiusSizes.medium,borderWidth:l.BorderWidths.thin},layers:{shadowDepth:"light",blurLight:6},behavior:{transitionSpeed:l.TransitionSpeeds.fast,animationEasing:l.AnimationEasings["ease-in-out"],focusRingWidth:3,focusRingOpacity:.4},a11y:{minTouchTarget:l.TouchTargetSizes.standard,focusStyle:l.FocusStyles.ring}},"social-feed":{id:"social-feed",name:"Social Feed",tags:["app","featured"],description:"Content-first social platform with minimal chrome, bold actions, and vibrant media presentation",options:{liquidGlassEffects:!0,backgroundMesh:4},colors:{primary:"#1877f2",secondary:"#65676b",accent:"#fe2c55",background:"#ffffff",darkMode:{background:"#18191a",secondary:"#b0b3b8",primary:"#2d88ff"}},typography:{baseFontSize:15,fontScale:1.2,fontFamilyHeadings:"system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",fontFamilyBody:"system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeightNormal:l.LineHeights.relaxed},spatialRhythm:{baseUnit:4,scaleRatio:1.25,containerMaxWidth:680,sectionSpacing:1.5},shape:{radiusSize:l.RadiusSizes.medium,borderWidth:l.BorderWidths.thin},behavior:{transitionSpeed:l.TransitionSpeeds.fast,animationEasing:l.AnimationEasings["ease-out"],hoverOpacity:.85}},"enterprise-dash":{id:"enterprise-dash",tags:["app","featured"],name:"Enterprise Dashboard",description:"Data-dense business intelligence app interface with organized hierarchy and professional polish",options:{liquidGlassEffects:!1},colors:{primary:"#0066cc",secondary:"#5f6368",accent:"#1a73e8",background:"#ffffff",success:"#34a853",warning:"#fbbc04",danger:"#ea4335",darkMode:{background:"#202124",secondary:"#9aa0a6",primary:"#8ab4f8"}},typography:{baseFontSize:14,fontScale:1.2,fontFamilyHeadings:"'Roboto', system-ui, -apple-system, 'Segoe UI', sans-serif",fontFamilyBody:"'Roboto', system-ui, -apple-system, 'Segoe UI', sans-serif",fontFamilyMono:"'Roboto Mono', ui-monospace, Consolas, monospace",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeightNormal:l.LineHeights.tight},spatialRhythm:{baseUnit:4,scaleRatio:1.2,containerMaxWidth:1600,containerPadding:1.5,sectionSpacing:2},shape:{radiusSize:l.RadiusSizes.small,borderWidth:l.BorderWidths.thin},layers:{shadowDepth:"light",blurLight:4},behavior:{transitionSpeed:l.TransitionSpeeds.fast,animationEasing:l.AnimationEasings["ease-in-out"],focusRingWidth:2},layout:{densityCompact:.85,gridColumns:12}}};mt.default={id:"default",name:"Default",tags:["app","featured"],description:"Fresh and modern design system with balanced aesthetics and usability",options:{liquidGlassEffects:!0,backgroundMesh:4},form:{options:{widgets:{booleans:"toggle",numbers:"input",selects:"standard"},layouts:{fieldsets:"default",arrays:"default"},enhancements:{icons:!0,datalists:!0,rangeOutput:!0},validation:{showErrors:!0,validateOnChange:!1}}},colors:{primary:"#0e7490",secondary:"#a99b95",accent:"#e54271",background:"#e7e6de",darkMode:{background:"#16171a",secondary:"#8b9199",primary:"#06b6d4"},success:null,warning:"#B38600",danger:null,info:null,gradientStops:3,elevationOpacity:.05},typography:{baseFontSize:16,fontScale:1.2,fontFamilyHeadings:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',fontFamilyBody:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',fontFamilyMono:'ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace',fontWeightLight:l.FontWeights.light,fontWeightNormal:l.FontWeights.normal,fontWeightMedium:l.FontWeights.medium,fontWeightSemibold:l.FontWeights.semibold,fontWeightBold:l.FontWeights.bold,lineHeightTight:l.LineHeights.tight,lineHeightNormal:l.LineHeights.normal,lineHeightRelaxed:l.LineHeights.relaxed,letterSpacingTight:-.025,letterSpacingNormal:0,letterSpacingWide:.025},spatialRhythm:{baseUnit:4,scaleRatio:1.25,maxSpacingSteps:32,containerMaxWidth:1200,containerPadding:1,inputPadding:.75,buttonPadding:1,sectionSpacing:2},layers:{shadowDepth:"medium",blurLight:4,blurMedium:8,blurHeavy:16,zIndexBase:0,zIndexDropdown:1e3,zIndexSticky:1020,zIndexFixed:1030,zIndexModal:1040,zIndexPopover:1050,zIndexTooltip:1060,zIndexNotification:1070},shape:{radiusSize:l.RadiusSizes.large,borderWidth:l.BorderWidths.medium,customRadius:null},behavior:{transitionSpeed:l.TransitionSpeeds.normal,animationEasing:l.AnimationEasings["ease-out"],customTransitionSpeed:null,customEasing:null,focusRingWidth:3,focusRingOpacity:.3,hoverOpacity:.8},layout:{gridColumns:12,gridGutter:1,baseShadowOpacity:.1,darkMode:{baseShadowOpacity:.25},breakpoints:{sm:640,md:768,lg:1024,xl:1280},densityCompact:.8,densityNormal:1,densityComfortable:1.2,buttonMinHeight:l.TouchTargetSizes.standard,inputMinHeight:40,utilities:{grid:!0,flex:!0,spacing:!0,container:!0},gridSystem:{columns:[1,2,3,4,6],autoFitBreakpoints:{sm:"150px",md:"250px",lg:"350px",xl:"450px"},enableGapUtilities:!0},containerMaxWidth:"1400px",containerPadding:"var(--spacing-6)"},advanced:{linkStyle:l.LinkStyles.inline,colorDerivation:"hsl"},a11y:{minTouchTarget:l.TouchTargetSizes.standard,prefersReducedMotion:!0,focusStyle:l.FocusStyles.ring},icons:{set:"phosphor",weight:"regular",defaultSize:24,externalPath:"/assets/img/icons/",sizes:l.IconSizes,include:{navigation:["arrow-left","arrow-right","arrow-up","arrow-down","arrow-counter-clockwise","caret-left","caret-right","caret-down","caret-up","x","list","list-dashes","dots-three-vertical","dots-three","house","gear","magnifying-glass","funnel","tabs","sidebar"],actions:["plus","minus","check","trash","pencil","floppy-disk","copy","download","upload","share","link","eye","eye-slash","heart","star","bookmark","note-pencil","cursor-click","clipboard","magic-wand","sparkle"],communication:["envelope","bell","bell-ringing","bell-simple","chat-circle","phone","paper-plane-tilt","user","users","user-gear","at"],content:["image","file","file-text","file-css","file-js","folder","folder-open","book-open","camera","video-camera","play","pause","microphone","brackets-curly","code","folder-simple","grid-four","briefcase","chart-line","chart-bar","database","map-pin"],status:["info","warning","check-circle","x-circle","question","shield","shield-check","shield-warning","lock","lock-open","fingerprint","circle-notch"],time:["calendar","clock","timer","hourglass"],commerce:["shopping-cart","credit-card","currency-dollar","tag","receipt","storefront"],formatting:["text-align-left","text-align-center","text-align-right","text-b","text-italic","text-underline","list-bullets","list-numbers","text-aa"],system:["cloud","cloud-arrow-up","cloud-arrow-down","desktop","device-mobile","globe","wifi-high","battery-charging","sun","moon","moon-stars","palette","rocket","feather","square","circle","squares-four","lightning","wrench"]},spritePath:"public/assets/pds/icons/pds-icons.svg"},gap:4,debug:!1};var gt=/^[a-z][a-z0-9+\-.]*:\/\//i,N=(()=>{try{return import.meta.url}catch{return}})(),J=e=>typeof e=="string"&&e.length&&!e.endsWith("/")?`${e}/`:e;function Y(e,t={}){if(!e||gt.test(e))return e;let{preferModule:s=!0}=t,n=()=>{if(!N)return null;try{return new URL(e,N).href}catch{return null}},i=()=>{if(typeof window>"u"||!window.location?.origin)return null;try{return new URL(e,window.location.origin).href}catch{return null}};return(s?n()||i():i()||n())||e}var je=(()=>{if(N)try{let e=new URL(N);if(/\/public\/assets\/js\//.test(e.pathname))return new URL("../pds/",N).href}catch{return}})(),_e=!1;function Be(e){_e||typeof document>"u"||(_e=!0,e.addEventListener("pds:ready",t=>{let s=t.detail?.mode;s&&document.documentElement.classList.add(`pds-${s}`,"pds-ready")}))}function he(e={},t={}){if(!t||typeof t!="object")return e;let s=Array.isArray(e)?[...e]:{...e};for(let[n,i]of Object.entries(t))i&&typeof i=="object"&&!Array.isArray(i)?s[n]=he(s[n]&&typeof s[n]=="object"?s[n]:{},i):s[n]=i;return s}function pe(e=""){return String(e).toLowerCase().replace(/&/g," and ").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function I(e){if(e==null)return e;if(typeof e=="function")return;if(typeof e!="object")return e;if(Array.isArray(e))return e.map(s=>I(s)).filter(s=>s!==void 0);let t={};for(let s in e)if(e.hasOwnProperty(s)){let n=e[s];if(typeof n!="function"){let i=I(n);i!==void 0&&(t[s]=i)}}return t}function He(e={},t={},{presets:s,defaultLog:n}){let i=e&&typeof e.log=="function"?e.log:n,r=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),o=e&&e.enhancers;o&&!Array.isArray(o)&&(o=Object.values(o));let u=o??t.enhancers??[],p=e&&e.preset,d=e&&e.design,a=e&&e.icons&&typeof e.icons=="object"?e.icons:null,c="preset"in(e||{})||"design"in(e||{})||"enhancers"in(e||{});e&&typeof e=="object"&&Ue(e,{log:i,context:"PDS.start"});let f,h=null;if(c){d&&typeof d=="object"&&de(d,{log:i,context:"PDS.start"});let k=String(p||"default").toLowerCase(),S=s?.[k]||Object.values(s||{}).find(y=>pe(y.name)===k||String(y.name||"").toLowerCase()===k);if(!S)throw new Error(`PDS preset not found: "${p||"default"}"`);h={id:S.id||pe(S.name),name:S.name||S.id||String(k)};let b=structuredClone(S);if(d&&typeof d=="object"||a){let y=d?I(d):{},g=a?I(a):null,A=g?he(y,{icons:g}):y;b=he(b,structuredClone(A))}let{mode:x,autoDefine:P,applyGlobalStyles:L,manageTheme:T,themeStorageKey:C,preloadStyles:_,criticalLayers:z,managerURL:q,manager:R,preset:D,design:B,enhancers:v,log:U,...m}=e;f={...m,design:b,preset:h.name,log:U||n}}else if(r){de(e,{log:i,context:"PDS.start"});let{log:k,...S}=e;f={design:structuredClone(S),log:k||n}}else{let k=s?.default||Object.values(s||{}).find(S=>pe(S.name)==="default");if(!k)throw new Error("PDS default preset not available");h={id:k.id||"default",name:k.name||"Default"},f={design:structuredClone(k),preset:h.name,log:n}}return{generatorConfig:f,enhancers:u,presetInfo:h}}function Ne({manageTheme:e,themeStorageKey:t,applyResolvedTheme:s,setupSystemListenerIfNeeded:n}){let i="light",r=null;if(e&&typeof window<"u"){try{r=localStorage.getItem(t)||null}catch{r=null}try{s?.(r),n?.(r)}catch{}r?r==="system"?i=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":i=r:i=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}return{resolvedTheme:i,storedTheme:r}}function fe(e,{resolvePublicAssetURL:t}){let s=!!(e?.public?.root||e?.static?.root),n=t(e);return!s&&je&&(n=je),J(Y(n))}async function Oe(e,{baseEnhancers:t=[]}={}){let{autoDefineBaseURL:s="/auto-define/",autoDefinePreload:n=[],autoDefineMapper:i=null,enhancers:r=[],autoDefineOverrides:o=null,autoDefinePreferModule:u=!0}=e,p=(()=>{let a=new Map;return(t||[]).forEach(c=>a.set(c.selector,c)),(r||[]).forEach(c=>a.set(c.selector,c)),Array.from(a.values())})(),d=null;if(typeof window<"u"&&typeof document<"u"){let a=null;try{let b=await Promise.resolve().then(()=>(Fe(),$e));a=b?.AutoDefiner||b?.default?.AutoDefiner||b?.default||null}catch(b){console.warn("AutoDefiner not available:",b?.message||b)}let c=b=>{switch(b){case"pds-tabpanel":return"pds-tabstrip.js";default:return`${b}.js`}},{mapper:f,...h}=o&&typeof o=="object"?o:{},S={baseURL:s&&J(Y(s,{preferModule:u})),predefine:n,scanExisting:!0,observeShadows:!0,patchAttachShadow:!0,debounceMs:16,enhancers:p,onError:(b,x)=>{if(typeof b=="string"&&b.startsWith("pds-")){let L=["pds-form","pds-drawer"].includes(b),T=x?.message?.includes("#pds/lit")||x?.message?.includes("Failed to resolve module specifier");L&&T?console.error(`\u274C PDS component <${b}> 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 <${b}> not found. Assets may not be installed.`)}else console.error(`\u274C Auto-define error for <${b}>:`,x)},...h,mapper:b=>{if(customElements.get(b))return null;if(typeof i=="function")try{let x=i(b);return x===void 0?c(b):x}catch(x){return console.warn("Custom autoDefine.mapper error; falling back to default:",x?.message||x),c(b)}return c(b)}};a&&(d=new a(S),n.length>0&&typeof a.define=="function"&&await a.define(...n,{baseURL:s,mapper:S.mapper,onError:S.onError}))}return{autoDefiner:d,mergedEnhancers:p}}var me=["light","dark"],ye=new Set(me);function bt(e){let s=(Array.isArray(e?.themes)?e.themes.map(n=>String(n).toLowerCase()):me).filter(n=>ye.has(n));return s.length?s:me}function ge(e,{preferDocument:t=!0}={}){let s=String(e||"").toLowerCase();if(ye.has(s))return s;if(t&&typeof document<"u"){let n=document.documentElement?.getAttribute("data-theme");if(ye.has(n))return n}return typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function qe(e,t){let s=ge(t);return bt(e).includes(s)}var Se=class extends EventTarget{},w=new Se;w.initializing=!1;w.currentPreset=null;w.debug=!1;var Ge=(e="")=>String(e).toLowerCase().replace(/&/g," and ").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,""),be=function(e="log",t,...s){let n=!!(w.registry&&!w.registry.isLive),i=(this?.debug||this?.design?.debug||w.debug||!1)===!0;if(n){if(!w.debug)return}else if(!i&&e!=="error"&&e!=="warn")return;let r=console[e]||console.log;s.length>0?r(t,...s):r(t)};async function wt(e,t={}){if(t?.runtimeConfig===!1||typeof fetch!="function")return null;let s=t?.runtimeConfigURL||`${e}pds-runtime-config.json`;try{let n=await fetch(s,{cache:"no-store"});return n.ok?await n.json():null}catch{return null}}w.registry=F;w.enums=l;w.adoptLayers=Te;w.adoptPrimitives=Me;w.parse=se;w.createStylesheet=De;w.isLiveMode=()=>F.isLive;w.ask=We;w.toast=M;w.common=ne;w.AutoComplete=V;function Ve(e){let t=typeof CustomEvent=="function";try{let s=t?new CustomEvent("pds:ready",{detail:e}):new Event("pds:ready");w.dispatchEvent(s)}catch{}if(typeof document<"u")if(t){let s={detail:e,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=w);var we="pure-ds-theme",W=null,O=null;function ke(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 xe(e){try{if(W&&O){try{typeof W.removeEventListener=="function"?W.removeEventListener("change",O):typeof W.removeListener=="function"&&W.removeListener(O)}catch{}W=null,O=null}if(e==="system"&&typeof window<"u"&&window.matchMedia){let t=window.matchMedia("(prefers-color-scheme: dark)"),s=n=>{let i=n?.matches===void 0?t.matches:n.matches;try{let r=i?"dark":"light";document.documentElement.setAttribute("data-theme",r),w.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:r,source:"system"}}))}catch{}};W=t,O=s,typeof t.addEventListener=="function"?t.addEventListener("change",s):typeof t.addListener=="function"&&t.addListener(s)}}catch{}}Object.defineProperty(w,"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=w.currentConfig?.design||null,s=ge(e);if(t&&!qe(t,s)){let n=t?.name||w.currentPreset?.name||w.currentConfig?.preset||"current preset";console.warn(`PDS theme "${s}" not supported by preset "${n}".`),w.dispatchEvent(new CustomEvent("pds:theme:blocked",{detail:{theme:e,resolvedTheme:s,preset:n}}));return}e==null?localStorage.removeItem(we):localStorage.setItem(we,e),ke(e),xe(e),w.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:e,source:"api"}}))}catch{}}});w.defaultEnhancers=ie;async function St(e){let t=e&&e.mode||"live",{mode:s,...n}=e||{};if(t==="static")return kt(n);let i=fe(n,{resolvePublicAssetURL:oe}),r=n?.managerURL||n?.public?.managerURL||n?.manager?.url||new URL("core/pds-manager.js",i).href||new URL("./pds-manager.js",import.meta.url).href,{startLive:o}=await import(r);return o(w,n,{emitReady:Ve,applyResolvedTheme:ke,setupSystemListenerIfNeeded:xe})}w.start=St;async function kt(e){if(!e||typeof e!="object")throw new Error("PDS.start({ mode: 'static', ... }) requires a valid configuration object");let t=e.applyGlobalStyles??!0,s=e.manageTheme??!0,n=e.themeStorageKey??"pure-ds-theme",i=e.staticPaths??{},r=fe(e,{resolvePublicAssetURL:oe}),o=e&&e.autoDefine||null,u;o&&o.baseURL?u=J(Y(o.baseURL,{preferModule:!1})):u=`${r}components/`;let p=o&&Array.isArray(o.predefine)&&o.predefine||[],d=o&&typeof o.mapper=="function"&&o.mapper||null;try{Be(w);let{resolvedTheme:a}=Ne({manageTheme:s,themeStorageKey:n,applyResolvedTheme:ke,setupSystemListenerIfNeeded:xe}),c=await wt(r,e),f=c?.config?.design||c?.design||null,h=c?.config?.preset||c?.preset||"default",k=c?.presetId||Ge(h)||"default",S=f?{[String(k).toLowerCase()]:f,...String(k).toLowerCase()!=="default"?{default:f}:{}}:null,b=e?.design&&typeof e.design=="object"?I(e.design):null,x=Ge(e?.preset||"default")||"default",P=b?{[String(x).toLowerCase()]:b,...String(x).toLowerCase()!=="default"?{default:b}:{}}:null,L=S||e?.presets||P||{};if(!Object.keys(L||{}).length)throw new Error("PDS static mode requires preset data. Run pds:build or provide config.presets/config.design.");let T=c?.config?{...c.config,...e,preset:e?.preset||k,design:b||f||c?.config?.design}:e,C=He(T,{},{presets:L,defaultLog:be}),_=C.enhancers,z={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`},q=c?.paths||{};if(i={...z,...q,...i},w.registry.setStaticMode(i),t&&typeof document<"u")try{let v=await w.registry.getStylesheet("styles");if(v){v._pds=!0;let U=(document.adoptedStyleSheets||[]).filter(m=>m._pds!==!0);document.adoptedStyleSheets=[...U,v]}}catch(v){be.call(w,"warn","Failed to apply static styles:",v)}let R=null,D=[];try{let v=await Oe({autoDefineBaseURL:u,autoDefinePreload:p,autoDefineMapper:d,enhancers:_,autoDefineOverrides:o||null,autoDefinePreferModule:!(o&&o.baseURL)},{baseEnhancers:ie});R=v.autoDefiner,D=v.mergedEnhancers||[]}catch(v){be.call(w,"error","\u274C Failed to initialize AutoDefiner/Enhancers (static):",v)}let B=I(e);return w.currentConfig=Object.freeze({mode:"static",...structuredClone(B),design:structuredClone(C.generatorConfig.design),preset:C.generatorConfig.preset,theme:a,enhancers:D}),Ve({mode:"static",config:C.generatorConfig,theme:a,autoDefiner:R}),{config:C.generatorConfig,theme:a,autoDefiner:R}}catch(a){throw w.dispatchEvent(new CustomEvent("pds:error",{detail:{error:a}})),a}}var E={name:"@pure-ds/core",shortname:"pds",version:"0.6.4",description:"Pure Design System - 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/js/pds.js",module:"./public/assets/js/pds.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-setup-copilot":"packages/pds-cli/bin/pds-setup-copilot.js","pds-init-config":"packages/pds-cli/bin/pds-init-config.js","pds-bootstrap":"packages/pds-cli/bin/pds-bootstrap.js"},exports:{".":{types:"./src/js/pds.d.ts",import:"./public/assets/js/pds.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/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-core/","custom-elements.json","custom-elements-manifest.config.js","pds.html-data.json","pds.css-data.json","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:dx":"node packages/pds-cli/bin/pds-dx.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",esbuild:"^0.19.0","fs-extra":"^11.1.1",typescript:"^5.6.3","@types/node":"^22.10.2"},dependencies:{lit:"^3.3.1","pure-web":"1.1.30"},customElements:"custom-elements.json"};await w.start(Q);var vt=new Date,Et=vt.toLocaleDateString(void 0,{year:"numeric",month:"long",day:"numeric"}),Qe=typeof E.repository=="string"?E.repository:E.repository?.url,ve=Qe?Qe.replace(/^git\+/,"").replace(/\.git$/,""):"",Lt=E.homepage||ve,At=E.bugs?.url||"";document.body.innerHTML=`
33
33
  <header class="container section">
34
34
  <div class="stack-sm">
35
35
  <pds-toaster id="global-toaster"></pds-toaster>
@@ -52,10 +52,10 @@ var Ke=Object.defineProperty;var Ze=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ee=(e,t)=>{
52
52
  <section class="grid grid-auto-md gap-lg">
53
53
  <article class="card surface-elevated stack-sm">
54
54
  <header class="flex items-center gap-sm">
55
- <pds-icon icon="floppy-disk" size="sm"></pds-icon>
55
+ <pds-icon icon="floppy-disk"></pds-icon>
56
56
  <h2>Package details</h2>
57
57
  </header>
58
- <div class="stack-sm">
58
+ <div class="stack-lg">
59
59
  <div class="flex justify-between items-center">
60
60
  <span class="text-muted">Package</span>
61
61
  <strong>${E.name}</strong>
@@ -76,11 +76,12 @@ var Ke=Object.defineProperty;var Ze=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ee=(e,t)=>{
76
76
  </article>
77
77
 
78
78
  <article class="card surface-elevated stack-sm">
79
- <header class="flex items-center gap-sm">
80
- <pds-icon icon="download" size="sm"></pds-icon>
81
- <h2>Install</h2>
79
+ <header>
80
+
81
+ <h2 flex items-center gap-sm> <pds-icon icon="download"></pds-icon> Install</h2>
82
+ <p class="text-muted">Add the core runtime and assets to your project.</p>
82
83
  </header>
83
- <p class="text-muted">Add the core runtime and assets to your project.</p>
84
+
84
85
  <div class="stack-sm">
85
86
  <pre><code>npm i ${E.name}</code></pre>
86
87
  <pre><code>pnpm add ${E.name}</code></pre>
@@ -93,11 +94,12 @@ var Ke=Object.defineProperty;var Ze=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ee=(e,t)=>{
93
94
 
94
95
  <section class="grid grid-auto-md gap-lg">
95
96
  <article class="card surface-elevated stack-sm">
96
- <header class="flex items-center gap-sm">
97
- <pds-icon icon="tabs" size="sm"></pds-icon>
98
- <h2>Project starter</h2>
97
+ <header>
98
+
99
+ <h2 class="flex items-center gap-sm"><pds-icon icon="tabs"></pds-icon>Project starter</h2>
100
+ <p class="text-muted">Use the built-in bootstrap script to scaffold a fresh PDS setup.</p>
99
101
  </header>
100
- <p class="text-muted">Use the built-in bootstrap script to scaffold a fresh PDS setup.</p>
102
+
101
103
  <div class="stack-sm">
102
104
  <pre><code>npm run pds:bootstrap</code></pre>
103
105
  </div>
@@ -110,7 +112,7 @@ var Ke=Object.defineProperty;var Ze=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ee=(e,t)=>{
110
112
 
111
113
  <article class="card surface-elevated stack-sm">
112
114
  <header class="flex items-center gap-sm">
113
- <pds-icon icon="link" size="sm"></pds-icon>
115
+ <pds-icon icon="link"></pds-icon>
114
116
  <h2>Quick links</h2>
115
117
  </header>
116
118
  <div class="stack-sm">
@@ -120,5 +122,45 @@ var Ke=Object.defineProperty;var Ze=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ee=(e,t)=>{
120
122
  </div>
121
123
  </article>
122
124
  </section>
125
+
126
+ <section class="card surface-elevated stack-md">
127
+ <header class="stack-xs">
128
+ <h2 class="flex items-center gap-sm"><pds-icon icon="sliders"></pds-icon>Border width token demo</h2>
129
+ <p class="text-muted">These examples react to <strong>shape.borderWidth</strong> and tokenized border styles.</p>
130
+ </header>
131
+ <div class="grid grid-auto-md gap-lg">
132
+ <article class="stack-sm">
133
+ <h3>Semantic elements</h3>
134
+ <blockquote>
135
+ <p>Blockquote, details, and rules use tokenized border widths.</p>
136
+ <cite>Token-driven rendering</cite>
137
+ </blockquote>
138
+ <details open>
139
+ <summary>Details border</summary>
140
+ <p>Toggle me to confirm border consistency.</p>
141
+ </details>
142
+ <hr data-content="Demo divider">
143
+ </article>
144
+
145
+ <article class="stack-sm">
146
+ <h3>Form + utility examples</h3>
147
+ <form class="stack-sm" data-required>
148
+ <label>
149
+ <span>Email</span>
150
+ <input type="email" placeholder="name@example.com" />
151
+ </label>
152
+ <fieldset role="group" class="buttons">
153
+ <legend>Preferences</legend>
154
+ <label><input type="checkbox" checked /> Daily summary</label>
155
+ <label><input type="checkbox" /> Weekly digest</label>
156
+ </fieldset>
157
+ </form>
158
+ <div class="border-gradient-medium card stack-xs">
159
+ <strong>Gradient border utility</strong>
160
+ <span class="text-muted">Uses border-width tokens as well.</span>
161
+ </div>
162
+ </article>
163
+ </div>
164
+ </section>
123
165
  </main>
124
166
  `;