mirror of
https://github.com/zhigang1992/nativewind.git
synced 2026-06-15 18:27:52 +08:00
feat: add feature preview flag
This commit is contained in:
10
README.md
10
README.md
@@ -203,11 +203,11 @@ function MyAppsProviders ({ children }) {
|
||||
|
||||
You don't need to provide these props if you are using Babel or spreading the CLI output.
|
||||
|
||||
| Prop | Values | Default | Description |
|
||||
| -------- | ------------------------------------------------------------------- | ----------- | ----------------------------------------- |
|
||||
| platform | `web`, `native`, `ios`, `android`, `windows`, `macos`, `web-inline` | Platform.OS | Specifies how the styles are transformed. |
|
||||
| style | Compiled style object | | |
|
||||
| media | Compiled media object | | |
|
||||
| Prop | Values | Default | Description |
|
||||
| -------- | ----------------------------------------------------- | ----------- | ----------------------------------------- |
|
||||
| platform | `web`, `native`, `ios`, `android`, `windows`, `macos` | Platform.OS | Specifies how the styles are transformed. |
|
||||
| style | Compiled style object | | |
|
||||
| media | Compiled media object | | |
|
||||
|
||||
## Component API
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ tailwindRunner("Platform Prefixes", [
|
||||
"web_w-px.0": { width: 1 },
|
||||
},
|
||||
media: {
|
||||
"web_w-px": ["web-inline"],
|
||||
"web_w-px": ["web"],
|
||||
},
|
||||
},
|
||||
],
|
||||
|
||||
@@ -31,3 +31,5 @@ export const TailwindSetColorSchemeContext = createContext<
|
||||
export const TailwindPlatformContext = createContext<Platform | undefined>(
|
||||
undefined
|
||||
);
|
||||
|
||||
export const TailwindPreviewContext = createContext<boolean>(false);
|
||||
|
||||
@@ -10,6 +10,4 @@ export default plugin(function ({ addVariant }) {
|
||||
"native",
|
||||
nativePlatforms.map((platform) => `@media ${platform}`)
|
||||
);
|
||||
|
||||
addVariant("web", "@media web-inline");
|
||||
});
|
||||
|
||||
@@ -7,6 +7,7 @@ import {
|
||||
TailwindColorSchemeContext,
|
||||
TailwindMediaContext,
|
||||
TailwindPlatformContext,
|
||||
TailwindPreviewContext,
|
||||
TailwindSetColorSchemeContext,
|
||||
TailwindStyleContext,
|
||||
} from "./context";
|
||||
@@ -16,6 +17,7 @@ export interface TailwindProviderProps {
|
||||
media?: MediaRecord;
|
||||
colorScheme?: ColorSchemeName;
|
||||
platform?: typeof Platform.OS | "native";
|
||||
preview?: boolean;
|
||||
}
|
||||
|
||||
export function TailwindProvider({
|
||||
@@ -23,6 +25,7 @@ export function TailwindProvider({
|
||||
media = globalThis.tailwindcss_react_native_media,
|
||||
colorScheme: overrideColorScheme,
|
||||
platform = Platform.OS,
|
||||
preview = false,
|
||||
children,
|
||||
}: PropsWithChildren<TailwindProviderProps>) {
|
||||
const [colorScheme, setColorScheme] = useState<ColorSchemeName>(
|
||||
@@ -33,13 +36,15 @@ export function TailwindProvider({
|
||||
<TailwindStyleContext.Provider value={styles}>
|
||||
<TailwindMediaContext.Provider value={media}>
|
||||
<TailwindPlatformContext.Provider value={platform}>
|
||||
<TailwindColorSchemeContext.Provider
|
||||
value={overrideColorScheme || colorScheme}
|
||||
>
|
||||
<TailwindSetColorSchemeContext.Provider value={setColorScheme}>
|
||||
{children}
|
||||
</TailwindSetColorSchemeContext.Provider>
|
||||
</TailwindColorSchemeContext.Provider>
|
||||
<TailwindPreviewContext.Provider value={preview}>
|
||||
<TailwindColorSchemeContext.Provider
|
||||
value={overrideColorScheme || colorScheme}
|
||||
>
|
||||
<TailwindSetColorSchemeContext.Provider value={setColorScheme}>
|
||||
{children}
|
||||
</TailwindSetColorSchemeContext.Provider>
|
||||
</TailwindColorSchemeContext.Provider>
|
||||
</TailwindPreviewContext.Provider>
|
||||
</TailwindPlatformContext.Provider>
|
||||
</TailwindMediaContext.Provider>
|
||||
</TailwindStyleContext.Provider>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Platform } from "react-native";
|
||||
|
||||
export type Platform = typeof Platform.OS | "native" | "web-inline";
|
||||
export type Platform = typeof Platform.OS | "native";
|
||||
|
||||
export const platforms: Platform[] = [
|
||||
"android",
|
||||
@@ -9,7 +9,6 @@ export const platforms: Platform[] = [
|
||||
"native",
|
||||
"windows",
|
||||
"macos",
|
||||
"web-inline",
|
||||
];
|
||||
|
||||
export const nativePlatforms: Platform[] = [
|
||||
|
||||
Reference in New Issue
Block a user