UNPKG

@cimpress/react-components

Version:
30 lines 1.05 kB
import { useMemo } from 'react'; import { v4 as uuid } from 'uuid'; import * as colors from './colors'; function createUniqueId(label) { const uniqueId = label ? `${label}-${uuid()}` : uuid(); return uniqueId.replace(/[^A-Za-z0-9-]/gi, ''); } export const mapBsStyleToColor = (bsStyle, { shade = 'base', fallback = colors.coal } = {}) => { let result = colors[bsStyle]; if (typeof result === 'object' && result[shade]) { result = result[shade]; } else { result = fallback; } return result; }; export const useMemoizedId = ({ id, label }) => useMemo(() => id || createUniqueId(label), [id, label]); export function deprecatedProp(validator, suggestion = '') { return function deprecated(props, propName, ...rest) { if (props[propName] != null) { console.warn(`${propName} is deprecated. ${suggestion}`); } return validator(props, propName, ...rest); }; } export function isBrowser() { return typeof window !== 'undefined'; } //# sourceMappingURL=utils.js.map