@asteby/metacore-app-providers 0.2.0 → 0.3.0

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/dist/index.d.ts CHANGED
@@ -3,4 +3,5 @@ export { FontProvider, useFont, type FontProviderProps } from './font-provider';
3
3
  export { LayoutProvider, useLayout, type Collapsible, type Variant, } from './layout-provider';
4
4
  export { SearchProvider, useSearch, type SearchProviderProps } from './search-provider';
5
5
  export { getCookie, setCookie, removeCookie } from './cookies';
6
+ export { PlatformConfigProvider, usePlatformConfig, applyBranding, applyCachedBranding, FALLBACK_BRANDING, type PlatformBranding, type BrandingFetcher, type PlatformConfigProviderProps, } from './platform-config-provider';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACtF,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EACL,cAAc,EACd,SAAS,EACT,KAAK,WAAW,EAChB,KAAK,OAAO,GACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACtF,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EACL,cAAc,EACd,SAAS,EACT,KAAK,WAAW,EAChB,KAAK,OAAO,GACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,2BAA2B,GACjC,MAAM,4BAA4B,CAAA"}
package/dist/index.js CHANGED
@@ -3,4 +3,5 @@ export { FontProvider, useFont } from './font-provider';
3
3
  export { LayoutProvider, useLayout, } from './layout-provider';
4
4
  export { SearchProvider, useSearch } from './search-provider';
5
5
  export { getCookie, setCookie, removeCookie } from './cookies';
