@terrafirmagreg-team/ui 1.2.6 → 1.2.7

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@terrafirmagreg-team/ui",
3
- "version": "1.2.6",
3
+ "version": "1.2.7",
4
4
  "type": "module",
5
5
  "description": "Shared UI kit",
6
6
  "license": "LGPL-3.0-only",
@@ -44,7 +44,7 @@
44
44
  "@react-three/drei": "10.7.9",
45
45
  "@react-three/fiber": "9.8.2",
46
46
  "@shadcn/react": "^0.3.1",
47
- "@terrafirmagreg-team/translate": "^1.2.4",
47
+ "@terrafirmagreg-team/translate": "^1.2.5",
48
48
  "@xyflow/react": "12.12.0",
49
49
  "beautiful-mermaid": "^1.1.3",
50
50
  "class-variance-authority": "^0.7.1",
@@ -65,7 +65,7 @@
65
65
  "tailwindcss": "^4.3.4",
66
66
  "three": "^0.186.1",
67
67
  "three-stdlib": "2.36.1",
68
- "@terrafirmagreg-team/data": "^1.2.1"
68
+ "@terrafirmagreg-team/data": "^1.2.2"
69
69
  },
70
70
  "peerDependencies": {
71
71
  "next": ">=15",
package/src/lib/config.ts CHANGED
@@ -85,22 +85,26 @@ export type UiConfig = {
85
85
  pagePreviewIcon?: ComponentType<{ icon: PreviewIcon }>;
86
86
  };
87
87
 
88
+ const store = globalThis as Record<symbol, unknown>;
89
+
88
90
  export function createConfigRegistry<I extends object, R = I>(
91
+ label: string,
89
92
  resolve: (overrides: I) => R = (overrides) => overrides as unknown as R,
90
93
  ) {
91
- let overrides = {} as I;
94
+ const key = Symbol.for(`terrafirmagreg.config.${label}`);
95
+ store[key] ??= {} as I;
92
96
  return {
93
97
  register(input: I): void {
94
- overrides = { ...overrides, ...input };
98
+ store[key] = { ...(store[key] as I), ...input };
95
99
  },
96
100
  get(): R {
97
- return resolve(overrides);
101
+ return resolve(store[key] as I);
98
102
  },
99
103
  };
100
104
  }
101
105
 
102
106
  const { register: registerUiConfig, get: uiConfig } =
103
- createConfigRegistry<UiConfig>();
107
+ createConfigRegistry<UiConfig>('ui');
104
108
 
105
109
  export { registerUiConfig, uiConfig };
106
110
 
@@ -5,7 +5,7 @@ export type ReadabilityConfig = {
5
5
  };
6
6
 
7
7
  const { register: registerReadabilityConfig, get: readabilityConfig } =
8
- createConfigRegistry<ReadabilityConfig>();
8
+ createConfigRegistry<ReadabilityConfig>('readability');
9
9
 
10
10
  export { registerReadabilityConfig, readabilityConfig };
11
11