@pure-ds/core 0.7.56 → 0.7.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
package/public/assets/js/app.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var ct=Object.defineProperty;var lt=(e,t)=>{for(var n in t)ct(e,n,{get:t[n],enumerable:!0})};var le=class extends EventTarget{constructor(){super(),this.mode=null,this.compiled=null,this.log=()=>{},this.logHandler=null}},xe="__PURE_DS_PDS_SINGLETON__",de=typeof globalThis<"u"?globalThis:window,ce=de?.[xe],o=ce&&typeof ce.addEventListener=="function"?ce:new le;de&&(de[xe]=o);typeof o.log!="function"&&(o.log=(e="log",t,...n)=>{if(typeof console>"u")return;let s=typeof console[e]=="function"?console[e].bind(console):typeof console.log=="function"?console.log.bind(console):null;s&&(n.length>0?s(t,...n):s(t))});typeof o.logHandler!="function"&&(o.logHandler=null);var ue=class{constructor(){this._mode="static",this._staticPaths={tokens:"/assets/pds/styles/pds-tokens.css.js",primitives:"/assets/pds/styles/pds-primitives.css.js",components:"/assets/pds/styles/pds-components.css.js",utilities:"/assets/pds/styles/pds-utilities.css.js",styles:"/assets/pds/styles/pds-styles.css.js"}}setLiveMode(){this._mode="live"}setStaticMode(t={}){this._mode="static",this._staticPaths={...this._staticPaths,...t}}async getStylesheet(t){if(this._mode==="live")return null;try{return(await import(this._staticPaths[t]))[t]}catch(n){o.log("error",`Registry: failed to load static ${t}:`,n),o.log("error",`Registry: looking for ${this._staticPaths[t]}`),o.log("error","Registry: make sure you've run 'npm run pds:build' and configured PDS.start() with the correct static.root path");let s=new CSSStyleSheet;return s.replaceSync("/* Failed to load "+t+" */"),s}}get mode(){return this._mode}get isLive(){return this._mode==="live"}},M=new ue;async function Re(e,t=[],n=null){try{let s=n?.primitivesStylesheet?n.primitivesStylesheet:await M.getStylesheet("primitives");e.adoptedStyleSheets=[s,...t]}catch(s){let a=e.host?.tagName?.toLowerCase()||"unknown";o.log("error",`Adopter: <${a}> failed to adopt primitives:`,s),e.adoptedStyleSheets=t}}async function De(e,t=["primitives"],n=[],s=null){let a=Array.isArray(n)?n.filter(Boolean):[];if(a.length){let l=(Array.isArray(e.adoptedStyleSheets)?e.adoptedStyleSheets:[]).filter(S=>!a.includes(S));e.adoptedStyleSheets=[...l,...a]}try{let l=(await Promise.all(t.map(async S=>{if(s)switch(S){case"tokens":return s.tokensStylesheet;case"primitives":return s.primitivesStylesheet;case"components":return s.componentsStylesheet;case"utilities":return s.utilitiesStylesheet;default:break}return M.getStylesheet(S)}))).filter(S=>S!==null);e.adoptedStyleSheets=[...l,...a]}catch(r){let l=e.host?.tagName?.toLowerCase()||"unknown";o.log("error",`Adopter: <${l}> failed to adopt layers:`,r),e.adoptedStyleSheets=a}}function ze(e){let t=new CSSStyleSheet;return t.replaceSync(e),t}var Ce={FontWeights:{light:300,normal:400,medium:500,semibold:600,bold:700},LineHeights:{tight:1.25,normal:1.5,relaxed:1.75},BorderWidths:{hairline:.5,thin:1,medium:2,thick:3},RadiusSizes:{none:0,small:4,medium:8,large:16,xlarge:24,xxlarge:32},ShadowDepths:{none:"none",light:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",medium:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",deep:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",extreme:"0 25px 50px -12px rgba(0, 0, 0, 0.25)"},TransitionSpeeds:{fast:150,normal:250,slow:350},AnimationEasings:{linear:"linear",ease:"ease","ease-in":"ease-in","ease-out":"ease-out","ease-in-out":"ease-in-out",bounce:"cubic-bezier(0.68, -0.55, 0.265, 1.55)"},TouchTargetSizes:{compact:36,standard:44,comfortable:48,spacious:56},LinkStyles:{inline:"inline",block:"block",button:"button"},FocusStyles:{ring:"ring",outline:"outline",border:"border",glow:"glow"},TabSizes:{compact:2,standard:4,wide:8},SelectIcons:{chevron:"chevron",arrow:"arrow",caret:"caret",none:"none"},IconSizes:{xs:16,sm:20,md:24,lg:32,xl:48,"2xl":64,"3xl":96}};var me={};lt(me,{deepMerge:()=>Te,fragmentFromTemplateLike:()=>pe,isObject:()=>K,parseFragment:()=>G,parseHTML:()=>fe});function K(e){return e&&typeof e=="object"&&!Array.isArray(e)}function Te(e,t){let n={...e};return K(e)&&K(t)&&Object.keys(t).forEach(s=>{K(t[s])?s in e?n[s]=Te(e[s],t[s]):Object.assign(n,{[s]:t[s]}):Object.assign(n,{[s]:t[s]})}),n}function pe(e){let t=Array.isArray(e?.strings)?e.strings:[],n=Array.isArray(e?.values)?e.values:[],s=new Set,a=[],r=/(\s)(\.[\w-]+)=["']?\s*$/,l=/(\s)(@[\w-]+)=["']?\s*$/,S=/(\s)(\?[\w-]+)=["']?\s*$/,b=/(\s)([\w:-]+)=["']?\s*$/,d=/=["']\s*$/,i=!1;for(let c=0;c<t.length;c+=1){let y=t[c]??"";if(i&&(y=y.replace(/^["']/,""),i=!1),c<n.length){let w=`pds-val-${c}`,u=y.match(r),h=y.match(l),_=y.match(S),x=y.match(b);if(u){let v=u[2].slice(1);i=d.test(t[c]??""),y=y.replace(r,`$1data-pds-bind-${c}="prop:${v}:${w}"`),s.add(c)}else if(h){let v=h[2].slice(1);i=d.test(t[c]??""),y=y.replace(l,`$1data-pds-bind-${c}="event:${v}:${w}"`),s.add(c)}else if(_){let v=_[2].slice(1);i=d.test(t[c]??""),y=y.replace(S,`$1data-pds-bind-${c}="boolean:${v}:${w}"`),s.add(c)}else if(x){let v=x[2];i=d.test(t[c]??""),y=y.replace(b,`$1data-pds-bind-${c}="attr:${v}:${w}"`),s.add(c)}}a.push(y),c<n.length&&!s.has(c)&&a.push(`<!--pds-val-${c}-->`)}let p=document.createElement("template");p.innerHTML=a.join("");let A=(c,y)=>{let w=c.parentNode;if(!w)return;if(y==null){w.removeChild(c);return}let u=h=>{if(h!=null){if(h instanceof Node){w.insertBefore(h,c);return}if(Array.isArray(h)){h.forEach(_=>u(_));return}w.insertBefore(document.createTextNode(String(h)),c)}};u(y),w.removeChild(c)},L=document.createTreeWalker(p.content,NodeFilter.SHOW_COMMENT),j=[];for(;L.nextNode();){let c=L.currentNode;c?.nodeValue?.startsWith("pds-val-")&&j.push(c)}return j.forEach(c=>{let y=Number(c.nodeValue.replace("pds-val-",""));A(c,n[y])}),p.content.querySelectorAll("*").forEach(c=>{[...c.attributes].forEach(y=>{if(!y.name.startsWith("data-pds-bind-"))return;let w=y.value.indexOf(":"),u=y.value.lastIndexOf(":");if(w<=0||u<=w){c.removeAttribute(y.name);return}let h=y.value.slice(0,w),_=y.value.slice(w+1,u),x=y.value.slice(u+1),v=Number(String(x).replace("pds-val-","")),P=n[v];if(!_||!Number.isInteger(v)){c.removeAttribute(y.name);return}h==="prop"?c[_]=P:h==="event"?(typeof P=="function"||P&&typeof P.handleEvent=="function")&&c.addEventListener(_,P):h==="boolean"?P?c.setAttribute(_,""):c.removeAttribute(_):h==="attr"&&(P==null||P===!1?c.removeAttribute(_):c.setAttribute(_,String(P))),c.removeAttribute(y.name)})}),p.content}function G(e,...t){if(Array.isArray(e)&&Object.prototype.hasOwnProperty.call(e,"raw"))return pe({strings:Array.from(e),values:t});if(Array.isArray(e?.strings)&&Array.isArray(e?.values))return pe({strings:e.strings,values:e.values});let s=document.createElement("template");return s.innerHTML=String(e??""),s.content}function fe(e,...t){return G(e,...t).childNodes}var Ue="pds",dt=/^([a-z][a-z0-9+\-.]*:)?\/\//i,Me=/^[a-z]:/i;function O(e=""){return e.endsWith("/")?e:`${e}/`}function ut(e="",t=Ue){let n=e.replace(/\/+$/,"");return new RegExp(`(?:^|/)${t}$`,"i").test(n)?n:`${n}/${t}`}function pt(e){return e.replace(/^\.\/+/,"")}function ft(e){return Me.test(e)?e.replace(Me,"").replace(/^\/+/,""):e}function mt(e){return e.startsWith("public/")?e.substring(7):e}function q(e,t={}){let n=t.segment||Ue,s=t.defaultRoot||`/assets/${n}/`,a=e?.public&&e.public?.root||e?.static&&e.static?.root||null;if(!a||typeof a!="string")return O(s);let r=a.trim();return r?(r=r.replace(/\\/g,"/"),r=ut(r,n),r=O(r),dt.test(r)?r:(r=pt(r),r=ft(r),r.startsWith("/")||(r=mt(r),r.startsWith("/")||(r=`/${r}`),r=r.replace(/\/+/g,(l,S)=>S===0?l:"/")),O(r))):O(s)}async function ht(...e){let t={};e.length&&typeof e[e.length-1]=="object"&&(t=e.pop()||{});let n=e,{baseURL:s,mapper:a=d=>`${d}.js`,onError:r=(d,i)=>console.error(`[defineWebComponents] ${d}:`,i)}=t,l=s?new URL(s,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),S=d=>d.toLowerCase().replace(/(^|-)([a-z])/g,(i,p,A)=>A.toUpperCase()),b=async d=>{try{if(customElements.get(d))return{tag:d,status:"already-defined"};let i=a(d),A=await import(i instanceof URL?i.href:new URL(i,l).href),L=A?.default??A?.[S(d)];if(!L){if(customElements.get(d))return{tag:d,status:"self-defined"};throw new Error(`No export found for ${d}. Expected default export or named export "${S(d)}".`)}return customElements.get(d)?{tag:d,status:"race-already-defined"}:(customElements.define(d,L),{tag:d,status:"defined"})}catch(i){throw r(d,i),i}};return Promise.all(n.map(b))}var J=class{constructor(t={}){let{baseURL:n,mapper:s,onError:a,predicate:r=()=>!0,attributeModule:l="data-module",root:S=document,scanExisting:b=!0,debounceMs:d=16,observeShadows:i=!0,enhancers:p=[],patchAttachShadow:A=!0}=t,L=new Set,j=new Set,D=new Set,c=new Map,y=new WeakMap,w=new WeakMap,u=0,h=!1,_=null,x=f=>{if(!f||!p.length)return;let g=w.get(f);g||(g=new Set,w.set(f,g));for(let m of p)if(!(!m.selector||!m.run)&&!g.has(m.selector))try{f.matches&&f.matches(m.selector)&&(m.run(f),g.add(m.selector))}catch(k){console.warn(`[AutoDefiner] Error applying enhancer for selector "${m.selector}":`,k)}},v=(f,g)=>{if(!h&&!(!f||!f.includes("-"))&&!customElements.get(f)&&!j.has(f)&&!D.has(f)){if(g&&g.getAttribute){let m=g.getAttribute(l);m&&!c.has(f)&&c.set(f,m)}L.add(f),P()}},P=()=>{u||(u=setTimeout(je,d))},C=f=>{if(f){if(f.nodeType===1){let g=f,m=g.tagName?.toLowerCase();m&&m.includes("-")&&!customElements.get(m)&&r(m,g)&&v(m,g),x(g),i&&g.shadowRoot&&ae(g.shadowRoot)}f.querySelectorAll&&f.querySelectorAll("*").forEach(g=>{let m=g.tagName?.toLowerCase();m&&m.includes("-")&&!customElements.get(m)&&r(m,g)&&v(m,g),x(g),i&&g.shadowRoot&&ae(g.shadowRoot)})}},ae=f=>{if(!f||y.has(f))return;C(f);let g=new MutationObserver(m=>{for(let k of m)k.addedNodes?.forEach(T=>{C(T)}),k.type==="attributes"&&k.target&&C(k.target)});g.observe(f,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[l,...p.map(m=>m.selector).filter(m=>m.startsWith("data-"))]}),y.set(f,g)};async function je(){if(clearTimeout(u),u=0,!L.size)return;let f=Array.from(L);L.clear(),f.forEach(g=>j.add(g));try{let g=m=>c.get(m)??(s?s(m):`${m}.js`);await ht(...f,{baseURL:n,mapper:g,onError:(m,k)=>{D.add(m),a?.(m,k)}})}catch{}finally{f.forEach(g=>j.delete(g))}}let Pe=S===document?document.documentElement:S,ke=new MutationObserver(f=>{for(let g of f)g.addedNodes?.forEach(m=>{C(m)}),g.type==="attributes"&&g.target&&C(g.target)});if(ke.observe(Pe,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[l,...p.map(f=>f.selector).filter(f=>f.startsWith("data-"))]}),i&&A&&Element.prototype.attachShadow){let f=Element.prototype.attachShadow;Element.prototype.attachShadow=function(m){let k=f.call(this,m);if(m&&m.mode==="open"){ae(k);let T=this.tagName?.toLowerCase();T&&T.includes("-")&&!customElements.get(T)&&v(T,this)}return k},_=()=>Element.prototype.attachShadow=f}return b&&C(Pe),{stop(){h=!0,ke.disconnect(),_&&_(),u&&(clearTimeout(u),u=0),y.forEach(f=>f.disconnect())},flush:je}}static async define(...t){let n={};t.length&&typeof t[t.length-1]=="object"&&(n=t.pop()||{});let s=t,{baseURL:a,mapper:r=i=>`${i}.js`,onError:l=(i,p)=>console.error(`[defineWebComponents] ${i}:`,p)}=n,S=a?new URL(a,typeof location<"u"?location.href:import.meta.url):new URL("./",import.meta.url),b=i=>i.toLowerCase().replace(/(^|-)([a-z])/g,(p,A,L)=>L.toUpperCase()),d=async i=>{try{if(customElements.get(i))return{tag:i,status:"already-defined"};let p=r(i),L=await import(p instanceof URL?p.href:new URL(p,S).href),j=L?.default??L?.[b(i)];if(!j){if(customElements.get(i))return{tag:i,status:"self-defined"};throw new Error(`No export found for ${i}. Expected default export or named export "${b(i)}".`)}return customElements.get(i)?{tag:i,status:"race-already-defined"}:(customElements.define(i,j),{tag:i,status:"defined"})}catch(p){throw l(i,p),p}};return Promise.all(s.map(d))}};var yt=/^[a-z][a-z0-9+\-.]*:\/\//i,I=(()=>{try{return import.meta.url}catch{return}})(),V=e=>typeof e=="string"&&e.length&&!e.endsWith("/")?`${e}/`:e;function Q(e,t={}){if(!e||yt.test(e))return e;let{preferModule:n=!0}=t,s=()=>{if(!I)return null;try{return new URL(e,I).href}catch{return null}},a=()=>{if(typeof window>"u"||!window.location?.origin)return null;try{return new URL(e,window.location.origin).href}catch{return null}};return(n?s()||a():a()||s())||e}var $e=(()=>{if(I)try{let e=new URL(I);if(/\/public\/assets\/js\//.test(e.pathname))return new URL("../pds/",I).href}catch{return}})(),Ne=!1;function Oe(e){Ne||typeof document>"u"||(Ne=!0,e.addEventListener("pds:ready",t=>{let n=t.detail?.mode;n&&document.documentElement.classList.add(`pds-${n}`,"pds-ready")}))}function Ie({manageTheme:e,themeStorageKey:t,applyResolvedTheme:n,setupSystemListenerIfNeeded:s}){let a="light",r=null;if(e&&typeof window<"u"){try{r=localStorage.getItem(t)||null}catch{r=null}try{n?.(r),s?.(r)}catch{}r?r==="system"?a=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a=r:a=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}return{resolvedTheme:a,storedTheme:r}}function Y(e,{resolvePublicAssetURL:t}){let n=!!(e?.public?.root||e?.static?.root),s=t(e);return!n&&$e&&(s=$e),V(Q(s))}async function Fe(e,{baseEnhancers:t=[]}={}){let{autoDefineBaseURL:n="/auto-define/",autoDefinePreload:s=[],autoDefineMapper:a=null,enhancers:r=[],autoDefineOverrides:l=null,autoDefinePreferModule:S=!0}=e,b=(()=>{let i=new Map;return(t||[]).forEach(p=>i.set(p.selector,p)),(r||[]).forEach(p=>i.set(p.selector,p)),Array.from(i.values())})(),d=null;if(typeof window<"u"&&typeof document<"u"){let i=J,p=u=>{switch(u){case"pds-tabpanel":return"pds-tabstrip.js";default:return`${u}.js`}},{mapper:A,enhancers:L,...j}=l&&typeof l=="object"?l:{},D=L?Array.isArray(L)?L:typeof L=="object"?Object.values(L):[]:[],c=(()=>{let u=new Map;return(b||[]).forEach(h=>{h?.selector&&u.set(h.selector,h)}),(D||[]).forEach(h=>{if(!h?.selector)return;let _=u.get(h.selector)||null;u.set(h.selector,{..._||{},...h,run:typeof h?.run=="function"?h.run:_?.run})}),Array.from(u.values())})(),w={baseURL:n&&V(Q(n,{preferModule:S})),predefine:s,scanExisting:!0,observeShadows:!0,patchAttachShadow:!0,debounceMs:16,enhancers:c,onError:(u,h)=>{if(typeof u=="string"&&u.startsWith("pds-")){let x=["pds-form","pds-drawer"].includes(u),v=h?.message?.includes("#pds/lit")||h?.message?.includes("Failed to resolve module specifier");x&&v?o.log("error",`\u274C PDS component <${u}> requires Lit but #pds/lit is not in import map.
|
|
2
|
-
See: https://github.com/Pure-Web-Foundation/pure-ds/blob/main/readme.md#lit-components-not-working`):o.log("warn",`\u26A0\uFE0F PDS component <${u}> not found. Assets may not be installed.`)}else o.log("error",`\u274C Auto-define error for <${u}>:`,h)},...j,mapper:u=>{if(customElements.get(u))return null;if(typeof a=="function")try{let h=a(u);return h===void 0?p(u):h}catch(h){return o.log("warn","Custom autoDefine.mapper error; falling back to default:",h?.message||h),p(u)}return p(u)}};d=new i(w),s.length>0&&typeof i.define=="function"&&await i.define(...s,{baseURL:n,mapper:w.mapper,onError:w.onError})}return{autoDefiner:d,mergedEnhancers:b}}var he=["light","dark"],ye=new Set(he);function gt(e){let n=(Array.isArray(e?.themes)?e.themes.map(s=>String(s).toLowerCase()):he).filter(s=>ye.has(s));return n.length?n:he}function ge(e,{preferDocument:t=!0}={}){let n=String(e||"").toLowerCase();if(ye.has(n))return n;if(t&&typeof document<"u"){let s=document.documentElement?.getAttribute("data-theme");if(ye.has(s))return s}return typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function We(e,t){let n=ge(t);return gt(e).includes(n)}var bt=new Set(["log","warn","error","debug","info"]),wt="__PURE_DS_PDS_SINGLETON__",be=null,we=null;function He(){try{let t=(typeof globalThis<"u"?globalThis:window)?.[wt];if(t&&typeof t=="object")return t}catch{return null}return null}function St(e){return!e||typeof e!="object"?null:{mode:e.mode==="live"||e.mode==="static"?e.mode:null,debug:e.debug===!0,thisArg:e.thisArg}}function Lt(e){if(typeof e!="string")return"log";let t=e.toLowerCase();return bt.has(t)?t:"log"}function _t(){if(typeof we=="function")try{let t=St(we());if(t)return t}catch{}let e=He();if(e){let t=e?.mode||e?.compiled?.mode||(e?.registry?.isLive?"live":"static"),n=(e?.debug||e?.currentConfig?.debug||e?.currentConfig?.design?.debug||e?.compiled?.debug||e?.compiled?.design?.debug||!1)===!0;return{mode:t,debug:n,thisArg:e}}return{mode:null,debug:!1}}function Et(){if(typeof be=="function")try{let t=be();if(typeof t=="function")return t}catch{}let e=He();return typeof e?.logHandler=="function"?e.logHandler:null}function Be(e,t,...n){if(typeof console>"u")return;let s=typeof console[e]=="function"?console[e].bind(console):typeof console.log=="function"?console.log.bind(console):null;s&&(n.length>0?s(t,...n):s(t))}function vt(e,t){let n=t?.debug===!0;return!(t?.mode==="static"&&!n||!n&&e!=="error"&&e!=="warn")}function Ke({getLogger:e,getContext:t}={}){be=typeof e=="function"?e:null,we=typeof t=="function"?t:null}function Ge(e="log",t,...n){let s=Lt(e),a=_t(),r=Et();if(r)try{r.call(a?.thisArg,s,t,...n);return}catch(l){Be("error","Custom log handler failed:",l)}vt(s,a)&&Be(s,t,...n)}typeof o.initializing!="boolean"&&(o.initializing=!1);"currentPreset"in o||(o.currentPreset=null);typeof o.debug!="boolean"&&(o.debug=!1);"currentConfig"in o||(o.currentConfig=null);"compiled"in o||(o.compiled=null);typeof o.logHandler!="function"&&(o.logHandler=null);"mode"in o||(o.mode=null);var Z=null,X=null,ee=null,te=null,ne=null,se=null,Je="__pdsLocalizationRuntime";function U(){if(se)return se;let e=o?.[Je];return e&&typeof e=="object"?(se=e,e):null}function At(e){let t=e&&typeof e=="object"?e:null;se=t,o[Je]=t}Ke({getLogger:()=>typeof o.logHandler=="function"?o.logHandler:null,getContext:()=>{let e=o?.mode||o?.compiled?.mode||(o?.registry?.isLive?"live":"static"),t=(o?.debug||o?.currentConfig?.debug||o?.currentConfig?.design?.debug||o?.compiled?.debug||o?.compiled?.design?.debug||!1)===!0;return{mode:e,debug:t,thisArg:o}}});o.log=(e="log",t,...n)=>{Ge(e,t,...n)};var E={locale:"en",messages:{},hasProvider:!1},oe=new Set;function Ve(e){return!!e&&typeof e!="string"&&typeof e=="object"&&"strTag"in e}function Qe(e=[]){let t="";for(let n=0;n<=e.length-1;n+=1)t+=e[n],n<e.length-1&&(t+=`{${n}}`);return t}function jt(e,t){return String(e).replace(/\{(\d+)\}/g,(n,s)=>t(Number(s)))}function Pt(e){if(!e||typeof e!="object")return{};let t={};for(let[n,s]of Object.entries(e)){if(typeof s=="string"){t[n]=s;continue}s&&typeof s=="object"&&typeof s.content=="string"&&(t[n]=s.content)}return t}function kt(e,...t){return{strTag:!0,strings:Array.from(e||[]),values:t,raw:Array.from(e?.raw||[])}}function xt(e){if(!e)return"";if(Ve(e)){let n=Qe(e.strings||[]),s=E.messages[n]||n;return jt(s,a=>e.values?.[a])}let t=String(e);return E.messages[t]||t}function Rt(e){if(!e)return;let t=Ve(e)?Qe(e.strings||[]):String(e);typeof t=="string"&&t.length>0&&oe.add(t)}function Ye(e){if(!e||typeof e.msg!="function"||oe.size===0)return;let t=Array.from(oe);oe.clear();for(let n of t)try{e.msg(n)}catch{}}async function W(){let e=U();return e||(ne||(ne=import(B("pds-localization.js")).then(n=>{if(typeof n?.msg!="function"||typeof n?.str!="function"||typeof n?.configureLocalization!="function"||typeof n?.loadLocale!="function"||typeof n?.setLocale!="function"||typeof n?.getLocalizationState!="function")throw new Error("Failed to load localization runtime exports");return At(n),Ye(n),n}).catch(n=>{throw ne=null,n})),ne)}var $=(e,t={})=>{let n=U();return typeof n?.msg=="function"?n.msg(e,t):(Rt(e),xt(e,t))},ie=(e,...t)=>{let n=U();return typeof n?.str=="function"?n.str(e,...t):kt(e,...t)},re=(e=null)=>{let t=U();if(typeof t?.configureLocalization=="function")return t.configureLocalization(e);if(!e||typeof e!="object")return E.locale="en",E.messages={},E.hasProvider=!1,{locale:E.locale,messages:{...E.messages},hasProvider:E.hasProvider};typeof e.locale=="string"&&e.locale.trim()&&(E.locale=e.locale.trim()),Object.prototype.hasOwnProperty.call(e,"messages")&&(E.messages=Pt(e.messages));let n=!!(e.provider||e.translate||e.loadLocale||e.setLocale);return E.hasProvider=n,n&&W().then(s=>{s.configureLocalization(e),Ye(s)}).catch(()=>{}),{locale:E.locale,messages:{...E.messages},hasProvider:E.hasProvider}},Ze=async e=>(await W()).loadLocale(e),Xe=async(e,t={})=>(await W()).setLocale(e,t),et=()=>{let e=U();return typeof e?.getLocalizationState=="function"?e.getLocalizationState():{locale:E.locale,messages:{...E.messages},hasProvider:E.hasProvider}},tt=(e={})=>{let t=U();if(typeof t?.createJSONLocalization=="function")return t.createJSONLocalization(e);let n=typeof e?.locale=="string"&&e.locale.trim()?e.locale.trim().toLowerCase():"en",s=Array.isArray(e?.locales)?e.locales.map(b=>String(b||"").trim().toLowerCase()).filter(Boolean):[],a=Array.from(new Set([n,...s])),r=null,l=async()=>(r||(r=W().then(b=>typeof b?.createJSONLocalization=="function"?b.createJSONLocalization(e):null).catch(()=>null)),r),S=async(b="loadLocale")=>{let d=await l();if(!d||typeof d!="object")return null;let i=d.provider;if(!i||typeof i!="object")return null;let p=i[b];return typeof p=="function"?p:b==="setLocale"&&typeof i.loadLocale=="function"?i.loadLocale:null};return{locale:n,locales:[...a],provider:{locales:[...a],async loadLocale(b={}){let d=await S("loadLocale");return typeof d!="function"?{}:d(b)},async setLocale(b={}){let d=await S("setLocale");return typeof d!="function"?{}:d(b)}}}};function B(e,t){return t&&typeof t=="string"?t:`${Y(o.currentConfig||{},{resolvePublicAssetURL:q})}core/${e}`}async function Dt(){return Array.isArray(o.defaultEnhancers)&&o.defaultEnhancers.length>0?o.defaultEnhancers:(te||(te=import(B("pds-enhancers.js",o.currentConfig?.enhancersURL)).then(t=>{let n=Array.isArray(t?.defaultPDSEnhancers)?t.defaultPDSEnhancers:[];return o.defaultEnhancers=n,n}).catch(t=>{throw te=null,t})),te)}async function zt(){return typeof o.ask=="function"&&o.ask!==nt?o.ask:(X||(X=import(B("pds-ask.js",o.currentConfig?.askURL)).then(t=>{let n=t?.ask;if(typeof n!="function")throw new Error("Failed to load ask helper");return o.ask=n,n}).catch(t=>{throw X=null,t})),X)}async function H(){return typeof o.toast=="function"&&o.toast!==N?o.toast:(ee||(ee=import(B("pds-toast.js",o.currentConfig?.toastURL)).then(t=>{let n=t?.toast;if(typeof n!="function")throw new Error("Failed to load toast helper");return o.toast=n,n}).catch(t=>{throw ee=null,t})),ee)}async function nt(...e){return(await zt())(...e)}async function N(...e){return(await H())(...e)}N.success=async(...e)=>(await H()).success(...e);N.error=async(...e)=>(await H()).error(...e);N.warning=async(...e)=>(await H()).warning(...e);N.info=async(...e)=>(await H()).info(...e);var qe=function(e="log",t,...n){o.log(e,t,...n)};function Le(e){if(e==null)return e;if(typeof e=="function")return;if(typeof e!="object")return e;if(Array.isArray(e))return e.map(n=>Le(n)).filter(n=>n!==void 0);let t={};for(let[n,s]of Object.entries(e)){let a=Le(s);a!==void 0&&(t[n]=a)}return t}function st(e,t=new WeakSet){if(!e||typeof e!="object"||t.has(e))return e;t.add(e),Object.freeze(e);for(let n of Object.keys(e))st(e[n],t);return e}function _e(e){return e==null||typeof e!="object"?e:st(structuredClone(Le(e)))}async function Ct(e,t={}){if(t?.runtimeConfig===!1||typeof fetch!="function")return null;let n=t?.runtimeConfigURL||`${e}pds-runtime-config.json`;try{let s=await fetch(n,{cache:"no-store"});return s.ok?await s.json():null}catch{return null}}o.registry=M;o.enums=Ce;o.adoptLayers=De;o.adoptPrimitives=Re;var Tt=fe;o.parse=Tt;var Ee=G;o.html=Ee;o.createStylesheet=ze;o.isLiveMode=()=>M.isLive;o.ask=nt;o.toast=N;o.common=me;o.msg=$;o.str=ie;o.configureLocalization=re;o.loadLocale=Ze;o.setLocale=Xe;o.getLocalizationState=et;o.createJSONLocalization=tt;o.i18n={msg:$,str:ie,configure:re,loadLocale:Ze,setLocale:Xe,getState:et,createJSONLocalization:tt};o.AutoComplete=null;o.loadAutoComplete=async()=>{if(o.AutoComplete&&typeof o.AutoComplete.connect=="function")return o.AutoComplete;let e=B("pds-autocomplete.js",o.currentConfig?.autoCompleteURL);return Z||(Z=import(e).then(t=>{let n=t?.AutoComplete||t?.default?.AutoComplete||t?.default||null;if(!n)throw new Error("AutoComplete export not found in module");return o.AutoComplete=n,n}).catch(t=>{throw Z=null,t})),Z};function ot(e){let t=typeof CustomEvent=="function";try{let n=t?new CustomEvent("pds:ready",{detail:e}):new Event("pds:ready");o.dispatchEvent(n)}catch{}if(typeof document<"u")if(t){let n={detail:e,bubbles:!0,composed:!0};try{document.dispatchEvent(new CustomEvent("pds:ready",n))}catch{}try{document.dispatchEvent(new CustomEvent("pds-ready",n))}catch{}}else{try{document.dispatchEvent(new Event("pds:ready"))}catch{}try{document.dispatchEvent(new Event("pds-ready"))}catch{}}}function rt(e={}){let t=typeof CustomEvent=="function",n={at:Date.now(),...e};try{let s=t?new CustomEvent("pds:config-changed",{detail:n}):new Event("pds:config-changed");o.dispatchEvent(s)}catch{}if(typeof document<"u")if(t){let s={detail:n,bubbles:!0,composed:!0};try{document.dispatchEvent(new CustomEvent("pds:config-changed",s))}catch{}}else try{document.dispatchEvent(new Event("pds:config-changed"))}catch{}}var Se="pure-ds-theme",z=null,F=null;function ve(e){try{if(typeof document>"u")return;let t="light";e?e==="system"?t=typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":t=e:t=typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",document.documentElement.setAttribute("data-theme",t)}catch{}}function Ae(e){try{if(z&&F){try{typeof z.removeEventListener=="function"?z.removeEventListener("change",F):typeof z.removeListener=="function"&&z.removeListener(F)}catch{}z=null,F=null}if(e==="system"&&typeof window<"u"&&window.matchMedia){let t=window.matchMedia("(prefers-color-scheme: dark)"),n=s=>{let a=s?.matches===void 0?t.matches:s.matches;try{let r=a?"dark":"light";document.documentElement.setAttribute("data-theme",r),o.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:r,source:"system"}}))}catch{}};z=t,F=n,typeof t.addEventListener=="function"?t.addEventListener("change",n):typeof t.addListener=="function"&&t.addListener(n)}}catch{}}var Mt=Object.getOwnPropertyDescriptor(o,"theme");Mt||Object.defineProperty(o,"theme",{get(){try{return typeof window>"u"?null:localStorage.getItem(Se)||null}catch{return null}},set(e){try{if(typeof window>"u")return;let t=o.currentConfig?.design||null,n=ge(e);if(t&&!We(t,n)){let s=t?.name||o.currentPreset?.name||o.currentConfig?.preset||"current preset";o.log("warn",`PDS theme "${n}" not supported by preset "${s}".`),o.dispatchEvent(new CustomEvent("pds:theme:blocked",{detail:{theme:e,resolvedTheme:n,preset:s}}));return}e==null?localStorage.removeItem(Se):localStorage.setItem(Se,e),ve(e),Ae(e),o.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:e,source:"api"}}))}catch{}}});o.defaultEnhancers=[];async function Ut(e){o.initializing=!0;try{let t=e&&e.mode||"live",{mode:n,...s}=e||{};o.mode=t,o.logHandler=typeof s?.log=="function"?s.log:null,o.currentConfig=_e(s);let a=s&&typeof s.localization=="object"&&s.localization?s.localization:null;a?(await W(),re(a)):re(null);let r;if(t==="static")r=await $t(s);else{let{localization:S,...b}=s||{},d=Y(b,{resolvePublicAssetURL:q}),i=b?.managerURL||b?.public?.managerURL||b?.manager?.url||new URL("core/pds-manager.js",d).href||new URL("./pds-manager.js",import.meta.url).href,{startLive:p}=await import(i);r=await p(o,b,{emitReady:ot,emitConfigChanged:rt,applyResolvedTheme:ve,setupSystemListenerIfNeeded:Ae})}o.compiled=_e(r?.config||null);let l=o?.compiled?.design?.icons?.externalPath||"/assets/img/icons/";return o.log("info",`startup ready; external icon path: ${l}`),r}finally{o.initializing=!1}}o.start=Ut;async function $t(e){if(!e||typeof e!="object")throw new Error("PDS.start({ mode: 'static', ... }) requires a valid configuration object");let t=e.applyGlobalStyles??!0,n=e.manageTheme??!0,s=e.themeStorageKey??"pure-ds-theme",a=e.staticPaths??{},r=Y(e,{resolvePublicAssetURL:q}),l=e&&e.autoDefine||null,S;l&&l.baseURL?S=V(Q(l.baseURL,{preferModule:!1})):S=`${r}components/`;let b=l&&Array.isArray(l.predefine)&&l.predefine||[],d=l&&typeof l.mapper=="function"&&l.mapper||null;try{Oe(o);let{resolvedTheme:i}=Ie({manageTheme:n,themeStorageKey:s,applyResolvedTheme:ve,setupSystemListenerIfNeeded:Ae}),p=await Ct(r,e),A=Array.isArray(e?.enhancers)?e.enhancers:e?.enhancers&&typeof e.enhancers=="object"?Object.values(e.enhancers):[],L=p?.config?{...p.config,...e,design:e?.design||p.config.design,preset:e?.preset||p.config.preset}:{...e},j={tokens:`${r}styles/pds-tokens.css.js`,primitives:`${r}styles/pds-primitives.css.js`,components:`${r}styles/pds-components.css.js`,utilities:`${r}styles/pds-utilities.css.js`,styles:`${r}styles/pds-styles.css.js`},D=p?.paths||{};if(a={...j,...D,...a},o.registry.setStaticMode(a),t&&typeof document<"u")try{let w=await o.registry.getStylesheet("styles");if(w){w._pds=!0;let u=(document.adoptedStyleSheets||[]).filter(h=>h._pds!==!0);document.adoptedStyleSheets=[...u,w],rt({mode:"static",source:"static:styles-applied"})}}catch(w){qe.call(o,"warn","Failed to apply static styles:",w)}let c=null,y=[];try{let w=await Dt(),u=await Fe({autoDefineBaseURL:S,autoDefinePreload:b,autoDefineMapper:d,enhancers:A,autoDefineOverrides:l||null,autoDefinePreferModule:!(l&&l.baseURL)},{baseEnhancers:w});c=u.autoDefiner,y=u.mergedEnhancers||[]}catch(w){qe.call(o,"error","\u274C Failed to initialize AutoDefiner/Enhancers (static):",w)}return o.compiled=_e({mode:"static",...L,theme:i,enhancers:y}),ot({mode:"static",config:L,theme:i,autoDefiner:c}),{config:L,theme:i,autoDefiner:c}}catch(i){throw o.dispatchEvent(new CustomEvent("pds:error",{detail:{error:i}})),i}}var Nt=o.createJSONLocalization({locale:"en-US",locales:["en-US","nl-NL"],aliases:{en:["en-US"],nl:["nl-NL"]},basePath:"/assets/locales"}),it={mode:"live",liveEdit:!0,preset:"default",localization:Nt,autoDefine:{predefine:["pds-icon","pds-drawer","pds-toaster"]},log(e,t,...n){(this?.mode||this?.compiled?.mode||"live")!=="static"&&(typeof console[e]=="function"?console[e]:console.log)(`[PDS] ${t}`,...n)}};var R={name:"@pure-ds/core",shortname:"pds",version:"0.7.56",description:"Why develop a Design System when you can generate one?",repository:{type:"git",url:"git+https://github.com/Pure-Web-Foundation/pure-ds.git"},bugs:{url:"https://github.com/Pure-Web-Foundation/pure-ds/issues"},homepage:"https://puredesignsystem.z6.web.core.windows.net/",keywords:["design-system","css","web-components","lit","constructable-stylesheets","tokens","utilities","a11y"],type:"module",main:"./public/assets/pds/core.js",module:"./public/assets/pds/core.js",types:"./dist/types/pds.d.ts",bin:{"pds-build":"packages/pds-cli/bin/pds-static.js","pds-sync-assets":"packages/pds-cli/bin/sync-assets.js","pds-build-icons":"packages/pds-cli/bin/pds-build-icons.js","pds-import":"packages/pds-cli/bin/pds-import.js","pds-setup-copilot":"packages/pds-cli/bin/pds-setup-copilot.js","pds-setup-mcp":"packages/pds-cli/bin/pds-setup-mcp.js","pds-init-config":"packages/pds-cli/bin/pds-init-config.js","pds-bootstrap":"packages/pds-cli/bin/pds-bootstrap.js","pds-mcp-server":"packages/pds-cli/bin/pds-mcp-server.js","pds-mcp-health":"packages/pds-cli/bin/pds-mcp-health.js","pds-mcp-eval":"packages/pds-cli/bin/pds-mcp-eval.js"},exports:{".":{types:"./src/js/pds.d.ts",import:"./public/assets/pds/core.js"},"./localization":{types:"./dist/types/src/js/pds-localization.d.ts",import:"./public/assets/pds/core/pds-localization.js"},"./lit":{types:"./dist/types/src/js/lit.d.ts",import:"./public/assets/pds/external/lit.js"},"./pds-core":"./src/js/pds.js","./auto-define/*":"./public/auto-define/*"},files:[".github/copilot-instructions.md",".cursorrules","dist/types/","public/assets/js/","public/assets/pds/components/","public/assets/pds/templates/","public/assets/pds/core.js","public/assets/pds/core/","public/assets/pds/external/","public/assets/pds/vscode-custom-data.json","public/assets/pds/pds.css-data.json","public/assets/pds/pds-css-complete.json","public/auto-define/","public/pds/components/","public/assets/pds/icons/pds-icons.svg","packages/pds-cli/bin/","packages/pds-cli/lib/","src/js/pds.d.ts","src/js/pds.js","src/js/pds-singleton.js","src/js/common/","src/js/pds-live-manager/","src/js/pds-core/","custom-elements.json","custom-elements-manifest.config.js","pds.html-data.json","pds.css-data.json","LOCALIZATION.md","readme.md","INTELLISENSE.md","CSS-INTELLISENSE-LIMITATION.md","CSS-INTELLISENSE-QUICK-REF.md"],scripts:{test:'echo "Error: no test specified" && exit 1',dev:"node esbuild-dev.js",prebuild:"npm run types",build:"node esbuild-build.js",types:"tsc -p tsconfig.json && node scripts/sync-types.mjs",postinstall:"node packages/pds-cli/bin/postinstall.mjs","prepds:build":"npm run types","pds:build":"node packages/pds-cli/bin/pds-static.js","pds:build-icons":"node packages/pds-cli/bin/pds-build-icons.js","pds:bootstrap":"node packages/pds-cli/bin/pds-bootstrap.js","pds:manifest":"node packages/pds-cli/bin/generate-manifest.js","pds:css-data":"node packages/pds-cli/bin/generate-css-data.js","pds:import":"node packages/pds-cli/bin/pds-import.js","pds:dx":"node packages/pds-cli/bin/pds-dx.js","pds:mcp:server":"node packages/pds-cli/bin/pds-mcp-server.js","pds:mcp:health":"node packages/pds-cli/bin/pds-mcp-health.js","pds:mcp:eval":"node packages/pds-cli/bin/pds-mcp-eval.js","storybook:generate":"cd packages/pds-storybook && npm run generate-stories","storybook:dev":"cd packages/pds-storybook && npm run storybook:dev","storybook:build":"cd packages/pds-storybook && npm run storybook:build"},author:"Marc van Neerven",license:"ISC",engines:{node:">=18"},publishConfig:{access:"public"},devDependencies:{"@custom-elements-manifest/analyzer":"^0.9.9","@types/node":"^22.10.2",esbuild:"^0.19.0","fs-extra":"^11.1.1",typescript:"^5.6.3"},dependencies:{lit:"^3.3.2","pure-web":"1.1.32"},customElements:"custom-elements.json"};await o.start(it);document.documentElement.lang="en";var at=typeof R.repository=="string"?R.repository:R.repository?.url,It=at?at.replace(/^git\+/,"").replace(/\.git$/,""):"",bn=R.homepage||It,wn=R.bugs?.url||"";document.body.appendChild(Ee`
|
|
2
|
+
See: https://github.com/Pure-Web-Foundation/pure-ds/blob/main/readme.md#lit-components-not-working`):o.log("warn",`\u26A0\uFE0F PDS component <${u}> not found. Assets may not be installed.`)}else o.log("error",`\u274C Auto-define error for <${u}>:`,h)},...j,mapper:u=>{if(customElements.get(u))return null;if(typeof a=="function")try{let h=a(u);return h===void 0?p(u):h}catch(h){return o.log("warn","Custom autoDefine.mapper error; falling back to default:",h?.message||h),p(u)}return p(u)}};d=new i(w),s.length>0&&typeof i.define=="function"&&await i.define(...s,{baseURL:n,mapper:w.mapper,onError:w.onError})}return{autoDefiner:d,mergedEnhancers:b}}var he=["light","dark"],ye=new Set(he);function gt(e){let n=(Array.isArray(e?.themes)?e.themes.map(s=>String(s).toLowerCase()):he).filter(s=>ye.has(s));return n.length?n:he}function ge(e,{preferDocument:t=!0}={}){let n=String(e||"").toLowerCase();if(ye.has(n))return n;if(t&&typeof document<"u"){let s=document.documentElement?.getAttribute("data-theme");if(ye.has(s))return s}return typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function We(e,t){let n=ge(t);return gt(e).includes(n)}var bt=new Set(["log","warn","error","debug","info"]),wt="__PURE_DS_PDS_SINGLETON__",be=null,we=null;function He(){try{let t=(typeof globalThis<"u"?globalThis:window)?.[wt];if(t&&typeof t=="object")return t}catch{return null}return null}function St(e){return!e||typeof e!="object"?null:{mode:e.mode==="live"||e.mode==="static"?e.mode:null,debug:e.debug===!0,thisArg:e.thisArg}}function Lt(e){if(typeof e!="string")return"log";let t=e.toLowerCase();return bt.has(t)?t:"log"}function _t(){if(typeof we=="function")try{let t=St(we());if(t)return t}catch{}let e=He();if(e){let t=e?.mode||e?.compiled?.mode||(e?.registry?.isLive?"live":"static"),n=(e?.debug||e?.currentConfig?.debug||e?.currentConfig?.design?.debug||e?.compiled?.debug||e?.compiled?.design?.debug||!1)===!0;return{mode:t,debug:n,thisArg:e}}return{mode:null,debug:!1}}function Et(){if(typeof be=="function")try{let t=be();if(typeof t=="function")return t}catch{}let e=He();return typeof e?.logHandler=="function"?e.logHandler:null}function Be(e,t,...n){if(typeof console>"u")return;let s=typeof console[e]=="function"?console[e].bind(console):typeof console.log=="function"?console.log.bind(console):null;s&&(n.length>0?s(t,...n):s(t))}function vt(e,t){let n=t?.debug===!0;return!(t?.mode==="static"&&!n||!n&&e!=="error"&&e!=="warn")}function Ke({getLogger:e,getContext:t}={}){be=typeof e=="function"?e:null,we=typeof t=="function"?t:null}function Ge(e="log",t,...n){let s=Lt(e),a=_t(),r=Et();if(r)try{r.call(a?.thisArg,s,t,...n);return}catch(l){Be("error","Custom log handler failed:",l)}vt(s,a)&&Be(s,t,...n)}typeof o.initializing!="boolean"&&(o.initializing=!1);"currentPreset"in o||(o.currentPreset=null);typeof o.debug!="boolean"&&(o.debug=!1);"currentConfig"in o||(o.currentConfig=null);"compiled"in o||(o.compiled=null);typeof o.logHandler!="function"&&(o.logHandler=null);"mode"in o||(o.mode=null);var Z=null,X=null,ee=null,te=null,ne=null,se=null,Je="__pdsLocalizationRuntime";function U(){if(se)return se;let e=o?.[Je];return e&&typeof e=="object"?(se=e,e):null}function At(e){let t=e&&typeof e=="object"?e:null;se=t,o[Je]=t}Ke({getLogger:()=>typeof o.logHandler=="function"?o.logHandler:null,getContext:()=>{let e=o?.mode||o?.compiled?.mode||(o?.registry?.isLive?"live":"static"),t=(o?.debug||o?.currentConfig?.debug||o?.currentConfig?.design?.debug||o?.compiled?.debug||o?.compiled?.design?.debug||!1)===!0;return{mode:e,debug:t,thisArg:o}}});o.log=(e="log",t,...n)=>{Ge(e,t,...n)};var E={locale:"en",messages:{},hasProvider:!1},oe=new Set;function Ve(e){return!!e&&typeof e!="string"&&typeof e=="object"&&"strTag"in e}function Qe(e=[]){let t="";for(let n=0;n<=e.length-1;n+=1)t+=e[n],n<e.length-1&&(t+=`{${n}}`);return t}function jt(e,t){return String(e).replace(/\{(\d+)\}/g,(n,s)=>t(Number(s)))}function Pt(e){if(!e||typeof e!="object")return{};let t={};for(let[n,s]of Object.entries(e)){if(typeof s=="string"){t[n]=s;continue}s&&typeof s=="object"&&typeof s.content=="string"&&(t[n]=s.content)}return t}function kt(e,...t){return{strTag:!0,strings:Array.from(e||[]),values:t,raw:Array.from(e?.raw||[])}}function xt(e){if(!e)return"";if(Ve(e)){let n=Qe(e.strings||[]),s=E.messages[n]||n;return jt(s,a=>e.values?.[a])}let t=String(e);return E.messages[t]||t}function Rt(e){if(!e)return;let t=Ve(e)?Qe(e.strings||[]):String(e);typeof t=="string"&&t.length>0&&oe.add(t)}function Ye(e){if(!e||typeof e.msg!="function"||oe.size===0)return;let t=Array.from(oe);oe.clear();for(let n of t)try{e.msg(n)}catch{}}async function W(){let e=U();return e||(ne||(ne=import(B("pds-localization.js")).then(n=>{if(typeof n?.msg!="function"||typeof n?.str!="function"||typeof n?.configureLocalization!="function"||typeof n?.loadLocale!="function"||typeof n?.setLocale!="function"||typeof n?.getLocalizationState!="function")throw new Error("Failed to load localization runtime exports");return At(n),Ye(n),n}).catch(n=>{throw ne=null,n})),ne)}var $=(e,t={})=>{let n=U();return typeof n?.msg=="function"?n.msg(e,t):(Rt(e),xt(e,t))},ie=(e,...t)=>{let n=U();return typeof n?.str=="function"?n.str(e,...t):kt(e,...t)},re=(e=null)=>{let t=U();if(typeof t?.configureLocalization=="function")return t.configureLocalization(e);if(!e||typeof e!="object")return E.locale="en",E.messages={},E.hasProvider=!1,{locale:E.locale,messages:{...E.messages},hasProvider:E.hasProvider};typeof e.locale=="string"&&e.locale.trim()&&(E.locale=e.locale.trim()),Object.prototype.hasOwnProperty.call(e,"messages")&&(E.messages=Pt(e.messages));let n=!!(e.provider||e.translate||e.loadLocale||e.setLocale);return E.hasProvider=n,n&&W().then(s=>{s.configureLocalization(e),Ye(s)}).catch(()=>{}),{locale:E.locale,messages:{...E.messages},hasProvider:E.hasProvider}},Ze=async e=>(await W()).loadLocale(e),Xe=async(e,t={})=>(await W()).setLocale(e,t),et=()=>{let e=U();return typeof e?.getLocalizationState=="function"?e.getLocalizationState():{locale:E.locale,messages:{...E.messages},hasProvider:E.hasProvider}},tt=(e={})=>{let t=U();if(typeof t?.createJSONLocalization=="function")return t.createJSONLocalization(e);let n=typeof e?.locale=="string"&&e.locale.trim()?e.locale.trim().toLowerCase():"en",s=Array.isArray(e?.locales)?e.locales.map(b=>String(b||"").trim().toLowerCase()).filter(Boolean):[],a=Array.from(new Set([n,...s])),r=null,l=async()=>(r||(r=W().then(b=>typeof b?.createJSONLocalization=="function"?b.createJSONLocalization(e):null).catch(()=>null)),r),S=async(b="loadLocale")=>{let d=await l();if(!d||typeof d!="object")return null;let i=d.provider;if(!i||typeof i!="object")return null;let p=i[b];return typeof p=="function"?p:b==="setLocale"&&typeof i.loadLocale=="function"?i.loadLocale:null};return{locale:n,locales:[...a],provider:{locales:[...a],async loadLocale(b={}){let d=await S("loadLocale");return typeof d!="function"?{}:d(b)},async setLocale(b={}){let d=await S("setLocale");return typeof d!="function"?{}:d(b)}}}};function B(e,t){return t&&typeof t=="string"?t:`${Y(o.currentConfig||{},{resolvePublicAssetURL:q})}core/${e}`}async function Dt(){return Array.isArray(o.defaultEnhancers)&&o.defaultEnhancers.length>0?o.defaultEnhancers:(te||(te=import(B("pds-enhancers.js",o.currentConfig?.enhancersURL)).then(t=>{let n=Array.isArray(t?.defaultPDSEnhancers)?t.defaultPDSEnhancers:[];return o.defaultEnhancers=n,n}).catch(t=>{throw te=null,t})),te)}async function zt(){return typeof o.ask=="function"&&o.ask!==nt?o.ask:(X||(X=import(B("pds-ask.js",o.currentConfig?.askURL)).then(t=>{let n=t?.ask;if(typeof n!="function")throw new Error("Failed to load ask helper");return o.ask=n,n}).catch(t=>{throw X=null,t})),X)}async function H(){return typeof o.toast=="function"&&o.toast!==N?o.toast:(ee||(ee=import(B("pds-toast.js",o.currentConfig?.toastURL)).then(t=>{let n=t?.toast;if(typeof n!="function")throw new Error("Failed to load toast helper");return o.toast=n,n}).catch(t=>{throw ee=null,t})),ee)}async function nt(...e){return(await zt())(...e)}async function N(...e){return(await H())(...e)}N.success=async(...e)=>(await H()).success(...e);N.error=async(...e)=>(await H()).error(...e);N.warning=async(...e)=>(await H()).warning(...e);N.info=async(...e)=>(await H()).info(...e);var qe=function(e="log",t,...n){o.log(e,t,...n)};function Le(e){if(e==null)return e;if(typeof e=="function")return;if(typeof e!="object")return e;if(Array.isArray(e))return e.map(n=>Le(n)).filter(n=>n!==void 0);let t={};for(let[n,s]of Object.entries(e)){let a=Le(s);a!==void 0&&(t[n]=a)}return t}function st(e,t=new WeakSet){if(!e||typeof e!="object"||t.has(e))return e;t.add(e),Object.freeze(e);for(let n of Object.keys(e))st(e[n],t);return e}function _e(e){return e==null||typeof e!="object"?e:st(structuredClone(Le(e)))}async function Ct(e,t={}){if(t?.runtimeConfig===!1||typeof fetch!="function")return null;let n=t?.runtimeConfigURL||`${e}pds-runtime-config.json`;try{let s=await fetch(n,{cache:"no-store"});return s.ok?await s.json():null}catch{return null}}o.registry=M;o.enums=Ce;o.adoptLayers=De;o.adoptPrimitives=Re;var Tt=fe;o.parse=Tt;var Ee=G;o.html=Ee;o.createStylesheet=ze;o.isLiveMode=()=>M.isLive;o.ask=nt;o.toast=N;o.common=me;o.msg=$;o.str=ie;o.configureLocalization=re;o.loadLocale=Ze;o.setLocale=Xe;o.getLocalizationState=et;o.createJSONLocalization=tt;o.i18n={msg:$,str:ie,configure:re,loadLocale:Ze,setLocale:Xe,getState:et,createJSONLocalization:tt};o.AutoComplete=null;o.loadAutoComplete=async()=>{if(o.AutoComplete&&typeof o.AutoComplete.connect=="function")return o.AutoComplete;let e=B("pds-autocomplete.js",o.currentConfig?.autoCompleteURL);return Z||(Z=import(e).then(t=>{let n=t?.AutoComplete||t?.default?.AutoComplete||t?.default||null;if(!n)throw new Error("AutoComplete export not found in module");return o.AutoComplete=n,n}).catch(t=>{throw Z=null,t})),Z};function ot(e){let t=typeof CustomEvent=="function";try{let n=t?new CustomEvent("pds:ready",{detail:e}):new Event("pds:ready");o.dispatchEvent(n)}catch{}if(typeof document<"u")if(t){let n={detail:e,bubbles:!0,composed:!0};try{document.dispatchEvent(new CustomEvent("pds:ready",n))}catch{}try{document.dispatchEvent(new CustomEvent("pds-ready",n))}catch{}}else{try{document.dispatchEvent(new Event("pds:ready"))}catch{}try{document.dispatchEvent(new Event("pds-ready"))}catch{}}}function rt(e={}){let t=typeof CustomEvent=="function",n={at:Date.now(),...e};try{let s=t?new CustomEvent("pds:config-changed",{detail:n}):new Event("pds:config-changed");o.dispatchEvent(s)}catch{}if(typeof document<"u")if(t){let s={detail:n,bubbles:!0,composed:!0};try{document.dispatchEvent(new CustomEvent("pds:config-changed",s))}catch{}}else try{document.dispatchEvent(new Event("pds:config-changed"))}catch{}}var Se="pure-ds-theme",z=null,F=null;function ve(e){try{if(typeof document>"u")return;let t="light";e?e==="system"?t=typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":t=e:t=typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",document.documentElement.setAttribute("data-theme",t)}catch{}}function Ae(e){try{if(z&&F){try{typeof z.removeEventListener=="function"?z.removeEventListener("change",F):typeof z.removeListener=="function"&&z.removeListener(F)}catch{}z=null,F=null}if(e==="system"&&typeof window<"u"&&window.matchMedia){let t=window.matchMedia("(prefers-color-scheme: dark)"),n=s=>{let a=s?.matches===void 0?t.matches:s.matches;try{let r=a?"dark":"light";document.documentElement.setAttribute("data-theme",r),o.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:r,source:"system"}}))}catch{}};z=t,F=n,typeof t.addEventListener=="function"?t.addEventListener("change",n):typeof t.addListener=="function"&&t.addListener(n)}}catch{}}var Mt=Object.getOwnPropertyDescriptor(o,"theme");Mt||Object.defineProperty(o,"theme",{get(){try{return typeof window>"u"?null:localStorage.getItem(Se)||null}catch{return null}},set(e){try{if(typeof window>"u")return;let t=o.currentConfig?.design||null,n=ge(e);if(t&&!We(t,n)){let s=t?.name||o.currentPreset?.name||o.currentConfig?.preset||"current preset";o.log("warn",`PDS theme "${n}" not supported by preset "${s}".`),o.dispatchEvent(new CustomEvent("pds:theme:blocked",{detail:{theme:e,resolvedTheme:n,preset:s}}));return}e==null?localStorage.removeItem(Se):localStorage.setItem(Se,e),ve(e),Ae(e),o.dispatchEvent(new CustomEvent("pds:theme:changed",{detail:{theme:e,source:"api"}}))}catch{}}});o.defaultEnhancers=[];async function Ut(e){o.initializing=!0;try{let t=e&&e.mode||"live",{mode:n,...s}=e||{};o.mode=t,o.logHandler=typeof s?.log=="function"?s.log:null,o.currentConfig=_e(s);let a=s&&typeof s.localization=="object"&&s.localization?s.localization:null;a?(await W(),re(a)):re(null);let r;if(t==="static")r=await $t(s);else{let{localization:S,...b}=s||{},d=Y(b,{resolvePublicAssetURL:q}),i=b?.managerURL||b?.public?.managerURL||b?.manager?.url||new URL("core/pds-manager.js",d).href||new URL("./pds-manager.js",import.meta.url).href,{startLive:p}=await import(i);r=await p(o,b,{emitReady:ot,emitConfigChanged:rt,applyResolvedTheme:ve,setupSystemListenerIfNeeded:Ae})}o.compiled=_e(r?.config||null);let l=o?.compiled?.design?.icons?.externalPath||"/assets/img/icons/";return o.log("info",`startup ready; external icon path: ${l}`),r}finally{o.initializing=!1}}o.start=Ut;async function $t(e){if(!e||typeof e!="object")throw new Error("PDS.start({ mode: 'static', ... }) requires a valid configuration object");let t=e.applyGlobalStyles??!0,n=e.manageTheme??!0,s=e.themeStorageKey??"pure-ds-theme",a=e.staticPaths??{},r=Y(e,{resolvePublicAssetURL:q}),l=e&&e.autoDefine||null,S;l&&l.baseURL?S=V(Q(l.baseURL,{preferModule:!1})):S=`${r}components/`;let b=l&&Array.isArray(l.predefine)&&l.predefine||[],d=l&&typeof l.mapper=="function"&&l.mapper||null;try{Oe(o);let{resolvedTheme:i}=Ie({manageTheme:n,themeStorageKey:s,applyResolvedTheme:ve,setupSystemListenerIfNeeded:Ae}),p=await Ct(r,e),A=Array.isArray(e?.enhancers)?e.enhancers:e?.enhancers&&typeof e.enhancers=="object"?Object.values(e.enhancers):[],L=p?.config?{...p.config,...e,design:e?.design||p.config.design,preset:e?.preset||p.config.preset}:{...e},j={tokens:`${r}styles/pds-tokens.css.js`,primitives:`${r}styles/pds-primitives.css.js`,components:`${r}styles/pds-components.css.js`,utilities:`${r}styles/pds-utilities.css.js`,styles:`${r}styles/pds-styles.css.js`},D=p?.paths||{};if(a={...j,...D,...a},o.registry.setStaticMode(a),t&&typeof document<"u")try{let w=await o.registry.getStylesheet("styles");if(w){w._pds=!0;let u=(document.adoptedStyleSheets||[]).filter(h=>h._pds!==!0);document.adoptedStyleSheets=[...u,w],rt({mode:"static",source:"static:styles-applied"})}}catch(w){qe.call(o,"warn","Failed to apply static styles:",w)}let c=null,y=[];try{let w=await Dt(),u=await Fe({autoDefineBaseURL:S,autoDefinePreload:b,autoDefineMapper:d,enhancers:A,autoDefineOverrides:l||null,autoDefinePreferModule:!(l&&l.baseURL)},{baseEnhancers:w});c=u.autoDefiner,y=u.mergedEnhancers||[]}catch(w){qe.call(o,"error","\u274C Failed to initialize AutoDefiner/Enhancers (static):",w)}return o.compiled=_e({mode:"static",...L,theme:i,enhancers:y}),ot({mode:"static",config:L,theme:i,autoDefiner:c}),{config:L,theme:i,autoDefiner:c}}catch(i){throw o.dispatchEvent(new CustomEvent("pds:error",{detail:{error:i}})),i}}var Nt=o.createJSONLocalization({locale:"en-US",locales:["en-US","nl-NL"],aliases:{en:["en-US"],nl:["nl-NL"]},basePath:"/assets/locales"}),it={mode:"live",liveEdit:!0,preset:"default",localization:Nt,autoDefine:{predefine:["pds-icon","pds-drawer","pds-toaster"]},log(e,t,...n){(this?.mode||this?.compiled?.mode||"live")!=="static"&&(typeof console[e]=="function"?console[e]:console.log)(`[PDS] ${t}`,...n)}};var R={name:"@pure-ds/core",shortname:"pds",version:"0.7.57",description:"Why develop a Design System when you can generate one?",repository:{type:"git",url:"git+https://github.com/Pure-Web-Foundation/pure-ds.git"},bugs:{url:"https://github.com/Pure-Web-Foundation/pure-ds/issues"},homepage:"https://puredesignsystem.z6.web.core.windows.net/",keywords:["design-system","css","web-components","lit","constructable-stylesheets","tokens","utilities","a11y"],type:"module",main:"./public/assets/pds/core.js",module:"./public/assets/pds/core.js",types:"./dist/types/pds.d.ts",bin:{"pds-build":"packages/pds-cli/bin/pds-static.js","pds-sync-assets":"packages/pds-cli/bin/sync-assets.js","pds-build-icons":"packages/pds-cli/bin/pds-build-icons.js","pds-import":"packages/pds-cli/bin/pds-import.js","pds-setup-copilot":"packages/pds-cli/bin/pds-setup-copilot.js","pds-setup-mcp":"packages/pds-cli/bin/pds-setup-mcp.js","pds-init-config":"packages/pds-cli/bin/pds-init-config.js","pds-bootstrap":"packages/pds-cli/bin/pds-bootstrap.js","pds-mcp-server":"packages/pds-cli/bin/pds-mcp-server.js","pds-mcp-health":"packages/pds-cli/bin/pds-mcp-health.js","pds-mcp-eval":"packages/pds-cli/bin/pds-mcp-eval.js"},exports:{".":{types:"./src/js/pds.d.ts",import:"./public/assets/pds/core.js"},"./localization":{types:"./dist/types/src/js/pds-localization.d.ts",import:"./public/assets/pds/core/pds-localization.js"},"./lit":{types:"./dist/types/src/js/lit.d.ts",import:"./public/assets/pds/external/lit.js"},"./pds-core":"./src/js/pds.js","./auto-define/*":"./public/auto-define/*"},files:[".github/copilot-instructions.md",".cursorrules","dist/types/","public/assets/js/","public/assets/pds/components/","public/assets/pds/templates/","public/assets/pds/core.js","public/assets/pds/core/","public/assets/pds/external/","public/assets/pds/vscode-custom-data.json","public/assets/pds/pds.css-data.json","public/assets/pds/pds-css-complete.json","public/auto-define/","public/pds/components/","public/assets/pds/icons/pds-icons.svg","packages/pds-cli/bin/","packages/pds-cli/lib/","src/js/pds.d.ts","src/js/pds.js","src/js/pds-singleton.js","src/js/common/","src/js/pds-live-manager/","src/js/pds-core/","custom-elements.json","custom-elements-manifest.config.js","pds.html-data.json","pds.css-data.json","LOCALIZATION.md","readme.md","INTELLISENSE.md","CSS-INTELLISENSE-LIMITATION.md","CSS-INTELLISENSE-QUICK-REF.md"],scripts:{test:'echo "Error: no test specified" && exit 1',dev:"node esbuild-dev.js",prebuild:"npm run types",build:"node esbuild-build.js",types:"tsc -p tsconfig.json && node scripts/sync-types.mjs",postinstall:"node packages/pds-cli/bin/postinstall.mjs","prepds:build":"npm run types","pds:build":"node packages/pds-cli/bin/pds-static.js","pds:build-icons":"node packages/pds-cli/bin/pds-build-icons.js","pds:bootstrap":"node packages/pds-cli/bin/pds-bootstrap.js","pds:manifest":"node packages/pds-cli/bin/generate-manifest.js","pds:css-data":"node packages/pds-cli/bin/generate-css-data.js","pds:import":"node packages/pds-cli/bin/pds-import.js","pds:dx":"node packages/pds-cli/bin/pds-dx.js","pds:mcp:server":"node packages/pds-cli/bin/pds-mcp-server.js","pds:mcp:health":"node packages/pds-cli/bin/pds-mcp-health.js","pds:mcp:eval":"node packages/pds-cli/bin/pds-mcp-eval.js","storybook:generate":"cd packages/pds-storybook && npm run generate-stories","storybook:dev":"cd packages/pds-storybook && npm run storybook:dev","storybook:build":"cd packages/pds-storybook && npm run storybook:build"},author:"Marc van Neerven",license:"ISC",engines:{node:">=18"},publishConfig:{access:"public"},devDependencies:{"@custom-elements-manifest/analyzer":"^0.9.9","@types/node":"^22.10.2",esbuild:"^0.19.0","fs-extra":"^11.1.1",typescript:"^5.6.3"},dependencies:{lit:"^3.3.2","pure-web":"1.1.32"},customElements:"custom-elements.json"};await o.start(it);document.documentElement.lang="en";var at=typeof R.repository=="string"?R.repository:R.repository?.url,It=at?at.replace(/^git\+/,"").replace(/\.git$/,""):"",bn=R.homepage||It,wn=R.bugs?.url||"";document.body.appendChild(Ee`
|
|
3
3
|
<div class="container text-center">
|
|
4
4
|
<img src="/assets/img/pds-logo.svg" alt="PDS Logo" title="${$("PDS Logo")}" width="64" height="64" />
|
|
5
5
|
<header class="container section">
|
|
@@ -87,6 +87,8 @@ class DateHelper {
|
|
|
87
87
|
*
|
|
88
88
|
* @fires pds-calendar#month-rendered - Dispatched after the calendar month is rendered with event fill capability
|
|
89
89
|
* @fires pds-calendar#month-change - Dispatched when the visible month/year changes
|
|
90
|
+
* @fires pds-calendar#day-click - Dispatched when a day cell is selected from the calendar grid
|
|
91
|
+
* @fires pds-calendar#task-click - Dispatched when a task item is clicked
|
|
90
92
|
*
|
|
91
93
|
* @attr {String} date - The date to display (defaults to current date). Accepts any valid date string
|
|
92
94
|
*
|
|
@@ -294,10 +296,10 @@ class PdsCalendar extends HTMLElement {
|
|
|
294
296
|
.calendar {
|
|
295
297
|
display: grid;
|
|
296
298
|
width: 100%;
|
|
297
|
-
min-height: 400px;
|
|
299
|
+
min-height: var(--calendar-min-height, 400px);
|
|
298
300
|
grid-template-columns: repeat(7, minmax(50px, 1fr));
|
|
299
|
-
grid-template-rows: 50px;
|
|
300
|
-
grid-auto-rows: 60px;
|
|
301
|
+
grid-template-rows: var(--calendar-header-row-height, 50px);
|
|
302
|
+
grid-auto-rows: var(--calendar-day-row-height, 60px);
|
|
301
303
|
overflow: auto;
|
|
302
304
|
position: relative;
|
|
303
305
|
}
|
|
@@ -378,7 +380,10 @@ class PdsCalendar extends HTMLElement {
|
|
|
378
380
|
position: relative;
|
|
379
381
|
pointer-events: all;
|
|
380
382
|
z-index: 1;
|
|
381
|
-
overflow:
|
|
383
|
+
overflow-y: auto;
|
|
384
|
+
overflow-x: hidden;
|
|
385
|
+
scrollbar-width: none;
|
|
386
|
+
-ms-overflow-style: none;
|
|
382
387
|
|
|
383
388
|
&:nth-of-type(7n + 7) {
|
|
384
389
|
border-right: 0;
|
|
@@ -448,11 +453,18 @@ class PdsCalendar extends HTMLElement {
|
|
|
448
453
|
}
|
|
449
454
|
}
|
|
450
455
|
|
|
456
|
+
.day::-webkit-scrollbar {
|
|
457
|
+
width: 0;
|
|
458
|
+
height: 0;
|
|
459
|
+
display: none;
|
|
460
|
+
}
|
|
461
|
+
|
|
451
462
|
.calendar.compact .day {
|
|
452
463
|
min-height: 0;
|
|
453
464
|
width: var(--calendar-compact-cell-size, 2.25rem);
|
|
454
465
|
height: var(--calendar-compact-cell-size, 2.25rem);
|
|
455
466
|
padding: 0;
|
|
467
|
+
overflow: hidden;
|
|
456
468
|
display: flex;
|
|
457
469
|
align-items: center;
|
|
458
470
|
justify-content: center;
|
|
@@ -1030,6 +1042,27 @@ label {
|
|
|
1030
1042
|
this.reRender();
|
|
1031
1043
|
});
|
|
1032
1044
|
|
|
1045
|
+
this.shadowRoot.addEventListener("click", (event) => {
|
|
1046
|
+
const task = event.target?.closest?.(".task");
|
|
1047
|
+
if (!task) return;
|
|
1048
|
+
|
|
1049
|
+
const dayCell = task.closest(".day[data-day]");
|
|
1050
|
+
const day = Number.parseInt(dayCell?.dataset?.day || "", 10);
|
|
1051
|
+
if (!Number.isInteger(day) || day < 1) return;
|
|
1052
|
+
|
|
1053
|
+
const taskItems = [...dayCell.querySelectorAll(".task")];
|
|
1054
|
+
const taskIndex = taskItems.indexOf(task);
|
|
1055
|
+
if (taskIndex < 0) return;
|
|
1056
|
+
|
|
1057
|
+
this.dispatchTaskClick({
|
|
1058
|
+
day,
|
|
1059
|
+
taskIndex,
|
|
1060
|
+
task,
|
|
1061
|
+
dayCell,
|
|
1062
|
+
originalEvent: event,
|
|
1063
|
+
});
|
|
1064
|
+
});
|
|
1065
|
+
|
|
1033
1066
|
this.shadowRoot.addEventListener('change', (event) => {
|
|
1034
1067
|
const radio = event.target?.closest?.('.day-radio-input[data-day]');
|
|
1035
1068
|
if (!radio) return;
|
|
@@ -1037,6 +1070,11 @@ label {
|
|
|
1037
1070
|
const selectedDay = Number.parseInt(radio.dataset.day, 10);
|
|
1038
1071
|
if (Number.isInteger(selectedDay) && selectedDay > 0) {
|
|
1039
1072
|
this.selectDay(selectedDay);
|
|
1073
|
+
this.dispatchDayClick({
|
|
1074
|
+
day: selectedDay,
|
|
1075
|
+
radio,
|
|
1076
|
+
originalEvent: event,
|
|
1077
|
+
});
|
|
1040
1078
|
}
|
|
1041
1079
|
});
|
|
1042
1080
|
|
|
@@ -1129,6 +1167,67 @@ label {
|
|
|
1129
1167
|
target?.focus();
|
|
1130
1168
|
}
|
|
1131
1169
|
|
|
1170
|
+
/**
|
|
1171
|
+
* Dispatches the day-click event for selected day interactions.
|
|
1172
|
+
* @param {{ day: number, radio?: HTMLInputElement, originalEvent?: Event }} data
|
|
1173
|
+
* @private
|
|
1174
|
+
*/
|
|
1175
|
+
dispatchDayClick({ day, radio = null, originalEvent = null } = {}) {
|
|
1176
|
+
if (!Number.isInteger(day) || day < 1) return;
|
|
1177
|
+
|
|
1178
|
+
const selectedDate = new Date(this.year, this.month, day);
|
|
1179
|
+
this.dispatchEvent(
|
|
1180
|
+
new CustomEvent("day-click", {
|
|
1181
|
+
detail: {
|
|
1182
|
+
day,
|
|
1183
|
+
date: selectedDate,
|
|
1184
|
+
year: selectedDate.getFullYear(),
|
|
1185
|
+
month: selectedDate.getMonth(),
|
|
1186
|
+
dayOfMonth: selectedDate.getDate(),
|
|
1187
|
+
radio,
|
|
1188
|
+
originalEvent,
|
|
1189
|
+
},
|
|
1190
|
+
bubbles: true,
|
|
1191
|
+
composed: true,
|
|
1192
|
+
})
|
|
1193
|
+
);
|
|
1194
|
+
}
|
|
1195
|
+
|
|
1196
|
+
/**
|
|
1197
|
+
* Dispatches the task-click event for task item interactions.
|
|
1198
|
+
* @param {{ day: number, taskIndex: number, task?: HTMLElement, dayCell?: HTMLElement, originalEvent?: Event }} data
|
|
1199
|
+
* @private
|
|
1200
|
+
*/
|
|
1201
|
+
dispatchTaskClick({
|
|
1202
|
+
day,
|
|
1203
|
+
taskIndex,
|
|
1204
|
+
task = null,
|
|
1205
|
+
dayCell = null,
|
|
1206
|
+
originalEvent = null,
|
|
1207
|
+
} = {}) {
|
|
1208
|
+
if (!Number.isInteger(day) || day < 1) return;
|
|
1209
|
+
if (!Number.isInteger(taskIndex) || taskIndex < 0) return;
|
|
1210
|
+
|
|
1211
|
+
const selectedDate = new Date(this.year, this.month, day);
|
|
1212
|
+
this.dispatchEvent(
|
|
1213
|
+
new CustomEvent("task-click", {
|
|
1214
|
+
detail: {
|
|
1215
|
+
day,
|
|
1216
|
+
taskIndex,
|
|
1217
|
+
date: selectedDate,
|
|
1218
|
+
year: selectedDate.getFullYear(),
|
|
1219
|
+
month: selectedDate.getMonth(),
|
|
1220
|
+
dayOfMonth: selectedDate.getDate(),
|
|
1221
|
+
task,
|
|
1222
|
+
dayCell,
|
|
1223
|
+
originalEvent,
|
|
1224
|
+
},
|
|
1225
|
+
bubbles: true,
|
|
1226
|
+
composed: true,
|
|
1227
|
+
})
|
|
1228
|
+
);
|
|
1229
|
+
}
|
|
1230
|
+
|
|
1132
1231
|
/**
|
|
1133
1232
|
* Dispatches the month-rendered event with fill capability
|
|
1134
1233
|
* @fires pds-calendar#month-rendered
|
|
@@ -1168,9 +1267,6 @@ label {
|
|
|
1168
1267
|
<h3>
|
|
1169
1268
|
${item.title}
|
|
1170
1269
|
</h3>
|
|
1171
|
-
<p>
|
|
1172
|
-
Test
|
|
1173
|
-
</p>
|
|
1174
1270
|
</div>
|
|
1175
1271
|
</div>`;
|
|
1176
1272
|
|
|
@@ -345,8 +345,8 @@ export class PdsFab extends HTMLElement {
|
|
|
345
345
|
|
|
346
346
|
:host([mode="inline"]) .fab.icon-only {
|
|
347
347
|
/* Match compact icon-only geometry used by normal PDS buttons */
|
|
348
|
-
inline-size: max(
|
|
349
|
-
block-size: max(
|
|
348
|
+
inline-size: max(33px, calc(var(--font-size-base) + (max(calc(var(--spacing-1) * 1), var(--spacing-2)) * 2) + (var(--border-width-medium) * 2)));
|
|
349
|
+
block-size: max(33px, calc(var(--font-size-base) + (max(calc(var(--spacing-1) * 1), var(--spacing-2)) * 2) + (var(--border-width-medium) * 2)));
|
|
350
350
|
min-inline-size: 0;
|
|
351
351
|
min-block-size: 0;
|
|
352
352
|
padding: 0;
|