@admin-layout/tailwind-design-pro 10.0.6-alpha.9 → 10.0.9-alpha.13

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.
Files changed (113) hide show
  1. package/lib/components/Layout/BasicLayout/index.d.ts +0 -6
  2. package/lib/components/Layout/BasicLayout/index.d.ts.map +1 -1
  3. package/lib/components/Layout/BasicLayout/index.js +18 -44
  4. package/lib/components/Layout/BasicLayout/index.js.map +1 -1
  5. package/lib/components/Layout/GlobalHeader/Header.d.ts +1 -1
  6. package/lib/components/Layout/GlobalHeader/Header.d.ts.map +1 -1
  7. package/lib/components/Layout/GlobalHeader/Header.js +32 -38
  8. package/lib/components/Layout/GlobalHeader/Header.js.map +1 -1
  9. package/lib/components/Layout/GlobalHeader/RightContent.d.ts +1 -3
  10. package/lib/components/Layout/GlobalHeader/RightContent.d.ts.map +1 -1
  11. package/lib/components/Layout/GlobalHeader/RightContent.js +23 -0
  12. package/lib/components/Layout/GlobalHeader/RightContent.js.map +1 -0
  13. package/lib/components/Layout/ProTailwindLayout.d.ts +2 -0
  14. package/lib/components/Layout/ProTailwindLayout.d.ts.map +1 -1
  15. package/lib/components/Layout/ProTailwindLayout.js +6 -1
  16. package/lib/components/Layout/ProTailwindLayout.js.map +1 -1
  17. package/lib/components/Layout/Sidebar/Sidebar.d.ts +1 -0
  18. package/lib/components/Layout/Sidebar/Sidebar.d.ts.map +1 -1
  19. package/lib/components/Layout/Sidebar/Sidebar.js +41 -10
  20. package/lib/components/Layout/Sidebar/Sidebar.js.map +1 -1
  21. package/lib/components/Layout/Sidebar/SidebarMenu.d.ts +3 -5
  22. package/lib/components/Layout/Sidebar/SidebarMenu.d.ts.map +1 -1
  23. package/lib/components/Layout/Sidebar/SidebarMenu.js +118 -38
  24. package/lib/components/Layout/Sidebar/SidebarMenu.js.map +1 -1
  25. package/lib/components/Layout/TailwindLayout.d.ts.map +1 -1
  26. package/lib/components/Layout/TailwindLayout.js +8 -2
  27. package/lib/components/Layout/TailwindLayout.js.map +1 -1
  28. package/lib/components/Layout/slot-fill/AdditionalSettings.d.ts +4 -0
  29. package/lib/components/Layout/slot-fill/AdditionalSettings.d.ts.map +1 -0
  30. package/lib/components/Layout/slot-fill/AdditionalSettings.js +7 -0
  31. package/lib/components/Layout/slot-fill/AdditionalSettings.js.map +1 -0
  32. package/lib/components/Layout/slot-fill/index.d.ts +1 -0
  33. package/lib/components/Layout/slot-fill/index.d.ts.map +1 -1
  34. package/lib/components/SettingDrawer/CheckBoxTheme.d.ts +1 -6
  35. package/lib/components/SettingDrawer/CheckBoxTheme.d.ts.map +1 -1
  36. package/lib/components/SettingDrawer/CheckBoxTheme.js +106 -31
  37. package/lib/components/SettingDrawer/CheckBoxTheme.js.map +1 -1
  38. package/lib/components/SettingDrawer/LayoutChange.d.ts +1 -5
  39. package/lib/components/SettingDrawer/LayoutChange.d.ts.map +1 -1
  40. package/lib/components/SettingDrawer/LayoutChange.js +19 -23
  41. package/lib/components/SettingDrawer/LayoutChange.js.map +1 -1
  42. package/lib/components/SettingDrawer/NavigationsModes.d.ts +3 -0
  43. package/lib/components/SettingDrawer/NavigationsModes.d.ts.map +1 -0
  44. package/lib/components/SettingDrawer/NavigationsModes.js +281 -0
  45. package/lib/components/SettingDrawer/NavigationsModes.js.map +1 -0
  46. package/lib/components/SettingDrawer/RegionalSettings.d.ts +1 -6
  47. package/lib/components/SettingDrawer/RegionalSettings.d.ts.map +1 -1
  48. package/lib/components/SettingDrawer/RegionalSettings.js +24 -31
  49. package/lib/components/SettingDrawer/RegionalSettings.js.map +1 -1
  50. package/lib/components/SettingDrawer/SettingDrawer.d.ts +1 -24
  51. package/lib/components/SettingDrawer/SettingDrawer.d.ts.map +1 -1
  52. package/lib/components/SettingDrawer/SettingDrawer.js +115 -110
  53. package/lib/components/SettingDrawer/SettingDrawer.js.map +1 -1
  54. package/lib/components/SettingDrawer/Switch/index.d.ts +2 -8
  55. package/lib/components/SettingDrawer/Switch/index.d.ts.map +1 -1
  56. package/lib/components/SettingDrawer/Switch/index.js +17 -34
  57. package/lib/components/SettingDrawer/Switch/index.js.map +1 -1
  58. package/lib/components/SettingDrawer/ThemeColor.d.ts +1 -6
  59. package/lib/components/SettingDrawer/ThemeColor.d.ts.map +1 -1
  60. package/lib/components/SettingDrawer/ThemeColor.js +3 -0
  61. package/lib/components/SettingDrawer/ThemeColor.js.map +1 -1
  62. package/lib/components/SettingDrawer/ThemeSelector.d.ts +3 -0
  63. package/lib/components/SettingDrawer/ThemeSelector.d.ts.map +1 -0
  64. package/lib/components/SettingDrawer/ThemeSelector.js +18 -0
  65. package/lib/components/SettingDrawer/ThemeSelector.js.map +1 -0
  66. package/lib/components/SettingDrawer/types.d.ts +70 -0
  67. package/lib/components/SettingDrawer/types.d.ts.map +1 -0
  68. package/lib/components/ThemeProvider/ThemeProvider.d.ts +18 -0
  69. package/lib/components/ThemeProvider/ThemeProvider.d.ts.map +1 -0
  70. package/lib/components/ThemeProvider/ThemeProvider.js +62 -0
  71. package/lib/components/ThemeProvider/ThemeProvider.js.map +1 -0
  72. package/lib/components/ThemeProvider/ThemeToggle.d.ts +7 -0
  73. package/lib/components/ThemeProvider/ThemeToggle.d.ts.map +1 -0
  74. package/lib/components/ThemeProvider/index.d.ts +7 -0
  75. package/lib/components/ThemeProvider/index.d.ts.map +1 -0
  76. package/lib/components/ThemeProvider/themeRegistry.d.ts +3 -0
  77. package/lib/components/ThemeProvider/themeRegistry.d.ts.map +1 -0
  78. package/lib/components/ThemeProvider/themeRegistry.js +388 -0
  79. package/lib/components/ThemeProvider/themeRegistry.js.map +1 -0
  80. package/lib/components/ThemeProvider/themeUtils.d.ts +26 -0
  81. package/lib/components/ThemeProvider/themeUtils.d.ts.map +1 -0
  82. package/lib/components/ThemeProvider/themeUtils.js +135 -0
  83. package/lib/components/ThemeProvider/themeUtils.js.map +1 -0
  84. package/lib/components/ThemeProvider/types.d.ts +112 -0
  85. package/lib/components/ThemeProvider/types.d.ts.map +1 -0
  86. package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.d.ts +3 -1
  87. package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.d.ts.map +1 -1
  88. package/lib/components/typings.d.ts +8 -0
  89. package/lib/components/typings.d.ts.map +1 -1
  90. package/lib/compute.d.ts.map +1 -1
  91. package/lib/compute.js +6 -4
  92. package/lib/compute.js.map +1 -1
  93. package/lib/icons.d.ts +14 -0
  94. package/lib/icons.d.ts.map +1 -0
  95. package/lib/icons.js +13 -0
  96. package/lib/icons.js.map +1 -0
  97. package/lib/index.d.ts +0 -3
  98. package/lib/index.d.ts.map +1 -1
  99. package/lib/index.js +1 -1
  100. package/lib/index.js.map +1 -1
  101. package/lib/machines/settingsMachine.d.ts +3 -0
  102. package/lib/machines/settingsMachine.d.ts.map +1 -0
  103. package/lib/machines/settingsMachine.js +220 -0
  104. package/lib/machines/settingsMachine.js.map +1 -0
  105. package/lib/machines/types.d.ts +67 -0
  106. package/lib/machines/types.d.ts.map +1 -0
  107. package/lib/routes.json +1 -0
  108. package/lib/styles/index.css +438 -46
  109. package/package.json +5 -5
  110. package/lib/utils/index.d.ts +0 -2
  111. package/lib/utils/index.d.ts.map +0 -1
  112. package/lib/utils/index.js +0 -13
  113. package/lib/utils/index.js.map +0 -1
