@cbpds/web-components
Version:
Web components for the CBP Design System.
5 lines • 2.15 kB
JavaScript
/*!
* CPB Design System web components - built with Stencil
*/
import{d as e,f as t}from"./p-436f46fe.js";const n=(e,t,n)=>{const s=e.get(t);if(!s){e.set(t,[n])}else if(!s.includes(n)){s.push(n)}};const s=(e,t)=>{let n;return(...s)=>{if(n){clearTimeout(n)}n=setTimeout((()=>{n=0;e(...s)}),t)}};const r=e=>!("isConnected"in e)||e.isConnected;const o=s((e=>{for(let t of e.keys()){e.set(t,e.get(t).filter(r))}}),2e3);const c=()=>{if(typeof e!=="function"){return{}}const s=new Map;return{dispose:()=>s.clear(),get:t=>{const r=e();if(r){n(s,t,r)}},set:e=>{const n=s.get(e);if(n){s.set(e,n.filter(t))}o(s)},reset:()=>{s.forEach((e=>e.forEach(t)));o(s)}}};const i=e=>typeof e==="function"?e():e;const u=(e,t=((e,t)=>e!==t))=>{const n=i(e);let s=new Map(Object.entries(n??{}));const r={dispose:[],get:[],set:[],reset:[]};const o=()=>{s=new Map(Object.entries(i(e)??{}));r.reset.forEach((e=>e()))};const c=()=>{r.dispose.forEach((e=>e()));o()};const u=e=>{r.get.forEach((t=>t(e)));return s.get(e)};const a=(e,n)=>{const o=s.get(e);if(t(n,o,e)){s.set(e,n);r.set.forEach((t=>t(e,n,o)))}};const p=typeof Proxy==="undefined"?{}:new Proxy(n,{get(e,t){return u(t)},ownKeys(e){return Array.from(s.keys())},getOwnPropertyDescriptor(){return{enumerable:true,configurable:true}},has(e,t){return s.has(t)},set(e,t,n){a(t,n);return true}});const d=(e,t)=>{r[e].push(t);return()=>{f(r[e],t)}};const g=(t,n)=>{const s=d("set",((e,s)=>{if(e===t){n(s)}}));const r=d("reset",(()=>n(i(e)[t])));return()=>{s();r()}};const y=(...e)=>{const t=e.reduce(((e,t)=>{if(t.set){e.push(d("set",t.set))}if(t.get){e.push(d("get",t.get))}if(t.reset){e.push(d("reset",t.reset))}if(t.dispose){e.push(d("dispose",t.dispose))}return e}),[]);return()=>t.forEach((e=>e()))};const l=e=>{const t=s.get(e);r.set.forEach((n=>n(e,t,t)))};return{state:p,get:u,set:a,on:d,onChange:g,use:y,dispose:c,reset:o,forceUpdate:l}};const f=(e,t)=>{const n=e.indexOf(t);if(n>=0){e[n]=e[e.length-1];e.length--}};const a=(e,t)=>{const n=u(e,t);n.use(c());return n};const{state:p}=a({currentPage:undefined,currentParent:undefined,activeItemName:undefined});export{p as s};
//# sourceMappingURL=p-43bc425a.js.map