@admin-layout/tailwind-design-pro 12.0.16-alpha.63 → 12.0.16-alpha.66

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.
@@ -1 +1 @@
1
- {"version":3,"file":"TailwindLayout.d.ts","sourceRoot":"","sources":["../../../src/components/Layout/TailwindLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA6C,MAAM,sBAAsB,CAAC;AAKnG,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAqC,MAAM,aAAa,CAAC;AAyIpG,KAAK,cAAc,GAAG,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC;AAEvD,QAAA,MAAM,SAAS;;;0EAAoB,CAAC;AAEpC,KAAK,+BAA+B,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAEzE,QAAA,MAAM,mBAAmB,EAAE,kBAAkB,CACzC,KAAK,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,+BAA+B,KAAK,GAAG,CAAC,OAAO,CAAC,EAClF,GAAG,CAC8C,CAAC;AAEtD,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"TailwindLayout.d.ts","sourceRoot":"","sources":["../../../src/components/Layout/TailwindLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAqB,MAAM,sBAAsB,CAAC;AAK3E,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAwB,MAAM,aAAa,CAAC;AAuIvF,KAAK,cAAc,GAAG,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC;AAEvD,QAAA,MAAM,SAAS;;;0EAAoB,CAAC;AAEpC,KAAK,+BAA+B,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAEzE,QAAA,MAAM,mBAAmB,EAAE,kBAAkB,CACzC,KAAK,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,+BAA+B,KAAK,GAAG,CAAC,OAAO,CAAC,EAClF,GAAG,CAC8C,CAAC;AAEtD,eAAe,mBAAmB,CAAC"}
@@ -1,4 +1,4 @@
1
- import {jsx}from'react/jsx-runtime';import {useLayoutSettings,CHANGE_SETTINGS_ACTION}from'@admin-layout/client';import {TailwindThemeProvider}from'@admin-layout/tailwind-ui';import {userSelector}from'@adminide-stack/user-auth0-client';import {useLocation,useRouteLoaderData,useMatches}from'@remix-run/react';import {useMachine}from'@xstate/react';import React__default,{useMemo}from'react';import {connect,useSelector,useDispatch}from'react-redux';import {settingsMachine}from'../../machines/settingsMachine.js';import {BasicLayout}from'./BasicLayout/index.js';function BasicLayoutWithAuthorities(props) {
1
+ import {jsx}from'react/jsx-runtime';import {useLayoutSettings}from'@admin-layout/client';import {TailwindThemeProvider}from'@admin-layout/tailwind-ui';import {userSelector}from'@adminide-stack/user-auth0-client';import {useLocation,useRouteLoaderData,useMatches}from'@remix-run/react';import {useMachine}from'@xstate/react';import React__default,{useMemo,useCallback}from'react';import {connect,useSelector}from'react-redux';import {settingsMachine}from'../../machines/settingsMachine.js';import {BasicLayout}from'./BasicLayout/index.js';function BasicLayoutWithAuthorities(props) {
2
2
  const userData = useSelector(userSelector);
3
3
  const location = useLocation();
4
4
  const {
@@ -9,7 +9,6 @@ import {jsx}from'react/jsx-runtime';import {useLayoutSettings,CHANGE_SETTINGS_AC
9
9
  setSettings
10
10
  } = useLayoutSettings();
11
11
  const matches = useMatches();
12
- const dispatch = useDispatch();
13
12
  const current = matches[matches.length - 1];
14
13
  // Use settingsFromLoader if available, fallback to Redux settings
15
14
  // This ensures the machine always has valid settings input
@@ -44,14 +43,6 @@ import {jsx}from'react/jsx-runtime';import {useLayoutSettings,CHANGE_SETTINGS_AC
44
43
  hasPublic: !!context.public,
45
44
  hasInternal: !!context.internal
46
45
  });
47
- const publicSettings = context.public;
48
- if (event?.type === 'UISETTING_ROUTE_CHANGE') {
49
- dispatch({
50
- type: CHANGE_SETTINGS_ACTION,
51
- payload: publicSettings
52
- });
53
- return;
54
- }
55
46
  // REVOLUTIONARY APPROACH: No filtering needed!
56
47
  // The context is already separated into public and internal namespaces.
57
48
  // We simply sync context.public to Redux - that's it!
@@ -61,6 +52,7 @@ import {jsx}from'react/jsx-runtime';import {useLayoutSettings,CHANGE_SETTINGS_AC
61
52
  // - context.internal.configModel changes don't affect context.public
62
53
  // - No manual filtering means no chance of mistakes
63
54
  // - Type system enforces the separation at compile time
55
+ const publicSettings = context.public;
64
56
  console.log('🔥 Sending PUBLIC settings to Redux:', {
65
57
  publicKeys: Object.keys(publicSettings).slice(0, 10),
66
58
  navTheme: publicSettings.navTheme,
@@ -92,6 +84,10 @@ import {jsx}from'react/jsx-runtime';import {useLayoutSettings,CHANGE_SETTINGS_AC
92
84
  const mainHeaderProps = useMemo(() => ({
93
85
  picture: userData?.profile?.picture || null
94
86
  }), [userData?.profile?.picture]);
87
+ const onSettingChange = useCallback(config => {
88
+ // Update Redux first
89
+ setSettings(config);
90
+ }, [setSettings]);
95
91
  //@ts-ignore
96
92
  const {
97
93
  routeParams: {
@@ -106,6 +102,7 @@ import {jsx}from'react/jsx-runtime';import {useLayoutSettings,CHANGE_SETTINGS_AC
106
102
  children: jsx(BasicLayout, {
107
103
  routeParams: orgName,
108
104
  authorities: permissions?.resolveConfiguration ?? permissions,
105
+ onSettingChange: onSettingChange,
109
106
  mainHeaderProps: mainHeaderProps,
110
107
  actor: settingsActor,
111
108
  ...props,
@@ -1 +1 @@
1
- {"version":3,"file":"TailwindLayout.js","sources":["../../../src/components/Layout/TailwindLayout.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TailwindLayout.js","sources":["../../../src/components/Layout/TailwindLayout.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -11,5 +11,7 @@ export declare const loader: ({ request, context, params, }: {
11
11
  params?: IResourceParams;
12
12
  }) => Promise<import("@remix-run/server-runtime").TypedResponse<{
13
13
  settings: any;
14
+ }> | import("@remix-run/server-runtime").TypedResponse<{
15
+ error: string;
14
16
  }>>;
15
17
  //# sourceMappingURL=UpdateSettingsResource.server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateSettingsResource.server.d.ts","sourceRoot":"","sources":["../../../src/components/UpdateSettingsResource/UpdateSettingsResource.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAyCrD,eAAO,MAAM,MAAM,GAAU,+BAI1B;IACC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,MAAM,CAAC,EAAE,eAAe,CAAC;CAC5B,oEA4JA,CAAC;AAEF,eAAO,MAAM,MAAM,GAAU,+BAI1B;IACC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,MAAM,CAAC,EAAE,eAAe,CAAC;CAC5B;;GAgEA,CAAC"}
1
+ {"version":3,"file":"UpdateSettingsResource.server.d.ts","sourceRoot":"","sources":["../../../src/components/UpdateSettingsResource/UpdateSettingsResource.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAOrD,eAAO,MAAM,MAAM,GAAU,+BAI1B;IACC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,MAAM,CAAC,EAAE,eAAe,CAAC;CAC5B,oEAyCA,CAAC;AAEF,eAAO,MAAM,MAAM,GAAU,+BAI1B;IACC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,MAAM,CAAC,EAAE,eAAe,CAAC;CAC5B;;;;GAmBA,CAAC"}
@@ -1,34 +1,5 @@
1
1
  import { json } from '@remix-run/node';
2
- import { merge } from 'lodash-es';
3
- import { compareAndSaveSettingsDifferences } from '@admin-layout/client';
4
- import { settingsCookie, fetchPageSettingsWithFetch, settingsLoaderUtil } from '@admin-layout/client/lib/components/UpdateSettings/UpdateSettings.server';
5
- import { config } from '../../config/env-config.js';
6
- import '../../config/analytics-config.js'; /**
7
- * Parse LAYOUT_SETTINGS from config (which may be a JSON string from env variable)
8
- * This is the single place where we handle the parsing logic
9
- */
10
- function parseLayoutSettings() {
11
- try {
12
- if (!config.LAYOUT_SETTINGS) {
13
- return {};
14
- }
15
- // If it's already an object (parsed by envalid json validator), return it
16
- if (typeof config.LAYOUT_SETTINGS === 'object' && !Array.isArray(config.LAYOUT_SETTINGS)) {
17
- return config.LAYOUT_SETTINGS;
18
- }
19
- // If it's a string, parse it (this happens when envalid uses str validator)
20
- if (typeof config.LAYOUT_SETTINGS === 'string') {
21
- const parsed = JSON.parse(config.LAYOUT_SETTINGS);
22
- return parsed || {};
23
- }
24
- console.warn('⚠️ config.LAYOUT_SETTINGS is unexpected type:', typeof config.LAYOUT_SETTINGS);
25
- return {};
26
- } catch (error) {
27
- console.error('❌ Error parsing LAYOUT_SETTINGS:', error);
28
- console.error('❌ Value was:', config.LAYOUT_SETTINGS);
29
- return {};
30
- }
31
- }
2
+ import { settingsCookie, settingsLoaderUtil } from '@admin-layout/client/lib/components/UpdateSettings/UpdateSettings.server';
32
3
  const action = async ({
33
4
  request,
34
5
  context,
@@ -61,102 +32,19 @@ const action = async ({
61
32
  });
62
33
  }
63
34
  }
64
- // Handle POST request - Update settings
65
- // Detect device type from User-Agent
66
- const userAgent = request.headers.get('User-Agent') || '';
67
- const isMobile = /mobile|android|iphone|ipad|ipod/i.test(userAgent);
68
- const deviceType = isMobile ? 'mobile' : 'desktop';
69
- const overrideIdentifier = `[${deviceType}]`;
70
- // 1. Fetch default settings from GraphQL (or fallback to local defaults)
71
- const result = await fetchPageSettingsWithFetch(request, overrideIdentifier);
72
- const pageSettings = result?.data?.pageSettings?.settings ? JSON.parse(JSON.stringify(result.data.pageSettings.settings)) : null;
73
- // pageSettings is now flat (no uilayout wrapper) - use it directly
74
- const layoutSettings = parseLayoutSettings();
75
- let pageDefaultSettings = pageSettings || layoutSettings;
76
- // 2 TEMPORARY: Manually add hiddenMenuKeys to defaults until GraphQL schema is updated
77
- pageDefaultSettings = {
78
- ...pageDefaultSettings,
79
- hiddenMenuKeys: [],
80
- hiddenMenuCategories: []
81
- };
82
- // 3. Parse the incoming settings update from the client (usually only changed keys)
83
- const jsonData = await request.json();
84
- const payload = jsonData?.config || {};
85
- // 4. Fill in any missing default keys in the payload (does not overwrite user values)
86
- // assignDefaults(payload, pageDefaultSettings);
87
- // 5. Parse existing settings from the cookie (if present)
88
- const cookieHeader = request.headers.get('Cookie');
89
- let existingSettings;
90
- let mergedSettings;
91
- try {
92
- existingSettings = await settingsCookie.parse(cookieHeader);
93
- // DEFENSIVE: Remove any invalid numeric string keys that shouldn't be there
94
- if (existingSettings && typeof existingSettings === 'object') {
95
- const invalidKeys = [];
96
- Object.keys(existingSettings).forEach(key => {
97
- // Remove keys that are numeric strings (like "0", "1", etc.)
98
- if (/^\d+$/.test(key)) {
99
- invalidKeys.push(key);
100
- console.warn(`⚠️ Removing invalid numeric key from cookie settings: "${key}" = ${JSON.stringify(existingSettings[key])}`);
101
- delete existingSettings[key];
102
- }
103
- });
104
- }
105
- // 6. Merge existing settings with the new payload from the client
106
- mergedSettings = merge({}, existingSettings, payload);
107
- // Check if numeric keys appeared after merge
108
- const numericKeysAfterMerge = Object.keys(mergedSettings).filter(k => /^\d+$/.test(k));
109
- if (numericKeysAfterMerge.length > 0) {
110
- console.error('❌ NUMERIC KEYS APPEARED AFTER MERGE!', numericKeysAfterMerge);
111
- console.error('❌ Values:', numericKeysAfterMerge.map(k => `${k}: ${JSON.stringify(mergedSettings[k])}`));
112
- }
113
- // 7. Ensure merged settings have all default keys (again, does not overwrite user values)
114
- // assignDefaults(mergedSettings, pageDefaultSettings);
115
- } catch (error) {
116
- // If cookie parsing fails, fall back to just the payload
117
- console.error('Error parsing settings cookie in action:', error);
118
- existingSettings = null;
119
- mergedSettings = payload;
120
- }
121
- // Fix merge order: layoutSettings (base) → pageDefaultSettings (GraphQL) → mergedSettings (cookies)
122
- const fullSettings = merge({}, layoutSettings, pageDefaultSettings, mergedSettings);
123
- // Check if numeric keys appeared after final merge
124
- const numericKeysAfterFinalMerge = Object.keys(fullSettings).filter(k => /^\d+$/.test(k));
125
- if (numericKeysAfterFinalMerge.length > 0) {
126
- console.error('❌ NUMERIC KEYS APPEARED AFTER FINAL MERGE!', numericKeysAfterFinalMerge);
127
- console.error('❌ Values:', numericKeysAfterFinalMerge.map(k => `${k}: ${JSON.stringify(fullSettings[k])}`));
128
- }
129
- // TEMPORARY FIX: Manually override hiddenMenuKeys with payload value
130
- // This ensures payload array replaces the prev array values
131
- if (payload.hiddenMenuKeys !== undefined) {
132
- fullSettings.hiddenMenuKeys = [...payload.hiddenMenuKeys];
133
- }
134
- // 9. Store only the differences from the defaults in the cookie (to minimize cookie size)
135
- // DEFENSIVE: Remove any invalid numeric string keys before comparison
136
- if (fullSettings && typeof fullSettings === 'object') {
137
- Object.keys(fullSettings).forEach(key => {
138
- if (/^\d+$/.test(key)) {
139
- console.warn(`⚠️ Removing invalid numeric key from fullSettings: "${key}"`);
140
- delete fullSettings[key];
141
- }
142
- });
143
- }
144
- const diffSettings = await compareAndSaveSettingsDifferences(fullSettings, pageDefaultSettings);
145
- // DEFENSIVE: Final check - remove any invalid keys from diffSettings before saving
146
- if (diffSettings && typeof diffSettings === 'object') {
147
- Object.keys(diffSettings).forEach(key => {
148
- if (/^\d+$/.test(key)) {
149
- console.warn(`⚠️ Removing invalid numeric key from diffSettings: "${key}"`);
150
- delete diffSettings[key];
151
- }
152
- });
153
- }
154
- // 10. Serialize the diff settings into a cookie string
155
- const newCookie = await settingsCookie.serialize(payload);
156
- // 11. Return the full settings as JSON, and set the new cookie in the response headers
157
- return json(fullSettings, {
35
+ // Handle POST request - Update settings using the utility
36
+ const {
37
+ settings,
38
+ setCookie
39
+ } = await settingsLoaderUtil({
40
+ request,
41
+ context,
42
+ params
43
+ });
44
+ // Return the full settings as JSON, and set the new cookie in the response headers
45
+ return json(settings, {
158
46
  headers: {
159
- 'Set-Cookie': newCookie
47
+ 'Set-Cookie': setCookie
160
48
  }
161
49
  });
162
50
  } catch (error) {
@@ -175,7 +63,6 @@ const loader = async ({
175
63
  params
176
64
  }) => {
177
65
  try {
178
- const USE_FETCH_METHOD = config.USE_FETCH_SETTINGS === 'true';
179
66
  const {
180
67
  settings,
181
68
  setCookie
@@ -184,19 +71,6 @@ const loader = async ({
184
71
  context,
185
72
  params
186
73
  });
187
- // Check for numeric keys in the settings returned by loader
188
- if (settings && typeof settings === 'object') {
189
- const numericKeys = Object.keys(settings).filter(k => /^\d+$/.test(k));
190
- if (numericKeys.length > 0) {
191
- console.error('❌ LOADER - NUMERIC KEYS IN SETTINGS!', numericKeys);
192
- console.error('❌ LOADER - Values:', numericKeys.map(k => `${k}: ${JSON.stringify(settings[k])}`));
193
- // DEFENSIVE: Remove them
194
- numericKeys.forEach(key => {
195
- console.warn(`⚠️ LOADER - Removing invalid numeric key: "${key}"`);
196
- delete settings[key];
197
- });
198
- }
199
- }
200
74
  // Always include headers, but only set cookie if provided
201
75
  const headers = {};
202
76
  if (setCookie) {
@@ -211,28 +85,12 @@ const loader = async ({
211
85
  };
212
86
  } catch (error) {
213
87
  console.error('Error in settings loader:', error);
214
- // Detect device type from User-Agent
215
- const userAgent = request.headers.get('User-Agent') || '';
216
- const isMobile = /mobile|android|iphone|ipad|ipod/i.test(userAgent);
217
- const deviceType = isMobile ? 'mobile' : 'desktop';
218
- const overrideIdentifier = `[${deviceType}]`;
219
- // Fall back to default settings
220
- const result = await fetchPageSettingsWithFetch(request, overrideIdentifier);
221
- const pageSettings = result?.data?.pageSettings?.settings ? JSON.parse(JSON.stringify(result.data.pageSettings.settings)) : null;
222
- // pageSettings is now flat (no uilayout wrapper) - use it directly
223
- const layoutSettings = parseLayoutSettings();
224
- let pageDefaultSettings = pageSettings || layoutSettings;
225
- // TEMPORARY: Manually add hiddenMenuKeys to defaults until GraphQL schema is updated
226
- pageDefaultSettings = {
227
- ...pageDefaultSettings,
228
- hiddenMenuKeys: [],
229
- // Array format for menu visibility
230
- hiddenMenuCategories: [] // Array format for category visibility
231
- };
232
- // Fix merge order: layoutSettings (base) → pageDefaultSettings (GraphQL)
233
- // returnInfo: {"returnType":"json","keys":["settings","settings"],"hasOptions":true}
88
+ // returnInfo: {"returnType":"json","keys":["settings","error"],"hasOptions":true}
234
89
  return {
235
- data: [merge({}, layoutSettings, pageDefaultSettings)]
90
+ data: ['Failed to load settings'],
91
+ options: {
92
+ status: 500
93
+ }
236
94
  };
237
95
  }
238
96
  };
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateSettingsResource.server.js","sources":["../../../src/components/UpdateSettingsResource/UpdateSettingsResource.server.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UpdateSettingsResource.server.js","sources":["../../../src/components/UpdateSettingsResource/UpdateSettingsResource.server.ts"],"sourcesContent":[null],"names":[],"mappings":"4JAQO,MAAM,MAAM,GAAG,OAAO;AASzB,EAAA,OAAK;SACD;;AAEA,CAAA,KAAA;AACI,EAAA,IAAA;;AAEI;gBAEA,MAAA,KAAW,QACL,EAAO;AAEL,MAAA,IAAA;AACI;AACH,QAAA,MAAA,MAAA,GAAA,MAAA,cAAA,CAAA,SAAA,CAAA,EAAA,EAAA;AACJ,UAAA,MAAA,EACJ;;eACH,IAAO,CAAA;AACL,UAAA,OAAA,EAAA,IAAO;AACP,UAAA,OAAA,EAAA;;UAEP,OAAA,EAAA;YAED,YAAA,EAAA;;;eAGI,KAAO,EAAA;eACP,CAAA,KAAM,CAAA,2BAAA,EAAA,KAAA,CAAA;AACT,QAAA,OAAE,IAAA,CAAA;UAEH,OAAA,EAAA,KAAA;UACA,KAAO,EAAA;AACH,SAAA,EAAA;AACI,UAAA,MAAA,EAAA;AACH,SAAA,CAAA;AACJ,MAAA;IACL;;UACI;AACA,MAAA,QAAA;AACA,MAAA;KACH,GAAA,MAAA,kBAAA,CAAA;AACL,MAAE,OAAA;AAEF,MAAM,OAAO;AAST,MAAA;;;eAGQ,CAAA,QAAO,EAAA;aACP,EAAA;AACH,QAAA,YAAE,EAAA;;;WAIH,KAAI,EAAA;AACA;WACH,CAAA,KAAA,CAAA,kBAAA,EAAA,KAAA,CAAA;WAED,IAAO,CAAA;MACV,KAAA,EAAA;KAAC,EAAA;AACE,MAAA,MAAA,EAAA;AACA,KAAA,CAAA;;AAER;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/lib/compute.js CHANGED
@@ -36,7 +36,7 @@ const tailwindDesignProPage = [{
36
36
  loaderReturnInfo: {
37
37
  returnType: "json",
38
38
  hasOptions: true,
39
- keys: ["settings", "settings"]
39
+ keys: ["settings", "error"]
40
40
  }
41
41
  }];
42
42
  // get menus
@@ -1 +1 @@
1
- {"version":3,"file":"settingsMachine.d.ts","sourceRoot":"","sources":["../../src/machines/settingsMachine.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAoC,MAAM,SAAS,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,eAAO,MAAM,eAAe;cAMN,GAAG;mBACE,MAAM;mBACN,MAAM;sEA6R/B,CAAC"}
1
+ {"version":3,"file":"settingsMachine.d.ts","sourceRoot":"","sources":["../../src/machines/settingsMachine.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAoC,MAAM,SAAS,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,eAAO,MAAM,eAAe;cAMN,GAAG;mBACE,MAAM;mBACN,MAAM;sEA0O/B,CAAC"}
@@ -1,4 +1,4 @@
1
- import {cloneDeep,set}from'lodash-es';import {createMachine,assign}from'xstate';import {ConfigurationModel}from'@adminide-stack/core';/**
1
+ import {cloneDeep,set}from'lodash-es';import {createMachine,assign}from'xstate';import {extractConfigurationWithModel}from'@adminide-stack/core';/**
2
2
  * SETTINGS MACHINE - COMPLETELY REFACTORED
3
3
  *
4
4
  * DESIGN PHILOSOPHY:
@@ -33,38 +33,10 @@ const settingsMachine = createMachine({
33
33
  hasRawSettings: !!rawSettings,
34
34
  rawSettingsKeys: rawSettings ? Object.keys(rawSettings).slice(0, 15) : []
35
35
  });
36
- // Settings are flat - no uilayout wrapper to handle
37
- // Just separate base settings from bracket overrides
38
- const cleanedSettings = rawSettings;
39
- console.log('🔍 Context Init - Settings keys:', {
40
- totalKeys: Object.keys(cleanedSettings).length,
41
- bracketKeys: Object.keys(cleanedSettings).filter(k => k.startsWith('[') && k.endsWith(']'))
42
- });
43
- // Transform loader data into ConfigurationModel format
44
- // Separate base settings from bracket overrides
45
- const baseContents = {};
46
- const overrides = [];
47
- Object.keys(cleanedSettings).forEach(key => {
48
- if (key.startsWith('[') && key.endsWith(']')) {
49
- // This is a bracket override: [device] or [/route][device]
50
- const overrideData = cleanedSettings[key];
51
- overrides.push({
52
- identifiers: [key],
53
- contents: overrideData,
54
- keys: Object.keys(overrideData)
55
- });
56
- } else {
57
- // Base settings (flat, no wrapper)
58
- baseContents[key] = cleanedSettings[key];
59
- }
60
- });
61
- console.log('🔍 ConfigurationModel input:', {
62
- baseKeys: Object.keys(baseContents),
63
- overridesCount: overrides.length,
64
- overrideIdentifiers: overrides.map(o => o.identifiers[0])
65
- });
66
36
  // ConfigurationModel handles ALL bracket patterns automatically
67
- const configModel = new ConfigurationModel(baseContents, [], overrides);
37
+ const {
38
+ model: configModel
39
+ } = extractConfigurationWithModel(rawSettings);
68
40
  // Get current route from input (passed from component) or default to '/'
69
41
  const currentRoute = input?.currentRoute || '/';
70
42
  const routePattern = input?.routePattern;
@@ -75,7 +47,9 @@ const settingsMachine = createMachine({
75
47
  const deviceKey = `[${deviceType}]`;
76
48
  // Apply overrides by chaining: base -> global -> route-specific
77
49
  // First apply global override to base
78
- const globalOverride = configModel.override(deviceKey);
50
+ const globalOverride = configModel.override(deviceKey, {
51
+ strict: true
52
+ });
79
53
  // Then apply route-specific override on top of global
80
54
  const routeOverride = globalOverride.override(routeDeviceKey);
81
55
  // Extract final merged settings (already flat, no uilayout wrapper)
@@ -83,13 +57,7 @@ const settingsMachine = createMachine({
83
57
  const effectiveSettings = mergedContents;
84
58
  // Build PUBLIC settings (exposed to consumers)
85
59
  // Build the UI settings object from all potential sources
86
- const publicSettings = {
87
- // Apply merged settings first
88
- ...effectiveSettings,
89
- components: effectiveSettings.components || [],
90
- hiddenMenuKeys: effectiveSettings.hiddenMenuKeys || [],
91
- hiddenMenuCategories: effectiveSettings.hiddenMenuCategories || []
92
- };
60
+ const publicSettings = effectiveSettings;
93
61
  // Build INTERNAL state (machine only, never exposed)
94
62
  const internalState = {
95
63
  configModel,
@@ -182,12 +150,7 @@ const settingsMachine = createMachine({
182
150
  const mergedContents = routeOverride?.contents || context.internal.configModel.contents;
183
151
  const effectiveSettings = mergedContents;
184
152
  // Rebuild PUBLIC settings from scratch (no leakage from old route)
185
- newContext.public = {
186
- ...effectiveSettings,
187
- components: effectiveSettings.components || [],
188
- hiddenMenuKeys: effectiveSettings.hiddenMenuKeys || [],
189
- hiddenMenuCategories: effectiveSettings.hiddenMenuCategories || []
190
- };
153
+ newContext.public = effectiveSettings;
191
154
  return newContext;
192
155
  }), 'updateReduxSettings']
193
156
  },
@@ -244,12 +207,7 @@ const settingsMachine = createMachine({
244
207
  const mergedContents = routeOverride?.contents || context.internal.configModel.contents;
245
208
  const effectiveSettings = mergedContents;
246
209
  // Rebuild PUBLIC settings with new device overrides
247
- newContext.public = {
248
- ...effectiveSettings,
249
- components: effectiveSettings.components || [],
250
- hiddenMenuKeys: effectiveSettings.hiddenMenuKeys || [],
251
- hiddenMenuCategories: effectiveSettings.hiddenMenuCategories || []
252
- };
210
+ newContext.public = effectiveSettings;
253
211
  return newContext;
254
212
  }), 'updateReduxSettings']
255
213
  }
@@ -1 +1 @@
1
- {"version":3,"file":"settingsMachine.js","sources":["../../src/machines/settingsMachine.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settingsMachine.js","sources":["../../src/machines/settingsMachine.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/lib/routes.json CHANGED
@@ -42,7 +42,7 @@
42
42
  "hasOptions": true,
43
43
  "keys": [
44
44
  "settings",
45
- "settings"
45
+ "error"
46
46
  ]
47
47
  }
48
48
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@admin-layout/tailwind-design-pro",
3
- "version": "12.0.16-alpha.63",
3
+ "version": "12.0.16-alpha.66",
4
4
  "description": "Sample core for higher packages to depend on",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -22,14 +22,14 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "@admin-layout/assets": "12.0.16-alpha.36",
25
- "@admin-layout/client": "12.0.16-alpha.62",
26
- "@admin-layout/tailwind-ui": "12.0.16-alpha.62",
25
+ "@admin-layout/client": "12.0.16-alpha.64",
26
+ "@admin-layout/tailwind-ui": "12.0.16-alpha.66",
27
27
  "react-favicon": "^0.0.23",
28
28
  "react-intl": "^6.1.1",
29
29
  "react-responsive": "^10.0.0"
30
30
  },
31
31
  "devDependencies": {
32
- "@adminide-stack/extension-api": "^12.0.4-alpha.316",
32
+ "@adminide-stack/extension-api": "^12.0.4-alpha.326",
33
33
  "@tailwindcss/aspect-ratio": "^0.4.2",
34
34
  "@tailwindcss/forms": "^0.5.4",
35
35
  "@tailwindcss/typography": "^0.5.9",
@@ -53,5 +53,5 @@
53
53
  "typescript": {
54
54
  "definition": "lib/index.d.ts"
55
55
  },
56
- "gitHead": "62f3e27bb373dcea655ee42c519268dc131a2f21"
56
+ "gitHead": "2d21372367f7570e8abf1af99e502a895527db20"
57
57
  }
@@ -1,9 +0,0 @@
1
- import {config}from'./env-config.js';/**
2
- * Google Analytics Configuration
3
- */
4
- // Configuration for analytics tracking
5
- ({
6
- // Enable or disable debugging messages in console
7
- debug: process.env.NODE_ENV === 'development',
8
- // GA4 Measurement ID
9
- GA4_MEASUREMENT_ID: config.GOOGLE_ANALYTICS_ID});//# sourceMappingURL=analytics-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analytics-config.js","sources":["../../src/config/analytics-config.ts"],"sourcesContent":[null],"names":[],"mappings":"qCAAA;;AAEG;AAIH;CACgC;;AAK5B,EAAA,KAAA,EAAK,OAAE,CAAA,YAAY,kBAAa;;oBAGhC,EAAkB,MAAE,CAAA"}