UNPKG

@porsche-design-system/components-react

Version:

Porsche Design System is a component library designed to help developers create the best experience for software or services distributed by Dr. Ing. h.c. F. Porsche AG.

28 lines (24 loc) 1.14 kB
"use client"; 'use strict'; var jsxRuntime = require('react/jsx-runtime'); var componentsJs = require('@porsche-design-system/components-js'); var react = require('react'); // to warn users about missing PorscheDesignSystemProvider, we set the default values as undefined const PorscheDesignSystemContext = react.createContext({ prefix: undefined, }); const PorscheDesignSystemProvider = ({ prefix = '', cdn, ...props }) => { // @ts-ignore if (!process.browser) { // for ssr we set the global PORSCHE_DESIGN_SYSTEM_CDN_URL variable that is used in our getCDNBaseURL() util to respect the cdn const tld = cdn === 'cn' ? 'cn' : 'com'; // @ts-ignore global.PORSCHE_DESIGN_SYSTEM_CDN_URL = `https://cdn.ui.porsche.${tld}`; } react.useEffect(() => { componentsJs.load({ prefix, cdn }); }, []); // runtime prefix or cdn change is not supported return jsxRuntime.jsx(PorscheDesignSystemContext.Provider, { value: { prefix }, ...props }); }; exports.PorscheDesignSystemContext = PorscheDesignSystemContext; exports.PorscheDesignSystemProvider = PorscheDesignSystemProvider;