@vkzstudio/muza-ui 1.0.25 → 1.0.26

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.
Files changed (34) hide show
  1. package/dist/components/DropdownMenu/DropdownMenu.d.ts +1 -1
  2. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  3. package/dist/components/DropdownMenu/DropdownMenu.js +17 -14
  4. package/dist/components/DropdownMenu/DropdownMenu.stories.d.ts +1 -1
  5. package/dist/components/MuzaUIProvider/MuzaUIProvider.d.ts +10 -3
  6. package/dist/components/MuzaUIProvider/MuzaUIProvider.d.ts.map +1 -1
  7. package/dist/components/MuzaUIProvider/MuzaUIProvider.js +14 -12
  8. package/dist/components/MuzaUIProvider/MuzaUIProvider.stories.d.ts +2 -0
  9. package/dist/components/MuzaUIProvider/MuzaUIProvider.stories.d.ts.map +1 -1
  10. package/dist/components/MuzaUIProvider/index.d.ts +4 -0
  11. package/dist/components/MuzaUIProvider/index.d.ts.map +1 -1
  12. package/dist/components/MuzaUIProvider/theme/ThemeProvider.d.ts +76 -0
  13. package/dist/components/MuzaUIProvider/theme/ThemeProvider.d.ts.map +1 -0
  14. package/dist/components/MuzaUIProvider/theme/ThemeProvider.js +82 -0
  15. package/dist/components/MuzaUIProvider/theme/ThemeSetterModal.d.ts +7 -0
  16. package/dist/components/MuzaUIProvider/theme/ThemeSetterModal.d.ts.map +1 -0
  17. package/dist/components/MuzaUIProvider/theme/ThemeSetterModal.js +303 -0
  18. package/dist/components/MuzaUIProvider/theme/colorShades.d.ts +31 -0
  19. package/dist/components/MuzaUIProvider/theme/colorShades.d.ts.map +1 -0
  20. package/dist/components/MuzaUIProvider/theme/colorShades.js +131 -0
  21. package/dist/components/MuzaUIProvider/theme/index.d.ts +5 -0
  22. package/dist/components/MuzaUIProvider/theme/index.d.ts.map +1 -0
  23. package/dist/components/MuzaUIProvider/theme/setThemeVariables.d.ts +39 -0
  24. package/dist/components/MuzaUIProvider/theme/setThemeVariables.d.ts.map +1 -0
  25. package/dist/components/MuzaUIProvider/theme/setThemeVariables.js +44 -0
  26. package/dist/components/MuzaUIProvider/theme/themePresets.d.ts +7 -0
  27. package/dist/components/MuzaUIProvider/theme/themePresets.d.ts.map +1 -0
  28. package/dist/components/MuzaUIProvider/theme/themePresets.js +77 -0
  29. package/dist/components/MuzaUIProvider/theme/useKeyboardShortcut.d.ts +16 -0
  30. package/dist/components/MuzaUIProvider/theme/useKeyboardShortcut.d.ts.map +1 -0
  31. package/dist/components/MuzaUIProvider/theme/useKeyboardShortcut.js +22 -0
  32. package/dist/index.js +140 -131
  33. package/dist/muza-ui.css +1 -1
  34. package/package.json +1 -1
@@ -80,7 +80,7 @@ export type DropdownMenuButtonItemProps = React.ComponentProps<typeof DropdownMe
80
80
  };
81
81
  /** Standard clickable menu item with optional icon and variant styling. */
82
82
  declare const DropdownMenuItem: ({ className, variant, children, icon, disabled, isActive, ...props }: DropdownMenuItemProps) => import("react/jsx-runtime").JSX.Element;
83
- declare const DropdownMenuButtonItem: ({ children, buttonProps, ...props }: DropdownMenuButtonItemProps) => import("react/jsx-runtime").JSX.Element;
83
+ declare const DropdownMenuButtonItem: ({ children, buttonProps, className, ...props }: DropdownMenuButtonItemProps) => import("react/jsx-runtime").JSX.Element;
84
84
  declare const DropdownMenuCheckboxItem: ({ className, children, checked, variant, icon, ...props }: DropdownMenuCheckboxItemProps) => import("react/jsx-runtime").JSX.Element;
