hey-pharmacist-ecommerce 1.1.39 → 1.1.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import React10, { createContext, forwardRef, useContext, useEffect, useState, useCallback, useRef, useMemo } from 'react';
2
+ import React10, { createContext, forwardRef, useContext, useLayoutEffect, useEffect, useState, useCallback, useRef, useMemo } from 'react';
3
3
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
4
4
  import globalAxios21 from 'axios';
5
5
  import { motion, AnimatePresence, useMotionValue, useTransform } from 'framer-motion';
@@ -226,29 +226,55 @@ function useTheme() {
226
226
  }
227
227
  return context;
228
228
  }
229
+ var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
229
230
  function ThemeProvider({ config, children }) {
230
- useEffect(() => {
231
+ const cssVariables = React10.useMemo(() => {
231
232
  const primaryShades = generateColorShades(config.colors.primary);
232
233
  const secondaryShades = generateColorShades(config.colors.secondary);
233
234
  const accentShades = generateColorShades(config.colors.accent);
234
- const root = document.documentElement;
235
+ const vars = [];
236
+ vars.push(`--color-primary: ${config.colors.primary}`);
237
+ vars.push(`--color-primary-dark: ${config.colors.primaryDark}`);
238
+ vars.push(`--color-secondary: ${config.colors.secondary}`);
239
+ vars.push(`--color-accent: ${config.colors.accent}`);
240
+ vars.push(`--color-accent-dark: ${config.colors.accentDark}`);
241
+ vars.push(`--color-text-muted: ${config.colors.textMuted}`);
235
242
  Object.entries(primaryShades).forEach(([shade, rgb]) => {
236
- root.style.setProperty(`--color-primary-${shade}`, rgb);
243
+ vars.push(`--color-primary-${shade}: ${rgb}`);
237
244
  });
238
245
  Object.entries(secondaryShades).forEach(([shade, rgb]) => {
239
- root.style.setProperty(`--color-secondary-${shade}`, rgb);
246
+ vars.push(`--color-secondary-${shade}: ${rgb}`);
240
247
  });
241
248
  Object.entries(accentShades).forEach(([shade, rgb]) => {
242
- root.style.setProperty(`--color-accent-${shade}`, rgb);
249
+ vars.push(`--color-accent-${shade}: ${rgb}`);
243
250
  });
251
+ return vars.join("; ");
252
+ }, [config.colors]);
253
+ useIsomorphicLayoutEffect(() => {
254
+ const root = document.documentElement;
255
+ const primaryShades = generateColorShades(config.colors.primary);
256
+ const secondaryShades = generateColorShades(config.colors.secondary);
257
+ const accentShades = generateColorShades(config.colors.accent);
244
258
  root.style.setProperty("--color-primary", config.colors.primary);
245
259
  root.style.setProperty("--color-primary-dark", config.colors.primaryDark);
246
260
  root.style.setProperty("--color-secondary", config.colors.secondary);
247
261
  root.style.setProperty("--color-accent", config.colors.accent);
248
262
  root.style.setProperty("--color-accent-dark", config.colors.accentDark);
249
263
  root.style.setProperty("--color-text-muted", config.colors.textMuted);
264
+ Object.entries(primaryShades).forEach(([shade, rgb]) => {
265
+ root.style.setProperty(`--color-primary-${shade}`, rgb);
266
+ });
267
+ Object.entries(secondaryShades).forEach(([shade, rgb]) => {
268
+ root.style.setProperty(`--color-secondary-${shade}`, rgb);
269
+ });
270
+ Object.entries(accentShades).forEach(([shade, rgb]) => {
271
+ root.style.setProperty(`--color-accent-${shade}`, rgb);
272
+ });
250
273
  }, [config]);
251
- return /* @__PURE__ */ jsx(ThemeContext.Provider, { value: { config }, children });
274
+ return /* @__PURE__ */ jsxs(ThemeContext.Provider, { value: { config }, children: [
275
+ /* @__PURE__ */ jsx("style", { dangerouslySetInnerHTML: { __html: `:root { ${cssVariables} }` } }),
276
+ children
277
+ ] });
252
278
  }
253
279
 
254
280
  // src/providers/AuthProvider.tsx