UNPKG

@clerk/themes

Version:

Themes for the Clerk auth components

55 lines (54 loc) 1.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.clearCache = exports.cssSupports = void 0; const CSS_FEATURE_TESTS = { relativeColorSyntax: 'color: hsl(from white h s l)', colorMix: 'color: color-mix(in srgb, white, black)', }; let SUPPORTS_RELATIVE_COLOR; let SUPPORTS_COLOR_MIX; let SUPPORTS_MODERN_COLOR; exports.cssSupports = { relativeColorSyntax: () => { if (SUPPORTS_RELATIVE_COLOR !== undefined) return SUPPORTS_RELATIVE_COLOR; try { SUPPORTS_RELATIVE_COLOR = CSS.supports(CSS_FEATURE_TESTS.relativeColorSyntax); } catch { SUPPORTS_RELATIVE_COLOR = false; } return SUPPORTS_RELATIVE_COLOR; }, colorMix: () => { if (SUPPORTS_COLOR_MIX !== undefined) return SUPPORTS_COLOR_MIX; try { SUPPORTS_COLOR_MIX = CSS.supports(CSS_FEATURE_TESTS.colorMix); } catch { SUPPORTS_COLOR_MIX = false; } return SUPPORTS_COLOR_MIX; }, /** * Returns true if either relativeColorSyntax or colorMix is supported */ modernColor() { if (SUPPORTS_MODERN_COLOR !== undefined) return SUPPORTS_MODERN_COLOR; try { SUPPORTS_MODERN_COLOR = this.relativeColorSyntax() || this.colorMix(); } catch { SUPPORTS_MODERN_COLOR = false; } return SUPPORTS_MODERN_COLOR; }, }; const clearCache = () => { SUPPORTS_RELATIVE_COLOR = undefined; SUPPORTS_COLOR_MIX = undefined; SUPPORTS_MODERN_COLOR = undefined; }; exports.clearCache = clearCache;