6
+ export { PlatformConfigProvider, usePlatformConfig, applyBranding, applyCachedBranding, FALLBACK_BRANDING, } from './platform-config-provider';
6
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAkB,MAAM,sBAAsB,CAAA;AACtF,OAAO,EAAE,YAAY,EAAE,OAAO,EAA0B,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EACL,cAAc,EACd,SAAS,GAGV,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,SAAS,EAA4B,MAAM,mBAAmB,CAAA;AACvF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAkB,MAAM,sBAAsB,CAAA;AACtF,OAAO,EAAE,YAAY,EAAE,OAAO,EAA0B,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EACL,cAAc,EACd,SAAS,GAGV,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,SAAS,EAA4B,MAAM,mBAAmB,CAAA;AACvF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,GAIlB,MAAM,4BAA4B,CAAA"}
@@ -0,0 +1,40 @@
1
+ import { type ReactNode } from 'react';
2
+ export interface PlatformBranding {
3
+ platform_name: string;
4
+ platform_logo: string;
5
+ primary_color: string;
6
+ accent_color: string;
7
+ favicon_url: string;
8
+ support_email: string;
9
+ support_url: string;
10
+ }
11
+ export declare const FALLBACK_BRANDING: PlatformBranding;
12
+ interface PlatformConfigContextType extends PlatformBranding {
13
+ refetch: () => void;
14
+ }
15
+ export declare function applyBranding(data: Partial<PlatformBranding>, defaults?: PlatformBranding): void;
16
+ export declare function applyCachedBranding(storageKey?: string): void;
17
+ export type BrandingFetcher = () => Promise<Partial<PlatformBranding>>;
18
+ export interface PlatformConfigProviderProps {
19
+ children: ReactNode;
20
+ /**
21
+ * Fetches the current tenant's branding. Apps wire their own transport
22
+ * (axios, fetch, ofetch). Resolve to a partial — the provider merges over
23
+ * `defaults`. Reject to fall back to defaults.
24
+ */
25
+ fetcher: BrandingFetcher;
26
+ /**
27
+ * Defaults applied when the fetcher hasn't resolved yet OR when it returns
28
+ * empty fields. Apps pass their static brand (name, primary color) as the
29
+ * baseline so the UI never paints with FALLBACK_BRANDING's empty name.
30
+ */
31
+ defaults?: PlatformBranding;
32
+ /** TanStack Query staleTime, defaults to 5 minutes. */
33
+ staleTime?: number;
34
+ /** localStorage key for the persisted branding cache. */
35
+ storageKey?: string;
36
+ }
37
+ export declare function PlatformConfigProvider({ children, fetcher, defaults, staleTime, storageKey, }: PlatformConfigProviderProps): import("react/jsx-runtime").JSX.Element;
38
+ export declare function usePlatformConfig(): PlatformConfigContextType;
39
+ export {};
40
+ //# sourceMappingURL=platform-config-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-config-provider.d.ts","sourceRoot":"","sources":["../src/platform-config-provider.tsx"],"names":[],"mappings":"AASA,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAGd,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,eAAO,MAAM,iBAAiB,EAAE,gBAQ/B,CAAA;AAED,UAAU,yBAA0B,SAAQ,gBAAgB;IAC1D,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAiGD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAC/B,QAAQ,GAAE,gBAAoC,QAqB/C;AAOD,wBAAgB,mBAAmB,CAAC,UAAU,GAAE,MAAoB,QAQnE;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAA;AAEtE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,SAAS,CAAA;IACnB;;;;OAIG;IACH,OAAO,EAAE,eAAe,CAAA;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,OAAO,EACP,QAA4B,EAC5B,SAAyB,EACzB,UAAwB,GACzB,EAAE,2BAA2B,2CA8C7B;AAED,wBAAgB,iBAAiB,8BAEhC"}
@@ -0,0 +1,178 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // Centralized branding/theming for any metacore app. Apps fetch their tenant
3
+ // branding (name, logo, primary color) from a backend endpoint they own; this
4
+ // provider caches it, applies CSS variables to <html>, persists in
5
+ // localStorage so subsequent loads paint the right brand pre-React, and
6
+ // re-applies on dark/light toggles.
7
+ //
8
+ // Decoupled from the app: callers pass a `fetcher` (any async function returning
9
+ // a partial branding payload). No axios/api imports here — apps wire whatever
10
+ // transport they already use (axios, fetch, ofetch, etc.).
11
+ import { createContext, useContext, useEffect, } from 'react';
12
+ import { useQuery, useQueryClient } from '@tanstack/react-query';
13
+ export const FALLBACK_BRANDING = {
14
+ platform_name: '',
15
+ platform_logo: '',
16
+ primary_color: '#6366f1',
17
+ accent_color: '#8b5cf6',
18
+ favicon_url: '',
19
+ support_email: '',
20
+ support_url: '',
21
+ };
22
+ const PlatformConfigContext = createContext({
23
+ ...FALLBACK_BRANDING,
24
+ refetch: () => { },
25
+ });
26
+ // sRGB hex (#rrggbb) → CSS oklch() string. Returns null on bad input.
27
+ function hexToOklch(hex) {
28
+ if (!hex || !hex.startsWith('#'))
29
+ return null;
30
+ const r = parseInt(hex.slice(1, 3), 16) / 255;
31
+ const g = parseInt(hex.slice(3, 5), 16) / 255;
32
+ const b = parseInt(hex.slice(5, 7), 16) / 255;
33
+ const toLinear = (c) => c <= 0.04045 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
34
+ const lr = toLinear(r), lg = toLinear(g), lb = toLinear(b);
35
+ const l_ = 0.4122214708 * lr + 0.5363325363 * lg + 0.0514459929 * lb;
36
+ const m_ = 0.2119034982 * lr + 0.6806995451 * lg + 0.1073969566 * lb;
37
+ const s_ = 0.0883024619 * lr + 0.2817188376 * lg + 0.6299787005 * lb;
38
+ const l = Math.cbrt(l_), m = Math.cbrt(m_), s = Math.cbrt(s_);
39
+ const L = 0.2104542553 * l + 0.7936177850 * m - 0.0040720468 * s;
40
+ const a = 1.9779984951 * l - 2.4285922050 * m + 0.4505937099 * s;
41
+ const bOk = 0.0259040371 * l + 0.7827717662 * m - 0.8086757660 * s;
42
+ const C = Math.sqrt(a * a + bOk * bOk);
43
+ let h = Math.atan2(bOk, a) * (180 / Math.PI);
44
+ if (h < 0)
45
+ h += 360;
46
+ return `oklch(${L.toFixed(4)} ${C.toFixed(4)} ${h.toFixed(4)})`;
47
+ }
48
+ function generateThemeVars(primaryHex, accentHex) {
49
+ const primary = hexToOklch(primaryHex);
50
+ const accent = hexToOklch(accentHex);
51
+ if (!primary || !accent)
52
+ return null;
53
+ const parseOklch = (s) => {
54
+ const m = s.match(/oklch\(([\d.]+)\s+([\d.]+)\s+([\d.]+)\)/);
55
+ if (!m || !m[1] || !m[2] || !m[3])
56
+ return null;
57
+ return { l: parseFloat(m[1]), c: parseFloat(m[2]), h: parseFloat(m[3]) };
58
+ };
59
+ const p = parseOklch(primary);
60
+ if (!p)
61
+ return null;
62
+ const isDark = document.documentElement.classList.contains('dark');
63
+ const vars = {};
64
+ if (isDark) {
65
+ vars['--primary'] = `oklch(${(p.l + 0.05).toFixed(4)} ${p.c.toFixed(4)} ${p.h.toFixed(4)})`;
66
+ vars['--ring'] = vars['--primary'];
67
+ vars['--sidebar-primary'] = vars['--primary'];
68
+ vars['--sidebar-accent-foreground'] = vars['--primary'];
69
+ vars['--sidebar-ring'] = vars['--primary'];
70
+ vars['--chart-2'] = vars['--primary'];
71
+ vars['--secondary'] = `oklch(0.29 0.02 ${p.h.toFixed(4)})`;
72
+ vars['--muted'] = `oklch(0.29 0.02 ${p.h.toFixed(4)})`;
73
+ vars['--accent'] = `oklch(0.28 0.05 ${p.h.toFixed(4)})`;
74
+ vars['--accent-foreground'] = `oklch(0.80 0.10 ${p.h.toFixed(4)})`;
75
+ vars['--border'] = `oklch(0.33 0.02 ${p.h.toFixed(4)})`;
76
+ vars['--input'] = `oklch(0.33 0.02 ${p.h.toFixed(4)})`;
77
+ vars['--background'] = `oklch(0.22 0.01 ${p.h.toFixed(4)})`;
78
+ vars['--card'] = `oklch(0.24 0.01 ${p.h.toFixed(4)})`;
79
+ vars['--popover'] = `oklch(0.24 0.01 ${p.h.toFixed(4)})`;
80
+ vars['--sidebar'] = `oklch(0.20 0.01 ${p.h.toFixed(4)})`;
81
+ vars['--sidebar-accent'] = `oklch(0.29 0.02 ${p.h.toFixed(4)})`;
82
+ vars['--sidebar-border'] = `oklch(0.33 0.02 ${p.h.toFixed(4)})`;
83
+ }
84
+ else {
85
+ vars['--primary'] = primary;
86
+ vars['--ring'] = `oklch(0 0 0)`;
87
+ vars['--sidebar-primary'] = `oklch(0 0 0)`;
88
+ vars['--chart-2'] = primary;
89
+ vars['--secondary'] = `oklch(0.9540 0.0063 ${p.h.toFixed(4)})`;
90
+ vars['--accent'] = `oklch(0.94 0.03 ${p.h.toFixed(4)})`;
91
+ vars['--accent-foreground'] = `oklch(0.5445 0.1903 ${p.h.toFixed(4)})`;
92
+ vars['--border'] = `oklch(0.9300 0.0094 ${p.h.toFixed(4)})`;
93
+ vars['--sidebar'] = `oklch(0.9777 0.0051 ${p.h.toFixed(4)})`;
94
+ }
95
+ return vars;
96
+ }
97
+ function applyThemeVars(vars) {
98
+ const root = document.documentElement;
99
+ for (const [key, value] of Object.entries(vars)) {
100
+ root.style.setProperty(key, value);
101
+ }
102
+ }
103
+ export function applyBranding(data, defaults = FALLBACK_BRANDING) {
104
+ if (data.primary_color || data.accent_color) {
105
+ const vars = generateThemeVars(data.primary_color || defaults.primary_color, data.accent_color || defaults.accent_color);
106
+ if (vars)
107
+ applyThemeVars(vars);
108
+ }
109
+ if (data.platform_name) {
110
+ document.title = data.platform_name;
111
+ }
112
+ const root = document.documentElement;
113
+ if (data.primary_color) {
114
+ root.style.setProperty('--brand-primary', data.primary_color);
115
+ }
116
+ if (data.accent_color) {
117
+ root.style.setProperty('--brand-accent', data.accent_color);
118
+ }
119
+ }
120
+ const STORAGE_KEY = 'platform-branding';
121
+ // Paint cached branding before React mounts so the initial frame matches the
122
+ // tenant theme. Safe to call on module import — guarded by try/catch and
123
+ // browser-only checks.
124
+ export function applyCachedBranding(storageKey = STORAGE_KEY) {
125
+ if (typeof window === 'undefined')
126
+ return;
127
+ try {
128
+ const cached = window.localStorage.getItem(storageKey);
129
+ if (cached)
130
+ applyBranding(JSON.parse(cached));
131
+ }
132
+ catch {
133
+ // ignore — corrupted JSON or quota errors aren't fatal
134
+ }
135
+ }
136
+ export function PlatformConfigProvider({ children, fetcher, defaults = FALLBACK_BRANDING, staleTime = 5 * 60 * 1000, storageKey = STORAGE_KEY, }) {
137
+ const queryClient = useQueryClient();
138
+ const { data: branding } = useQuery({
139
+ queryKey: ['platform-branding', storageKey],
140
+ queryFn: async () => {
141
+ const res = await fetcher();
142
+ return { ...defaults, ...res };
143
+ },
144
+ staleTime,
145
+ retry: 1,
146
+ });
147
+ const current = branding || defaults;
148
+ useEffect(() => {
149
+ if (branding) {
150
+ applyBranding(branding, defaults);
151
+ try {
152
+ window.localStorage.setItem(storageKey, JSON.stringify(branding));
153
+ }
154
+ catch {
155
+ // ignore quota errors
156
+ }
157
+ }
158
+ }, [branding, defaults, storageKey]);
159
+ useEffect(() => {
160
+ const observer = new MutationObserver(() => {
161
+ if (current.primary_color)
162
+ applyBranding(current, defaults);
163
+ });
164
+ observer.observe(document.documentElement, {
165
+ attributes: true,
166
+ attributeFilter: ['class'],
167
+ });
168
+ return () => observer.disconnect();
169
+ }, [current, defaults]);
170
+ const refetch = () => {
171
+ queryClient.invalidateQueries({ queryKey: ['platform-branding', storageKey] });
172
+ };
173
+ return (_jsx(PlatformConfigContext, { value: { ...current, refetch }, children: children }));
174
+ }
175
+ export function usePlatformConfig() {
176
+ return useContext(PlatformConfigContext);
177
+ }
178
+ //# sourceMappingURL=platform-config-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-config-provider.js","sourceRoot":"","sources":["../src/platform-config-provider.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@asteby/metacore-app-providers",
3
- "version": "0.2.0",
4
- "description": "Providers genéricos reutilizables para apps metacore (direction, font, layout, search)",
3
+ "version": "0.3.0",
4
+ "description": "Providers genéricos reutilizables para apps metacore (direction, font, layout, search, platform-config)",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -23,11 +23,13 @@
23
23
  },
24
24
  "peerDependencies": {
25
25
  "@radix-ui/react-direction": "^1.1.0",
26
+ "@tanstack/react-query": ">=5",
26
27
  "react": ">=18",
27
28
  "react-dom": ">=18"
28
29
  },
29
30
  "devDependencies": {
30
31
  "@radix-ui/react-direction": "^1.1.1",
32
+ "@tanstack/react-query": "^5.59.0",
31
33
  "@types/react": "^19.0.0",
32
34
  "@types/react-dom": "^19.0.0",
33
35
  "react": "^19.2.4",