85
85
  declare const DropdownMenuRadioGroup: ({ value, onValueChange, ...props }: DropdownMenuRadioGroupProps) => import("react/jsx-runtime").JSX.Element;
86
86
  declare const DropdownMenuRadioItem: React.ForwardRefExoticComponent<Omit<DropdownMenuRadioItemProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../../src/components/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../../src/components/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { jsx as e, jsxs as p } from "react/jsx-runtime";
2
- import * as l from "react";
2
+ import * as m from "react";
3
3
  import * as d from "@radix-ui/react-dropdown-menu";
4
4
  import { cva as k } from "class-variance-authority";
5
- import { Button as y } from "../Button/Button.js";
5
+ import { Button as N } from "../Button/Button.js";
6
6
  import { cn as i } from "../../utils/cn.js";
7
7
  import { Typography as b } from "../Typography/Typography.js";
8
8
  import { UnreadOutline as x } from "@solar-icons/react-perf";
9
- const h = l.createContext(null), N = () => l.useContext(h), T = ({ ...o }) => /* @__PURE__ */ e(d.Root, { "data-slot": "dropdown-menu", ...o }), P = ({ ...o }) => /* @__PURE__ */ e(d.Portal, { "data-slot": "dropdown-menu-portal", ...o }), G = ({ ...o }) => /* @__PURE__ */ e(
9
+ const h = m.createContext(null), y = () => m.useContext(h), T = ({ ...o }) => /* @__PURE__ */ e(d.Root, { "data-slot": "dropdown-menu", ...o }), P = ({ ...o }) => /* @__PURE__ */ e(d.Portal, { "data-slot": "dropdown-menu-portal", ...o }), G = ({ ...o }) => /* @__PURE__ */ e(
10
10
  d.Trigger,
11
11
  {
12
12
  "data-slot": "dropdown-menu-trigger",
@@ -18,14 +18,14 @@ const h = l.createContext(null), N = () => l.useContext(h), T = ({ ...o }) => /*
18
18
  align: r = "start",
19
19
  ...n
20
20
  }) => {
21
- const [s, c] = l.useState(!1), a = l.useRef(null);
22
- return l.useEffect(() => {
23
- const m = () => {
21
+ const [s, c] = m.useState(!1), a = m.useRef(null);
22
+ return m.useEffect(() => {
23
+ const l = () => {
24
24
  if (a.current) {
25
25
  const { scrollHeight: g, clientHeight: v } = a.current;
26
26
  c(g > v);
27
27
  }
28
- }, u = setTimeout(m, 10), w = new ResizeObserver(m);
28
+ }, u = setTimeout(l, 10), w = new ResizeObserver(l);
29
29
  return a.current && w.observe(a.current), () => {
30
30
  clearTimeout(u), w.disconnect();
31
31
  };
@@ -130,26 +130,29 @@ const h = l.createContext(null), N = () => l.useContext(h), T = ({ ...o }) => /*
130
130
  ), H = ({
131
131
  children: o,
132
132
  buttonProps: t,
133
- ...r
134
- }) => /* @__PURE__ */ e(
133
+ className: r,
134
+ ...n
135
+ }) => /* @__PURE__ */ e("div", { className: "px-lg", children: /* @__PURE__ */ e(
135
136
  d.Item,
136
137
  {
137
138
  "data-slot": "dropdown-menu-item",
138
139
  asChild: !0,
139
- ...r,
140
+ ...n,
140
141
  children: /* @__PURE__ */ e(
141
- y,
142
+ N,
142
143
  {
144
+ fullWidth: !0,
143
145
  ...t,
144
146
  className: i(
145
147
  "outline-0 hover:ring-transparent",
148
+ r,
146
149
  t.className
147
150
  ),
148
151
  children: o
149
152
  }
150
153
  )
151
154
  }
152
- ), O = ({
155
+ ) }), O = ({
153
156
  className: o,
154
157
  children: t,
155
158
  checked: r,
@@ -208,8 +211,8 @@ const h = l.createContext(null), N = () => l.useContext(h), T = ({ ...o }) => /*
208
211
  onValueChange: t,
209
212
  ...r
210
213
  }
211
- ) }), I = l.forwardRef(({ className: o, children: t, variant: r, icon: n, value: s, ...c }, a) => {
212
- const m = N(), u = (m == null ? void 0 : m.value) === s;
214
+ ) }), I = m.forwardRef(({ className: o, children: t, variant: r, icon: n, value: s, ...c }, a) => {
215
+ const l = y(), u = (l == null ? void 0 : l.value) === s;
213
216
  return /* @__PURE__ */ p(
214
217
  d.RadioItem,
215
218
  {
@@ -10,7 +10,7 @@ declare const meta: {
10
10
  DropdownMenuRadioGroup: ({ value, onValueChange, ...props }: import('./DropdownMenu').DropdownMenuRadioGroupProps) => import("react/jsx-runtime").JSX.Element;
11
11
  DropdownMenuRadioItem: import('react').ForwardRefExoticComponent<Omit<import('./DropdownMenu').DropdownMenuRadioItemProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
12
12
  DropdownMenuSeparator: ({ className, ...props }: import('./DropdownMenu').DropdownMenuSeparatorProps) => import("react/jsx-runtime").JSX.Element;
13
- DropdownMenuButtonItem: ({ children, buttonProps, ...props }: import('./DropdownMenu').DropdownMenuButtonItemProps) => import("react/jsx-runtime").JSX.Element;
13
+ DropdownMenuButtonItem: ({ children, buttonProps, className, ...props }: import('./DropdownMenu').DropdownMenuButtonItemProps) => import("react/jsx-runtime").JSX.Element;
14
14
  DropdownMenuPortal: ({ ...props }: import('./DropdownMenu').DropdownMenuPortalProps) => import("react/jsx-runtime").JSX.Element;
15
15
  };
16
16
  parameters: {
@@ -14,8 +14,9 @@ export type MuzaTooltipConfig = Omit<React.ComponentPropsWithoutRef<typeof Toolt
14
14
  export type MuzaToastConfig = Omit<ToasterProps, 'children'>;
15
15
  /**
16
16
  * Root provider for muza-ui library, consolidating all required context providers.
17
- * Wraps TooltipProvider, ToastContainer, and TranslationProvider to enable
18
- * tooltip, toast, and translation functionality throughout the app.
17
+ * Wraps TooltipProvider, ToastContainer, TranslationProvider, and ThemeProvider
18
+ * to enable tooltip, toast, translation, and white-label theming functionality
19
+ * throughout the app.
19
20
  */
20
21
  export interface MuzaUIProviderProps {
21
22
  /** React children to wrap with all providers */
@@ -35,9 +36,15 @@ export interface MuzaUIProviderProps {
35
36
  * @default {}
36
37
  */
37
38
  translationConfig?: TranslationConfig;
39
+ /**
40
+ * Brand color hex for white-label theming (e.g. "#14645a").
41
+ * Sets `--brand-*` CSS variables on `:root` to dynamically theme all components.
42
+ * When omitted, the default preset (purple) is used.
43
+ */
44
+ color?: string;
38
45
  }
39
46
  declare const MuzaUIProvider: {
40
- ({ children, tooltipConfig, toastConfig, translationConfig, }: MuzaUIProviderProps): import("react/jsx-runtime").JSX.Element;
47
+ ({ children, tooltipConfig, toastConfig, translationConfig, color, }: MuzaUIProviderProps): import("react/jsx-runtime").JSX.Element;
41
48
  displayName: string;
42
49
  };
43
50
  export { MuzaUIProvider };
@@ -1 +1 @@
1
- {"version":3,"file":"MuzaUIProvider.d.ts","sourceRoot":"","sources":["../../../src/components/MuzaUIProvider/MuzaUIProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE5C;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,EACtD,UAAU,CACX,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;AAE5D;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,gDAAgD;IAChD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAA;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CACtC;AAED,QAAA,MAAM,cAAc;mEAKjB,mBAAmB;;CASrB,CAAA;AAID,OAAO,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"MuzaUIProvider.d.ts","sourceRoot":"","sources":["../../../src/components/MuzaUIProvider/MuzaUIProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAG5C;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,EACtD,UAAU,CACX,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;AAE5D;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,gDAAgD;IAChD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAA;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,QAAA,MAAM,cAAc;0EAMjB,mBAAmB;;CAWrB,CAAA;AAID,OAAO,EAAE,cAAc,EAAE,CAAA"}
@@ -1,19 +1,21 @@
1
- import { jsx as r, jsxs as e } from "react/jsx-runtime";
1
+ import { jsx as r, jsxs as p } from "react/jsx-runtime";
2
2
  import "react";
3
3
  import "sonner";
4
- import { TranslationProvider as p } from "../../translations/TranslationContext.js";
5
- import { TooltipProvider as a } from "../Tooltip/Tooltip.js";
6
- import { ToastContainer as n } from "../Toast/ToastContainer.js";
7
- const d = ({
4
+ import { TranslationProvider as d } from "../../translations/TranslationContext.js";
5
+ import { TooltipProvider as n } from "../Tooltip/Tooltip.js";
6
+ import { ThemeProvider as a } from "./theme/ThemeProvider.js";
7
+ import { ToastContainer as s } from "../Toast/ToastContainer.js";
8
+ const l = ({
8
9
  children: o,
9
10
  tooltipConfig: i = {},
10
- toastConfig: t = {},
11
- translationConfig: m = {}
12
- }) => /* @__PURE__ */ r(p, { ...m, children: /* @__PURE__ */ e(a, { ...i, children: [
11
+ toastConfig: e = {},
12
+ translationConfig: m = {},
13
+ color: t
14
+ }) => /* @__PURE__ */ r(d, { ...m, children: /* @__PURE__ */ r(n, { ...i, children: /* @__PURE__ */ p(a, { color: t, children: [
13
15
  o,
14
- /* @__PURE__ */ r(n, { ...t })
15
- ] }) });
16
- d.displayName = "MuzaUIProvider";
16
+ /* @__PURE__ */ r(s, { ...e })
17
+ ] }) }) });
18
+ l.displayName = "MuzaUIProvider";
17
19
  export {
18
- d as MuzaUIProvider
20
+ l as MuzaUIProvider
19
21
  };
@@ -7,4 +7,6 @@ export declare const Default: Story;
7
7
  export declare const CustomTooltipDelay: Story;
8
8
  export declare const CustomToastPosition: Story;
9
9
  export declare const LanguageProviderShowcase: Story;
10
+ export declare const WhiteLabelTheming: Story;
11
+ export declare const ThemeDebugModal: Story;
10
12
  //# sourceMappingURL=MuzaUIProvider.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MuzaUIProvider.stories.d.ts","sourceRoot":"","sources":["../../../src/components/MuzaUIProvider/MuzaUIProvider.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAQ3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CA0ErC,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAA;AAE5C,eAAO,MAAM,OAAO,EAAE,KAoCrB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAsBhC,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAwBjC,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,KA+CtC,CAAA"}
1
+ {"version":3,"file":"MuzaUIProvider.stories.d.ts","sourceRoot":"","sources":["../../../src/components/MuzaUIProvider/MuzaUIProvider.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAQ3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIjD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CAkKrC,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAA;AAE5C,eAAO,MAAM,OAAO,EAAE,KAoCrB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAsBhC,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAwBjC,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,KA+CtC,CAAA;AAqID,eAAO,MAAM,iBAAiB,EAAE,KAmC/B,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAwD7B,CAAA"}
@@ -1,2 +1,6 @@
1
1
  export * from './MuzaUIProvider';
2
+ export { useTheme, type ColorShades, type ThemeProviderProps, } from './theme/ThemeProvider';
3
+ export { setThemeVariables, type ThemeCSSVariables, } from './theme/setThemeVariables';
4
+ export { themePresets, type ThemePresets } from './theme/themePresets';
5
+ export { generateColorShades, formatShadesAsObject, type ShadesGenerator, } from './theme/colorShades';
2
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/MuzaUIProvider/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/MuzaUIProvider/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,OAAO,EACL,QAAQ,EACR,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,iBAAiB,EACjB,KAAK,iBAAiB,GACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,eAAe,GACrB,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,76 @@
1
+ import { ShadesGenerator } from './colorShades';
2
+ import { ThemePresets } from './themePresets';
3
+ /**
4
+ * Generated color shade palette. Brand shades 100-700, opacity variants at 8/12/15%,
5
+ * plus a white value and gray scale (50-1000).
6
+ */
7
+ export type ColorShades = {
8
+ /** Lightest brand shade (mapped to --brand-tertiary) */
9
+ '100': string;
10
+ /** Light brand shade (mapped to --brand-disabled) */
11
+ '200': string;
12
+ /** Medium-light brand shade (mapped to --brand-secondary) */
13
+ '300': string;
14
+ /** Medium brand shade (mapped to --brand-quaternary) */
15
+ '400': string;
16
+ /** Primary brand shade (mapped to --brand-primary) */
17
+ '500': string;
18
+ /** Dark brand shade (mapped to --brand-hover) */
19
+ '600': string;
20
+ /** Darkest brand shade (mapped to --brand-focused) */
21
+ '700': string;
22
+ /** Primary shade at 8% opacity (mapped to --brand-8) */
23
+ '500-8': string;
24
+ /** Primary shade at 12% opacity (mapped to --brand-12) */
25
+ '500-12': string;
26
+ /** Primary shade at 15% opacity (mapped to --brand-15) */
27
+ '500-15': string;
28
+ /** Brand white value (mapped to --brand-white) */
29
+ white: string;
30
+ 'gray-100': string;
31
+ 'gray-1000': string;
32
+ 'gray-200': string;
33
+ 'gray-300': string;
34
+ 'gray-400': string;
35
+ 'gray-50': string;
36
+ 'gray-500': string;
37
+ 'gray-600': string;
38
+ 'gray-700': string;
39
+ 'gray-800': string;
40
+ 'gray-900': string;
41
+ };
42
+ interface ThemeContextValue {
43
+ shades: ColorShades;
44
+ shadesGenerator: ShadesGenerator;
45
+ setShadesFromHex: (hex: string) => void;
46
+ setShades: (shades: ColorShades) => void;
47
+ setShadesFromPreset: (preset: ThemePresets) => void;
48
+ setShadesGenerator: (generator: ShadesGenerator) => void;
49
+ setActiveColor: (color: string | undefined) => void;
50
+ }
51
+ /** Props for the ThemeProvider component. */
52
+ export interface ThemeProviderProps {
53
+ /** React children to wrap with the theme provider */
54
+ children: React.ReactNode;
55
+ /**
56
+ * Brand color hex string for white-label theming.
57
+ * Generates a full shade palette and sets --brand-* CSS variables on :root.
58
+ *
59
+ * @example
60
+ * <ThemeProvider color="#14645a">
61
+ * <App />
62
+ * </ThemeProvider>
63
+ */
64
+ color?: string;
65
+ }
66
+ export declare const ThemeProvider: {
67
+ ({ children, color }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
68
+ displayName: string;
69
+ };
70
+ /**
71
+ * Hook to access theme context.
72
+ * Provides read-only shades and setter functions for dynamic theming.
73
+ */
74
+ export declare const useTheme: () => ThemeContextValue;
75
+ export {};
76
+ //# sourceMappingURL=ThemeProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/MuzaUIProvider/theme/ThemeProvider.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,gBAAgB,CAAA;AAGhE;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAA;IACb,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAA;IACb,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAA;IACb,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAA;IACb,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAA;IACb,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAA;IACf,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAA;IAChB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAA;IAChB,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,UAAU,iBAAiB;IAEzB,MAAM,EAAE,WAAW,CAAA;IACnB,eAAe,EAAE,eAAe,CAAA;IAGhC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;IACxC,mBAAmB,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAA;IACnD,kBAAkB,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAA;IACxD,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;CACpD;AAID,6CAA6C;AAC7C,MAAM,WAAW,kBAAkB;IACjC,qDAAqD;IACrD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,aAAa;0BAAyB,kBAAkB;;CAiHpE,CAAA;AAID;;;GAGG;AACH,eAAO,MAAM,QAAQ,yBAMpB,CAAA"}
@@ -0,0 +1,82 @@
1
+ import { jsxs as j, jsx as w } from "react/jsx-runtime";
2
+ import { useContext as A, createContext as G, useState as i, useLayoutEffect as S, useCallback as C, useMemo as K } from "react";
3
+ import { ThemeSetterModal as k } from "./ThemeSetterModal.js";
4
+ import { SHADES_GENERATORS as l } from "./colorShades.js";
5
+ import { themeVariableMapping as T, setThemeVariables as H } from "./setThemeVariables.js";
6
+ import { themePresets as x } from "./themePresets.js";
7
+ import { useKeyboardShortcut as N } from "./useKeyboardShortcut.js";
8
+ const F = G(void 0), R = ({ children: n, color: b }) => {
9
+ const [g, O] = i(void 0), [s, P] = i("preserve500"), d = g ?? b ?? "", [m, o] = i(() => {
10
+ const t = x.default, e = l.preserve500, r = e(d);
11
+ return r || Object.entries(T).reduce(
12
+ (a, [h, c]) => {
13
+ const v = t[h];
14
+ return v && (a[c] = v), a;
15
+ },
16
+ {}
17
+ );
18
+ });
19
+ S(() => {
20
+ const t = l[s], e = t(d);
21
+ e && o(e);
22
+ }, [d, s]), S(() => {
23
+ H({ shades: m });
24
+ }, [m]);
25
+ const y = C(
26
+ (t) => {
27
+ const e = l[s], r = e(t);
28
+ r && o(r);
29
+ },
30
+ [s]
31
+ ), E = C(
32
+ (t) => {
33
+ const e = x[t], r = Object.entries(T).reduce(
34
+ (u, [a, h]) => {
35
+ const c = e[a];
36
+ return c && (u[h] = c), u;
37
+ },
38
+ {}
39
+ );
40
+ o(r);
41
+ },
42
+ [o]
43
+ ), [f, p] = i(!1), M = K(
44
+ () => ({ key: "l", ctrlKey: !0, shiftKey: !0 }),
45
+ []
46
+ );
47
+ return N(M, () => p(!0)), /* @__PURE__ */ j(
48
+ F.Provider,
49
+ {
50
+ value: {
51
+ shades: m,
52
+ shadesGenerator: s,
53
+ setShades: o,
54
+ setShadesFromHex: y,
55
+ setShadesFromPreset: E,
56
+ setShadesGenerator: P,
57
+ setActiveColor: O
58
+ },
59
+ children: [
60
+ n,
61
+ f && /* @__PURE__ */ w(
62
+ k,
63
+ {
64
+ isOpen: f,
65
+ onClose: () => p(!1)
66
+ }
67
+ )
68
+ ]
69
+ }
70
+ );
71
+ };
72
+ R.displayName = "ThemeProvider";
73
+ const B = () => {
74
+ const n = A(F);
75
+ if (!n)
76
+ throw new Error("useTheme must be used within ThemeProvider");
77
+ return n;
78
+ };
79
+ export {
80
+ R as ThemeProvider,
81
+ B as useTheme
82
+ };
@@ -0,0 +1,7 @@
1
+ interface ThemeSetterModalProps {
2
+ isOpen: boolean;
3
+ onClose?: () => void;
4
+ }
5
+ export declare const ThemeSetterModal: ({ isOpen, onClose, }: ThemeSetterModalProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=ThemeSetterModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeSetterModal.d.ts","sourceRoot":"","sources":["../../../../src/components/MuzaUIProvider/theme/ThemeSetterModal.tsx"],"names":[],"mappings":"AAqBA,UAAU,qBAAqB;IAC7B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAED,eAAO,MAAM,gBAAgB,GAAI,sBAG9B,qBAAqB,4CAqUvB,CAAA"}