@@ -0,0 +1,62 @@
1
+ import {jsx}from'react/jsx-runtime';import {createContext,useState,useEffect}from'react';import {themeRegistry}from'./themeRegistry.js';import {applyTheme}from'./themeUtils.js';// Create the context with default values
2
+ const ThemeContext = createContext({
3
+ theme: 'default',
4
+ themeType: 'light',
5
+ primaryColor: '#1890ff',
6
+ fontFamily: 'Inter, sans-serif',
7
+ isDarkMode: false,
8
+ toggleTheme: () => {}
9
+ });
10
+ const ThemeProvider = ({
11
+ settings,
12
+ children
13
+ }) => {
14
+ const {
15
+ theme = 'default',
16
+ themeType = 'light',
17
+ primaryColor = '#1890ff',
18
+ fontFamily = 'Inter, sans-serif'
19
+ } = settings;
20
+ const [isDarkMode, setIsDarkMode] = useState(false);
21
+ // Toggle dark mode class on document
22
+ useEffect(() => {
23
+ if (settings?.navTheme === 'light') {
24
+ setIsDarkMode(false);
25
+ document.documentElement.classList.remove('dark');
26
+ } else if (settings?.navTheme === 'dark') {
27
+ document.documentElement.classList.add('dark');
28
+ setIsDarkMode(true);
29
+ } else {
30
+ setIsDarkMode(false);
31
+ document.documentElement.classList.remove('dark');
32
+ }
33
+ }, [settings]);
34
+ // Apply theme effects when component mounts and when theme settings change
35
+ useEffect(() => {
36
+ const selectedTheme = themeRegistry[theme] || themeRegistry.default;
37
+ // Apply CSS variables for the selected theme
38
+ applyTheme(selectedTheme, {
39
+ isDarkMode,
40
+ primaryColor,
41
+ fontFamily
42
+ });
43
+ // Apply font family to document
44
+ document.documentElement.style.setProperty('--font-family', fontFamily);
45
+ document.body.className = `font-sans ${isDarkMode ? 'dark' : ''}`;
46
+ // Apply theme-specific classes
47
+ document.body.dataset.theme = theme;
48
+ // Apply radius to all appropriate elements via CSS
49
+ const radius = selectedTheme.borderRadius.DEFAULT;
50
+ document.documentElement.style.setProperty('--radius', radius);
51
+ }, [theme, themeType, primaryColor, fontFamily, isDarkMode]);
52
+ return jsx(ThemeContext.Provider, {
53
+ value: {
54
+ theme,
55
+ themeType,
56
+ primaryColor,
57
+ fontFamily,
58
+ isDarkMode
59
+ },
60
+ children: children
61
+ });
62
+ };export{ThemeContext,ThemeProvider,ThemeProvider as default};//# sourceMappingURL=ThemeProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeProvider.js","sources":["../../../src/components/ThemeProvider/ThemeProvider.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"iLAkBA;AACO,MAAM,YAAY,GAAG,aAAa,CAAmB;AACxD,EAAA,KAAA,EAAK,SAAW;AAChB,EAAA,SAAA,EAAS,OAAS;AAClB,EAAA,YAAA,EAAY,SAAW;AACvB,EAAA,UAAA,EAAU,mBAAqB;AAC/B,EAAA,UAAA,EAAU,KAAO;AACjB,EAAA,WAAA,EAAW,MAAO;AACrB,CAAA;AAIY,MAAA,aAAa,GAAiC,CAAC;AACxD,EAAA,QAAM;;MAS+B;QAC5B;AACL,IAAA,KAAA,GAAI,SAAU;aACG,GAAA,OAAA;gBACL,GAAA;cACX,GAAA;AAAM,GAAA,GAAA,QAAA;mBACK,EAAC,iBAAgB,QAAS,CAAC,KAAU,CAAA;;WAEhD,CAAA,MAAA;gBAAO,EAAA,QAAA,KAAA,OAAA,EAAA;mBACS,CAAA,KAAA,CAAC;cACN,CAAA,yBAAiB,CAAA,MAAU,CAAM,MAAC,CAAM;WACnD,IAAA,QAAA,EAAA,QAAA,KAAA,MAAA,EAAA;AACL,MAAG,QAAS,CAAA,eAAG,CAAA,SAAA,CAAA,GAAA,CAAA,MAAA,CAAA;MAC4D,aAAA,CAAA,IAAA,CAAA;KAClE,MAAA;mBACC,CAAA,KAAA,CAAA;cAEuC,CAAA,eAAA,CAAA,SAAA,CAAA,MAAA,CAAA,MAAA,CAAA;;cAE/B,CAAA,CAAA;;YAEV,MAAU;AACb,IAAA,MAAC,aAAC,GAAA,aAAA,CAAA,KAAA,CAAA,IAAA,aAAA,CAAA,OAAA;;cAGK,CAAA,aAAgB,EAAA;AACxB,MAAA,UAAQ;kBAEuB;;;AAI/B;YACQ,CAAA,eAAgB,CAAA,KAAM,CAAA,WAAY,CAAA,eAAW,EAAQ,UAAE,CAAA;AACnE,IAAA,QAAS,CAAA,IAAW,CAAA,SAAc,GAAA,CAAA,UAAY,EAAA,UAAY,GAAA,MAAA,GAAG,EAAA,CAAA,CAAA;;IAG7D,QAAM,CAAA,IAAA,CAAA,OAAc,CAAA,KAAK,GAAA,KAAA;;UAG8C,MAAA,GAAA,aAAA,CAAA,YAAA,CAAA,OAAA;AACnE,IAAA,QAAI,CAAQ,eAAgB,CAAA,KAAA,CAAA,WAAG,CAAA,UAAA,EAAA,MAAA,CAAA;aACnB,uBAAgB,EAAC,UAAA,EAAA,UAAA,CAAA,CAAA;SAexBA,GAEA,CAAA,YAAA,CAAA,QAEP,EAAA;AACN,IAAE,KAAA,EAAA;AAEF,MAAA,KAAA;;;;;;;;"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface ThemeToggleProps {
3
+ className?: string;
4
+ }
5
+ export declare const ThemeToggle: React.FC<ThemeToggleProps>;
6
+ export {};
7
+ //# sourceMappingURL=ThemeToggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeToggle.d.ts","sourceRoot":"","sources":["../../../src/components/ThemeProvider/ThemeToggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,gBAAgB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAYlD,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { ThemeProvider, useTheme, ThemeContext } from './ThemeProvider';
2
+ export type { ThemeProviderProps } from './ThemeProvider';
3
+ export { ThemeToggle } from './ThemeToggle';
4
+ export { applyTheme, hslToHex, generateColorPalette } from './themeUtils';
5
+ export { themeRegistry } from './themeRegistry';
6
+ export type { Theme, ThemeColors, ThemeFontSizes, ThemeSpacing, ThemeBorderRadius, ThemeOptions, ThemeSelectorProps, } from './types';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ThemeProvider/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACxE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAG1E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACR,KAAK,EACL,WAAW,EACX,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,GACrB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Theme } from './types';
2
+ export declare const themeRegistry: Record<string, Theme>;
3
+ //# sourceMappingURL=themeRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themeRegistry.d.ts","sourceRoot":"","sources":["../../../src/components/ThemeProvider/themeRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAiY/C,CAAC"}
@@ -0,0 +1,388 @@
1
+ // Define available themes
2
+ const themeRegistry = {
3
+ default: {
4
+ name: 'Default',
5
+ colors: {
6
+ // Light mode colors
7
+ light: {
8
+ background: '0 0% 100%',
9
+ foreground: '222.2 84% 4.9%',
10
+ card: '0 0% 100%',
11
+ cardForeground: '222.2 84% 4.9%',
12
+ popover: '0 0% 100%',
13
+ popoverForeground: '222.2 84% 4.9%',
14
+ primary: '221.2 83.2% 53.3%',
15
+ primaryForeground: '210 40% 98%',
16
+ secondary: '210 40% 96.1%',
17
+ secondaryForeground: '222.2 47.4% 11.2%',
18
+ muted: '210 40% 96.1%',
19
+ mutedForeground: '215.4 16.3% 46.9%',
20
+ accent: '210 40% 96.1%',
21
+ accentForeground: '222.2 47.4% 11.2%',
22
+ destructive: '0 84.2% 60.2%',
23
+ destructiveForeground: '210 40% 98%',
24
+ border: '214.3 31.8% 91.4%',
25
+ input: '214.3 31.8% 91.4%',
26
+ ring: '221.2 83.2% 53.3%'
27
+ },
28
+ // Dark mode colors
29
+ dark: {
30
+ background: '222.2 84% 4.9%',
31
+ foreground: '210 40% 98%',
32
+ card: '222.2 84% 4.9%',
33
+ cardForeground: '210 40% 98%',
34
+ popover: '222.2 84% 4.9%',
35
+ popoverForeground: '210 40% 98%',
36
+ primary: '217.2 91.2% 59.8%',
37
+ primaryForeground: '222.2 47.4% 11.2%',
38
+ secondary: '217.2 32.6% 17.5%',
39
+ secondaryForeground: '210 40% 98%',
40
+ muted: '217.2 32.6% 17.5%',
41
+ mutedForeground: '215 20.2% 65.1%',
42
+ accent: '217.2 32.6% 17.5%',
43
+ accentForeground: '210 40% 98%',
44
+ destructive: '0 62.8% 30.6%',
45
+ destructiveForeground: '210 40% 98%',
46
+ border: '217.2 32.6% 17.5%',
47
+ input: '217.2 32.6% 17.5%',
48
+ ring: '224.3 76.3% 48%'
49
+ }
50
+ },
51
+ fontSizes: {
52
+ xs: '0.75rem',
53
+ sm: '0.875rem',
54
+ base: '1rem',
55
+ lg: '1.125rem',
56
+ xl: '1.25rem',
57
+ '2xl': '1.5rem',
58
+ '3xl': '1.875rem',
59
+ '4xl': '2.25rem',
60
+ '5xl': '3rem'
61
+ },
62
+ spacing: {
63
+ px: '1px',
64
+ 0: '0',
65
+ 0.5: '0.125rem',
66
+ 1: '0.25rem',
67
+ 1.5: '0.375rem',
68
+ 2: '0.5rem',
69
+ 2.5: '0.625rem',
70
+ 3: '0.75rem',
71
+ 3.5: '0.875rem',
72
+ 4: '1rem',
73
+ 5: '1.25rem',
74
+ 6: '1.5rem',
75
+ 8: '2rem',
76
+ 10: '2.5rem',
77
+ 12: '3rem',
78
+ 16: '4rem',
79
+ 20: '5rem',
80
+ 24: '6rem',
81
+ 32: '8rem',
82
+ 40: '10rem',
83
+ 48: '12rem',
84
+ 56: '14rem',
85
+ 64: '16rem'
86
+ },
87
+ borderRadius: {
88
+ none: '0',
89
+ sm: '0.125rem',
90
+ DEFAULT: '0.25rem',
91
+ md: '0.375rem',
92
+ lg: '0.5rem',
93
+ xl: '0.75rem',
94
+ '2xl': '1rem',
95
+ '3xl': '1.5rem',
96
+ full: '9999px'
97
+ }
98
+ },
99
+ // GitHub-inspired theme
100
+ github: {
101
+ name: 'GitHub',
102
+ colors: {
103
+ light: {
104
+ background: '0 0% 100%',
105
+ foreground: '210 12% 16%',
106
+ card: '210 13% 97%',
107
+ cardForeground: '210 12% 16%',
108
+ popover: '0 0% 100%',
109
+ popoverForeground: '210 12% 16%',
110
+ primary: '212 100% 48%',
111
+ primaryForeground: '0 0% 100%',
112
+ secondary: '220 14% 96%',
113
+ secondaryForeground: '220 9% 46%',
114
+ muted: '220 14% 96%',
115
+ mutedForeground: '220 9% 46%',
116
+ accent: '220 14% 96%',
117
+ accentForeground: '222.2 47.4% 11.2%',
118
+ destructive: '0 72% 51%',
119
+ destructiveForeground: '210 40% 98%',
120
+ border: '220 13% 91%',
121
+ input: '220 13% 91%',
122
+ ring: '212 100% 48%'
123
+ },
124
+ dark: {
125
+ background: '215 21% 11%',
126
+ foreground: '210 10% 85%',
127
+ card: '214 21% 17%',
128
+ cardForeground: '210 10% 85%',
129
+ popover: '214 21% 17%',
130
+ popoverForeground: '210 10% 85%',
131
+ primary: '212 100% 50%',
132
+ primaryForeground: '0 0% 100%',
133
+ secondary: '215 14% 25%',
134
+ secondaryForeground: '210 10% 85%',
135
+ muted: '215 14% 25%',
136
+ mutedForeground: '215 10% 65%',
137
+ accent: '215 14% 25%',
138
+ accentForeground: '210 10% 85%',
139
+ destructive: '0 72% 42%',
140
+ destructiveForeground: '210 40% 98%',
141
+ border: '215 14% 25%',
142
+ input: '215 14% 25%',
143
+ ring: '212 100% 50%'
144
+ }
145
+ },
146
+ fontSizes: {
147
+ xs: '0.75rem',
148
+ sm: '0.875rem',
149
+ base: '1rem',
150
+ lg: '1.125rem',
151
+ xl: '1.25rem',
152
+ '2xl': '1.5rem',
153
+ '3xl': '1.875rem',
154
+ '4xl': '2.25rem',
155
+ '5xl': '3rem'
156
+ },
157
+ spacing: {
158
+ px: '1px',
159
+ 0: '0',
160
+ 0.5: '0.125rem',
161
+ 1: '0.25rem',
162
+ 1.5: '0.375rem',
163
+ 2: '0.5rem',
164
+ 2.5: '0.625rem',
165
+ 3: '0.75rem',
166
+ 3.5: '0.875rem',
167
+ 4: '1rem',
168
+ 5: '1.25rem',
169
+ 6: '1.5rem',
170
+ 8: '2rem',
171
+ 10: '2.5rem',
172
+ 12: '3rem',
173
+ 16: '4rem',
174
+ 20: '5rem',
175
+ 24: '6rem',
176
+ 32: '8rem',
177
+ 40: '10rem',
178
+ 48: '12rem',
179
+ 56: '14rem',
180
+ 64: '16rem'
181
+ },
182
+ borderRadius: {
183
+ none: '0',
184
+ sm: '0.125rem',
185
+ DEFAULT: '0.25rem',
186
+ md: '0.375rem',
187
+ lg: '0.5rem',
188
+ xl: '0.75rem',
189
+ '2xl': '1rem',
190
+ '3xl': '1.5rem',
191
+ full: '9999px'
192
+ }
193
+ },
194
+ // Slack-inspired theme
195
+ slack: {
196
+ name: 'Slack',
197
+ colors: {
198
+ light: {
199
+ background: '0 0% 100%',
200
+ foreground: '0 0% 11%',
201
+ card: '0 0% 98%',
202
+ cardForeground: '0 0% 11%',
203
+ popover: '0 0% 100%',
204
+ popoverForeground: '0 0% 11%',
205
+ primary: '279 87% 43%',
206
+ // Slack purple
207
+ primaryForeground: '0 0% 100%',
208
+ secondary: '0 0% 96%',
209
+ secondaryForeground: '0 0% 40%',
210
+ muted: '0 0% 96%',
211
+ mutedForeground: '0 0% 40%',
212
+ accent: '0 0% 96%',
213
+ accentForeground: '0 0% 11%',
214
+ destructive: '358 75% 59%',
215
+ destructiveForeground: '0 0% 100%',
216
+ border: '0 0% 90%',
217
+ input: '0 0% 90%',
218
+ ring: '279 87% 43%'
219
+ },
220
+ dark: {
221
+ background: '225 6% 13%',
222
+ foreground: '0 0% 93%',
223
+ card: '223 6% 18%',
224
+ cardForeground: '0 0% 93%',
225
+ popover: '223 6% 18%',
226
+ popoverForeground: '0 0% 93%',
227
+ primary: '292 85% 43%',
228
+ // Slack purple
229
+ primaryForeground: '0 0% 100%',
230
+ secondary: '222 5% 25%',
231
+ secondaryForeground: '0 0% 93%',
232
+ muted: '222 5% 25%',
233
+ mutedForeground: '217 8% 63%',
234
+ accent: '222 5% 25%',
235
+ accentForeground: '0 0% 93%',
236
+ destructive: '358 75% 59%',
237
+ destructiveForeground: '0 0% 100%',
238
+ border: '223 6% 25%',
239
+ input: '223 6% 25%',
240
+ ring: '292 85% 43%'
241
+ }
242
+ },
243
+ fontSizes: {
244
+ xs: '0.75rem',
245
+ sm: '0.875rem',
246
+ base: '1rem',
247
+ lg: '1.125rem',
248
+ xl: '1.25rem',
249
+ '2xl': '1.5rem',
250
+ '3xl': '1.875rem',
251
+ '4xl': '2.25rem',
252
+ '5xl': '3rem'
253
+ },
254
+ spacing: {
255
+ px: '1px',
256
+ 0: '0',
257
+ 0.5: '0.125rem',
258
+ 1: '0.25rem',
259
+ 1.5: '0.375rem',
260
+ 2: '0.5rem',
261
+ 2.5: '0.625rem',
262
+ 3: '0.75rem',
263
+ 3.5: '0.875rem',
264
+ 4: '1rem',
265
+ 5: '1.25rem',
266
+ 6: '1.5rem',
267
+ 8: '2rem',
268
+ 10: '2.5rem',
269
+ 12: '3rem',
270
+ 16: '4rem',
271
+ 20: '5rem',
272
+ 24: '6rem',
273
+ 32: '8rem',
274
+ 40: '10rem',
275
+ 48: '12rem',
276
+ 56: '14rem',
277
+ 64: '16rem'
278
+ },
279
+ borderRadius: {
280
+ none: '0',
281
+ sm: '0.125rem',
282
+ DEFAULT: '0.375rem',
283
+ md: '0.5rem',
284
+ lg: '0.75rem',
285
+ xl: '1rem',
286
+ '2xl': '1.5rem',
287
+ '3xl': '2rem',
288
+ full: '9999px'
289
+ }
290
+ },
291
+ // Spotify-inspired theme
292
+ spotify: {
293
+ name: 'Spotify',
294
+ colors: {
295
+ light: {
296
+ background: '0 0% 100%',
297
+ foreground: '0 0% 0%',
298
+ card: '0 0% 97%',
299
+ cardForeground: '0 0% 0%',
300
+ popover: '0 0% 100%',
301
+ popoverForeground: '0 0% 0%',
302
+ primary: '142 73% 37%',
303
+ // Spotify green
304
+ primaryForeground: '0 0% 100%',
305
+ secondary: '210 4% 91%',
306
+ secondaryForeground: '210 5% 35%',
307
+ muted: '210 4% 91%',
308
+ mutedForeground: '210 5% 35%',
309
+ accent: '142 73% 37%',
310
+ accentForeground: '0 0% 100%',
311
+ destructive: '0 63% 31%',
312
+ destructiveForeground: '0 0% 100%',
313
+ border: '214.3 31.8% 91.4%',
314
+ input: '214.3 31.8% 91.4%',
315
+ ring: '142 73% 37%'
316
+ },
317
+ dark: {
318
+ background: '0 0% 11%',
319
+ foreground: '0 0% 98%',
320
+ card: '0 0% 15%',
321
+ cardForeground: '0 0% 98%',
322
+ popover: '0 0% 15%',
323
+ popoverForeground: '0 0% 98%',
324
+ primary: '141 76% 48%',
325
+ // Spotify green
326
+ primaryForeground: '0 0% 2%',
327
+ secondary: '0 0% 18%',
328
+ secondaryForeground: '0 0% 98%',
329
+ muted: '0 0% 18%',
330
+ mutedForeground: '0 0% 65%',
331
+ accent: '141 76% 48%',
332
+ accentForeground: '0 0% 2%',
333
+ destructive: '0 84% 60%',
334
+ destructiveForeground: '0 0% 98%',
335
+ border: '240 3.7% 26%',
336
+ input: '240 3.7% 26%',
337
+ ring: '141 76% 48%'
338
+ }
339
+ },
340
+ fontSizes: {
341
+ xs: '0.75rem',
342
+ sm: '0.875rem',
343
+ base: '1rem',
344
+ lg: '1.125rem',
345
+ xl: '1.25rem',
346
+ '2xl': '1.5rem',
347
+ '3xl': '1.875rem',
348
+ '4xl': '2.25rem',
349
+ '5xl': '3rem'
350
+ },
351
+ spacing: {
352
+ px: '1px',
353
+ 0: '0px',
354
+ 0.5: '0.125rem',
355
+ 1: '0.25rem',
356
+ 1.5: '0.375rem',
357
+ 2: '0.5rem',
358
+ 2.5: '0.625rem',
359
+ 3: '0.75rem',
360
+ 3.5: '0.875rem',
361
+ 4: '1rem',
362
+ 5: '1.25rem',
363
+ 6: '1.5rem',
364
+ 8: '2rem',
365
+ 10: '2.5rem',
366
+ 12: '3rem',
367
+ 16: '4rem',
368
+ 20: '5rem',
369
+ 24: '6rem',
370
+ 32: '8rem',
371
+ 40: '10rem',
372
+ 48: '12rem',
373
+ 56: '14rem',
374
+ 64: '16rem'
375
+ },
376
+ borderRadius: {
377
+ none: '0',
378
+ sm: '0.25rem',
379
+ DEFAULT: '0.5rem',
380
+ md: '0.625rem',
381
+ lg: '0.75rem',
382
+ xl: '1rem',
383
+ '2xl': '1.5rem',
384
+ '3xl': '2rem',
385
+ full: '9999px'
386
+ }
387
+ }
388
+ };export{themeRegistry};//# sourceMappingURL=themeRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themeRegistry.js","sources":["../../../src/components/ThemeProvider/themeRegistry.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { Theme, ThemeOptions } from './types';
2
+ /**
3
+ * Converts an HSL color string (like '210 40% 98%') to a hex color code
4
+ * @param hsl HSL color string in the format 'hue saturation% lightness%'
5
+ * @returns Hex color code like '#ffffff'
6
+ */
7
+ export declare function hslToHex(hsl: string): string;
8
+ /**
9
+ * Converts a hex color code to an HSL color string
10
+ * @param hex Hex color code like '#ffffff'
11
+ * @returns HSL color string in the format 'hue saturation% lightness%'
12
+ */
13
+ export declare function hexToHsl(hex: string): string;
14
+ /**
15
+ * Applies a theme to the document by setting CSS variables
16
+ * @param theme The theme configuration to apply
17
+ * @param options Options including dark mode flag and overrides
18
+ */
19
+ export declare function applyTheme(theme: Theme, options: ThemeOptions): void;
20
+ /**
21
+ * Generates a color palette from a primary color
22
+ * @param primaryColor HSL color string for the primary color
23
+ * @returns Object with color variations
24
+ */
25
+ export declare function generateColorPalette(primaryColor: string): Record<string, string>;
26
+ //# sourceMappingURL=themeUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themeUtils.d.ts","sourceRoot":"","sources":["../../../src/components/ThemeProvider/themeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoC5C;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgD5C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CA+DpE;AA0BD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsBjF"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Converts an HSL color string (like '210 40% 98%') to a hex color code
3
+ * @param hsl HSL color string in the format 'hue saturation% lightness%'
4
+ * @returns Hex color code like '#ffffff'
5
+ */
6
+ /**
7
+ * Converts a hex color code to an HSL color string
8
+ * @param hex Hex color code like '#ffffff'
9
+ * @returns HSL color string in the format 'hue saturation% lightness%'
10
+ */
11
+ function hexToHsl(hex) {
12
+ // Remove the # if present
13
+ hex = hex.replace(/^#/, '');
14
+ // Parse the hex values
15
+ let r, g, b;
16
+ if (hex.length === 3) {
17
+ r = parseInt(hex[0] + hex[0], 16) / 255;
18
+ g = parseInt(hex[1] + hex[1], 16) / 255;
19
+ b = parseInt(hex[2] + hex[2], 16) / 255;
20
+ } else {
21
+ r = parseInt(hex.substring(0, 2), 16) / 255;
22
+ g = parseInt(hex.substring(2, 4), 16) / 255;
23
+ b = parseInt(hex.substring(4, 6), 16) / 255;
24
+ }
25
+ // Find the min and max values to calculate saturation
26
+ const max = Math.max(r, g, b);
27
+ const min = Math.min(r, g, b);
28
+ // Calculate lightness
29
+ const lightness = (max + min) / 2;
30
+ // Calculate saturation
31
+ let s = 0;
32
+ if (max !== min) {
33
+ s = lightness > 0.5 ? (max - min) / (2 - max - min) : (max - min) / (max + min);
34
+ }
35
+ // Calculate hue
36
+ let h = 0;
37
+ if (max !== min) {
38
+ if (max === r) {
39
+ h = (g - b) / (max - min) + (g < b ? 6 : 0);
40
+ } else if (max === g) {
41
+ h = (b - r) / (max - min) + 2;
42
+ } else {
43
+ h = (r - g) / (max - min) + 4;
44
+ }
45
+ h *= 60;
46
+ }
47
+ // Round values
48
+ h = Math.round(h);
49
+ s = Math.round(s * 100);
50
+ const l = Math.round(lightness * 100);
51
+ return `${h} ${s}% ${l}%`;
52
+ }
53
+ /**
54
+ * Applies a theme to the document by setting CSS variables
55
+ * @param theme The theme configuration to apply
56
+ * @param options Options including dark mode flag and overrides
57
+ */
58
+ function applyTheme(theme, options) {
59
+ const {
60
+ isDarkMode,
61
+ primaryColor,
62
+ fontFamily
63
+ } = options;
64
+ const modeKey = isDarkMode ? 'dark' : 'light';
65
+ const colors = theme.colors[modeKey];
66
+ // Apply all variables from the theme
67
+ Object.entries(colors).forEach(([key, value]) => {
68
+ document.documentElement.style.setProperty(`--${key}`, value);
69
+ });
70
+ // Override primary color if specified
71
+ if (primaryColor) {
72
+ try {
73
+ // Convert to HSL format if it's a hex color
74
+ if (primaryColor.startsWith('#')) {
75
+ const hslValue = hexToHsl(primaryColor);
76
+ document.documentElement.style.setProperty('--primary', hslValue);
77
+ // Generate primary foreground color - typically white or black depending on primary color lightness
78
+ const [,, lightness] = hslValue.split(' ');
79
+ const light = parseInt(lightness.replace('%', ''), 10);
80
+ const foreground = light > 60 ? '0 0% 0%' : '0 0% 100%';
81
+ document.documentElement.style.setProperty('--primary-foreground', foreground);
82
+ // Update ring color to match primary
83
+ document.documentElement.style.setProperty('--ring', hslValue);
84
+ // Apply related styles
85
+ applyThemeColors(theme, hslValue);
86
+ } else {
87
+ document.documentElement.style.setProperty('--primary', primaryColor);
88
+ }
89
+ } catch (error) {
90
+ console.error('Failed to apply primary color:', error);
91
+ }
92
+ }
93
+ // Apply all typography
94
+ if (fontFamily) {
95
+ document.documentElement.style.setProperty('--font-family', fontFamily);
96
+ document.documentElement.style.fontFamily = fontFamily;
97
+ }
98
+ // Apply font sizes
99
+ Object.entries(theme.fontSizes).forEach(([key, value]) => {
100
+ document.documentElement.style.setProperty(`--font-size-${key}`, value);
101
+ });
102
+ // Apply spacing
103
+ Object.entries(theme.spacing).forEach(([key, value]) => {
104
+ // CSS variables can't have dots, replace with underscores
105
+ const normalizedKey = String(key).replace('.', '_');
106
+ document.documentElement.style.setProperty(`--spacing-${normalizedKey}`, value);
107
+ });
108
+ // Apply border radius
109
+ Object.entries(theme.borderRadius).forEach(([key, value]) => {
110
+ const normalizedKey = key === 'DEFAULT' ? 'default' : key.replace(/\./g, '_');
111
+ document.documentElement.style.setProperty(`--radius-${normalizedKey}`, value);
112
+ });
113
+ // Set global radius
114
+ document.documentElement.style.setProperty('--radius', theme.borderRadius.DEFAULT);
115
+ }
116
+ /**
117
+ * Apply theme color variations based on primary color
118
+ * @param theme Current theme
119
+ * @param primaryHsl Primary color in HSL format
120
+ */
121
+ function applyThemeColors(theme, primaryHsl) {
122
+ const [hue, saturation] = primaryHsl.split(' ');
123
+ const h = parseInt(hue, 10);
124
+ const s = parseInt(saturation.replace('%', ''), 10);
125
+ // Generate accent color based on primary (typically a lighter variant)
126
+ const accentH = (h + 10) % 360; // Slightly shift hue
127
+ const accentS = Math.max(0, s - 15); // Slightly less saturated
128
+ const accentL = 95; // Light background
129
+ document.documentElement.style.setProperty('--accent', `${accentH} ${accentS}% ${accentL}%`);
130
+ // Generate accent foreground (text on accent)
131
+ document.documentElement.style.setProperty('--accent-foreground', `${h} ${s}% 20%`);
132
+ // For muted colors (using hue but lower saturation)
133
+ document.documentElement.style.setProperty('--muted', `${h} 10% 95%`);
134
+ document.documentElement.style.setProperty('--muted-foreground', `${h} 10% 40%`);
135
+ }export{applyTheme,hexToHsl};//# sourceMappingURL=themeUtils.js.map