react-native-uikit-colors
Version:
react native ui kit colors
150 lines (145 loc) • 4.36 kB
JavaScript
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
// src/utils.ts
import { Appearance, StyleSheet } from "react-native";
import {
darkElements as darkElements2,
darkPalette as darkPalette2,
lightElements as lightElements2,
lightPalette as lightPalette2
} from "apple-uikit-colors";
// src/colors.ts
import { useColorScheme, vars } from "nativewind";
import { useMemo } from "react";
import {
darkElements,
darkPalette,
lightElements,
lightPalette
} from "apple-uikit-colors";
var IS_DOM = typeof ReactNativeWebView !== "undefined";
var varPrefix = "--color";
var buildVars = (_vars) => {
const cssVars = {};
for (const [key, value] of Object.entries(_vars)) {
cssVars[`${varPrefix}-${key}`] = value;
}
return IS_DOM ? cssVars : vars(cssVars);
};
var palette = {
// iOS color palette https://developer.apple.com/design/human-interface-guidelines/color
light: buildVars(lightPalette),
dark: buildVars(darkPalette)
};
var mergedLightColors = {
...lightElements,
...lightPalette
};
var mergedDarkColors = {
...darkElements,
...darkPalette
};
var mergedColors = {
light: mergedLightColors,
dark: mergedDarkColors
};
var mergedColorsHex = {
light: Object.fromEntries(
Object.entries(mergedLightColors).map(([key, value]) => [
key,
rgbStringToRgb(value)
])
),
dark: Object.fromEntries(
Object.entries(mergedDarkColors).map(([key, value]) => [
key,
rgbStringToRgb(value)
])
)
};
var colorVariants = {
light: buildVars(lightElements),
dark: buildVars(darkElements)
};
var useColor = (color) => {
const { colorScheme } = useColorScheme();
const colors = mergedColorsHex[colorScheme || "light"];
return useMemo(() => colors[color], [color, colors]);
};
var useColorsVariants = () => {
const { colorScheme } = useColorScheme();
return mergedColors[colorScheme || "light"];
};
var useColors = () => {
const { colorScheme } = useColorScheme();
return mergedColorsHex[colorScheme || "light"];
};
var useCurrentColorsVariants = () => {
useColorScheme();
return getCurrentColors();
};
// src/utils.ts
var getCurrentColors = () => {
const colorScheme = Appearance.getColorScheme() || "light";
return StyleSheet.compose(
colorVariants[colorScheme],
palette[colorScheme]
);
};
var getSystemBackgroundColor = () => {
return getColor("systemBackground");
};
var mergedColorsLight = {
...lightElements2,
...lightPalette2
};
var mergedColorsDark = {
...darkElements2,
...darkPalette2
};
var getColor = (color) => {
const colorScheme = Appearance.getColorScheme() || "light";
const colors = colorScheme === "light" ? mergedColorsLight : mergedColorsDark;
return rgbStringToRgb(colors[color]);
};
var rgbStringToRgb = (hex) => {
const [r, g, b, a] = hex.split(" ").map((s) => Number.parseFloat(s));
return `rgba(${r}, ${g}, ${b}, ${a || 1})`;
};
export {
__commonJS,
__toESM,
getCurrentColors,
getSystemBackgroundColor,
getColor,
rgbStringToRgb,
palette,
colorVariants,
useColor,
useColorsVariants,
useColors,
useCurrentColorsVariants
};