@admin-layout/tailwind-design-pro 12.2.4-alpha.48 → 12.2.4-alpha.49

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":"ProTailwindLayout.d.ts","sourceRoot":"","sources":["../../../src/components/Layout/ProTailwindLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,gBAAgB,EAMnB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,iBAAiB,CAAC,EAAE,KAAK,CAAC;YACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,UAAU,CAAC,EAAE,OAAO,CAAC;YACrB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,eAAe,CAAC,EAAE,OAAO,CAAC;YAC1B,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;SAClB,CAAC,CAAC;KACN;CACJ;AASD,eAAO,MAAM,MAAM;;CAElB,CAAC;AACF,eAAO,MAAM,KAAK,EAAE,aAA+D,CAAC;AAkEpF,wBAAsB,MAAM,CAAC,MAAM,KAAA;;;;GAiClC;AACD,wBAAsB,YAAY,CAAC,EAAE,YAAY,EAAE;;CAAA,gBAyLlD;AAQD,eAAO,MAAM,gBAAgB,GAAI;;;CAA6B,YAE7D,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,qBAsDhE"}
1
+ {"version":3,"file":"ProTailwindLayout.d.ts","sourceRoot":"","sources":["../../../src/components/Layout/ProTailwindLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,gBAAgB,EAMnB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,iBAAiB,CAAC,EAAE,KAAK,CAAC;YACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,UAAU,CAAC,EAAE,OAAO,CAAC;YACrB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,eAAe,CAAC,EAAE,OAAO,CAAC;YAC1B,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;SAClB,CAAC,CAAC;KACN;CACJ;AASD,eAAO,MAAM,MAAM;;CAElB,CAAC;AACF,eAAO,MAAM,KAAK,EAAE,aAA+D,CAAC;AAkEpF,wBAAsB,MAAM,CAAC,MAAM,KAAA;;;;GAiClC;AACD,wBAAsB,YAAY,CAAC,EAAE,YAAY,EAAE;;CAAA,gBA4MlD;AAQD,eAAO,MAAM,gBAAgB,GAAI;;;CAA6B,YAE7D,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,qBAsDhE"}
@@ -212,8 +212,9 @@ async function clientLoader({
212
212
  topLevelKeys: routeConfig?.map?.(r => r.key) || []
213
213
  });
214
214
  // Transform routes to menu format - the config already has hierarchical structure with nested routes
215
+ // Mirror the SSR pipeline: filter hidden/resource routes, sort by priority, recurse.
215
216
  const transformToMenuData = routes => {
216
- return routes.filter(r => !r.hideInMenu && !r.isResourceRoute && !r.path?.includes('/resources/')).map(route => {
217
+ return routes.filter(r => !r.hideInMenu && !r.isResourceRoute && !r.path?.includes('/resources/')).slice().sort((a, b) => (parseInt(a?.priority, 10) || 0) - (parseInt(b?.priority, 10) || 0)).map(route => {
217
218
  const menuItem = {
218
219
  key: route.key,
219
220
  name: route.name,
@@ -230,11 +231,18 @@ async function clientLoader({
230
231
  return menuItem;
231
232
  });
232
233
  };
233
- // Find the root layout and get its child routes for menu
234
- // Look for the layout route that contains child routes for the sidebar menu
235
- const rootLayout = routeConfig.find?.(r => (r.key === 'root-layout' || r.path?.includes(':orgName')) && r.routes && r.routes.length > 0);
236
- const menuRoutes = rootLayout?.routes || routeConfig;
237
- console.log('[ProTailwindLayout clientLoader] Root layout found:', !!rootLayout, rootLayout?.key, rootLayout?.path);
234
+ // Use ONLY the `/` root-layout entry for the sidebar menu.
235
+ // The route generator emits multiple `root-layout` entries (e.g. `/` and `/o/:orgName`),
236
+ // but org-scoped routes (`/o/:orgName/*`) should not appear in the global SPA sidebar.
237
+ const rootLayouts = (routeConfig || []).filter?.(r => r.key === 'root-layout' && r.path === config.LAYOUT_ROOT && Array.isArray(r.routes) && r.routes.length > 0) || [];
238
+ // Deduplicate by route key so duplicates from multiple layout entries don't render twice
239
+ const seenKeys = new Set();
240
+ const menuRoutes = rootLayouts.length ? rootLayouts.flatMap(rl => rl.routes).filter(r => {
241
+ if (!r?.key || seenKeys.has(r.key)) return false;
242
+ seenKeys.add(r.key);
243
+ return true;
244
+ }) : routeConfig;
245
+ console.log('[ProTailwindLayout clientLoader] Root layouts found:', rootLayouts.length, rootLayouts.map(r => r.path));
238
246
  console.log('[ProTailwindLayout clientLoader] Menu routes count:', menuRoutes?.length || 0);
239
247
  const menuData = transformToMenuData(menuRoutes || []);
240
248
  console.log('[ProTailwindLayout clientLoader] Final menuData:', {
@@ -1 +1 @@
1
- {"version":3,"file":"ProTailwindLayout.js","sources":["../../../src/components/Layout/ProTailwindLayout.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProTailwindLayout.js","sources":["../../../src/components/Layout/ProTailwindLayout.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Reactive client-side applier — keeps `<html data-theme>`, the `dark` class
3
+ * and the user-override `<style>` block in sync with the Redux `settings`
4
+ * slice as the user mutates the SettingDrawer. Renders nothing.
5
+ *
6
+ * Server render is handled by `getServerThemeAttrs()` in root.tsx so the
7
+ * first paint already matches; this component only takes over on the client.
8
+ */
9
+ export declare function SettingsThemeApplier(): any;
10
+ //# sourceMappingURL=SettingsThemeApplier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsThemeApplier.d.ts","sourceRoot":"","sources":["../../../src/components/SettingsThemeApplier/SettingsThemeApplier.tsx"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,QAWnC"}
@@ -0,0 +1,23 @@
1
+ import {useEffect}from'react';import {useSelector}from'react-redux';import {applyThemeToDom}from'../../utils/settingsTheme.js';/**
2
+ * Reactive client-side applier — keeps `<html data-theme>`, the `dark` class
3
+ * and the user-override `<style>` block in sync with the Redux `settings`
4
+ * slice as the user mutates the SettingDrawer. Renders nothing.
5
+ *
6
+ * Server render is handled by `getServerThemeAttrs()` in root.tsx so the
7
+ * first paint already matches; this component only takes over on the client.
8
+ */
9
+ function SettingsThemeApplier() {
10
+ const theme = useSelector(s => s?.settings?.theme ?? s?.settings?.themeName);
11
+ const navTheme = useSelector(s => s?.settings?.navTheme);
12
+ const primaryColor = useSelector(s => s?.settings?.primaryColor);
13
+ const fontFamily = useSelector(s => s?.settings?.fontFamily);
14
+ useEffect(() => {
15
+ applyThemeToDom({
16
+ theme,
17
+ navTheme,
18
+ primaryColor,
19
+ fontFamily
20
+ });
21
+ }, [theme, navTheme, primaryColor, fontFamily]);
22
+ return null;
23
+ }export{SettingsThemeApplier};//# sourceMappingURL=SettingsThemeApplier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsThemeApplier.js","sources":["../../../src/components/SettingsThemeApplier/SettingsThemeApplier.tsx"],"sourcesContent":[null],"names":[],"mappings":"+HAQA;;;;;;;AAOG;SACa,oBAAoB,GAAA;QAChC,KAAM,cAAQ,CAAA,CAAW,IAAe,CAAE,EAAE,QAAI,EAAA,SAAe,CAAA,EAAA,QAAO,EAAA,SAAU,CAAA;AAChF,EAAA,MAAA,QAAM,GAAQ,WAAG,CAAA,CAAW,IAAe,CAAE,EAAE,QAAI,EAAA,QAAU,CAAA;AAC7D,EAAA,MAAA,YAAM,GAAY,WAAG,CAAA,CAAW,IAAe,CAAE,EAAE,QAAI,EAAA,YAAU,CAAA;AACjE,EAAA,MAAA,UAAM,GAAU,WAAG,CAAA,CAAW,IAAe,CAAE,EAAE,QAAI,EAAA,UAAU,CAAA;WAE/D,CAAA,MAAa;mBACT,CAAA;MACH,KAAG;AAEJ,MAAA;AACJ,MAAC,YAAA;;;;;"}
@@ -0,0 +1,2 @@
1
+ export * from './SettingsThemeApplier';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SettingsThemeApplier/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
package/lib/index.d.ts CHANGED
@@ -2,6 +2,8 @@ import { Feature } from '@common-stack/client-react';
2
2
  export * from './tailwindConfig';
3
3
  export * from './redux';
4
4
  export * from './hooks';
5
+ export * from './utils/settingsTheme';
6
+ export * from './components/SettingsThemeApplier';
5
7
  declare const _default: Feature;
6
8
  export default _default;
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;;AAExB,wBAAqC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC;;AAElD,wBAAqC"}
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import {Feature}from'@common-stack/client-react';import settings from'./module.js';export{themeConfig}from'./tailwindConfig.js';export{SEARCH_ACTIONS,clearSearch,searchReducer,setSearchError,setSearchQuery,setSearchResult}from'./redux/searchReducer.js';export{useTailwindTheme}from'./hooks/useTailwindTheme.js';export{useMediaQuery}from'./hooks/useMediaQuery.js';// eslint-disable-next-line import/no-extraneous-dependencies
1
+ import {Feature}from'@common-stack/client-react';import settings from'./module.js';export{themeConfig}from'./tailwindConfig.js';export{SEARCH_ACTIONS,clearSearch,searchReducer,setSearchError,setSearchQuery,setSearchResult}from'./redux/searchReducer.js';export{useTailwindTheme}from'./hooks/useTailwindTheme.js';export{useMediaQuery}from'./hooks/useMediaQuery.js';export{SETTINGS_THEME_STYLE_ID,THEME_KEYS,applyThemeToDom,buildOverridesCss,getServerThemeAttrs,hexToHslSpace}from'./utils/settingsTheme.js';export{SettingsThemeApplier}from'./components/SettingsThemeApplier/SettingsThemeApplier.js';// eslint-disable-next-line import/no-extraneous-dependencies
2
2
  var index = new Feature(settings);export{index as default};//# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":"2WAAA;AAOA,YAAe,IAAI,OAAO,CAAC,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":"olBAAA;AASA,YAAe,IAAI,OAAO,CAAC,QAAQ,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Settings → DOM theme utilities.
3
+ *
4
+ * Three-layer cascade applied to <html>:
5
+ * 1. :root defaults ← package CSS
6
+ * 2. [data-theme="x"] ← brand theme (color + font + radius)
7
+ * 3. :root { ... } injected by settings ← user overrides (highest priority)
8
+ *
9
+ * `getServerThemeAttrs` produces the SSR payload (data-theme attr, dark class,
10
+ * <style> string) so the first paint already matches the user's saved
11
+ * customisations and there is no flash. `applyThemeToDom` performs the same
12
+ * mutation at runtime when the user changes a setting in the drawer; the
13
+ * SettingDrawer's existing reset handler clears storage + reloads, after which
14
+ * the override style block is empty and the page falls back to pure theme.
15
+ */
16
+ export declare const THEME_KEYS: readonly ["default", "github", "slack", "airbnb", "spotify", "yantra"];
17
+ export type ThemeKey = (typeof THEME_KEYS)[number];
18
+ export interface SettingsLikeShape {
19
+ theme?: string;
20
+ themeName?: string;
21
+ navTheme?: string;
22
+ primaryColor?: string;
23
+ fontFamily?: string;
24
+ }
25
+ export interface ServerThemeAttrs {
26
+ dataTheme: ThemeKey;
27
+ isDark: boolean;
28
+ /** Inline CSS for the user-overrides style block (without the surrounding <style> tag). */
29
+ overridesCss: string;
30
+ }
31
+ /** Convert `#rrggbb` (or `#rgb`) to `"H S% L%"` matching the package CSS convention. */
32
+ export declare function hexToHslSpace(hex?: string | null): string | null;
33
+ /** Build the `:root { ... }` body for the override style block. Empty string means no override. */
34
+ export declare function buildOverridesCss(settings?: SettingsLikeShape | null): string;
35
+ /** SSR helper: derive html attributes + inline style for the initial render. */
36
+ export declare function getServerThemeAttrs(settings?: SettingsLikeShape | null): ServerThemeAttrs;
37
+ /** Runtime applier — mirrors `getServerThemeAttrs` but mutates the live DOM. */
38
+ export declare function applyThemeToDom(settings?: SettingsLikeShape | null): void;
39
+ export declare const SETTINGS_THEME_STYLE_ID = "settings-theme-overrides";
40
+ //# sourceMappingURL=settingsTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settingsTheme.d.ts","sourceRoot":"","sources":["../../src/utils/settingsTheme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,UAAU,wEAAyE,CAAC;AACjG,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAInD,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,2FAA2F;IAC3F,YAAY,EAAE,MAAM,CAAC;CACxB;AAgBD,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAwChE;AAED,mGAAmG;AACnG,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAAG,MAAM,CAiB7E;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAAG,gBAAgB,CAMzF;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAmBzE;AAED,eAAO,MAAM,uBAAuB,6BAAmB,CAAC"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Settings → DOM theme utilities.
3
+ *
4
+ * Three-layer cascade applied to <html>:
5
+ * 1. :root defaults ← package CSS
6
+ * 2. [data-theme="x"] ← brand theme (color + font + radius)
7
+ * 3. :root { ... } injected by settings ← user overrides (highest priority)
8
+ *
9
+ * `getServerThemeAttrs` produces the SSR payload (data-theme attr, dark class,
10
+ * <style> string) so the first paint already matches the user's saved
11
+ * customisations and there is no flash. `applyThemeToDom` performs the same
12
+ * mutation at runtime when the user changes a setting in the drawer; the
13
+ * SettingDrawer's existing reset handler clears storage + reloads, after which
14
+ * the override style block is empty and the page falls back to pure theme.
15
+ */
16
+ const THEME_KEYS = ['default', 'github', 'slack', 'airbnb', 'spotify', 'yantra'];
17
+ const STYLE_ELEMENT_ID = 'settings-theme-overrides';
18
+ function isThemeKey(value) {
19
+ return typeof value === 'string' && THEME_KEYS.includes(value);
20
+ }
21
+ function resolveThemeKey(settings) {
22
+ const candidate = settings?.theme ?? settings?.themeName;
23
+ return isThemeKey(candidate) ? candidate : 'default';
24
+ }
25
+ function resolveIsDark(settings) {
26
+ const nav = settings?.navTheme;
27
+ return nav === 'realDark' || nav === 'dark';
28
+ }
29
+ /** Convert `#rrggbb` (or `#rgb`) to `"H S% L%"` matching the package CSS convention. */
30
+ function hexToHslSpace(hex) {
31
+ if (!hex || typeof hex !== 'string') return null;
32
+ let raw = hex.trim().replace(/^#/, '');
33
+ if (raw.length === 3) raw = raw.split('').map(c => c + c).join('');
34
+ if (!/^[0-9a-fA-F]{6}$/.test(raw)) return null;
35
+ const r = parseInt(raw.slice(0, 2), 16) / 255;
36
+ const g = parseInt(raw.slice(2, 4), 16) / 255;
37
+ const b = parseInt(raw.slice(4, 6), 16) / 255;
38
+ const max = Math.max(r, g, b);
39
+ const min = Math.min(r, g, b);
40
+ const l = (max + min) / 2;
41
+ let h = 0;
42
+ let s = 0;
43
+ if (max !== min) {
44
+ const d = max - min;
45
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
46
+ switch (max) {
47
+ case r:
48
+ h = (g - b) / d + (g < b ? 6 : 0);
49
+ break;
50
+ case g:
51
+ h = (b - r) / d + 2;
52
+ break;
53
+ default:
54
+ h = (r - g) / d + 4;
55
+ }
56
+ h *= 60;
57
+ }
58
+ const hh = Math.round(h);
59
+ const ss = Math.round(s * 100);
60
+ const ll = Math.round(l * 100);
61
+ return `${hh} ${ss}% ${ll}%`;
62
+ }
63
+ /** Build the `:root { ... }` body for the override style block. Empty string means no override. */
64
+ function buildOverridesCss(settings) {
65
+ if (!settings) return '';
66
+ const decls = [];
67
+ const hsl = hexToHslSpace(settings.primaryColor);
68
+ if (hsl) decls.push(`--primary:${hsl};--ring:${hsl};`);
69
+ const font = settings.fontFamily;
70
+ if (font && typeof font === 'string') {
71
+ // Whitelist-ish: only allow a comma-separated list of identifiers / quoted strings.
72
+ // Strip anything containing braces or semicolons (basic CSS-injection guard).
73
+ if (!/[{};]/.test(font)) {
74
+ decls.push(`--font-display:${font};--font-body:${font};`);
75
+ }
76
+ }
77
+ return decls.length > 0 ? `:root{${decls.join('')}}` : '';
78
+ }
79
+ /** SSR helper: derive html attributes + inline style for the initial render. */
80
+ function getServerThemeAttrs(settings) {
81
+ return {
82
+ dataTheme: resolveThemeKey(settings),
83
+ isDark: resolveIsDark(settings),
84
+ overridesCss: buildOverridesCss(settings)
85
+ };
86
+ }
87
+ /** Runtime applier — mirrors `getServerThemeAttrs` but mutates the live DOM. */
88
+ function applyThemeToDom(settings) {
89
+ if (typeof document === 'undefined') return;
90
+ const html = document.documentElement;
91
+ html.setAttribute('data-theme', resolveThemeKey(settings));
92
+ html.classList.toggle('dark', resolveIsDark(settings));
93
+ const css = buildOverridesCss(settings);
94
+ let node = document.getElementById(STYLE_ELEMENT_ID);
95
+ if (css) {
96
+ if (!node) {
97
+ node = document.createElement('style');
98
+ node.id = STYLE_ELEMENT_ID;
99
+ document.head.appendChild(node);
100
+ }
101
+ if (node.textContent !== css) node.textContent = css;
102
+ } else if (node) {
103
+ node.remove();
104
+ }
105
+ }
106
+ const SETTINGS_THEME_STYLE_ID = STYLE_ELEMENT_ID;export{SETTINGS_THEME_STYLE_ID,THEME_KEYS,applyThemeToDom,buildOverridesCss,getServerThemeAttrs,hexToHslSpace};//# sourceMappingURL=settingsTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settingsTheme.js","sources":["../../src/utils/settingsTheme.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@admin-layout/tailwind-design-pro",
3
- "version": "12.2.4-alpha.48",
3
+ "version": "12.2.4-alpha.49",
4
4
  "description": "Sample core for higher packages to depend on",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -22,8 +22,8 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "@admin-layout/assets": "12.2.4-alpha.37",
25
- "@admin-layout/client": "12.2.4-alpha.46",
26
- "@admin-layout/tailwind-ui": "12.2.4-alpha.46",
25
+ "@admin-layout/client": "12.2.4-alpha.49",
26
+ "@admin-layout/tailwind-ui": "12.2.4-alpha.49",
27
27
  "path-to-regexp": "^8.0.0",
28
28
  "react-favicon": "^0.0.23",
29
29
  "react-intl": "^6.1.1",
@@ -55,5 +55,5 @@
55
55
  "typescript": {
56
56
  "definition": "lib/index.d.ts"
57
57
  },
58
- "gitHead": "04091a0bb247eaeef1c2e47496b4793f7d6d5c59"
58
+ "gitHead": "08cd18b18c3497d1feee578f0cc2d47f0e48e8d2"
59
59
  }