UNPKG

fannypack-v5

Version:

An accessible, composable, and friendly React UI Kit

54 lines (45 loc) 1.78 kB
import { useMemo } from 'react'; import '../Provider/ThemeContext.js'; import classNames from 'classnames'; import 'emotion'; import '@emotion/core'; import 'emotion-theming'; import '@emotion/styled'; import { useTheme } from './useTheme.js'; import { _ as _objectSpread2 } from '../chunk-0c448560.js'; import _uniq from 'lodash/uniq'; function useClassName(_ref) { var style = _ref.style, prevClassName = _ref.prevClassName, styleProps = _ref.styleProps, themeKey = _ref.themeKey, themeKeyOverride = _ref.themeKeyOverride, themeKeySuffix = _ref.themeKeySuffix; var _useTheme = useTheme(), theme = _useTheme.theme; var newThemeKey = "" + (themeKeyOverride || themeKey || '') + (themeKeySuffix ? "." + themeKeySuffix : ''); var className = useMemo(function () { var className; if (Array.isArray(style)) { className = style.map(function (style) { return style(_objectSpread2(_objectSpread2({ theme: theme }, styleProps), {}, { themeKey: newThemeKey })); }); } else { className = [style(_objectSpread2(_objectSpread2({ theme: theme }, styleProps), {}, { themeKey: newThemeKey }))]; } return className; }, [newThemeKey, style, styleProps, theme]); var originalThemeKey = themeKeyOverride ? "" + (themeKey || '') + (themeKeySuffix ? "." + themeKeySuffix : '') : undefined; var classNames$1 = classNames.apply(void 0, className.concat([prevClassName, newThemeKey ? "fp-" + newThemeKey.replace(/\./g, '') : undefined, originalThemeKey ? "fp-" + originalThemeKey.replace(/\./g, '') : undefined])); var uniqueClassNames = _uniq(classNames$1.split(' ')).join(' '); return uniqueClassNames; } export { useClassName };