@yamada-ui/react
Version:
React UI components of the Yamada, by the Yamada, for the Yamada built with React and Emotion
44 lines (40 loc) • 1.74 kB
JavaScript
"use client";
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
const require_utils_index = require('../../utils/index.cjs');
const require_system_provider = require('../../core/system/system-provider.cjs');
const require_color_mode_provider = require('../../core/system/color-mode-provider.cjs');
const require_use_color_mode_value = require('../../core/system/use-color-mode-value.cjs');
const require_use_breakpoint = require('../use-breakpoint/use-breakpoint.cjs');
const require_use_breakpoint_value = require('../use-breakpoint/use-breakpoint-value.cjs');
let react = require("react");
react = require_rolldown_runtime.__toESM(react);
//#region src/hooks/use-value/index.ts
/**
* `useValue` is a custom hook that combines `useBreakpointValue` and `useColorModeValue`.
*
* @see https://yamada-ui.com/docs/hooks/use-value
*/
const useValue = (value) => {
const system = require_system_provider.useSystem();
const breakpoint = require_use_breakpoint.useBreakpoint();
const { colorMode } = require_color_mode_provider.useColorMode();
return (0, react.useMemo)(() => {
return getValue(value)(system, colorMode, breakpoint);
}, [
value,
system,
colorMode,
breakpoint
]);
};
const getValue = (value) => (system, colorMode, breakpoint) => {
if ((0, require_utils_index.utils_exports.isObject)(value)) return require_use_breakpoint_value.getBreakpointValue(value)(system, breakpoint);
else if ((0, require_utils_index.utils_exports.isArray)(value)) {
const [light, dark] = value;
return require_use_color_mode_value.getColorModeValue(light, dark)(colorMode);
} else return value;
};
//#endregion
exports.getValue = getValue;
exports.useValue = useValue;
//# sourceMappingURL=index.cjs.map