UNPKG

@gechiui/components

Version:
40 lines (35 loc) 962 B
import { createElement } from "@gechiui/element"; /** * External dependencies */ import { CacheProvider } from '@emotion/react'; import createCache from '@emotion/cache'; import memoize from 'memize'; import * as uuid from 'uuid'; const uuidCache = new Set(); const memoizedCreateCacheWithContainer = memoize(container => { // emotion only accepts alphabetical and hyphenated keys so we just strip the numbers from the UUID. It _should_ be fine. let key = uuid.v4().replace(/[0-9]/g, ''); while (uuidCache.has(key)) { key = uuid.v4().replace(/[0-9]/g, ''); } uuidCache.add(key); return createCache({ container, key }); }); export default function StyleProvider(_ref) { let { children, document } = _ref; if (!document) { return null; } const cache = memoizedCreateCacheWithContainer(document.head); return createElement(CacheProvider, { value: cache }, children); } //# sourceMappingURL=index.js.map