@aplus-frontend/ui
Version:
2 lines (1 loc) • 915 B
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),f=require("../constants.js"),d=require("./use-locale.js"),g=require("./use-namespace.js"),l=e=>Object.keys(e),i=o.ref();function v(e,n=void 0){const r=o.getCurrentInstance()?o.inject(f.configProviderContextKey,i):i;return e?o.computed(()=>r.value?.[e]??n):r}const p=(e,n,r=!1)=>{const c=!!o.getCurrentInstance(),t=c?v():void 0,u=n?.provide??(c?o.provide:void 0);if(!u)return;const s=o.computed(()=>{const a=o.unref(e);return t?.value?C(t.value,a):a});return u(f.configProviderContextKey,s),u(g.namespaceContextKey,s.value.namespace),u(d.localeContextKey,o.computed(()=>s.value.aplusLocale)),(r||!i.value)&&(i.value=s.value),s},C=(e,n)=>{const r=[...new Set([...l(e),...l(n)])],c={};for(const t of r)c[t]=n[t]!==void 0?n[t]:e[t];return c};exports.keysOf=l;exports.provideGlobalConfig=p;exports.useGlobalConfig=v;