@snksergio/design-system 0.32.1 → 0.34.0

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 (58) hide show
  1. package/dist-lib/chunks/{input-BjUSWce3.cjs → input-CizzMZ20.cjs} +3 -3
  2. package/dist-lib/chunks/{input-BjUSWce3.cjs.map → input-CizzMZ20.cjs.map} +1 -1
  3. package/dist-lib/chunks/{input-DCDU4i4S.mjs → input-Cym0k4ZI.mjs} +2 -2
  4. package/dist-lib/chunks/{input-DCDU4i4S.mjs.map → input-Cym0k4ZI.mjs.map} +1 -1
  5. package/dist-lib/chunks/{kpi-delta-C_3V6uG6.cjs → kpi-delta-DrSJPMCY.cjs} +8 -8
  6. package/dist-lib/chunks/{kpi-delta-C_3V6uG6.cjs.map → kpi-delta-DrSJPMCY.cjs.map} +1 -1
  7. package/dist-lib/chunks/{kpi-delta-DpYuDY4h.mjs → kpi-delta-FhfuIg27.mjs} +2 -2
  8. package/dist-lib/chunks/{kpi-delta-DpYuDY4h.mjs.map → kpi-delta-FhfuIg27.mjs.map} +1 -1
  9. package/dist-lib/chunks/{page-header-D0rpU0yn.cjs → page-header-BMzUloFi.cjs} +4 -4
  10. package/dist-lib/chunks/{page-header-D0rpU0yn.cjs.map → page-header-BMzUloFi.cjs.map} +1 -1
  11. package/dist-lib/chunks/{page-header-B6XJyIMz.mjs → page-header-Buh6YlQM.mjs} +2 -2
  12. package/dist-lib/chunks/{page-header-B6XJyIMz.mjs.map → page-header-Buh6YlQM.mjs.map} +1 -1
  13. package/dist-lib/chunks/{panel-8FiBxwcI.mjs → panel-Cdl0GPVE.mjs} +3 -3
  14. package/dist-lib/chunks/{panel-8FiBxwcI.mjs.map → panel-Cdl0GPVE.mjs.map} +1 -1
  15. package/dist-lib/chunks/{panel-BOrETqXz.cjs → panel-DlyaLunw.cjs} +401 -401
  16. package/dist-lib/chunks/{panel-BOrETqXz.cjs.map → panel-DlyaLunw.cjs.map} +1 -1
  17. package/dist-lib/chunks/{app-shell-Cyh8AUJT.cjs → useTheme-D4alxxGV.cjs} +70 -4
  18. package/dist-lib/chunks/useTheme-D4alxxGV.cjs.map +1 -0
  19. package/dist-lib/chunks/{app-shell-78w0pYdP.mjs → useTheme-DF2xbSdI.mjs} +107 -41
  20. package/dist-lib/chunks/useTheme-DF2xbSdI.mjs.map +1 -0
  21. package/dist-lib/index.cjs +224 -154
  22. package/dist-lib/index.cjs.map +1 -1
  23. package/dist-lib/index.mjs +110 -40
  24. package/dist-lib/index.mjs.map +1 -1
  25. package/dist-lib/preview/chat.cjs +54 -55
  26. package/dist-lib/preview/chat.cjs.map +1 -1
  27. package/dist-lib/preview/chat.mjs +2 -3
  28. package/dist-lib/preview/chat.mjs.map +1 -1
  29. package/dist-lib/preview/clientes.cjs +28 -29
  30. package/dist-lib/preview/clientes.cjs.map +1 -1
  31. package/dist-lib/preview/clientes.mjs +4 -5
  32. package/dist-lib/preview/clientes.mjs.map +1 -1
  33. package/dist-lib/preview/dashboard.cjs +24 -25
  34. package/dist-lib/preview/dashboard.cjs.map +1 -1
  35. package/dist-lib/preview/dashboard.mjs +3 -4
  36. package/dist-lib/preview/dashboard.mjs.map +1 -1
  37. package/dist-lib/src/components/index.d.ts +4 -0
  38. package/dist-lib/src/components/index.d.ts.map +1 -1
  39. package/dist-lib/src/components/ui/AppShell/app-shell.d.ts +3 -2
  40. package/dist-lib/src/components/ui/AppShell/app-shell.d.ts.map +1 -1
  41. package/dist-lib/src/components/ui/AppShell/app-shell.styles.d.ts +21 -4
  42. package/dist-lib/src/components/ui/AppShell/app-shell.styles.d.ts.map +1 -1
  43. package/dist-lib/src/components/ui/AppShell/app-shell.types.d.ts +13 -3
  44. package/dist-lib/src/components/ui/AppShell/app-shell.types.d.ts.map +1 -1
  45. package/dist-lib/src/hooks/useBrand.d.ts +49 -16
  46. package/dist-lib/src/hooks/useBrand.d.ts.map +1 -1
  47. package/dist-lib/theme/brand-blue.css +6 -3
  48. package/dist-lib/theme/brand-green.css +6 -3
  49. package/dist-lib/theme/brand-pay.css +6 -3
  50. package/dist-lib/theme/brand-vibrant.css +6 -3
  51. package/dist-lib/theme.css +5 -2
  52. package/package.json +4 -2
  53. package/dist-lib/chunks/app-shell-78w0pYdP.mjs.map +0 -1
  54. package/dist-lib/chunks/app-shell-Cyh8AUJT.cjs.map +0 -1
  55. package/dist-lib/chunks/useTheme-BUPLZBMs.mjs +0 -66
  56. package/dist-lib/chunks/useTheme-BUPLZBMs.mjs.map +0 -1
  57. package/dist-lib/chunks/useTheme-Dee4mo-A.cjs +0 -65
  58. package/dist-lib/chunks/useTheme-Dee4mo-A.cjs.map +0 -1
