@arcblock/ux 3.0.25 → 3.0.27

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.
@@ -33,6 +33,8 @@ export interface ColorSchemeContextType {
33
33
  changeMode: (mode: PaletteMode) => void;
34
34
  prefer?: Prefer;
35
35
  }
36
+ export type UxTheme = ThemeOptions | ((parentTheme: Theme, context?: { mode: PaletteMode }) => Theme);
37
+ export type Prefer = 'light' | 'dark' | 'system';
36
38
 
37
39
  export const ColorSchemeContext = createContext<ColorSchemeContextType>({} as ColorSchemeContextType);
38
40
  export function useColorScheme() {
@@ -77,6 +79,9 @@ function DarkSchemeStyles({ className = undefined }: { className?: string }) {
77
79
  const webkitThumb = prefix
78
80
  ? `${prefix}::-webkit-scrollbar-thumb, ${prefix} *::-webkit-scrollbar-thumb`
79
81
  : '*::-webkit-scrollbar-thumb';
82
+ const webKitCorner = prefix
83
+ ? `${prefix}::-webkit-scrollbar-corner, ${prefix} *::-webkit-scrollbar-corner`
84
+ : '*::-webkit-scrollbar-corner';
80
85
  const firefoxSelector = prefix ? `${prefix}, ${prefix} *` : '*';
81
86
 
82
87
  return (
@@ -102,6 +107,9 @@ function DarkSchemeStyles({ className = undefined }: { className?: string }) {
102
107
  backgroundClip: 'padding-box',
103
108
  },
104
109
  },
110
+ [webKitCorner]: {
111
+ background: trackColor,
112
+ },
105
113
  },
106
114
  // Firefox
107
115
  '@supports not selector(::-webkit-scrollbar)': {
@@ -118,8 +126,8 @@ function DarkSchemeStyles({ className = undefined }: { className?: string }) {
118
126
  return null;
119
127
  }
120
128
 
121
- export type UxTheme = ThemeOptions | ((parentTheme: Theme, context?: { mode: PaletteMode }) => Theme);
122
- export type Prefer = 'light' | 'dark' | 'system';
129
+ let injectedCssBaseline = false;
130
+ const injectedDarkSchemeStylesMap: Record<string, boolean> = {};
123
131
 
124
132
  interface BaseThemeProviderProps {
125
133
  children?: React.ReactNode;
@@ -127,17 +135,16 @@ interface BaseThemeProviderProps {
127
135
  injectFirst?: boolean;
128
136
  /** 指定一个类名,DarkSchemeStyles 只会作用于带有该类的元素及其后代 */
129
137
  darkSchemeClass?: string;
138
+ /** 禁用样式缓存 */
139
+ disableStyleCache?: boolean;
130
140
  }
131
-
132
- let injectedCssBaseline = false;
133
- const injectedDarkSchemeStylesMap: Record<string, boolean> = {};
134
-
135
141
  /** 快速配置 MUI 主题 */
136
142
  function BaseThemeProvider({
137
143
  children = null,
138
144
  theme = defaultTheme,
139
145
  injectFirst = true,
140
146
  darkSchemeClass = '',
147
+ disableStyleCache = false,
141
148
  }: BaseThemeProviderProps) {
142
149
  const _theme = useMemo(() => {
143
150
  if (typeof theme === 'function') {
@@ -151,18 +158,20 @@ function BaseThemeProvider({
151
158
  }, [theme]);
152
159
 
153
160
  const cssBaseline = useCreation(() => {
154
- if (injectedCssBaseline) return null;
161
+ if (disableStyleCache) return <CssBaseline />;
155
162
 
163
+ if (injectedCssBaseline) return null;
156
164
  injectedCssBaseline = true;
157
165
  return <CssBaseline />;
158
- }, []);
166
+ }, [disableStyleCache]);
159
167
 
160
168
  const darkSchemeStyles = useCreation(() => {
161
- if (injectedDarkSchemeStylesMap[darkSchemeClass]) return null;
169
+ if (disableStyleCache) return <DarkSchemeStyles className={darkSchemeClass} />;
162
170
 
171
+ if (injectedDarkSchemeStylesMap[darkSchemeClass]) return null;
163
172
  injectedDarkSchemeStylesMap[darkSchemeClass] = true;
164
173
  return <DarkSchemeStyles className={darkSchemeClass} />;
165
- }, [darkSchemeClass]);
174
+ }, [darkSchemeClass, disableStyleCache]);
166
175
 
167
176
  return (
168
177
  // injectFirst 会影响 makeStyles 自定义样式和 mui styles 覆盖问题
@@ -180,7 +189,6 @@ interface ColorSchemeProviderProps extends BaseThemeProviderProps {
180
189
  prefer?: Prefer;
181
190
  disableBlockletTheme?: boolean;
182
191
  }
183
-
184
192
  /** 配置带颜色模式切换功能的 MUI 主题 */
185
193
  function ColorSchemeProvider({
186
194
  children = null,
@@ -349,7 +357,6 @@ export interface ThemeProviderProps extends ColorSchemeProviderProps {
349
357
  */
350
358
  enableColorScheme?: boolean;
351
359
  }
352
-
353
360
  export default function ThemeProvider({
354
361
  children = null,
355
362
  prefer = undefined,