@pure-ds/core 0.6.10 → 0.6.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/custom-elements.json +803 -16
  2. package/dist/types/pds.d.ts +1 -0
  3. package/dist/types/public/assets/js/pds-manager.d.ts +98 -1
  4. package/dist/types/public/assets/js/pds-manager.d.ts.map +1 -1
  5. package/dist/types/public/assets/js/pds.d.ts.map +1 -1
  6. package/dist/types/public/assets/pds/components/pds-live-converter.d.ts +8 -0
  7. package/dist/types/public/assets/pds/components/pds-live-converter.d.ts.map +1 -0
  8. package/dist/types/public/assets/pds/components/pds-live-importer.d.ts +2 -0
  9. package/dist/types/public/assets/pds/components/pds-live-importer.d.ts.map +1 -0
  10. package/dist/types/public/assets/pds/components/pds-live-template-canvas.d.ts +2 -0
  11. package/dist/types/public/assets/pds/components/pds-live-template-canvas.d.ts.map +1 -0
  12. package/dist/types/public/assets/pds/components/pds-omnibox.d.ts.map +1 -1
  13. package/dist/types/public/assets/pds/components/pds-scrollrow.d.ts +20 -0
  14. package/dist/types/public/assets/pds/components/pds-scrollrow.d.ts.map +1 -1
  15. package/dist/types/public/assets/pds/components/pds-toaster.d.ts +1 -1
  16. package/dist/types/public/assets/pds/components/pds-toaster.d.ts.map +1 -1
  17. package/dist/types/public/assets/pds/components/pds-treeview.d.ts +37 -0
  18. package/dist/types/public/assets/pds/components/pds-treeview.d.ts.map +1 -0
  19. package/dist/types/src/js/common/toast.d.ts +8 -0
  20. package/dist/types/src/js/common/toast.d.ts.map +1 -1
  21. package/dist/types/src/js/pds-core/pds-enhancers.d.ts.map +1 -1
  22. package/dist/types/src/js/pds-core/pds-generator.d.ts.map +1 -1
  23. package/dist/types/src/js/pds-core/pds-live.d.ts +2 -1
  24. package/dist/types/src/js/pds-core/pds-live.d.ts.map +1 -1
  25. package/dist/types/src/js/pds-live-manager/conversion-service.d.ts +66 -0
  26. package/dist/types/src/js/pds-live-manager/conversion-service.d.ts.map +1 -0
  27. package/dist/types/src/js/pds-live-manager/import-contract.d.ts +15 -0
  28. package/dist/types/src/js/pds-live-manager/import-contract.d.ts.map +1 -0
  29. package/dist/types/src/js/pds-live-manager/import-history-service.d.ts +32 -0
  30. package/dist/types/src/js/pds-live-manager/import-history-service.d.ts.map +1 -0
  31. package/dist/types/src/js/pds-live-manager/import-service.d.ts +21 -0
  32. package/dist/types/src/js/pds-live-manager/import-service.d.ts.map +1 -0
  33. package/dist/types/src/js/pds-live-manager/template-service.d.ts +17 -0
  34. package/dist/types/src/js/pds-live-manager/template-service.d.ts.map +1 -0
  35. package/dist/types/src/js/pds-manager.d.ts +4 -0
  36. package/dist/types/src/js/pds.d.ts.map +1 -1
  37. package/package.json +6 -2
  38. package/packages/pds-cli/README.md +51 -0
  39. package/packages/pds-cli/bin/pds-import.js +176 -0
  40. package/packages/pds-cli/bin/pds-static.js +15 -0
  41. package/packages/pds-cli/bin/postinstall.mjs +17 -8
  42. package/public/assets/js/app.js +15 -139
  43. package/public/assets/js/pds-manager.js +358 -255
  44. package/public/assets/js/pds.js +7 -7
  45. package/public/assets/pds/components/pds-live-converter.js +47 -0
  46. package/public/assets/pds/components/pds-live-edit.js +760 -43
  47. package/public/assets/pds/components/pds-live-importer.js +772 -0
  48. package/public/assets/pds/components/pds-live-template-canvas.js +171 -0
  49. package/public/assets/pds/components/pds-omnibox.js +136 -2
  50. package/public/assets/pds/components/pds-scrollrow.js +56 -1
  51. package/public/assets/pds/components/pds-toaster.js +50 -5
  52. package/public/assets/pds/components/pds-treeview.js +972 -0
  53. package/public/assets/pds/custom-elements.json +803 -16
  54. package/public/assets/pds/pds-css-complete.json +7 -2
  55. package/public/assets/pds/templates/commerce-scroll-explorer.html +115 -0
  56. package/public/assets/pds/templates/content-brand-showcase.html +110 -0
  57. package/public/assets/pds/templates/feedback-ops-dashboard.html +91 -0
  58. package/public/assets/pds/templates/release-readiness-radar.html +69 -0
  59. package/public/assets/pds/templates/support-command-center.html +92 -0
  60. package/public/assets/pds/templates/templates.json +53 -0
  61. package/public/assets/pds/templates/workspace-settings-lab.html +131 -0
  62. package/public/assets/pds/vscode-custom-data.json +54 -4
  63. package/readme.md +34 -0
  64. package/src/js/pds-core/pds-config.js +9 -9
  65. package/src/js/pds-core/pds-enhancers.js +146 -0
  66. package/src/js/pds-core/pds-generator.js +170 -29
  67. package/src/js/pds-core/pds-live.js +453 -13
  68. package/src/js/pds-live-manager/conversion-service.js +3136 -0
  69. package/src/js/pds-live-manager/import-contract.js +57 -0
  70. package/src/js/pds-live-manager/import-history-service.js +145 -0
  71. package/src/js/pds-live-manager/import-service.js +255 -0
  72. package/src/js/pds-live-manager/tailwind-conversion-rules.json +383 -0
  73. package/src/js/pds-live-manager/template-service.js +170 -0
  74. package/src/js/pds.d.ts +1 -0
  75. package/src/js/pds.js +35 -0
