@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 t,f as e}from"./p-654179c2.js";const n=(t,e,n)=>{const s=t.get(e);if(!s){t.set(e,[n])}else if(!s.includes(n)){s.push(n)}};const s=(t,e)=>{let n;return(...s)=>{if(n){clearTimeout(n)}n=setTimeout((()=>{n=0;t(...s)}),e)}};const r=t=>!("isConnected"in t)||t.isConnected;const o=s((t=>{for(let e of t.keys()){t.set(e,t.get(e).filter(r))}}),2e3);const c=()=>{if(typeof t!=="function"){return{}}const s=new Map;return{dispose:()=>s.clear(),get:e=>{const r=t();if(r){n(s,e,r)}},set:t=>{const n=s.get(t);if(n){s.set(t,n.filter(e))}o(s)},reset:()=>{s.forEach((t=>t.forEach(e)));o(s)}}};const i=t=>typeof t==="function"?t():t;const u=(t,e=((t,e)=>t!==e))=>{const n=i(t);let s=new Map(Object.entries(n??{}));const r={dispose:[],get:[],set:[],reset:[]};const o=()=>{s=new Map(Object.entries(i(t)??{}));r.reset.forEach((t=>t()))};const c=()=>{r.dispose.forEach((t=>t()));o()};const u=t=>{r.get.forEach((e=>e(t)));return s.get(t)};const a=(t,n)=>{const o=s.get(t);if(e(n,o,t)){s.set(t,n);r.set.forEach((e=>e(t,n,o)))}};const p=typeof Proxy==="undefined"?{}:new Proxy(n,{get(t,e){return u(e)},ownKeys(t){return Array.from(s.keys())},getOwnPropertyDescriptor(){return{enumerable:true,configurable:true}},has(t,e){return s.has(e)},set(t,e,n){a(e,n);return true}});const d=(t,e)=>{r[t].push(e);return()=>{f(r[t],e)}};const g=(e,n)=>{const s=d("set",((t,s)=>{if(t===e){n(s)}}));const r=d("reset",(()=>n(i(t)[e])));return()=>{s();r()}};const y=(...t)=>{const e=t.reduce(((t,e)=>{if(e.set){t.push(d("set",e.set))}if(e.get){t.push(d("get",e.get))}if(e.reset){t.push(d("reset",e.reset))}if(e.dispose){t.push(d("dispose",e.dispose))}return t}),[]);return()=>e.forEach((t=>t()))};const l=t=>{const e=s.get(t);r.set.forEach((n=>n(t,e,e)))};return{state:p,get:u,set:a,on:d,onChange:g,use:y,dispose:c,reset:o,forceUpdate:l}};const f=(t,e)=>{const n=t.indexOf(e);if(n>=0){t[n]=t[t.length-1];t.length--}};const a=(t,e)=>{const n=u(t,e);n.use(c());return n};const{state:p}=a({currentPage:undefined,currentParent:undefined,activeItemName:undefined});export{p as s};
//# sourceMappingURL=p-83658c86.js.map