@@ -3352,7 +3352,7 @@ const body = tv({
3352
3352
  const bodyInner = tv({
3353
3353
  base: [
3354
3354
  "flex flex-col flex-1 min-h-0 w-full mx-auto",
3355
- "gap-gp-4xl p-pad-6xl"
3355
+ "gap-gp-4xl p-pad-6xl max-2xl:p-pad-4xl"
3356
3356
  ],
3357
3357
  variants: {
3358
3358
  layout: {
@@ -3407,7 +3407,7 @@ function AppShell({
3407
3407
  onLogout,
3408
3408
  // Menu collapse (controlled/uncontrolled)
3409
3409
  menuCollapsed: controlledCollapsed,
3410
- defaultMenuCollapsed = false,
3410
+ defaultMenuCollapsed,
3411
3411
  onMenuCollapseChange,
3412
3412
  // Body
3413
3413
  children,
@@ -3415,7 +3415,11 @@ function AppShell({
3415
3415
  mobileEdgeToEdge,
3416
3416
  className
3417
3417
  }) {
3418
- const [internalCollapsed, setInternalCollapsed] = React.useState(defaultMenuCollapsed);
3418
+ const [internalCollapsed, setInternalCollapsed] = React.useState(() => {
3419
+ if (defaultMenuCollapsed !== void 0) return defaultMenuCollapsed;
3420
+ if (typeof window === "undefined") return false;
3421
+ return window.matchMedia("(max-width: 1535px)").matches;
3422
+ });
3419
3423
  const menuCollapsed = controlledCollapsed ?? internalCollapsed;
3420
3424
  const isMobile = useMediaQuery("(max-width: 767px)");
3421
3425
  const [mobileMenuOpen, setMobileMenuOpen] = React.useState(false);
@@ -3496,6 +3500,67 @@ function AppShell({
3496
3500
  ] });
3497
3501
  }
3498
3502
  AppShell.displayName = "AppShell";
3503
+ const STORAGE_KEY = "igreen-ds-theme";
3504
+ const CHANGE_EVENT = "igreen-ds-theme-change";
3505
+ function isTheme(value) {
3506
+ return value === "light" || value === "dark" || value === "system";
3507
+ }
3508
+ function getStoredTheme() {
3509
+ if (typeof window === "undefined") return "system";
3510
+ const stored = window.localStorage.getItem(STORAGE_KEY);
3511
+ return isTheme(stored) ? stored : "system";
3512
+ }
3513
+ function getEffectiveDark(theme) {
3514
+ if (theme === "dark") return true;
3515
+ if (theme === "light") return false;
3516
+ if (typeof window === "undefined") return false;
3517
+ return window.matchMedia("(prefers-color-scheme: dark)").matches;
3518
+ }
3519
+ function useTheme() {
3520
+ const [theme, setThemeState] = React.useState(() => getStoredTheme());
3521
+ React.useEffect(() => {
3522
+ if (typeof document === "undefined") return;
3523
+ const root2 = document.documentElement;
3524
+ const apply = () => root2.classList.toggle("dark", getEffectiveDark(theme));
3525
+ apply();
3526
+ if (theme === "system") {
3527
+ const mq = window.matchMedia("(prefers-color-scheme: dark)");
3528
+ mq.addEventListener("change", apply);
3529
+ return () => mq.removeEventListener("change", apply);
3530
+ }
3531
+ }, [theme]);
3532
+ const setTheme = React.useCallback((next) => {
3533
+ setThemeState(next);
3534
+ if (typeof window === "undefined") return;
3535
+ try {
3536
+ window.localStorage.setItem(STORAGE_KEY, next);
3537
+ } catch {
3538
+ }
3539
+ window.dispatchEvent(new CustomEvent(CHANGE_EVENT, { detail: next }));
3540
+ }, []);
3541
+ React.useEffect(() => {
3542
+ if (typeof window === "undefined") return;
3543
+ const onCustom = (e) => {
3544
+ const next = e.detail;
3545
+ if (isTheme(next)) setThemeState(next);
3546
+ };
3547
+ const onStorage = (e) => {
3548
+ if (e.key !== STORAGE_KEY) return;
3549
+ if (isTheme(e.newValue)) setThemeState(e.newValue);
3550
+ };
3551
+ window.addEventListener(CHANGE_EVENT, onCustom);
3552
+ window.addEventListener("storage", onStorage);
3553
+ return () => {
3554
+ window.removeEventListener(CHANGE_EVENT, onCustom);
3555
+ window.removeEventListener("storage", onStorage);
3556
+ };
3557
+ }, []);
3558
+ const isDark = getEffectiveDark(theme);
3559
+ const toggle = React.useCallback(() => {
3560
+ setTheme(theme === "dark" ? "light" : "dark");
3561
+ }, [theme, setTheme]);
3562
+ return { theme, setTheme, isDark, toggle };
3563
+ }
3499
3564
  exports.AppShell = AppShell;
3500
3565
  exports.Avatar = Avatar;
3501
3566
  exports.AvatarFallback = AvatarFallback;
@@ -3559,4 +3624,5 @@ exports.inputGroupVariants = inputGroupVariants;
3559
3624
  exports.tv = tv;
3560
3625
  exports.useControllable = useControllable;
3561
3626
  exports.useMediaQuery = useMediaQuery;
3562
- //# sourceMappingURL=app-shell-Cyh8AUJT.cjs.map
3627
+ exports.useTheme = useTheme;
3628
+ //# sourceMappingURL=useTheme-D4alxxGV.cjs.map