@@ -1,14 +1,14 @@
1
- var Oe=Object.defineProperty;var qe=(t,e)=>()=>(t&&(e=t(t=0)),e);var he=(t,e)=>{for(var s in e)Oe(t,s,{get:e[s],enumerable:!0})};var ke={};he(ke,{AutoDefiner:()=>X});async function ot(...t){let e={};t.length&&typeof t[t.length-1]=="object"&&(e=t.pop()||{});let s=t,{baseURL:n,mapper:r=d=>`${d}.js`,onError:o=(d,l)=>console.error(`[defineWebComponents] ${d}:`,l)}=e,i=n?new URL(n,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),c=d=>d.toLowerCase().replace(/(^|-)([a-z])/g,(l,a,p)=>p.toUpperCase()),u=async d=>{try{if(customElements.get(d))return{tag:d,status:"already-defined"};let l=r(d),p=await import(l instanceof URL?l.href:new URL(l,i).href),h=p?.default??p?.[c(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 "${c(d)}".`)}return customElements.get(d)?{tag:d,status:"race-already-defined"}:(customElements.define(d,h),{tag:d,status:"defined"})}catch(l){throw o(d,l),l}};return Promise.all(s.map(u))}var X,Ce=qe(()=>{X=class{constructor(e={}){let{baseURL:s,mapper:n,onError:r,predicate:o=()=>!0,attributeModule:i="data-module",root:c=document,scanExisting:u=!0,debounceMs:d=16,observeShadows:l=!0,enhancers:a=[],patchAttachShadow:p=!0}=e,h=new Set,w=new Set,v=new Set,f=new Map,x=new WeakMap,R=new WeakMap,S=0,C=!1,P=null,le=m=>{if(!m||!a.length)return;let b=R.get(m);b||(b=new Set,R.set(m,b));for(let g of a)if(!(!g.selector||!g.run)&&!b.has(g.selector))try{m.matches&&m.matches(g.selector)&&(g.run(m),b.add(g.selector))}catch(A){console.warn(`[AutoDefiner] Error applying enhancer for selector "${g.selector}":`,A)}},H=(m,b)=>{if(!C&&!(!m||!m.includes("-"))&&!customElements.get(m)&&!w.has(m)&&!v.has(m)){if(b&&b.getAttribute){let g=b.getAttribute(i);g&&!f.has(m)&&f.set(m,g)}h.add(m),Ue()}},Ue=()=>{S||(S=setTimeout(de,d))},D=m=>{if(m){if(m.nodeType===1){let b=m,g=b.tagName?.toLowerCase();g&&g.includes("-")&&!customElements.get(g)&&o(g,b)&&H(g,b),le(b),l&&b.shadowRoot&&W(b.shadowRoot)}m.querySelectorAll&&m.querySelectorAll("*").forEach(b=>{let g=b.tagName?.toLowerCase();g&&g.includes("-")&&!customElements.get(g)&&o(g,b)&&H(g,b),le(b),l&&b.shadowRoot&&W(b.shadowRoot)})}},W=m=>{if(!m||x.has(m))return;D(m);let b=new MutationObserver(g=>{for(let A of g)A.addedNodes?.forEach(T=>{D(T)}),A.type==="attributes"&&A.target&&D(A.target)});b.observe(m,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[i,...a.map(g=>g.selector).filter(g=>g.startsWith("data-"))]}),x.set(m,b)};async function de(){if(clearTimeout(S),S=0,!h.size)return;let m=Array.from(h);h.clear(),m.forEach(b=>w.add(b));try{let b=g=>f.get(g)??(n?n(g):`${g}.js`);await ot(...m,{baseURL:s,mapper:b,onError:(g,A)=>{v.add(g),r?.(g,A)}})}catch{}finally{m.forEach(b=>w.delete(b))}}let ue=c===document?document.documentElement:c,pe=new MutationObserver(m=>{for(let b of m)b.addedNodes?.forEach(g=>{D(g)}),b.type==="attributes"&&b.target&&D(b.target)});if(pe.observe(ue,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[i,...a.map(m=>m.selector).filter(m=>m.startsWith("data-"))]}),l&&p&&Element.prototype.attachShadow){let m=Element.prototype.attachShadow;Element.prototype.attachShadow=function(g){let A=m.call(this,g);if(g&&g.mode==="open"){W(A);let T=this.tagName?.toLowerCase();T&&T.includes("-")&&!customElements.get(T)&&H(T,this)}return A},P=()=>Element.prototype.attachShadow=m}return u&&D(ue),{stop(){C=!0,pe.disconnect(),P&&P(),S&&(clearTimeout(S),S=0),x.forEach(m=>m.disconnect())},flush:de}}static async define(...e){let s={};e.length&&typeof e[e.length-1]=="object"&&(s=e.pop()||{});let n=e,{baseURL:r,mapper:o=l=>`${l}.js`,onError:i=(l,a)=>console.error(`[defineWebComponents] ${l}:`,a)}=s,c=r?new URL(r,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),u=l=>l.toLowerCase().replace(/(^|-)([a-z])/g,(a,p,h)=>h.toUpperCase()),d=async l=>{try{if(customElements.get(l))return{tag:l,status:"already-defined"};let a=o(l),h=await import(a instanceof URL?a.href:new URL(a,c).href),w=h?.default??h?.[u(l)];if(!w){if(customElements.get(l))return{tag:l,status:"self-defined"};throw new Error(`No export found for ${l}. Expected default export or named export "${u(l)}".`)}return customElements.get(l)?{tag:l,status:"race-already-defined"}:(customElements.define(l,w),{tag:l,status:"defined"})}catch(a){throw i(l,a),a}};return Promise.all(n.map(d))}}});function fe(t){return new DOMParser().parseFromString(t,"text/html").body.childNodes}function me(t,e=100){let s;return function(...r){let o=()=>{clearTimeout(s),t(...r)};clearTimeout(s),s=setTimeout(o,e)}}function _(t){setTimeout(t,0)}function ge(t){try{if(typeof t!="string"||t.indexOf(`
2
- `)!==-1||t.indexOf(" ")!==-1||t.startsWith("#/"))return!1;let e=new URL(t,window.location.origin);return e.protocol==="http:"||e.protocol==="https:"}catch{return!1}}function ye(t,e,s){let n=window.screen.width/2-e/2,r=window.screen.height/2-s/2;return window.open(t,"",`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, width=${e}, height=${s}, top=${r}, left=${n}`)}var B={result:"ac-suggestion",item:"ac-itm"},U=class t extends EventTarget{constructor(e,s,n){super(),this.settings={emptyResultsText:"",...n},this.container=e,this.input=s,this.input.setAttribute("autocomplete","off"),this.categories=n.categories||{},this.caches=new Map,_(this.attach.bind(this))}static connect(e,s){let n=e.target;if(!n._autoComplete){if(!s?.categories)throw Error("Missing autocomplete settings");n._autoComplete=new t(n.parentNode,n,s),e.type==="focus"&&setTimeout(()=>{n._autoComplete.focusHandler(e)},100)}return n._autoComplete}on(e,s){return this.input.addEventListener(e,s),this}attach(){this.resultsDiv=document.createElement("div"),this.resultsDiv.title="",this.resultsDiv.classList.add(B.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 e=getComputedStyle(this.input);this.container.style.setProperty("--ac-bg-default",e.backgroundColor),this.container.style.setProperty("--ac-color-default",e.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",me(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 e=this.internalController();return typeof this.settings.controller=="function"&&(e=this.settings.controller(this)??e),e}internalController(){return{show:this.show.bind(this),hide:this.hide.bind(this),clear:this.clear.bind(this),empty:()=>{}}}moveResult(e){this.controller().show();let s=this.acItems.length;this.rowIndex=this.rowIndex+e,this.rowIndex<=0?this.rowIndex=0:this.rowIndex>s-1&&(this.rowIndex=0);for(let r of this.acItems)r.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(e){if(e=e||this.getSelectedDiv(),e){let s=parseInt(e.getAttribute("data-index"));this.resultClicked=!0;let n=this.results[s],r=this.categories[n.category]??{};r.action=r.action??this.setText.bind(this),r.newTab&&(this.tabWindow=ye("about:blank"));let o={...n,search:this.input.value};e.classList.add("ac-active"),setTimeout(()=>{this.controller().hide("result-selected"),o.action?o.action(o):(r.action(o),r.newTab&&(o.url?this.tabWindow.location.href=o.url:this.tabWindow.close()));var i=new Event("change",{bubbles:!0});this.input.dispatchEvent(i),this.controller().clear("result-selected");let c=new Event("result-selected");c.detail=o,this.input.dispatchEvent(c)},0)}}setText(e){let s=!1;this.input?(this.input.value=e.text,s=!0):this.container?.autoCompleteInput?(this.container.autoCompleteInput.value=e.text,s=!0):"value"in this.container&&(this.container.value=e.text,s=!0),s&&this.input&&this.input.dispatchEvent(new Event("input",{bubbles:!0})),this.controller().hide("settext")}resultClick(e){this.selectResult(e.target.closest(`.${B.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 e=this.getViewBounds();this.resultsDiv.style.position="absolute",e.rect.width>100&&(this.resultsDiv.style.width=`${e.rect.width}px`),this.settings.direction=this.settings.direction??e.suggestedDirection,this.resultsDiv.setAttribute("data-direction",this.settings.direction),this.settings.direction==="up"?(this.resultsDiv.style.top="unset",this.resultsDiv.style.bottom=`${e.rect.height+20}px`,this.rowIndex=this.acItems.length):(this.resultsDiv.style.bottom="unset",this.resultsDiv.style.top=`${e.rect.height}px`,this.rowIndex=-1),this.resultsDiv.style.maxWidth="unset",this.resultsDiv.classList.toggle("ac-active",!0)}}getViewBounds(){let e=this.input.getBoundingClientRect();return{rect:e,suggestedDirection:e.top+e.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(e){this.cacheTmr&&clearTimeout(this.cacheTmr);let s={search:e.target.value,categories:this.categories};this.container.classList.add("search-running"),this.getItems(s,e).then(n=>{this.controller().clear("new-results"),this.resultsHandler(n,s),this.container.classList.remove("search-running")})}keyDownHandler(e){switch(e.key){case"Enter":e.stopPropagation(),e.preventDefault();break;case"ArrowDown":_(this.moveResult(1));break;case"ArrowUp":_(this.moveResult(-1));break}}keyUpHandler(e){switch(e.key){case"Escape":this.controller().hide("escape");break;case"Enter":this.getSelectedDiv()&&(this.container.preventEnter=!0,e.stopPropagation(),e.preventDefault(),this.selectResult(),setTimeout(()=>{this.container.preventEnter=!1},10));break;default:break}}focusHandler(e){this.controller().clear("focus");let s=e.target.value;this.suggest(s,e)}suggest(e,s){this.input.focus();let n={suggest:!0,search:e||"",categories:this.categories};this.getItems(n,s).then(r=>{this.input.dispatchEvent(new CustomEvent("show-results",{detail:{results:r}})),this.resultsHandler(r,n)})}sort(e,s){return e.sort((n,r)=>{let o=s.categories[n.category],i=s.categories[r.category],c=typeof o.sortIndex=="function"?o.sortIndex(s):o.sortIndex??0;return(typeof i.sortIndex=="function"?i.sortIndex(s):i.sortIndex??0)>c?1:-1})}resultsHandler(e,s){this.results=e,this.rowIndex=-1;let n=0,r=(o,i)=>`
3
- <div title="${i.tooltip||""}" data-index="${n}" class="${`${B.item} cat-${i.category} ${i.class??""}`.trim()}"${i.style?` style="${i.style}"`:""}>
1
+ var qe=Object.defineProperty;var Fe=(t,e)=>()=>(t&&(e=t(t=0)),e);var me=(t,e)=>{for(var n in e)qe(t,n,{get:e[n],enumerable:!0})};var De={};me(De,{AutoDefiner:()=>oe});async function at(...t){let e={};t.length&&typeof t[t.length-1]=="object"&&(e=t.pop()||{});let n=t,{baseURL:s,mapper:r=d=>`${d}.js`,onError:o=(d,a)=>console.error(`[defineWebComponents] ${d}:`,a)}=e,i=s?new URL(s,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),c=d=>d.toLowerCase().replace(/(^|-)([a-z])/g,(a,l,h)=>h.toUpperCase()),u=async d=>{try{if(customElements.get(d))return{tag:d,status:"already-defined"};let a=r(d),h=await import(a instanceof URL?a.href:new URL(a,i).href),y=h?.default??h?.[c(d)];if(!y){if(customElements.get(d))return{tag:d,status:"self-defined"};throw new Error(`No export found for ${d}. Expected default export or named export "${c(d)}".`)}return customElements.get(d)?{tag:d,status:"race-already-defined"}:(customElements.define(d,y),{tag:d,status:"defined"})}catch(a){throw o(d,a),a}};return Promise.all(n.map(u))}var oe,Te=Fe(()=>{oe=class{constructor(e={}){let{baseURL:n,mapper:s,onError:r,predicate:o=()=>!0,attributeModule:i="data-module",root:c=document,scanExisting:u=!0,debounceMs:d=16,observeShadows:a=!0,enhancers:l=[],patchAttachShadow:h=!0}=e,y=new Set,A=new Set,x=new Set,w=new Map,L=new WeakMap,P=new WeakMap,E=0,R=!1,_=null,b=p=>{if(!p||!l.length)return;let m=P.get(p);m||(m=new Set,P.set(p,m));for(let f of l)if(!(!f.selector||!f.run)&&!m.has(f.selector))try{p.matches&&p.matches(f.selector)&&(f.run(p),m.add(f.selector))}catch(T){console.warn(`[AutoDefiner] Error applying enhancer for selector "${f.selector}":`,T)}},S=(p,m)=>{if(!R&&!(!p||!p.includes("-"))&&!customElements.get(p)&&!A.has(p)&&!x.has(p)){if(m&&m.getAttribute){let f=m.getAttribute(i);f&&!w.has(p)&&w.set(p,f)}y.add(p),C()}},C=()=>{E||(E=setTimeout(M,d))},v=p=>{if(p){if(p.nodeType===1){let m=p,f=m.tagName?.toLowerCase();f&&f.includes("-")&&!customElements.get(f)&&o(f,m)&&S(f,m),b(m),a&&m.shadowRoot&&k(m.shadowRoot)}p.querySelectorAll&&p.querySelectorAll("*").forEach(m=>{let f=m.tagName?.toLowerCase();f&&f.includes("-")&&!customElements.get(f)&&o(f,m)&&S(f,m),b(m),a&&m.shadowRoot&&k(m.shadowRoot)})}},k=p=>{if(!p||L.has(p))return;v(p);let m=new MutationObserver(f=>{for(let T of f)T.addedNodes?.forEach(I=>{v(I)}),T.type==="attributes"&&T.target&&v(T.target)});m.observe(p,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[i,...l.map(f=>f.selector).filter(f=>f.startsWith("data-"))]}),L.set(p,m)};async function M(){if(clearTimeout(E),E=0,!y.size)return;let p=Array.from(y);y.clear(),p.forEach(m=>A.add(m));try{let m=f=>w.get(f)??(s?s(f):`${f}.js`);await at(...p,{baseURL:n,mapper:m,onError:(f,T)=>{x.add(f),r?.(f,T)}})}catch{}finally{p.forEach(m=>A.delete(m))}}let D=c===document?document.documentElement:c,H=new MutationObserver(p=>{for(let m of p)m.addedNodes?.forEach(f=>{v(f)}),m.type==="attributes"&&m.target&&v(m.target)});if(H.observe(D,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[i,...l.map(p=>p.selector).filter(p=>p.startsWith("data-"))]}),a&&h&&Element.prototype.attachShadow){let p=Element.prototype.attachShadow;Element.prototype.attachShadow=function(f){let T=p.call(this,f);if(f&&f.mode==="open"){k(T);let I=this.tagName?.toLowerCase();I&&I.includes("-")&&!customElements.get(I)&&S(I,this)}return T},_=()=>Element.prototype.attachShadow=p}return u&&v(D),{stop(){R=!0,H.disconnect(),_&&_(),E&&(clearTimeout(E),E=0),L.forEach(p=>p.disconnect())},flush:M}}static async define(...e){let n={};e.length&&typeof e[e.length-1]=="object"&&(n=e.pop()||{});let s=e,{baseURL:r,mapper:o=a=>`${a}.js`,onError:i=(a,l)=>console.error(`[defineWebComponents] ${a}:`,l)}=n,c=r?new URL(r,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),u=a=>a.toLowerCase().replace(/(^|-)([a-z])/g,(l,h,y)=>y.toUpperCase()),d=async a=>{try{if(customElements.get(a))return{tag:a,status:"already-defined"};let l=o(a),y=await import(l instanceof URL?l.href:new URL(l,c).href),A=y?.default??y?.[u(a)];if(!A){if(customElements.get(a))return{tag:a,status:"self-defined"};throw new Error(`No export found for ${a}. Expected default export or named export "${u(a)}".`)}return customElements.get(a)?{tag:a,status:"race-already-defined"}:(customElements.define(a,A),{tag:a,status:"defined"})}catch(l){throw i(a,l),l}};return Promise.all(s.map(d))}}});function ge(t){return new DOMParser().parseFromString(t,"text/html").body.childNodes}function ye(t,e=100){let n;return function(...r){let o=()=>{clearTimeout(n),t(...r)};clearTimeout(n),n=setTimeout(o,e)}}function z(t){setTimeout(t,0)}function be(t){try{if(typeof t!="string"||t.indexOf(`
2
+ `)!==-1||t.indexOf(" ")!==-1||t.startsWith("#/"))return!1;let e=new URL(t,window.location.origin);return e.protocol==="http:"||e.protocol==="https:"}catch{return!1}}function we(t,e,n){let s=window.screen.width/2-e/2,r=window.screen.height/2-n/2;return window.open(t,"",`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, width=${e}, height=${n}, top=${r}, left=${s}`)}var J={result:"ac-suggestion",item:"ac-itm"},B=class t extends EventTarget{constructor(e,n,s){super(),this.settings={emptyResultsText:"",...s},this.container=e,this.input=n,this.input.setAttribute("autocomplete","off"),this.categories=s.categories||{},this.caches=new Map,z(this.attach.bind(this))}static connect(e,n){let s=e.target;if(!s._autoComplete){if(!n?.categories)throw Error("Missing autocomplete settings");s._autoComplete=new t(s.parentNode,s,n),e.type==="focus"&&setTimeout(()=>{s._autoComplete.focusHandler(e)},100)}return s._autoComplete}on(e,n){return this.input.addEventListener(e,n),this}attach(){this.resultsDiv=document.createElement("div"),this.resultsDiv.title="",this.resultsDiv.classList.add(J.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 e=getComputedStyle(this.input);this.container.style.setProperty("--ac-bg-default",e.backgroundColor),this.container.style.setProperty("--ac-color-default",e.color);let n=getComputedStyle(this.input).accentColor;n!=="auto"&&this.container.style.setProperty("--ac-accent-color",n),(this.container?.shadowRoot??this.container).appendChild(this.resultsDiv),this.controller().clear("attach"),this.on("input",ye(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 e=this.internalController();return typeof this.settings.controller=="function"&&(e=this.settings.controller(this)??e),e}internalController(){return{show:this.show.bind(this),hide:this.hide.bind(this),clear:this.clear.bind(this),empty:()=>{}}}moveResult(e){this.controller().show();let n=this.acItems.length;this.rowIndex=this.rowIndex+e,this.rowIndex<=0?this.rowIndex=0:this.rowIndex>n-1&&(this.rowIndex=0);for(let r of this.acItems)r.classList.remove("selected");let s=this.getSelectedDiv();s?(s.classList.add("selected"),s.scrollIntoView({behavior:"smooth",block:"end",inline:"nearest"})):this.focusHandler({target:this.input})}getSelectedDiv(){return this.resultsDiv.querySelector(`div:nth-child(${this.rowIndex+1})`)}selectResult(e){if(e=e||this.getSelectedDiv(),e){let n=parseInt(e.getAttribute("data-index"));this.resultClicked=!0;let s=this.results[n],r=this.categories[s.category]??{};r.action=r.action??this.setText.bind(this),r.newTab&&(this.tabWindow=we("about:blank"));let o={...s,search:this.input.value};e.classList.add("ac-active"),setTimeout(()=>{this.controller().hide("result-selected"),o.action?o.action(o):(r.action(o),r.newTab&&(o.url?this.tabWindow.location.href=o.url:this.tabWindow.close()));var i=new Event("change",{bubbles:!0});this.input.dispatchEvent(i),this.controller().clear("result-selected");let c=new Event("result-selected");c.detail=o,this.input.dispatchEvent(c)},0)}}setText(e){let n=!1;this.input?(this.input.value=e.text,n=!0):this.container?.autoCompleteInput?(this.container.autoCompleteInput.value=e.text,n=!0):"value"in this.container&&(this.container.value=e.text,n=!0),n&&this.input&&this.input.dispatchEvent(new Event("input",{bubbles:!0})),this.controller().hide("settext")}resultClick(e){this.selectResult(e.target.closest(`.${J.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 e=this.getViewBounds();this.resultsDiv.style.position="absolute",e.rect.width>100&&(this.resultsDiv.style.width=`${e.rect.width}px`),this.settings.direction=this.settings.direction??e.suggestedDirection,this.resultsDiv.setAttribute("data-direction",this.settings.direction),this.settings.direction==="up"?(this.resultsDiv.style.top="unset",this.resultsDiv.style.bottom=`${e.rect.height+20}px`,this.rowIndex=this.acItems.length):(this.resultsDiv.style.bottom="unset",this.resultsDiv.style.top=`${e.rect.height}px`,this.rowIndex=-1),this.resultsDiv.style.maxWidth="unset",this.resultsDiv.classList.toggle("ac-active",!0)}}getViewBounds(){let e=this.input.getBoundingClientRect();return{rect:e,suggestedDirection:e.top+e.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(e){this.cacheTmr&&clearTimeout(this.cacheTmr);let n={search:e.target.value,categories:this.categories};this.container.classList.add("search-running"),this.getItems(n,e).then(s=>{this.controller().clear("new-results"),this.resultsHandler(s,n),this.container.classList.remove("search-running")})}keyDownHandler(e){switch(e.key){case"Enter":e.stopPropagation(),e.preventDefault();break;case"ArrowDown":z(this.moveResult(1));break;case"ArrowUp":z(this.moveResult(-1));break}}keyUpHandler(e){switch(e.key){case"Escape":this.controller().hide("escape");break;case"Enter":this.getSelectedDiv()&&(this.container.preventEnter=!0,e.stopPropagation(),e.preventDefault(),this.selectResult(),setTimeout(()=>{this.container.preventEnter=!1},10));break;default:break}}focusHandler(e){this.controller().clear("focus");let n=e.target.value;this.suggest(n,e)}suggest(e,n){this.input.focus();let s={suggest:!0,search:e||"",categories:this.categories};this.getItems(s,n).then(r=>{this.input.dispatchEvent(new CustomEvent("show-results",{detail:{results:r}})),this.resultsHandler(r,s)})}sort(e,n){return e.sort((s,r)=>{let o=n.categories[s.category],i=n.categories[r.category],c=typeof o.sortIndex=="function"?o.sortIndex(n):o.sortIndex??0;return(typeof i.sortIndex=="function"?i.sortIndex(n):i.sortIndex??0)>c?1:-1})}resultsHandler(e,n){this.results=e,this.rowIndex=-1;let s=0,r=(o,i)=>`
3
+ <div title="${i.tooltip||""}" data-index="${s}" class="${`${J.item} cat-${i.category} ${i.class??""}`.trim()}"${i.style?` style="${i.style}"`:""}>
4
4
  ${this.handleImageOrIcon(i)}
5
- <span class="text">${this.formatResultItem(i,s,o)}</span>
5
+ <span class="text">${this.formatResultItem(i,n,o)}</span>
6
6
  ${this.settings.hideCategory?"":`<span class="category">${i.category||""}</span>`}
7
- </div>`;e.forEach(o=>{let i=s.categories[o.category]||{};o.element?this.resultsDiv.appendChild(o.element):(o=typeof o=="string"?{text:o}:o,this.resultsDiv.appendChild(fe(r(i,o))[0])),n++}),e.length?(this.acItems=this.resultsDiv.querySelectorAll(".ac-itm"),this.controller().show()):s.search.length&&this.controller().empty()}handleImageOrIcon(e){return e.image?`<img src="${e.image}"/>`:typeof this.settings.iconHandler=="function"?this.settings.iconHandler(e):`<svg-icon icon="${e.icon}"></svg-icon>`}formatResultItem(e,s,n){let r=typeof e=="string"?{text:e}:e,o=r.text;return s.search&&(o=o.replace("%search%",s.search),r.description=r.description?.replace("%search%",s.search)),o=this.highlight(o,s.search),r.description&&(o=`<div>${o}</div><small>${r.description}</small>`),n.format&&(o=n.format({item:r,result:o,options:s})),o}highlight(e,s){var n=new RegExp("("+s+")","gi");return e.replace(n,'<span class="txt-hl">$1</span>')}async getItems(e,s){this.aborter&&this.aborter.abort();let n=this.caches.get(e.search);if(n)return n;let r=this.settings.map,o=u=>(typeof u=="string"&&(u={text:u}),u),i=u=>r?u.map(d=>({text:d[r]})):u.map(d=>o(d)),c=u=>(this.settings.max&&this.settings.max>0&&(u.length=this.settings.max),u);return this.aborter=new AbortController,this.aborterSignal=this.aborter.signal,new Promise(u=>{let d=l=>{l=this.sort(l,e),this.settings.cache!==!1&&this.caches.set(e.search,l),u(l)};if(ge(this.items)){if(this.settings.minlength>0&&(!e.search||e.search.length<this.settings.minlength)){d([]);return}let l=this.formatSearch(this.items,e);fetch(l).then(a=>{if(a.status===200){a.json().then(p=>{p=i(p),d(c(p.filter(h=>this.isMatch(e,h))))});return}throw Error(`HTTP error ${a.status} - ${l}`)})}else if(Array.isArray(this.items)){let l=!0;this.items=this.items.map(a=>typeof a=="string"?{text:a}:(l=!1,a)),l&&this.container.classList.add("simple"),d(c(i(this.items)))}else if(typeof this.items=="function")e.control=this.container,Promise.resolve(this.items(e,s)).then(a=>{a=a.map(p=>o(p)),a=i(a),d(a)});else return d(Promise.resolve(this.items.apply(this,e)))})}async items(e){let s=[];e.results=[],e.signal=this.aborterSignal;for(var n in e.categories){let r=e.categories[n];if(r.trigger=r.trigger??(()=>!0),e.results=s,r.trigger(e)){let o=[];try{o=await r.getItems(e)}catch(i){console.warn(`Error loading items for omniBox category '${n}'.`,i)}s=s.concat(o.map(i=>(i.category=n,i)))}}return s}formatSearch(e,s){return e.indexOf("%search%")?e.replace("%search%",s.search||""):e+"?"+this.createQueryParam(s)}createQueryParam(e){let s=e.suggest?"&suggest=true":"";return`q=${e.text}${s}`}isMatch(e,s){return s.text?.indexOf("%search%")>=0?!0:e.search?s.text?.toLowerCase().indexOf(e.search.toLowerCase())>=0:e.suggest}static textFilter(e,s){return function(n){if(!e.search)return!0;if(n.hidden)return!1;let o=(s?n[s]:n).match(new RegExp(e.search,"gi"));if(o)return o;if(n.config?.tags)return n.config.tags.some(i=>i.match(new RegExp(e.search,"gi")))}}};var z=class{constructor(){this._mode="static",this._staticPaths={tokens:"/assets/pds/styles/pds-tokens.css.js",primitives:"/assets/pds/styles/pds-primitives.css.js",components:"/assets/pds/styles/pds-components.css.js",utilities:"/assets/pds/styles/pds-utilities.css.js",styles:"/assets/pds/styles/pds-styles.css.js"}}setLiveMode(){this._mode="live"}setStaticMode(e={}){this._mode="static",this._staticPaths={...this._staticPaths,...e}}async getStylesheet(e){if(this._mode==="live")return null;try{return(await import(this._staticPaths[e]))[e]}catch(s){console.error(`[PDS Registry] Failed to load static ${e}:`,s),console.error(`[PDS Registry] Looking for: ${this._staticPaths[e]}`),console.error("[PDS Registry] Make sure you've run 'npm run pds:build' and configured PDS.start() with the correct static.root path");let n=new CSSStyleSheet;return n.replaceSync("/* Failed to load "+e+" */"),n}}get mode(){return this._mode}get isLive(){return this._mode==="live"}},$=new z;async function be(t,e=[],s=null){try{let n=s?.primitivesStylesheet?s.primitivesStylesheet:await $.getStylesheet("primitives");t.adoptedStyleSheets=[n,...e]}catch(n){let r=t.host?.tagName?.toLowerCase()||"unknown";console.error(`[PDS Adopter] <${r}> failed to adopt primitives:`,n),t.adoptedStyleSheets=e}}async function we(t,e=["primitives"],s=[],n=null){try{let o=(await Promise.all(e.map(async i=>{if(n)switch(i){case"tokens":return n.tokensStylesheet;case"primitives":return n.primitivesStylesheet;case"components":return n.componentsStylesheet;case"utilities":return n.utilitiesStylesheet;default:break}return $.getStylesheet(i)}))).filter(i=>i!==null);t.adoptedStyleSheets=[...o,...s]}catch(r){let o=t.host?.tagName?.toLowerCase()||"unknown";console.error(`[PDS Adopter] <${o}> failed to adopt layers:`,r),t.adoptedStyleSheets=s}}function ve(t){let e=new CSSStyleSheet;return e.replaceSync(t),e}var xe={FontWeights:{light:300,normal:400,medium:500,semibold:600,bold:700},LineHeights:{tight:1.25,normal:1.5,relaxed:1.75},BorderWidths:{hairline:.5,thin:1,medium:2,thick:3},RadiusSizes:{none:0,small:4,medium:8,large:16,xlarge:24,xxlarge:32},ShadowDepths:{none:"none",light:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",medium:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",deep:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",extreme:"0 25px 50px -12px rgba(0, 0, 0, 0.25)"},TransitionSpeeds:{fast:150,normal:250,slow:350},AnimationEasings:{linear:"linear",ease:"ease","ease-in":"ease-in","ease-out":"ease-out","ease-in-out":"ease-in-out",bounce:"cubic-bezier(0.68, -0.55, 0.265, 1.55)"},TouchTargetSizes:{compact:36,standard:44,comfortable:48,spacious:56},LinkStyles:{inline:"inline",block:"block",button:"button"},FocusStyles:{ring:"ring",outline:"outline",border:"border",glow:"glow"},TabSizes:{compact:2,standard:4,wide:8},SelectIcons:{chevron:"chevron",arrow:"arrow",caret:"caret",none:"none"},IconSizes:{xs:16,sm:20,md:24,lg:32,xl:48,"2xl":64,"3xl":96}};var O={mode:"live",liveEdit:!0,preset:"default",autoDefine:{predefine:["pds-icon","pds-drawer","pds-toaster","pds-form"]},log(t,e,...s){console[t](e,...s)}};var K={};he(K,{deepMerge:()=>Se,fragmentFromTemplateLike:()=>V,isObject:()=>q,parseHTML:()=>G});function q(t){return t&&typeof t=="object"&&!Array.isArray(t)}function Se(t,e){let s={...t};return q(t)&&q(e)&&Object.keys(e).forEach(n=>{q(e[n])?n in t?s[n]=Se(t[n],e[n]):Object.assign(s,{[n]:e[n]}):Object.assign(s,{[n]:e[n]})}),s}function V(t){let e=Array.isArray(t?.strings)?t.strings:[],s=Array.isArray(t?.values)?t.values:[],n=new Set,r=[],o=/(\s)(\.[\w-]+)=\s*$/;for(let a=0;a<e.length;a+=1){let p=e[a]??"",h=p.match(o);if(h&&a<s.length){let v=h[2].slice(1),f=`pds-val-${a}`;p=p.replace(o,`$1data-pds-prop="${v}:${f}"`),n.add(a)}r.push(p),a<s.length&&!n.has(a)&&r.push(`<!--pds-val-${a}-->`)}let i=document.createElement("template");i.innerHTML=r.join("");let c=(a,p)=>{let h=a.parentNode;if(!h)return;if(p==null){h.removeChild(a);return}let w=v=>{if(v!=null){if(v instanceof Node){h.insertBefore(v,a);return}if(Array.isArray(v)){v.forEach(f=>w(f));return}h.insertBefore(document.createTextNode(String(v)),a)}};w(p),h.removeChild(a)},u=document.createTreeWalker(i.content,NodeFilter.SHOW_COMMENT),d=[];for(;u.nextNode();){let a=u.currentNode;a?.nodeValue?.startsWith("pds-val-")&&d.push(a)}return d.forEach(a=>{let p=Number(a.nodeValue.replace("pds-val-",""));c(a,s[p])}),i.content.querySelectorAll("*").forEach(a=>{let p=a.getAttribute("data-pds-prop");if(!p)return;let[h,w]=p.split(":"),v=Number(String(w).replace("pds-val-",""));h&&Number.isInteger(v)&&(a[h]=s[v]),a.removeAttribute("data-pds-prop")}),i.content}function G(t){return new DOMParser().parseFromString(t,"text/html").body.childNodes}function Q(t,e){if(e==null)return;if(typeof e=="object"&&Array.isArray(e.strings)&&Array.isArray(e.values)){t.appendChild(V(e));return}if(e instanceof Node){t.appendChild(e);return}if(Array.isArray(e)){e.forEach(n=>Q(t,n));return}let s=typeof e=="string"?e:String(e);t.appendChild(document.createTextNode(s))}function Ne(){let t=navigator.userAgent,e=/Safari/i.test(t),s=/(Chrome|Chromium|CriOS|FxiOS|EdgiOS|OPiOS|Opera)/i.test(t);return e&&!s}function Fe(t){if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let e=window.matchMedia?.("(max-width: 639px)").matches,s=t.classList.contains("dialog-no-scale-animation")?"pds-dialog-fade-enter":e?"pds-dialog-enter-mobile":"pds-dialog-enter";t.style.animation="none",t.offsetWidth,t.style.animation=`${s} var(--transition-normal) ease`,t.addEventListener("animationend",()=>{t.style.animation=""},{once:!0})}async function Ee(t,e={}){return e={...{title:"Confirm",type:"confirm",buttons:{ok:{name:"OK",primary:!0},cancel:{name:"Cancel",cancel:!0}}},...e},new Promise(n=>{let r=document.createElement("dialog");Ne()&&r.classList.add("dialog-no-scale-animation"),O.options?.liquidGlassEffects&&r.classList.add("liquid-glass"),e.size&&r.classList.add(`dialog-${e.size}`),e.type&&r.classList.add(`dialog-${e.type}`),e.class&&(Array.isArray(e.class)?r.classList.add(...e.class):r.classList.add(e.class)),e.maxHeight&&r.style.setProperty("--dialog-max-height",e.maxHeight);let o=Object.entries(e.buttons).map(([c,u])=>{let d=u.primary?"btn-primary btn-sm":"btn-outline btn-sm";return`<button type="${u.cancel?"button":"submit"}" class="${d}" value="${c}">${u.name}</button>`});if(e.useForm){let c=document.createElement("div");Q(c,t);let u=c.querySelector("form");if(u){r.innerHTML=`
7
+ </div>`;e.forEach(o=>{let i=n.categories[o.category]||{};o.element?this.resultsDiv.appendChild(o.element):(o=typeof o=="string"?{text:o}:o,this.resultsDiv.appendChild(ge(r(i,o))[0])),s++}),e.length?(this.acItems=this.resultsDiv.querySelectorAll(".ac-itm"),this.controller().show()):n.search.length&&this.controller().empty()}handleImageOrIcon(e){return e.image?`<img src="${e.image}"/>`:typeof this.settings.iconHandler=="function"?this.settings.iconHandler(e):`<svg-icon icon="${e.icon}"></svg-icon>`}formatResultItem(e,n,s){let r=typeof e=="string"?{text:e}:e,o=r.text;return n.search&&(o=o.replace("%search%",n.search),r.description=r.description?.replace("%search%",n.search)),o=this.highlight(o,n.search),r.description&&(o=`<div>${o}</div><small>${r.description}</small>`),s.format&&(o=s.format({item:r,result:o,options:n})),o}highlight(e,n){var s=new RegExp("("+n+")","gi");return e.replace(s,'<span class="txt-hl">$1</span>')}async getItems(e,n){this.aborter&&this.aborter.abort();let s=this.caches.get(e.search);if(s)return s;let r=this.settings.map,o=u=>(typeof u=="string"&&(u={text:u}),u),i=u=>r?u.map(d=>({text:d[r]})):u.map(d=>o(d)),c=u=>(this.settings.max&&this.settings.max>0&&(u.length=this.settings.max),u);return this.aborter=new AbortController,this.aborterSignal=this.aborter.signal,new Promise(u=>{let d=a=>{a=this.sort(a,e),this.settings.cache!==!1&&this.caches.set(e.search,a),u(a)};if(be(this.items)){if(this.settings.minlength>0&&(!e.search||e.search.length<this.settings.minlength)){d([]);return}let a=this.formatSearch(this.items,e);fetch(a).then(l=>{if(l.status===200){l.json().then(h=>{h=i(h),d(c(h.filter(y=>this.isMatch(e,y))))});return}throw Error(`HTTP error ${l.status} - ${a}`)})}else if(Array.isArray(this.items)){let a=!0;this.items=this.items.map(l=>typeof l=="string"?{text:l}:(a=!1,l)),a&&this.container.classList.add("simple"),d(c(i(this.items)))}else if(typeof this.items=="function")e.control=this.container,Promise.resolve(this.items(e,n)).then(l=>{l=l.map(h=>o(h)),l=i(l),d(l)});else return d(Promise.resolve(this.items.apply(this,e)))})}async items(e){let n=[];e.results=[],e.signal=this.aborterSignal;for(var s in e.categories){let r=e.categories[s];if(r.trigger=r.trigger??(()=>!0),e.results=n,r.trigger(e)){let o=[];try{o=await r.getItems(e)}catch(i){console.warn(`Error loading items for omniBox category '${s}'.`,i)}n=n.concat(o.map(i=>(i.category=s,i)))}}return n}formatSearch(e,n){return e.indexOf("%search%")?e.replace("%search%",n.search||""):e+"?"+this.createQueryParam(n)}createQueryParam(e){let n=e.suggest?"&suggest=true":"";return`q=${e.text}${n}`}isMatch(e,n){return n.text?.indexOf("%search%")>=0?!0:e.search?n.text?.toLowerCase().indexOf(e.search.toLowerCase())>=0:e.suggest}static textFilter(e,n){return function(s){if(!e.search)return!0;if(s.hidden)return!1;let o=(n?s[n]:s).match(new RegExp(e.search,"gi"));if(o)return o;if(s.config?.tags)return s.config.tags.some(i=>i.match(new RegExp(e.search,"gi")))}}};var X=class{constructor(){this._mode="static",this._staticPaths={tokens:"/assets/pds/styles/pds-tokens.css.js",primitives:"/assets/pds/styles/pds-primitives.css.js",components:"/assets/pds/styles/pds-components.css.js",utilities:"/assets/pds/styles/pds-utilities.css.js",styles:"/assets/pds/styles/pds-styles.css.js"}}setLiveMode(){this._mode="live"}setStaticMode(e={}){this._mode="static",this._staticPaths={...this._staticPaths,...e}}async getStylesheet(e){if(this._mode==="live")return null;try{return(await import(this._staticPaths[e]))[e]}catch(n){console.error(`[PDS Registry] Failed to load static ${e}:`,n),console.error(`[PDS Registry] Looking for: ${this._staticPaths[e]}`),console.error("[PDS Registry] Make sure you've run 'npm run pds:build' and configured PDS.start() with the correct static.root path");let s=new CSSStyleSheet;return s.replaceSync("/* Failed to load "+e+" */"),s}}get mode(){return this._mode}get isLive(){return this._mode==="live"}},U=new X;async function ve(t,e=[],n=null){try{let s=n?.primitivesStylesheet?n.primitivesStylesheet:await U.getStylesheet("primitives");t.adoptedStyleSheets=[s,...e]}catch(s){let r=t.host?.tagName?.toLowerCase()||"unknown";console.error(`[PDS Adopter] <${r}> failed to adopt primitives:`,s),t.adoptedStyleSheets=e}}async function xe(t,e=["primitives"],n=[],s=null){try{let o=(await Promise.all(e.map(async i=>{if(s)switch(i){case"tokens":return s.tokensStylesheet;case"primitives":return s.primitivesStylesheet;case"components":return s.componentsStylesheet;case"utilities":return s.utilitiesStylesheet;default:break}return U.getStylesheet(i)}))).filter(i=>i!==null);t.adoptedStyleSheets=[...o,...n]}catch(r){let o=t.host?.tagName?.toLowerCase()||"unknown";console.error(`[PDS Adopter] <${o}> failed to adopt layers:`,r),t.adoptedStyleSheets=n}}function Ee(t){let e=new CSSStyleSheet;return e.replaceSync(t),e}var Se={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 V={mode:"live",liveEdit:!0,preset:"default",autoDefine:{predefine:["pds-icon","pds-drawer","pds-toaster","pds-form"]},log(t,e,...n){console[t](e,...n)}};var te={};me(te,{deepMerge:()=>Ae,fragmentFromTemplateLike:()=>Y,isObject:()=>G,parseHTML:()=>ee});function G(t){return t&&typeof t=="object"&&!Array.isArray(t)}function Ae(t,e){let n={...t};return G(t)&&G(e)&&Object.keys(e).forEach(s=>{G(e[s])?s in t?n[s]=Ae(t[s],e[s]):Object.assign(n,{[s]:e[s]}):Object.assign(n,{[s]:e[s]})}),n}function Y(t){let e=Array.isArray(t?.strings)?t.strings:[],n=Array.isArray(t?.values)?t.values:[],s=new Set,r=[],o=/(\s)(\.[\w-]+)=\s*$/;for(let l=0;l<e.length;l+=1){let h=e[l]??"",y=h.match(o);if(y&&l<n.length){let x=y[2].slice(1),w=`pds-val-${l}`;h=h.replace(o,`$1data-pds-prop="${x}:${w}"`),s.add(l)}r.push(h),l<n.length&&!s.has(l)&&r.push(`<!--pds-val-${l}-->`)}let i=document.createElement("template");i.innerHTML=r.join("");let c=(l,h)=>{let y=l.parentNode;if(!y)return;if(h==null){y.removeChild(l);return}let A=x=>{if(x!=null){if(x instanceof Node){y.insertBefore(x,l);return}if(Array.isArray(x)){x.forEach(w=>A(w));return}y.insertBefore(document.createTextNode(String(x)),l)}};A(h),y.removeChild(l)},u=document.createTreeWalker(i.content,NodeFilter.SHOW_COMMENT),d=[];for(;u.nextNode();){let l=u.currentNode;l?.nodeValue?.startsWith("pds-val-")&&d.push(l)}return d.forEach(l=>{let h=Number(l.nodeValue.replace("pds-val-",""));c(l,n[h])}),i.content.querySelectorAll("*").forEach(l=>{let h=l.getAttribute("data-pds-prop");if(!h)return;let[y,A]=h.split(":"),x=Number(String(A).replace("pds-val-",""));y&&Number.isInteger(x)&&(l[y]=n[x]),l.removeAttribute("data-pds-prop")}),i.content}function ee(t){return new DOMParser().parseFromString(t,"text/html").body.childNodes}function ne(t,e){if(e==null)return;if(typeof e=="object"&&Array.isArray(e.strings)&&Array.isArray(e.values)){t.appendChild(Y(e));return}if(e instanceof Node){t.appendChild(e);return}if(Array.isArray(e)){e.forEach(s=>ne(t,s));return}let n=typeof e=="string"?e:String(e);t.appendChild(document.createTextNode(n))}function He(){let t=navigator.userAgent,e=/Safari/i.test(t),n=/(Chrome|Chromium|CriOS|FxiOS|EdgiOS|OPiOS|Opera)/i.test(t);return e&&!n}function We(t){if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let e=window.matchMedia?.("(max-width: 639px)").matches,n=t.classList.contains("dialog-no-scale-animation")?"pds-dialog-fade-enter":e?"pds-dialog-enter-mobile":"pds-dialog-enter";t.style.animation="none",t.offsetWidth,t.style.animation=`${n} var(--transition-normal) ease`,t.addEventListener("animationend",()=>{t.style.animation=""},{once:!0})}async function Le(t,e={}){return e={...{title:"Confirm",type:"confirm",buttons:{ok:{name:"OK",primary:!0},cancel:{name:"Cancel",cancel:!0}}},...e},new Promise(s=>{let r=document.createElement("dialog");He()&&r.classList.add("dialog-no-scale-animation"),V.options?.liquidGlassEffects&&r.classList.add("liquid-glass"),e.size&&r.classList.add(`dialog-${e.size}`),e.type&&r.classList.add(`dialog-${e.type}`),e.class&&(Array.isArray(e.class)?r.classList.add(...e.class):r.classList.add(e.class)),e.maxHeight&&r.style.setProperty("--dialog-max-height",e.maxHeight);let o=Object.entries(e.buttons).map(([c,u])=>{let d=u.primary?"btn-primary btn-sm":"btn-outline btn-sm";return`<button type="${u.cancel?"button":"submit"}" class="${d}" value="${c}">${u.name}</button>`});if(e.useForm){let c=document.createElement("div");ne(c,t);let u=c.querySelector("form");if(u){r.innerHTML=`
8
8
  <header>
9
9
  <h2>${e.title}</h2>
10
10
  </header>
11
- `;let d=document.createElement("article");for(d.className="dialog-body";u.firstChild;)d.appendChild(u.firstChild);u.appendChild(d);let l=document.createElement("footer");l.innerHTML=o.join(""),u.appendChild(l),r.appendChild(u)}else r.innerHTML=`
11
+ `;let d=document.createElement("article");for(d.className="dialog-body";u.firstChild;)d.appendChild(u.firstChild);u.appendChild(d);let a=document.createElement("footer");a.innerHTML=o.join(""),u.appendChild(a),r.appendChild(u)}else r.innerHTML=`
12
12
  <header>
13
13
  <h2>${e.title}</h2>
14
14
  </header>
@@ -28,139 +28,15 @@ var Oe=Object.defineProperty;var qe=(t,e)=>()=>(t&&(e=t(t=0)),e);var he=(t,e)=>{
28
28
  ${o.join("")}
29
29
  </footer>
30
30
  </form>
31
- `;let c=r.querySelector("#msg-container");Q(c,t)}r.addEventListener("click",c=>{c.target.closest('button[value="cancel"]')&&(r.close(),n(!1))});let i=()=>{let c=r.querySelector("form");c?c.addEventListener("submit",u=>{u.preventDefault();let d;e.useForm&&u.submitter.value==="ok"?(console.log("Found form:",c),console.log("Form elements:",c?Array.from(c.elements):"no form"),d=new FormData(c),console.log("FormData entries:",Array.from(d.entries()))):d=u.submitter.value==="ok",r.close(),n(d)}):requestAnimationFrame(i)};i(),r.addEventListener("close",()=>{setTimeout(()=>r.remove(),200)}),document.body.appendChild(r),typeof e.rendered=="function"&&e.rendered(r),r.showModal(),requestAnimationFrame(()=>Fe(r))})}async function He(){let t=document.querySelector("pds-toaster");return t||(t=document.createElement("pds-toaster"),document.body.appendChild(t),await customElements.whenDefined("pds-toaster")),t}async function L(t,e={}){return(await He()).toast(t,e)}L.success=async function(t,e={}){return L(t,{...e,type:"success"})};L.error=async function(t,e={}){return L(t,{...e,type:"error"})};L.warning=async function(t,e={}){return L(t,{...e,type:"warning"})};L.info=async function(t,e={}){return L(t,{...e,type:"information"})};var We=[{selector:".accordion"},{selector:"nav[data-dropdown]"},{selector:"label[data-toggle]"},{selector:"label[data-color]"},{selector:'input[type="range"]'},{selector:"form[data-required]"},{selector:"fieldset[role=group][data-open]"},{selector:"[data-clip]"},{selector:"button, a[class*='btn-']"}];function Be(t){t.dataset.enhancedAccordion||(t.dataset.enhancedAccordion="true",t.addEventListener("toggle",e=>{e.target.open&&e.target.parentElement===t&&t.querySelectorAll(":scope > details[open]").forEach(s=>{s!==e.target&&(s.open=!1)})},!0))}function ze(t){if(t.dataset.enhancedDropdown)return;t.dataset.enhancedDropdown="true";let e=t.lastElementChild;if(!e)return;let s=t.querySelector("[data-dropdown-toggle]")||t.querySelector("button");s&&!s.hasAttribute("type")&&s.setAttribute("type","button"),e.id||(e.id=`dropdown-${Math.random().toString(36).slice(2,9)}`),e.tagName?.toLowerCase()==="menu"&&!e.hasAttribute("role")&&e.setAttribute("role","menu"),e.hasAttribute("aria-hidden")||e.setAttribute("aria-hidden","true"),s&&(s.setAttribute("aria-haspopup","true"),s.setAttribute("aria-controls",e.id),s.setAttribute("aria-expanded","false"));let r=()=>{let a=e.getAttribute("style");e.style.visibility="hidden",e.style.display="inline-block",e.style.pointerEvents="none";let p=e.getBoundingClientRect(),h=Math.max(e.offsetWidth||0,e.scrollWidth||0,p.width||0,1),w=Math.max(e.offsetHeight||0,e.scrollHeight||0,p.height||0,1);return a===null?e.removeAttribute("style"):e.setAttribute("style",a),{width:h,height:w}},o=()=>{let a=(t.getAttribute("data-direction")||t.getAttribute("data-dropdown-direction")||t.getAttribute("data-mode")||"auto").toLowerCase();if(a==="up"||a==="down")return a;let p=(s||t).getBoundingClientRect(),{height:h}=r(),w=Math.max(0,window.innerHeight-p.bottom),v=Math.max(0,p.top),f=w>=h,x=v>=h;return f&&!x?"down":x&&!f?"up":f&&x?"down":v>w?"up":"down"},i=()=>{let a=(t.getAttribute("data-align")||t.getAttribute("data-dropdown-align")||"auto").toLowerCase();if(a==="left"||a==="right"||a==="start"||a==="end")return a==="start"?"left":a==="end"?"right":a;let p=(s||t).getBoundingClientRect(),{width:h}=r(),w=Math.max(0,window.innerWidth-p.left),v=Math.max(0,p.right),f=w>=h,x=v>=h;return f&&!x?"left":x&&!f?"right":f&&x?"left":v>w?"right":"left"},c=null,u=()=>{t.dataset.dropdownDirection=o(),t.dataset.dropdownAlign=i(),e.setAttribute("aria-hidden","false"),s?.setAttribute("aria-expanded","true"),c||(c=a=>{(a.composedPath?a.composedPath():[a.target]).some(w=>w===t)||d()},setTimeout(()=>{document.addEventListener("click",c)},0))},d=()=>{e.setAttribute("aria-hidden","true"),s?.setAttribute("aria-expanded","false"),c&&(document.removeEventListener("click",c),c=null)},l=()=>{e.getAttribute("aria-hidden")==="false"?d():u()};s?.addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),l()}),t.addEventListener("keydown",a=>{a.key==="Escape"&&(d(),s?.focus())}),t.addEventListener("focusout",a=>{a.relatedTarget&&((a.composedPath?a.composedPath():[a.relatedTarget]).some(w=>w===t)||d())})}function Ve(t){if(t.dataset.enhancedToggle)return;t.dataset.enhancedToggle="true";let e=t.querySelector('input[type="checkbox"]');if(!e)return;t.hasAttribute("tabindex")||t.setAttribute("tabindex","0"),t.setAttribute("role","switch"),t.setAttribute("aria-checked",e.checked?"true":"false");let s=document.createElement("span");s.className="toggle-switch",s.setAttribute("role","presentation"),s.setAttribute("aria-hidden","true");let n=document.createElement("span");n.className="toggle-knob",s.appendChild(n),t.insertBefore(s,e.nextSibling);let r=()=>{t.setAttribute("aria-checked",e.checked?"true":"false")},o=()=>{e.disabled||(e.checked=!e.checked,r(),e.dispatchEvent(new Event("change",{bubbles:!0})))};t.addEventListener("click",i=>{i.preventDefault(),o()}),t.addEventListener("keydown",i=>{(i.key===" "||i.key==="Enter")&&(i.preventDefault(),o())}),e.addEventListener("change",r)}function Ge(t){if(t.dataset.enhancedColorInput)return;let e=t.querySelector('input[type="color"]');if(!e)return;t.dataset.enhancedColorInput="true";let s=t.querySelector(":scope > .color-control"),n=t.querySelector(":scope > .color-control > .color-swatch"),r=t.querySelector(":scope > .color-control > output");s||(s=document.createElement("span"),s.className="color-control",e.before(s)),n||(n=document.createElement("span"),n.className="color-swatch",s.appendChild(n)),e.parentElement!==n&&n.appendChild(e),r||(r=document.createElement("output"),s.appendChild(r));let o=()=>{if(e.dataset.colorUnset==="1"){r.value="",r.textContent="not set",s.dataset.value="",s.dataset.unset="1",n.dataset.unset="1";return}r.value=e.value,r.textContent=e.value,s.dataset.value=e.value,delete s.dataset.unset,delete n.dataset.unset};o();let i=()=>{e.dataset.colorUnset==="1"&&(e.dataset.colorUnset="0"),o()};e.addEventListener("input",i,{passive:!0}),e.addEventListener("change",i,{passive:!0})}function Ke(t){if(t.dataset.enhancedRange)return;let e=i=>{if(t.dataset.enhancedRangeProgrammatic)return;t.dataset.enhancedRangeProgrammatic="1";let c=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(t),"value")||Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value");c?.get&&c?.set&&Object.defineProperty(t,"value",{configurable:!0,enumerable:c.enumerable,get(){return c.get.call(this)},set(d){c.set.call(this,d),i()}}),new MutationObserver(d=>{d.some(a=>{let p=a.attributeName;return p==="value"||p==="min"||p==="max"})&&i()}).observe(t,{attributes:!0,attributeFilter:["value","min","max"]})},s=t.closest("label"),n=s?.classList.contains("range-output"),r=t.id||`range-${Math.random().toString(36).substring(2,11)}`,o=`${r}-output`;if(t.id=r,n){let i=s.querySelector("span");if(i&&!i.classList.contains("range-output-wrapper")){let c=document.createElement("span");c.className="range-output-wrapper",c.style.display="flex",c.style.justifyContent="space-between",c.style.alignItems="center";let u=document.createElement("span");u.textContent=i.textContent,c.appendChild(u);let d=document.createElement("output");d.id=o,d.setAttribute("for",r),d.style.color="var(--surface-text-secondary, var(--color-text-secondary))",d.style.fontSize="0.875rem",d.textContent=t.value,c.appendChild(d),i.textContent="",i.appendChild(c);let l=()=>{d.textContent=t.value};t.addEventListener("input",l),t.addEventListener("change",l),e(l),l()}}else{let i=t.closest(".range-container");i||(i=document.createElement("div"),i.className="range-container",t.parentNode?.insertBefore(i,t),i.appendChild(t)),i.style.position="relative";let c=document.createElement("output");c.id=o,c.setAttribute("for",r),c.className="range-bubble",c.setAttribute("aria-live","polite"),i.appendChild(c);let u=()=>{let a=parseFloat(t.min)||0,p=parseFloat(t.max)||100,h=parseFloat(t.value),w=(h-a)/(p-a);c.style.left=`calc(${w*100}% )`,c.textContent=String(h)},d=()=>c.classList.add("visible"),l=()=>c.classList.remove("visible");t.addEventListener("input",u),t.addEventListener("pointerdown",d),t.addEventListener("pointerup",l),t.addEventListener("pointerleave",l),t.addEventListener("focus",d),t.addEventListener("blur",l),t.addEventListener("change",u),e(u),u()}t.dataset.enhancedRange="1"}function Qe(t){if(t.dataset.enhancedRequired)return;t.dataset.enhancedRequired="true";let e=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 r=document.createElement("span");r.classList.add("required-asterisk"),r.textContent="*",r.style.marginLeft="4px";let o=n.querySelector("span, [data-label]");if(o)o.appendChild(r);else{let c=n.querySelector("input, select, textarea");c?n.insertBefore(r,c):n.appendChild(r)}let i=s.closest("form");if(i&&!i.querySelector(".required-legend")){let c=document.createElement("small");c.classList.add("required-legend"),c.textContent="* Required fields",i.insertBefore(c,i.querySelector(".form-actions")||i.lastElementChild)}};t.querySelectorAll("[required]").forEach(s=>{e(s)})}function Ze(t){if(t.dataset.enhancedOpenGroup)return;t.dataset.enhancedOpenGroup="true",t.classList.add("flex","flex-wrap","buttons");let e=document.createElement("input");e.type="text",e.placeholder="Add item...",e.classList.add("input-text","input-sm"),e.style.width="auto";let s=()=>t.querySelector('input[type="radio"], input[type="checkbox"]');t.appendChild(e),e.addEventListener("keydown",n=>{if(n.key==="Enter"||n.key==="Tab"){let r=e.value.trim();if(r){n.preventDefault();let o=s(),i=o?.type==="radio"?"radio":"checkbox",c=`open-group-${Math.random().toString(36).substring(2,11)}`,u=document.createElement("label"),d=document.createElement("span");d.setAttribute("data-label",""),d.textContent=r;let l=document.createElement("input");l.type=i,l.name=o?.name||t.getAttribute("data-name")||"open-group",l.value=r,l.id=c,u.appendChild(d),u.appendChild(l),t.insertBefore(u,e),e.value=""}}else if(n.key==="Backspace"&&e.value===""){n.preventDefault();let r=t.querySelectorAll("label");r.length>0&&r[r.length-1].remove()}})}function Je(t){if(t.dataset.enhancedClip)return;t.dataset.enhancedClip="true",t.hasAttribute("tabindex")||t.setAttribute("tabindex","0"),t.hasAttribute("role")||t.setAttribute("role","button");let e=()=>{let n=t.getAttribute("data-clip-open")==="true";t.setAttribute("aria-expanded",n?"true":"false")},s=()=>{let n=t.getAttribute("data-clip-open")==="true";t.setAttribute("data-clip-open",n?"false":"true"),e()};t.addEventListener("click",n=>{n.defaultPrevented||s()}),t.addEventListener("keydown",n=>{(n.key===" "||n.key==="Enter")&&(n.preventDefault(),s())}),e()}function Xe(t){if(t.dataset.enhancedBtnWorking)return;t.dataset.enhancedBtnWorking="true";let e=null,s=!1;new MutationObserver(r=>{r.forEach(o=>{if(o.attributeName==="class"){let i=t.classList.contains("btn-working"),c=t.querySelector("pds-icon");if(i)if(c)e||(e=c.getAttribute("icon")),c.setAttribute("icon","circle-notch");else{let u=document.createElement("pds-icon");u.setAttribute("icon","circle-notch"),u.setAttribute("size","sm"),t.insertBefore(u,t.firstChild),s=!0}else o.oldValue?.includes("btn-working")&&c&&(s?(c.remove(),s=!1):e&&(c.setAttribute("icon",e),e=null))}})}).observe(t,{attributes:!0,attributeFilter:["class"],attributeOldValue:!0})}var Ye=new Map([[".accordion",Be],["nav[data-dropdown]",ze],["label[data-toggle]",Ve],["label[data-color]",Ge],['input[type="range"]',Ke],["form[data-required]",Qe],["fieldset[role=group][data-open]",Ze],["[data-clip]",Je],["button, a[class*='btn-']",Xe]]),Z=We.map(t=>({...t,run:Ye.get(t.selector)||(()=>{})}));var Le="pds",et=/^([a-z][a-z0-9+\-.]*:)?\/\//i,Ae=/^[a-z]:/i;function M(t=""){return t.endsWith("/")?t:`${t}/`}function tt(t="",e=Le){let s=t.replace(/\/+$/,"");return new RegExp(`(?:^|/)${e}$`,"i").test(s)?s:`${s}/${e}`}function st(t){return t.replace(/^\.\/+/,"")}function nt(t){return Ae.test(t)?t.replace(Ae,"").replace(/^\/+/,""):t}function rt(t){return t.startsWith("public/")?t.substring(7):t}function J(t,e={}){let s=e.segment||Le,n=e.defaultRoot||`/assets/${s}/`,r=t?.public&&t.public?.root||t?.static&&t.static?.root||null;if(!r||typeof r!="string")return M(n);let o=r.trim();return o?(o=o.replace(/\\/g,"/"),o=tt(o,s),o=M(o),et.test(o)?o:(o=st(o),o=nt(o),o.startsWith("/")||(o=rt(o),o.startsWith("/")||(o=`/${o}`),o=o.replace(/\/+/g,(i,c)=>c===0?i:"/")),M(o))):M(n)}var it=/^[a-z][a-z0-9+\-.]*:\/\//i,I=(()=>{try{return import.meta.url}catch{return}})(),N=t=>typeof t=="string"&&t.length&&!t.endsWith("/")?`${t}/`:t;function F(t,e={}){if(!t||it.test(t))return t;let{preferModule:s=!0}=e,n=()=>{if(!I)return null;try{return new URL(t,I).href}catch{return null}},r=()=>{if(typeof window>"u"||!window.location?.origin)return null;try{return new URL(t,window.location.origin).href}catch{return null}};return(s?n()||r():r()||n())||t}var De=(()=>{if(I)try{let t=new URL(I);if(/\/public\/assets\/js\//.test(t.pathname))return new URL("../pds/",I).href}catch{return}})(),Te=!1;function $e(t){Te||typeof document>"u"||(Te=!0,t.addEventListener("pds:ready",e=>{let s=e.detail?.mode;s&&document.documentElement.classList.add(`pds-${s}`,"pds-ready")}))}function Re({manageTheme:t,themeStorageKey:e,applyResolvedTheme:s,setupSystemListenerIfNeeded:n}){let r="light",o=null;if(t&&typeof window<"u"){try{o=localStorage.getItem(e)||null}catch{o=null}try{s?.(o),n?.(o)}catch{}o?o==="system"?r=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":r=o:r=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}return{resolvedTheme:r,storedTheme:o}}function Y(t,{resolvePublicAssetURL:e}){let s=!!(t?.public?.root||t?.static?.root),n=e(t);return!s&&De&&(n=De),N(F(n))}async function Pe(t,{baseEnhancers:e=[]}={}){let{autoDefineBaseURL:s="/auto-define/",autoDefinePreload:n=[],autoDefineMapper:r=null,enhancers:o=[],autoDefineOverrides:i=null,autoDefinePreferModule:c=!0}=t,u=(()=>{let l=new Map;return(e||[]).forEach(a=>l.set(a.selector,a)),(o||[]).forEach(a=>l.set(a.selector,a)),Array.from(l.values())})(),d=null;if(typeof window<"u"&&typeof document<"u"){let l=null;try{let f=await Promise.resolve().then(()=>(Ce(),ke));l=f?.AutoDefiner||f?.default?.AutoDefiner||f?.default||null}catch(f){console.warn("AutoDefiner not available:",f?.message||f)}let a=f=>{switch(f){case"pds-tabpanel":return"pds-tabstrip.js";default:return`${f}.js`}},{mapper:p,...h}=i&&typeof i=="object"?i:{},v={baseURL:s&&N(F(s,{preferModule:c})),predefine:n,scanExisting:!0,observeShadows:!0,patchAttachShadow:!0,debounceMs:16,enhancers:u,onError:(f,x)=>{if(typeof f=="string"&&f.startsWith("pds-")){let S=["pds-form","pds-drawer"].includes(f),C=x?.message?.includes("#pds/lit")||x?.message?.includes("Failed to resolve module specifier");S&&C?console.error(`\u274C PDS component <${f}> 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 <${f}> not found. Assets may not be installed.`)}else console.error(`\u274C Auto-define error for <${f}>:`,x)},...h,mapper:f=>{if(customElements.get(f))return null;if(typeof r=="function")try{let x=r(f);return x===void 0?a(f):x}catch(x){return console.warn("Custom autoDefine.mapper error; falling back to default:",x?.message||x),a(f)}return a(f)}};l&&(d=new l(v),n.length>0&&typeof l.define=="function"&&await l.define(...n,{baseURL:s,mapper:v.mapper,onError:v.onError}))}return{autoDefiner:d,mergedEnhancers:u}}var ee=["light","dark"],te=new Set(ee);function at(t){let s=(Array.isArray(t?.themes)?t.themes.map(n=>String(n).toLowerCase()):ee).filter(n=>te.has(n));return s.length?s:ee}function se(t,{preferDocument:e=!0}={}){let s=String(t||"").toLowerCase();if(te.has(s))return s;if(e&&typeof document<"u"){let n=document.documentElement?.getAttribute("data-theme");if(te.has(n))return n}return typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Me(t,e){let s=se(e);return at(t).includes(s)}var re=class extends EventTarget{},y=new re;y.initializing=!1;y.currentPreset=null;y.debug=!1;var Ie=function(t="log",e,...s){let n=!!(y.registry&&!y.registry.isLive),r=(this?.debug||this?.design?.debug||y.debug||!1)===!0;if(n){if(!y.debug)return}else if(!r&&t!=="error"&&t!=="warn")return;let o=console[t]||console.log;s.length>0?o(e,...s):o(e)};function oe(t){if(t==null)return t;if(typeof t=="function")return;if(typeof t!="object")return t;if(Array.isArray(t))return t.map(s=>oe(s)).filter(s=>s!==void 0);let e={};for(let[s,n]of Object.entries(t)){let r=oe(n);r!==void 0&&(e[s]=r)}return e}async function ct(t,e={}){if(e?.runtimeConfig===!1||typeof fetch!="function")return null;let s=e?.runtimeConfigURL||`${t}pds-runtime-config.json`;try{let n=await fetch(s,{cache:"no-store"});return n.ok?await n.json():null}catch{return null}}y.registry=$;y.enums=xe;y.adoptLayers=we;y.adoptPrimitives=be;y.parse=G;y.createStylesheet=ve;y.isLiveMode=()=>$.isLive;y.ask=Ee;y.toast=L;y.common=K;y.AutoComplete=U;function je(t){let e=typeof CustomEvent=="function";try{let s=e?new CustomEvent("pds:ready",{detail:t}):new Event("pds:ready");y.dispatchEvent(s)}catch{}if(typeof document<"u")if(e){let s={detail:t,bubbles:!0,composed:!0};try{document.dispatchEvent(new CustomEvent("pds:ready",s))}catch{}try{document.dispatchEvent(new CustomEvent("pds-ready",s))}catch{}}else{try{document.dispatchEvent(new Event("pds:ready"))}catch{}try{document.dispatchEvent(new Event("pds-ready"))}catch{}}}typeof window<"u"&&(window.PDS=y);var ne="pure-ds-theme",k=null,j=null;function ie(t){try{if(typeof document>"u")return;let e="light";t?t==="system"?e=typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e=t:e=typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",document.documentElement.setAttribute("data-theme",e)}catch{}}function ae(t){try{if(k&&j){try{typeof k.removeEventListener=="function"?k.removeEventListener("change",j):typeof k.removeListener=="function"&&k.removeListener(j)}catch{}k=null,j=null}if(t==="system"&&typeof window<"u"&&window.matchMedia){let e=window.matchMedia("(prefers-color-scheme: dark)"),s=n=>{let r=n?.matches===void 0?e.matches:n.matches;try{let o=r?"dark":"light";document.documentElement.setAttribute("data-theme",o),y.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:o,source:"system"}}))}catch{}};k=e,j=s,typeof e.addEventListener=="function"?e.addEventListener("change",s):typeof e.addListener=="function"&&e.addListener(s)}}catch{}}Object.defineProperty(y,"theme",{get(){try{return typeof window>"u"?null:localStorage.getItem(ne)||null}catch{return null}},set(t){try{if(typeof window>"u")return;let e=y.currentConfig?.design||null,s=se(t);if(e&&!Me(e,s)){let n=e?.name||y.currentPreset?.name||y.currentConfig?.preset||"current preset";console.warn(`PDS theme "${s}" not supported by preset "${n}".`),y.dispatchEvent(new CustomEvent("pds:theme:blocked",{detail:{theme:t,resolvedTheme:s,preset:n}}));return}t==null?localStorage.removeItem(ne):localStorage.setItem(ne,t),ie(t),ae(t),y.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:t,source:"api"}}))}catch{}}});y.defaultEnhancers=Z;async function lt(t){let e=t&&t.mode||"live",{mode:s,...n}=t||{};if(e==="static")return dt(n);let r=Y(n,{resolvePublicAssetURL:J}),o=n?.managerURL||n?.public?.managerURL||n?.manager?.url||new URL("core/pds-manager.js",r).href||new URL("./pds-manager.js",import.meta.url).href,{startLive:i}=await import(o);return i(y,n,{emitReady:je,applyResolvedTheme:ie,setupSystemListenerIfNeeded:ae})}y.start=lt;async function dt(t){if(!t||typeof t!="object")throw new Error("PDS.start({ mode: 'static', ... }) requires a valid configuration object");let e=t.applyGlobalStyles??!0,s=t.manageTheme??!0,n=t.themeStorageKey??"pure-ds-theme",r=t.staticPaths??{},o=Y(t,{resolvePublicAssetURL:J}),i=t&&t.autoDefine||null,c;i&&i.baseURL?c=N(F(i.baseURL,{preferModule:!1})):c=`${o}components/`;let u=i&&Array.isArray(i.predefine)&&i.predefine||[],d=i&&typeof i.mapper=="function"&&i.mapper||null;try{$e(y);let{resolvedTheme:l}=Re({manageTheme:s,themeStorageKey:n,applyResolvedTheme:ie,setupSystemListenerIfNeeded:ae}),a=await ct(o,t),p=Array.isArray(t?.enhancers)?t.enhancers:t?.enhancers&&typeof t.enhancers=="object"?Object.values(t.enhancers):[],h=a?.config?{...a.config,...t,design:t?.design||a.config.design,preset:t?.preset||a.config.preset}:{...t},w={tokens:`${o}styles/pds-tokens.css.js`,primitives:`${o}styles/pds-primitives.css.js`,components:`${o}styles/pds-components.css.js`,utilities:`${o}styles/pds-utilities.css.js`,styles:`${o}styles/pds-styles.css.js`},v=a?.paths||{};if(r={...w,...v,...r},y.registry.setStaticMode(r),e&&typeof document<"u")try{let S=await y.registry.getStylesheet("styles");if(S){S._pds=!0;let C=(document.adoptedStyleSheets||[]).filter(P=>P._pds!==!0);document.adoptedStyleSheets=[...C,S]}}catch(S){Ie.call(y,"warn","Failed to apply static styles:",S)}let f=null,x=[];try{let S=await Pe({autoDefineBaseURL:c,autoDefinePreload:u,autoDefineMapper:d,enhancers:p,autoDefineOverrides:i||null,autoDefinePreferModule:!(i&&i.baseURL)},{baseEnhancers:Z});f=S.autoDefiner,x=S.mergedEnhancers||[]}catch(S){Ie.call(y,"error","\u274C Failed to initialize AutoDefiner/Enhancers (static):",S)}let R=oe(t);return y.currentConfig=Object.freeze({mode:"static",...structuredClone(R),design:structuredClone(h.design||{}),preset:h.preset,theme:l,enhancers:x}),je({mode:"static",config:h,theme:l,autoDefiner:f}),{config:h,theme:l,autoDefiner:f}}catch(l){throw y.dispatchEvent(new CustomEvent("pds:error",{detail:{error:l}})),l}}var E={name:"@pure-ds/core",shortname:"pds",version:"0.6.10",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.32"},customElements:"custom-elements.json"};await y.start(O);var pt=new Date,ht=pt.toLocaleDateString(void 0,{year:"numeric",month:"long",day:"numeric"}),_e=typeof E.repository=="string"?E.repository:E.repository?.url,ce=_e?_e.replace(/^git\+/,"").replace(/\.git$/,""):"",ft=E.homepage||ce,mt=E.bugs?.url||"";document.body.innerHTML=`
33
- <header class="container section">
34
- <div class="stack-sm">
35
- <pds-toaster id="global-toaster"></pds-toaster>
36
- <div class="flex items-center gap-sm">
37
- <pds-icon icon="gear" size="lg"></pds-icon>
38
- <div>
39
- <h1>Pure Design System</h1>
40
- <p class="text-muted">${E.description}</p>
41
- </div>
42
- </div>
43
- <div class="flex items-center gap-sm">
44
- <span class="badge badge-primary">${E.name}</span>
45
- <span class="text-muted">Version ${E.version}</span>
46
- <span class="text-muted">Updated ${ht}</span>
47
- </div>
48
- </div>
49
- </header>
50
-
51
- <main class="container section stack-lg">
52
- <section class="grid grid-auto-md gap-lg">
53
- <article class="card surface-elevated stack-sm">
54
- <header class="flex items-center gap-sm">
55
- <pds-icon icon="floppy-disk"></pds-icon>
56
- <h2>Package details</h2>
57
- </header>
58
- <div class="stack-lg">
59
- <div class="flex justify-between items-center">
60
- <span class="text-muted">Package</span>
61
- <strong>${E.name}</strong>
62
- </div>
63
- <div class="flex justify-between items-center">
64
- <span class="text-muted">Version</span>
65
- <strong>${E.version}</strong>
66
- </div>
67
- <div class="flex justify-between items-center">
68
- <span class="text-muted">License</span>
69
- <strong>${E.license}</strong>
70
- </div>
71
- <div class="flex justify-between items-center">
72
- <span class="text-muted">Repository</span>
73
- <a href="${ce}">GitHub</a>
74
- </div>
75
- </div>
76
- </article>
77
-
78
- <article class="card surface-elevated stack-sm">
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>
83
- </header>
84
-
85
- <div class="stack-sm">
86
- <pre><code>npm i ${E.name}</code></pre>
87
- <pre><code>pnpm add ${E.name}</code></pre>
88
- </div>
89
- <div class="callout callout-info">
90
- Includes tokens, utilities, and web components from the PDS runtime bundle.
91
- </div>
92
- </article>
93
- </section>
94
-
95
- <section class="grid grid-auto-md gap-lg">
96
- <article class="card surface-elevated stack-sm">
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>
101
- </header>
102
-
103
- <div class="stack-sm">
104
- <pre><code>npm run pds:bootstrap</code></pre>
105
- </div>
106
- <ul class="stack-sm">
107
- <li>Copies the runtime assets into your project.</li>
108
- <li>Creates a starter PDS config and output folders.</li>
109
- <li>Prepares icons, tokens, and design layers.</li>
110
- </ul>
111
- </article>
112
-
113
- <article class="card surface-elevated stack-sm">
114
- <header class="flex items-center gap-sm">
115
- <pds-icon icon="link"></pds-icon>
116
- <h2>Quick links</h2>
31
+ `;let c=r.querySelector("#msg-container");ne(c,t)}r.addEventListener("click",c=>{c.target.closest('button[value="cancel"]')&&(r.close(),s(!1))});let i=()=>{let c=r.querySelector("form");c?c.addEventListener("submit",u=>{u.preventDefault();let d;e.useForm&&u.submitter.value==="ok"?(console.log("Found form:",c),console.log("Form elements:",c?Array.from(c.elements):"no form"),d=new FormData(c),console.log("FormData entries:",Array.from(d.entries()))):d=u.submitter.value==="ok",r.close(),s(d)}):requestAnimationFrame(i)};i(),r.addEventListener("close",()=>{setTimeout(()=>r.remove(),200)}),document.body.appendChild(r),typeof e.rendered=="function"&&e.rendered(r),r.showModal(),requestAnimationFrame(()=>We(r))})}async function ze(){let t=document.querySelector("pds-toaster");return t||(t=document.createElement("pds-toaster"),document.body.appendChild(t),await customElements.whenDefined("pds-toaster")),t}async function $(t,e={}){return(await ze()).toast(t,e)}$.success=async function(t,e={}){return $(t,{...e,type:"success"})};$.error=async function(t,e={}){return $(t,{...e,type:"error"})};$.warning=async function(t,e={}){return $(t,{...e,type:"warning"})};$.info=async function(t,e={}){return $(t,{...e,type:"information"})};var Be=[{selector:".accordion"},{selector:"nav[data-dropdown]"},{selector:"label[data-toggle]"},{selector:"label[data-color]"},{selector:'input[type="range"]'},{selector:"form[data-required]"},{selector:"fieldset[role=group][data-open]"},{selector:"[data-clip]"},{selector:"button, a[class*='btn-']"}];function Ve(t){t.dataset.enhancedAccordion||(t.dataset.enhancedAccordion="true",t.addEventListener("toggle",e=>{e.target.open&&e.target.parentElement===t&&t.querySelectorAll(":scope > details[open]").forEach(n=>{n!==e.target&&(n.open=!1)})},!0))}function Ge(t){if(t.dataset.enhancedDropdown)return;t.dataset.enhancedDropdown="true";let e=t.lastElementChild;if(!e)return;let n=t.querySelector("[data-dropdown-toggle]")||t.querySelector("button");n&&!n.hasAttribute("type")&&n.setAttribute("type","button"),e.id||(e.id=`dropdown-${Math.random().toString(36).slice(2,9)}`);let s=e.tagName?.toLowerCase()==="menu",r=8;s&&!e.hasAttribute("role")&&e.setAttribute("role","menu"),e.hasAttribute("aria-hidden")||e.setAttribute("aria-hidden","true"),n&&(n.setAttribute("aria-haspopup","true"),n.setAttribute("aria-controls",e.id),n.setAttribute("aria-expanded","false"));let o=()=>{let b=e.getAttribute("style");e.style.visibility="hidden",e.style.display="inline-block",e.style.pointerEvents="none";let S=e.getBoundingClientRect(),C=Math.max(e.offsetWidth||0,e.scrollWidth||0,S.width||0,1),v=Math.max(e.offsetHeight||0,e.scrollHeight||0,S.height||0,1);return b===null?e.removeAttribute("style"):e.setAttribute("style",b),{width:C,height:v}},i=()=>{let b=(t.getAttribute("data-direction")||t.getAttribute("data-dropdown-direction")||t.getAttribute("data-mode")||"auto").toLowerCase();if(b==="up"||b==="down")return b;let S=(n||t).getBoundingClientRect(),{height:C}=o(),v=Math.max(0,window.innerHeight-S.bottom),k=Math.max(0,S.top),M=v>=C,D=k>=C;return M&&!D?"down":D&&!M?"up":M&&D?"down":k>v?"up":"down"},c=()=>{let b=(t.getAttribute("data-align")||t.getAttribute("data-dropdown-align")||"auto").toLowerCase();if(b==="left"||b==="right"||b==="start"||b==="end")return b==="start"?"left":b==="end"?"right":b;let S=(n||t).getBoundingClientRect(),{width:C}=o(),v=Math.max(0,window.innerWidth-S.left),k=Math.max(0,S.right),M=v>=C,D=k>=C;return M&&!D?"left":D&&!M?"right":M&&D?"left":k>v?"right":"left"},u=(b,S=8)=>{let C=getComputedStyle(t).getPropertyValue(b).trim();if(!C)return S;let v=document.createElement("span");v.style.position="fixed",v.style.visibility="hidden",v.style.pointerEvents="none",v.style.height=C,document.body.appendChild(v);let k=Number.parseFloat(getComputedStyle(v).height);return v.remove(),Number.isFinite(k)?k:S},d=()=>{e.style.removeProperty("position"),e.style.removeProperty("left"),e.style.removeProperty("top"),e.style.removeProperty("right"),e.style.removeProperty("bottom"),e.style.removeProperty("margin-top"),e.style.removeProperty("margin-bottom"),e.style.removeProperty("max-width"),e.style.removeProperty("max-inline-size"),e.style.removeProperty("max-height"),e.style.removeProperty("overflow")},a=()=>{e.getAttribute("aria-hidden")==="false"&&(d(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{l()})}))},l=()=>{if(e.getAttribute("aria-hidden")!=="false")return;let b=(n||t).getBoundingClientRect(),S=window.visualViewport,C=S?.width||document.documentElement?.clientWidth||window.innerWidth,v=S?.height||document.documentElement?.clientHeight||window.innerHeight,k=S?.offsetLeft||0,M=S?.offsetTop||0,D=Math.max(1,C-r*2),H=Math.max(1,v-r*2);e.style.maxWidth=`${Math.round(D)}px`,e.style.maxInlineSize=`${Math.round(D)}px`,e.style.maxHeight=`${Math.round(H)}px`,e.style.overflow="auto";let{width:p,height:m}=o(),f=u("--spacing-2",8),T=i(),I=c();t.dataset.dropdownDirection=T,t.dataset.dropdownAlign=I;let W=I==="right"?b.right-p:b.left;p>=D-1?W=k+r:W=Math.max(k+r,Math.min(W,k+C-p-r));let Z=T==="up"?b.top-f-m:b.bottom+f;Z=Math.max(M+r,Math.min(Z,M+v-m-r)),e.style.position="fixed",e.style.left=`${Math.round(W)}px`,e.style.top=`${Math.round(Z)}px`,e.style.right="auto",e.style.bottom="auto",e.style.marginTop="0",e.style.marginBottom="0"},h=null,y=()=>{h||(h=()=>l(),window.addEventListener("resize",h),window.addEventListener("scroll",h,!0))},A=()=>{h&&(window.removeEventListener("resize",h),window.removeEventListener("scroll",h,!0),h=null)},x=null,w=()=>{x||typeof document>"u"||(x=()=>{e.getAttribute("aria-hidden")==="false"&&(t.dataset.dropdownDirection=i(),t.dataset.dropdownAlign=c(),a(),setTimeout(()=>{e.getAttribute("aria-hidden")==="false"&&a()},50),setTimeout(()=>{e.getAttribute("aria-hidden")==="false"&&a()},150))},document.addEventListener("pds:config-changed",x))},L=()=>{!x||typeof document>"u"||(document.removeEventListener("pds:config-changed",x),x=null)},P=null,E=()=>{t.dataset.dropdownDirection=i(),t.dataset.dropdownAlign=c(),e.setAttribute("aria-hidden","false"),n?.setAttribute("aria-expanded","true"),y(),w(),a(),P||(P=b=>{(b.composedPath?b.composedPath():[b.target]).some(v=>v===t)||R()},setTimeout(()=>{document.addEventListener("click",P)},0))},R=()=>{e.setAttribute("aria-hidden","true"),n?.setAttribute("aria-expanded","false"),A(),L(),d(),P&&(document.removeEventListener("click",P),P=null)},_=()=>{e.getAttribute("aria-hidden")==="false"?R():E()};n?.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),_()}),t.addEventListener("keydown",b=>{b.key==="Escape"&&(R(),n?.focus())}),t.addEventListener("focusout",b=>{b.relatedTarget&&((b.composedPath?b.composedPath():[b.relatedTarget]).some(v=>v===t)||R())})}function Ke(t){if(t.dataset.enhancedToggle)return;t.dataset.enhancedToggle="true";let e=t.querySelector('input[type="checkbox"]');if(!e)return;t.hasAttribute("tabindex")||t.setAttribute("tabindex","0"),t.setAttribute("role","switch"),t.setAttribute("aria-checked",e.checked?"true":"false");let n=document.createElement("span");n.className="toggle-switch",n.setAttribute("role","presentation"),n.setAttribute("aria-hidden","true");let s=document.createElement("span");s.className="toggle-knob",n.appendChild(s),t.insertBefore(n,e.nextSibling);let r=()=>{t.setAttribute("aria-checked",e.checked?"true":"false")},o=()=>{e.disabled||(e.checked=!e.checked,r(),e.dispatchEvent(new Event("change",{bubbles:!0})))};t.addEventListener("click",i=>{i.preventDefault(),o()}),t.addEventListener("keydown",i=>{(i.key===" "||i.key==="Enter")&&(i.preventDefault(),o())}),e.addEventListener("change",r)}function Qe(t){if(t.dataset.enhancedColorInput)return;let e=t.querySelector('input[type="color"]');if(!e)return;t.dataset.enhancedColorInput="true";let n=t.querySelector(":scope > .color-control"),s=t.querySelector(":scope > .color-control > .color-swatch"),r=t.querySelector(":scope > .color-control > output");n||(n=document.createElement("span"),n.className="color-control",e.before(n)),s||(s=document.createElement("span"),s.className="color-swatch",n.appendChild(s)),e.parentElement!==s&&s.appendChild(e),r||(r=document.createElement("output"),n.appendChild(r));let o=()=>{if(e.dataset.colorUnset==="1"){r.value="",r.textContent="not set",n.dataset.value="",n.dataset.unset="1",s.dataset.unset="1";return}r.value=e.value,r.textContent=e.value,n.dataset.value=e.value,delete n.dataset.unset,delete s.dataset.unset};o();let i=()=>{e.dataset.colorUnset==="1"&&(e.dataset.colorUnset="0"),o()};e.addEventListener("input",i,{passive:!0}),e.addEventListener("change",i,{passive:!0})}function Ze(t){if(t.dataset.enhancedRange)return;let e=i=>{if(t.dataset.enhancedRangeProgrammatic)return;t.dataset.enhancedRangeProgrammatic="1";let c=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(t),"value")||Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value");c?.get&&c?.set&&Object.defineProperty(t,"value",{configurable:!0,enumerable:c.enumerable,get(){return c.get.call(this)},set(d){c.set.call(this,d),i()}}),new MutationObserver(d=>{d.some(l=>{let h=l.attributeName;return h==="value"||h==="min"||h==="max"})&&i()}).observe(t,{attributes:!0,attributeFilter:["value","min","max"]})},n=t.closest("label"),s=n?.classList.contains("range-output"),r=t.id||`range-${Math.random().toString(36).substring(2,11)}`,o=`${r}-output`;if(t.id=r,s){let i=n.querySelector("span");if(i&&!i.classList.contains("range-output-wrapper")){let c=document.createElement("span");c.className="range-output-wrapper",c.style.display="flex",c.style.justifyContent="space-between",c.style.alignItems="center";let u=document.createElement("span");u.textContent=i.textContent,c.appendChild(u);let d=document.createElement("output");d.id=o,d.setAttribute("for",r),d.style.color="var(--surface-text-secondary, var(--color-text-secondary))",d.style.fontSize="0.875rem",d.textContent=t.value,c.appendChild(d),i.textContent="",i.appendChild(c);let a=()=>{d.textContent=t.value};t.addEventListener("input",a),t.addEventListener("change",a),e(a),a()}}else{let i=t.closest(".range-container");i||(i=document.createElement("div"),i.className="range-container",t.parentNode?.insertBefore(i,t),i.appendChild(t)),i.style.position="relative";let c=document.createElement("output");c.id=o,c.setAttribute("for",r),c.className="range-bubble",c.setAttribute("aria-live","polite"),i.appendChild(c);let u=()=>{let l=parseFloat(t.min)||0,h=parseFloat(t.max)||100,y=parseFloat(t.value),A=(y-l)/(h-l);c.style.left=`calc(${A*100}% )`,c.textContent=String(y)},d=()=>c.classList.add("visible"),a=()=>c.classList.remove("visible");t.addEventListener("input",u),t.addEventListener("pointerdown",d),t.addEventListener("pointerup",a),t.addEventListener("pointerleave",a),t.addEventListener("focus",d),t.addEventListener("blur",a),t.addEventListener("change",u),e(u),u()}t.dataset.enhancedRange="1"}function Je(t){if(t.dataset.enhancedRequired)return;t.dataset.enhancedRequired="true";let e=n=>{let s;if(n.closest("[role$=group]")?s=n.closest("[role$=group]").querySelector("legend"):s=n.closest("label"),!s||s.querySelector(".required-asterisk"))return;let r=document.createElement("span");r.classList.add("required-asterisk"),r.textContent="*",r.style.marginLeft="4px";let o=s.querySelector("span, [data-label]");if(o)o.appendChild(r);else{let c=s.querySelector("input, select, textarea");c?s.insertBefore(r,c):s.appendChild(r)}let i=n.closest("form");if(i&&!i.querySelector(".required-legend")){let c=document.createElement("small");c.classList.add("required-legend"),c.textContent="* Required fields",i.insertBefore(c,i.querySelector(".form-actions")||i.lastElementChild)}};t.querySelectorAll("[required]").forEach(n=>{e(n)})}function Xe(t){if(t.dataset.enhancedOpenGroup)return;t.dataset.enhancedOpenGroup="true",t.classList.add("flex","flex-wrap","buttons");let e=document.createElement("input");e.type="text",e.placeholder="Add item...",e.classList.add("input-text","input-sm"),e.style.width="auto";let n=()=>t.querySelector('input[type="radio"], input[type="checkbox"]');t.appendChild(e),e.addEventListener("keydown",s=>{if(s.key==="Enter"||s.key==="Tab"){let r=e.value.trim();if(r){s.preventDefault();let o=n(),i=o?.type==="radio"?"radio":"checkbox",c=`open-group-${Math.random().toString(36).substring(2,11)}`,u=document.createElement("label"),d=document.createElement("span");d.setAttribute("data-label",""),d.textContent=r;let a=document.createElement("input");a.type=i,a.name=o?.name||t.getAttribute("data-name")||"open-group",a.value=r,a.id=c,u.appendChild(d),u.appendChild(a),t.insertBefore(u,e),e.value=""}}else if(s.key==="Backspace"&&e.value===""){s.preventDefault();let r=t.querySelectorAll("label");r.length>0&&r[r.length-1].remove()}})}function Ye(t){if(t.dataset.enhancedClip)return;t.dataset.enhancedClip="true",t.hasAttribute("tabindex")||t.setAttribute("tabindex","0"),t.hasAttribute("role")||t.setAttribute("role","button");let e=()=>{let s=t.getAttribute("data-clip-open")==="true";t.setAttribute("aria-expanded",s?"true":"false")},n=()=>{let s=t.getAttribute("data-clip-open")==="true";t.setAttribute("data-clip-open",s?"false":"true"),e()};t.addEventListener("click",s=>{s.defaultPrevented||n()}),t.addEventListener("keydown",s=>{(s.key===" "||s.key==="Enter")&&(s.preventDefault(),n())}),e()}function et(t){if(t.dataset.enhancedBtnWorking)return;t.dataset.enhancedBtnWorking="true";let e=null,n=!1;new MutationObserver(r=>{r.forEach(o=>{if(o.attributeName==="class"){let i=t.classList.contains("btn-working"),c=t.querySelector("pds-icon");if(i)if(c)e||(e=c.getAttribute("icon")),c.setAttribute("icon","circle-notch");else{let u=document.createElement("pds-icon");u.setAttribute("icon","circle-notch"),u.setAttribute("size","sm"),t.insertBefore(u,t.firstChild),n=!0}else o.oldValue?.includes("btn-working")&&c&&(n?(c.remove(),n=!1):e&&(c.setAttribute("icon",e),e=null))}})}).observe(t,{attributes:!0,attributeFilter:["class"],attributeOldValue:!0})}var tt=new Map([[".accordion",Ve],["nav[data-dropdown]",Ge],["label[data-toggle]",Ke],["label[data-color]",Qe],['input[type="range"]',Ze],["form[data-required]",Je],["fieldset[role=group][data-open]",Xe],["[data-clip]",Ye],["button, a[class*='btn-']",et]]),se=Be.map(t=>({...t,run:tt.get(t.selector)||(()=>{})}));var ke="pds",nt=/^([a-z][a-z0-9+\-.]*:)?\/\//i,Ce=/^[a-z]:/i;function N(t=""){return t.endsWith("/")?t:`${t}/`}function st(t="",e=ke){let n=t.replace(/\/+$/,"");return new RegExp(`(?:^|/)${e}$`,"i").test(n)?n:`${n}/${e}`}function rt(t){return t.replace(/^\.\/+/,"")}function ot(t){return Ce.test(t)?t.replace(Ce,"").replace(/^\/+/,""):t}function it(t){return t.startsWith("public/")?t.substring(7):t}function re(t,e={}){let n=e.segment||ke,s=e.defaultRoot||`/assets/${n}/`,r=t?.public&&t.public?.root||t?.static&&t.static?.root||null;if(!r||typeof r!="string")return N(s);let o=r.trim();return o?(o=o.replace(/\\/g,"/"),o=st(o,n),o=N(o),nt.test(o)?o:(o=rt(o),o=ot(o),o.startsWith("/")||(o=it(o),o.startsWith("/")||(o=`/${o}`),o=o.replace(/\/+/g,(i,c)=>c===0?i:"/")),N(o))):N(s)}var ct=/^[a-z][a-z0-9+\-.]*:\/\//i,q=(()=>{try{return import.meta.url}catch{return}})(),K=t=>typeof t=="string"&&t.length&&!t.endsWith("/")?`${t}/`:t;function Q(t,e={}){if(!t||ct.test(t))return t;let{preferModule:n=!0}=e,s=()=>{if(!q)return null;try{return new URL(t,q).href}catch{return null}},r=()=>{if(typeof window>"u"||!window.location?.origin)return null;try{return new URL(t,window.location.origin).href}catch{return null}};return(n?s()||r():r()||s())||t}var Me=(()=>{if(q)try{let t=new URL(q);if(/\/public\/assets\/js\//.test(t.pathname))return new URL("../pds/",q).href}catch{return}})(),Pe=!1;function Re(t){Pe||typeof document>"u"||(Pe=!0,t.addEventListener("pds:ready",e=>{let n=e.detail?.mode;n&&document.documentElement.classList.add(`pds-${n}`,"pds-ready")}))}function $e({manageTheme:t,themeStorageKey:e,applyResolvedTheme:n,setupSystemListenerIfNeeded:s}){let r="light",o=null;if(t&&typeof window<"u"){try{o=localStorage.getItem(e)||null}catch{o=null}try{n?.(o),s?.(o)}catch{}o?o==="system"?r=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":r=o:r=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}return{resolvedTheme:r,storedTheme:o}}function ie(t,{resolvePublicAssetURL:e}){let n=!!(t?.public?.root||t?.static?.root),s=e(t);return!n&&Me&&(s=Me),K(Q(s))}async function Ie(t,{baseEnhancers:e=[]}={}){let{autoDefineBaseURL:n="/auto-define/",autoDefinePreload:s=[],autoDefineMapper:r=null,enhancers:o=[],autoDefineOverrides:i=null,autoDefinePreferModule:c=!0}=t,u=(()=>{let a=new Map;return(e||[]).forEach(l=>a.set(l.selector,l)),(o||[]).forEach(l=>a.set(l.selector,l)),Array.from(a.values())})(),d=null;if(typeof window<"u"&&typeof document<"u"){let a=null;try{let w=await Promise.resolve().then(()=>(Te(),De));a=w?.AutoDefiner||w?.default?.AutoDefiner||w?.default||null}catch(w){console.warn("AutoDefiner not available:",w?.message||w)}let l=w=>{switch(w){case"pds-tabpanel":return"pds-tabstrip.js";default:return`${w}.js`}},{mapper:h,...y}=i&&typeof i=="object"?i:{},x={baseURL:n&&K(Q(n,{preferModule:c})),predefine:s,scanExisting:!0,observeShadows:!0,patchAttachShadow:!0,debounceMs:16,enhancers:u,onError:(w,L)=>{if(typeof w=="string"&&w.startsWith("pds-")){let E=["pds-form","pds-drawer"].includes(w),R=L?.message?.includes("#pds/lit")||L?.message?.includes("Failed to resolve module specifier");E&&R?console.error(`\u274C PDS component <${w}> 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 <${w}> not found. Assets may not be installed.`)}else console.error(`\u274C Auto-define error for <${w}>:`,L)},...y,mapper:w=>{if(customElements.get(w))return null;if(typeof r=="function")try{let L=r(w);return L===void 0?l(w):L}catch(L){return console.warn("Custom autoDefine.mapper error; falling back to default:",L?.message||L),l(w)}return l(w)}};a&&(d=new a(x),s.length>0&&typeof a.define=="function"&&await a.define(...s,{baseURL:n,mapper:x.mapper,onError:x.onError}))}return{autoDefiner:d,mergedEnhancers:u}}var ae=["light","dark"],ce=new Set(ae);function lt(t){let n=(Array.isArray(t?.themes)?t.themes.map(s=>String(s).toLowerCase()):ae).filter(s=>ce.has(s));return n.length?n:ae}function le(t,{preferDocument:e=!0}={}){let n=String(t||"").toLowerCase();if(ce.has(n))return n;if(e&&typeof document<"u"){let s=document.documentElement?.getAttribute("data-theme");if(ce.has(s))return s}return typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function je(t,e){let n=le(e);return lt(t).includes(n)}var ue=class extends EventTarget{},g=new ue;g.initializing=!1;g.currentPreset=null;g.debug=!1;var _e=function(t="log",e,...n){let s=!!(g.registry&&!g.registry.isLive),r=(this?.debug||this?.design?.debug||g.debug||!1)===!0;if(s){if(!g.debug)return}else if(!r&&t!=="error"&&t!=="warn")return;let o=console[t]||console.log;n.length>0?o(e,...n):o(e)};function pe(t){if(t==null)return t;if(typeof t=="function")return;if(typeof t!="object")return t;if(Array.isArray(t))return t.map(n=>pe(n)).filter(n=>n!==void 0);let e={};for(let[n,s]of Object.entries(t)){let r=pe(s);r!==void 0&&(e[n]=r)}return e}async function dt(t,e={}){if(e?.runtimeConfig===!1||typeof fetch!="function")return null;let n=e?.runtimeConfigURL||`${t}pds-runtime-config.json`;try{let s=await fetch(n,{cache:"no-store"});return s.ok?await s.json():null}catch{return null}}g.registry=U;g.enums=Se;g.adoptLayers=xe;g.adoptPrimitives=ve;g.parse=ee;g.createStylesheet=Ee;g.isLiveMode=()=>U.isLive;g.ask=Le;g.toast=$;g.common=te;g.AutoComplete=B;function Oe(t){let e=typeof CustomEvent=="function";try{let n=e?new CustomEvent("pds:ready",{detail:t}):new Event("pds:ready");g.dispatchEvent(n)}catch{}if(typeof document<"u")if(e){let n={detail:t,bubbles:!0,composed:!0};try{document.dispatchEvent(new CustomEvent("pds:ready",n))}catch{}try{document.dispatchEvent(new CustomEvent("pds-ready",n))}catch{}}else{try{document.dispatchEvent(new Event("pds:ready"))}catch{}try{document.dispatchEvent(new Event("pds-ready"))}catch{}}}function Ue(t={}){let e=typeof CustomEvent=="function",n={at:Date.now(),...t};try{let s=e?new CustomEvent("pds:config-changed",{detail:n}):new Event("pds:config-changed");g.dispatchEvent(s)}catch{}if(typeof document<"u")if(e){let s={detail:n,bubbles:!0,composed:!0};try{document.dispatchEvent(new CustomEvent("pds:config-changed",s))}catch{}}else try{document.dispatchEvent(new Event("pds:config-changed"))}catch{}}typeof window<"u"&&(window.PDS=g);var de="pure-ds-theme",O=null,F=null;function he(t){try{if(typeof document>"u")return;let e="light";t?t==="system"?e=typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e=t:e=typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",document.documentElement.setAttribute("data-theme",e)}catch{}}function fe(t){try{if(O&&F){try{typeof O.removeEventListener=="function"?O.removeEventListener("change",F):typeof O.removeListener=="function"&&O.removeListener(F)}catch{}O=null,F=null}if(t==="system"&&typeof window<"u"&&window.matchMedia){let e=window.matchMedia("(prefers-color-scheme: dark)"),n=s=>{let r=s?.matches===void 0?e.matches:s.matches;try{let o=r?"dark":"light";document.documentElement.setAttribute("data-theme",o),g.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:o,source:"system"}}))}catch{}};O=e,F=n,typeof e.addEventListener=="function"?e.addEventListener("change",n):typeof e.addListener=="function"&&e.addListener(n)}}catch{}}Object.defineProperty(g,"theme",{get(){try{return typeof window>"u"?null:localStorage.getItem(de)||null}catch{return null}},set(t){try{if(typeof window>"u")return;let e=g.currentConfig?.design||null,n=le(t);if(e&&!je(e,n)){let s=e?.name||g.currentPreset?.name||g.currentConfig?.preset||"current preset";console.warn(`PDS theme "${n}" not supported by preset "${s}".`),g.dispatchEvent(new CustomEvent("pds:theme:blocked",{detail:{theme:t,resolvedTheme:n,preset:s}}));return}t==null?localStorage.removeItem(de):localStorage.setItem(de,t),he(t),fe(t),g.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:t,source:"api"}}))}catch{}}});g.defaultEnhancers=se;async function ut(t){let e=t&&t.mode||"live",{mode:n,...s}=t||{};if(e==="static")return pt(s);let r=ie(s,{resolvePublicAssetURL:re}),o=s?.managerURL||s?.public?.managerURL||s?.manager?.url||new URL("core/pds-manager.js",r).href||new URL("./pds-manager.js",import.meta.url).href,{startLive:i}=await import(o);return i(g,s,{emitReady:Oe,emitConfigChanged:Ue,applyResolvedTheme:he,setupSystemListenerIfNeeded:fe})}g.start=ut;async function pt(t){if(!t||typeof t!="object")throw new Error("PDS.start({ mode: 'static', ... }) requires a valid configuration object");let e=t.applyGlobalStyles??!0,n=t.manageTheme??!0,s=t.themeStorageKey??"pure-ds-theme",r=t.staticPaths??{},o=ie(t,{resolvePublicAssetURL:re}),i=t&&t.autoDefine||null,c;i&&i.baseURL?c=K(Q(i.baseURL,{preferModule:!1})):c=`${o}components/`;let u=i&&Array.isArray(i.predefine)&&i.predefine||[],d=i&&typeof i.mapper=="function"&&i.mapper||null;try{Re(g);let{resolvedTheme:a}=$e({manageTheme:n,themeStorageKey:s,applyResolvedTheme:he,setupSystemListenerIfNeeded:fe}),l=await dt(o,t),h=Array.isArray(t?.enhancers)?t.enhancers:t?.enhancers&&typeof t.enhancers=="object"?Object.values(t.enhancers):[],y=l?.config?{...l.config,...t,design:t?.design||l.config.design,preset:t?.preset||l.config.preset}:{...t},A={tokens:`${o}styles/pds-tokens.css.js`,primitives:`${o}styles/pds-primitives.css.js`,components:`${o}styles/pds-components.css.js`,utilities:`${o}styles/pds-utilities.css.js`,styles:`${o}styles/pds-styles.css.js`},x=l?.paths||{};if(r={...A,...x,...r},g.registry.setStaticMode(r),e&&typeof document<"u")try{let E=await g.registry.getStylesheet("styles");if(E){E._pds=!0;let R=(document.adoptedStyleSheets||[]).filter(_=>_._pds!==!0);document.adoptedStyleSheets=[...R,E],Ue({mode:"static",source:"static:styles-applied"})}}catch(E){_e.call(g,"warn","Failed to apply static styles:",E)}let w=null,L=[];try{let E=await Ie({autoDefineBaseURL:c,autoDefinePreload:u,autoDefineMapper:d,enhancers:h,autoDefineOverrides:i||null,autoDefinePreferModule:!(i&&i.baseURL)},{baseEnhancers:se});w=E.autoDefiner,L=E.mergedEnhancers||[]}catch(E){_e.call(g,"error","\u274C Failed to initialize AutoDefiner/Enhancers (static):",E)}let P=pe(t);return g.currentConfig=Object.freeze({mode:"static",...structuredClone(P),design:structuredClone(y.design||{}),preset:y.preset,theme:a,enhancers:L}),Oe({mode:"static",config:y,theme:a,autoDefiner:w}),{config:y,theme:a,autoDefiner:w}}catch(a){throw g.dispatchEvent(new CustomEvent("pds:error",{detail:{error:a}})),a}}var j={name:"@pure-ds/core",shortname:"pds",version:"0.6.11",description:"Why develop a Design System when you can generate one?",repository:{type:"git",url:"git+https://github.com/Pure-Web-Foundation/pure-ds.git"},bugs:{url:"https://github.com/Pure-Web-Foundation/pure-ds/issues"},homepage:"https://puredesignsystem.z6.web.core.windows.net/",keywords:["design-system","css","web-components","lit","constructable-stylesheets","tokens","utilities","a11y"],type:"module",main:"./public/assets/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-import":"packages/pds-cli/bin/pds-import.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/templates/","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-live-manager/","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:import":"node packages/pds-cli/bin/pds-import.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.32"},customElements:"custom-elements.json"};await g.start(V);var Ne=typeof j.repository=="string"?j.repository:j.repository?.url,ft=Ne?Ne.replace(/^git\+/,"").replace(/\.git$/,""):"",Gt=j.homepage||ft,Kt=j.bugs?.url||"";document.body.innerHTML=`
33
+ <pds-toaster id="global-toaster"></pds-toaster>
34
+
35
+ <div class="container text-center">
36
+ <img src="/assets/img/pds-logo.svg" alt="PDS Logo" width="64" height="64" />
37
+ <header class="container section">
38
+ <h1>${j.name} ${j.version}</h1>
39
+ <small class="text-muted">${j.description}</small>
117
40
  </header>
118
- <div class="stack-sm">
119
- <a href="${ft}">Project homepage</a>
120
- <a href="${mt}">Report an issue</a>
121
- <a href="${ce}">Browse the repo</a>
122
- </div>
123
- </article>
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
41
  </div>
164
- </section>
165
- </main>
166
42
  `;