@open-ui-kit/core 2.0.3 → 2.1.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.
package/README.md CHANGED
@@ -9,7 +9,7 @@ A React component library and theme system built on Material UI, with Open UI Ki
9
9
  ## What you get
10
10
 
11
11
  - **Production-ready components** for application screens, forms, navigation, feedback, data display, and charts.
12
- - **Open UI Kit themes** with light and dark mode support through `ThemeProvider`.
12
+ - **Open UI Kit light/dark and IoC themes** through `ThemeProvider`.
13
13
  - **Material UI compatibility** for `sx`, slots, theme overrides, and familiar component APIs.
14
14
  - **TypeScript support** with exported component and theme types.
15
15
  - **Interactive examples** in Storybook for component states, variants, and composition patterns.
@@ -45,8 +45,8 @@ Some components need additional peers, such as icons, date pickers, routing, mot
45
45
  Import the typography CSS once near your app root, then wrap the app with `ThemeProvider`.
46
46
 
47
47
  ```tsx
48
- import '@open-ui-kit/core/typography.css';
49
- import { Button, Stack, ThemeProvider, Typography } from '@open-ui-kit/core';
48
+ import "@open-ui-kit/core/typography.css";
49
+ import { Button, Stack, ThemeProvider, Typography } from "@open-ui-kit/core";
50
50
 
51
51
  export function App() {
52
52
  return (
@@ -65,23 +65,43 @@ export function App() {
65
65
 
66
66
  ## Theme mode
67
67
 
68
- Use `useThemeMode()` inside `ThemeProvider` to read or change the active light or dark theme.
68
+ Use `useThemeMode()` inside `ThemeProvider` to read or change the active built-in theme.
69
+ Open UI Kit ships `ThemeMode.Light`, `ThemeMode.Dark`, and `ThemeMode.IoC`.
69
70
 
70
71
  ```tsx
71
- import { Button, ThemeMode, useThemeMode } from '@open-ui-kit/core';
72
+ import {
73
+ Button,
74
+ ThemeMode,
75
+ ThemeProvider,
76
+ useThemeMode,
77
+ } from "@open-ui-kit/core";
78
+ import type { ReactNode } from "react";
72
79
 
73
- export function ThemeToggle() {
74
- const { mode, toggleTheme } = useThemeMode();
80
+ export function ThemeSelector() {
81
+ const { mode, setTheme } = useThemeMode();
75
82
 
76
83
  return (
77
- <Button variant="outlined" onClick={toggleTheme}>
78
- Use {mode === ThemeMode.Dark ? 'light' : 'dark'} theme
84
+ <Button
85
+ variant="outlined"
86
+ onClick={() =>
87
+ setTheme(mode === ThemeMode.IoC ? ThemeMode.Light : ThemeMode.IoC)
88
+ }
89
+ >
90
+ Use {mode === ThemeMode.IoC ? "light" : "IoC"} theme
79
91
  </Button>
80
92
  );
81
93
  }
94
+
95
+ export function IocApp({ children }: { children: ReactNode }) {
96
+ return <ThemeProvider defaultMode={ThemeMode.IoC}>{children}</ThemeProvider>;
97
+ }
82
98
  ```
83
99
 
84
100
  Use `defaultMode={ThemeMode.Dark}` on `ThemeProvider` when an app needs to start in dark mode.
101
+ Use `defaultMode={ThemeMode.IoC}` when an app should start with the IoC theme.
102
+
103
+ IoC palette helpers such as `iocGradients`, `iocGlows`, and `iocShape` are exported for IoC-specific product surfaces.
104
+ Reusable Open UI Kit components still read semantic colors from `theme.palette.vars`.
85
105
 
86
106
  ## Local development
87
107
 
@@ -106,6 +126,7 @@ yarn workspace @open-ui-kit/core storybook:build
106
126
  - Storybook: https://main--68cc22452afe30d90e4ca977.chromatic.com
107
127
  - Installation guide: https://github.com/outshift-open/open-ui-kit/blob/main/docs/data/material/getting-started/installation/installation.md
108
128
  - Usage guide: https://github.com/outshift-open/open-ui-kit/blob/main/docs/data/material/getting-started/usage/usage.md
129
+ - Theming guide: https://github.com/outshift-open/open-ui-kit/blob/main/docs/data/material/getting-started/theming/theming.md
109
130
  - Migration notes: https://github.com/outshift-open/open-ui-kit/blob/main/MIGRATION.md
110
131
  - Contributing: https://github.com/outshift-open/open-ui-kit/blob/main/CONTRIBUTING.md
111
132
 
package/index.cjs.js CHANGED
@@ -10501,7 +10501,7 @@ const shadows$1 = [
10501
10501
  darkModeFooterBottom,
10502
10502
  ...Array(17).fill("none"),
10503
10503
  ];
10504
- const palette$1 = {
10504
+ const palette$2 = {
10505
10505
  mode: "dark",
10506
10506
  primary: bluePalette,
10507
10507
  secondary: Object.assign(Object.assign({}, surfaceDarkPalette), { main: surfaceDarkPalette[500] }),
@@ -10531,7 +10531,7 @@ const palette$1 = {
10531
10531
  };
10532
10532
  const theme$1 = material.createTheme({
10533
10533
  breakpoints,
10534
- palette: palette$1,
10534
+ palette: palette$2,
10535
10535
  typography,
10536
10536
  mixins: commonMixins,
10537
10537
  });
@@ -10568,6 +10568,519 @@ const darkThemeOptions = {
10568
10568
  };
10569
10569
  const darkTheme = material.createTheme(theme$1, darkThemeOptions);
10570
10570
 
10571
+ const iocSurface50 = "rgba(255, 255, 255, 0.02)";
10572
+ const iocSurface100 = "rgba(255, 255, 255, 0.035)";
10573
+ const iocSurface200 = "rgba(255, 255, 255, 0.06)";
10574
+ const iocSurface300 = "rgba(255, 255, 255, 0.09)";
10575
+ const iocSurface400 = "rgba(255, 255, 255, 0.12)";
10576
+ const iocSurface500 = "rgba(255, 255, 255, 0.16)";
10577
+ const iocSurfacePalette = {
10578
+ 50: iocSurface50,
10579
+ 100: iocSurface100,
10580
+ 200: iocSurface200,
10581
+ 300: iocSurface300,
10582
+ 400: iocSurface400,
10583
+ 500: iocSurface500,
10584
+ };
10585
+ const iocBackdrop900 = "#020508";
10586
+ const iocBackdrop800 = "#03080F";
10587
+ const iocBackdrop700 = "#050C18";
10588
+ const iocBackdrop600 = "#07111F";
10589
+ const iocBackdrop500 = "#091428";
10590
+ const iocBackdropPalette = {
10591
+ 900: iocBackdrop900,
10592
+ 800: iocBackdrop800,
10593
+ 700: iocBackdrop700,
10594
+ 600: iocBackdrop600,
10595
+ 500: iocBackdrop500};
10596
+ const iocTeal50 = "#E6F9FE";
10597
+ const iocTeal100 = "#B3EEFB";
10598
+ const iocTeal200 = "#7DE0F8";
10599
+ const iocTeal300 = "#40D0F4";
10600
+ const iocTeal400 = "#1AC6F0";
10601
+ const iocTeal500 = "#00BCEB";
10602
+ const iocTeal600 = "#00A0D1";
10603
+ const iocTeal700 = "#0082AD";
10604
+ const iocTeal800 = "#006B8A";
10605
+ const iocTeal900 = "#003D54";
10606
+ const iocTealAlpha40 = "rgba(0, 188, 235, 0.40)";
10607
+ const iocTealAlpha20 = "rgba(0, 188, 235, 0.20)";
10608
+ const iocTealAlpha10 = "rgba(0, 188, 235, 0.10)";
10609
+ const iocTealAlpha05 = "rgba(0, 188, 235, 0.05)";
10610
+ const iocTealPalette = {
10611
+ 50: iocTeal50,
10612
+ 100: iocTeal100,
10613
+ 200: iocTeal200,
10614
+ 300: iocTeal300,
10615
+ 400: iocTeal400,
10616
+ 500: iocTeal500,
10617
+ 600: iocTeal600,
10618
+ 700: iocTeal700,
10619
+ 800: iocTeal800,
10620
+ 900: iocTeal900,
10621
+ alpha40: iocTealAlpha40,
10622
+ alpha20: iocTealAlpha20,
10623
+ alpha10: iocTealAlpha10,
10624
+ alpha05: iocTealAlpha05,
10625
+ };
10626
+ const iocBlue500 = "#2B82F6";
10627
+ const iocBlue400 = "#3B92FF";
10628
+ const iocBlue600 = "#1E6FD9";
10629
+ const iocBluePalette = {
10630
+ 400: iocBlue400,
10631
+ 500: iocBlue500,
10632
+ 600: iocBlue600,
10633
+ };
10634
+ const iocBorder100 = "rgba(255, 255, 255, 0.05)";
10635
+ const iocBorder200 = "rgba(255, 255, 255, 0.07)";
10636
+ const iocBorder300 = "rgba(255, 255, 255, 0.09)";
10637
+ const iocBorder500 = "rgba(255, 255, 255, 0.18)";
10638
+ const iocBorderPalette = {
10639
+ 100: iocBorder100,
10640
+ 200: iocBorder200,
10641
+ 300: iocBorder300,
10642
+ 500: iocBorder500,
10643
+ };
10644
+ const iocTextPrimary = "rgba(255, 255, 255, 0.94)";
10645
+ const iocTextSecondary = "rgba(255, 255, 255, 0.55)";
10646
+ const iocTextTertiary = "rgba(255, 255, 255, 0.32)";
10647
+ const iocTextDisabled = "rgba(255, 255, 255, 0.22)";
10648
+ const iocPageBackground = `
10649
+ radial-gradient(ellipse 130% 90% at -15% -5%, rgba(0, 70, 160, 0.50) 0%, rgba(0, 40, 100, 0.15) 45%, transparent 65%),
10650
+ radial-gradient(ellipse 80% 60% at 60% 110%, rgba(0, 30, 80, 0.30) 0%, transparent 60%),
10651
+ linear-gradient(160deg, #07111F 0%, #050C18 40%, #030810 100%)
10652
+ `;
10653
+ const iocShadowSm = "0 2px 8px rgba(0, 0, 0, 0.30)";
10654
+ const iocShadowMd = "0 4px 16px rgba(0, 0, 0, 0.40)";
10655
+ const iocShadowLg = "0 8px 32px rgba(0, 0, 0, 0.50)";
10656
+ `linear-gradient(180deg, ${iocTealPalette[400]} 0%, ${iocTealPalette[600]} 100%)`;
10657
+ `linear-gradient(180deg, ${iocBluePalette[500]} 0%, ${iocBluePalette[600]} 100%)`;
10658
+ `linear-gradient(180deg, ${redPalette[400]} 0%, ${redPalette[500]} 100%)`;
10659
+ `linear-gradient(135deg, ${iocTealPalette[400]} 0%, ${iocBluePalette[500]} 100%)`;
10660
+ `0 0 6px ${iocTealPalette[500]}CC, 0 0 16px ${iocTealPalette[500]}77, 0 0 28px ${iocTealPalette[500]}33`;
10661
+ `0 0 6px ${iocBluePalette[500]}CC, 0 0 16px ${iocBluePalette[500]}77, 0 0 28px ${iocBluePalette[500]}33`;
10662
+ `0 0 6px ${greenPalette[500]}CC, 0 0 16px ${greenPalette[500]}77, 0 0 28px ${greenPalette[500]}33`;
10663
+ `0 0 6px ${lightOrangePalette[500]}CC, 0 0 16px ${lightOrangePalette[500]}77, 0 0 28px ${lightOrangePalette[500]}33`;
10664
+ `0 0 6px ${redPalette[500]}CC, 0 0 16px ${redPalette[500]}77, 0 0 28px ${redPalette[500]}33`;
10665
+ `0 0 6px ${orangePalette[500]}CC, 0 0 16px ${orangePalette[500]}77, 0 0 28px ${orangePalette[500]}33`;
10666
+ `0 0 6px ${lightBluePalette[500]}CC, 0 0 16px ${lightBluePalette[500]}77, 0 0 28px ${lightBluePalette[500]}33`;
10667
+ `0 0 6px ${iocTealPalette[600]}99, 0 0 14px ${iocTealPalette[600]}44`;
10668
+
10669
+ const iocVars = {
10670
+ brandOrange: lightOrangePalette[500],
10671
+ brandOrangeDark: lightOrangePalette[900],
10672
+ brandBlue: iocTealPalette[500],
10673
+ brandMidnightBlue: iocBackdropPalette[500],
10674
+ agentcyYellow: lightOrangePalette[500],
10675
+ agentcyBlue: iocTealPalette[500],
10676
+ agentcyDarkBlue: iocBackdropPalette[900],
10677
+ baseTextDark: iocBackdropPalette[900],
10678
+ baseTextStrong: iocTextPrimary,
10679
+ baseTextDefault: iocTextSecondary,
10680
+ baseTextMedium: iocTextTertiary,
10681
+ baseTextWeak: iocTextDisabled,
10682
+ baseTextInverse: iocBackdropPalette[900],
10683
+ baseTextDisabled: iocTextDisabled,
10684
+ baseBackgroundStrong: iocBackdropPalette[600],
10685
+ baseBackgroundMedium: iocSurfacePalette[200],
10686
+ baseBackgroundWeak: iocSurfacePalette[100],
10687
+ baseBackgroundHover: iocSurfacePalette[300],
10688
+ baseBorderDefault: iocBorderPalette[300],
10689
+ baseBorderStrong: iocBorderPalette[500],
10690
+ baseBorderMedium: iocBorderPalette[200],
10691
+ baseBorderWeak: iocBorderPalette[100],
10692
+ brandIconPrimaryDefault: iocTealPalette[500],
10693
+ brandIconPrimaryWeak: iocTealPalette[200],
10694
+ brandIconPrimaryMedium: iocTealPalette[400],
10695
+ brandIconPrimaryStrong: iocTealPalette[700],
10696
+ brandIconSecondaryDefault: iocBluePalette[500],
10697
+ brandIconSecondaryWeak: iocBluePalette[400],
10698
+ brandIconSecondaryMedium: iocBluePalette[500],
10699
+ brandIconTertiaryDefault: lightOrangePalette[500],
10700
+ brandIconTertiaryWeak: lightOrangePalette[200],
10701
+ brandIconTertiaryMedium: lightOrangePalette[400],
10702
+ brandBackgroundPrimaryDefault: iocTealPalette[500],
10703
+ brandBackgroundPrimaryWeak: iocTealPalette.alpha10,
10704
+ brandBackgroundPrimaryMedium: iocTealPalette.alpha20,
10705
+ brandBackgroundSecondaryDefault: iocBluePalette[500],
10706
+ brandLogoPrimary: iocTealPalette[400],
10707
+ brandLogoSecondary: iocTextPrimary,
10708
+ brandTextPrimary: iocTealPalette[400],
10709
+ brandTextSecondary: iocTextPrimary,
10710
+ brandTextTertiary: lightOrangePalette[500],
10711
+ controlBackgroundDefault: iocSurfacePalette[200],
10712
+ controlBackgroundDisabled: iocSurfacePalette[50],
10713
+ controlBackgroundWeak: iocSurfacePalette[300],
10714
+ controlBackgroundMedium: iocSurfacePalette[500],
10715
+ controlBorderDefault: iocBorderPalette[300],
10716
+ controlBorderStrong: iocBorderPalette[500],
10717
+ controlBorderMedium: iocBorderPalette[200],
10718
+ controlBorderWeak: iocBorderPalette[100],
10719
+ controlBorderHover: iocTealPalette[500],
10720
+ controlBorderActive: iocTealPalette[600],
10721
+ controlBorderNegative: redPalette[500],
10722
+ controlBorderDisabled: iocBorderPalette[100],
10723
+ controlIconDefault: iocTextSecondary,
10724
+ controlIconStrong: iocTextPrimary,
10725
+ controlIconMedium: iocTextTertiary,
10726
+ controlIconWeak: iocTextDisabled,
10727
+ controlIconHover: iocTealPalette[400],
10728
+ controlIconActive: iocTealPalette[500],
10729
+ controlIconDisabled: iocTextDisabled,
10730
+ controlFocusRingWeak: iocTealPalette.alpha10,
10731
+ controlFocusRingStrong: iocTealPalette.alpha20,
10732
+ interactivePrimaryDefaultDefault: iocTealPalette[500],
10733
+ interactivePrimaryDefaultHover: iocTealPalette[400],
10734
+ interactivePrimaryDefaultActive: iocTealPalette[600],
10735
+ interactivePrimaryDefaultDisabled: iocTealPalette.alpha40,
10736
+ interactivePrimaryWeakDefault: iocTealPalette.alpha10,
10737
+ interactivePrimaryWeakHover: iocTealPalette.alpha20,
10738
+ interactivePrimaryWeakActive: iocTealPalette.alpha40,
10739
+ interactivePrimaryWeakDisabled: iocTealPalette.alpha05,
10740
+ interactiveSecondaryDefaultDefault: iocBluePalette[500],
10741
+ interactiveSecondaryDefaultHover: iocBluePalette[400],
10742
+ interactiveSecondaryDefaultActive: iocBluePalette[600],
10743
+ interactiveSecondaryDefaultDisabled: "rgba(43,130,246,0.40)",
10744
+ interactiveSecondaryWeakDefault: iocSurfacePalette[200],
10745
+ interactiveSecondaryWeakHover: iocSurfacePalette[300],
10746
+ interactiveSecondaryWeakActive: iocSurfacePalette[400],
10747
+ interactiveSecondaryWeakDisabled: iocSurfacePalette[100],
10748
+ interactiveInverseBackgroundDefault: "rgba(255,255,255,0.90)",
10749
+ interactiveInverseBackgroundHover: "rgba(255,255,255,0.95)",
10750
+ interactiveInverseBackgroundActive: "rgba(255,255,255,0.85)",
10751
+ interactiveInverseBackgroundDisabled: "rgba(255,255,255,0.40)",
10752
+ interactiveInverseTextDefault: iocBackdropPalette[900],
10753
+ interactiveInverseTextHover: iocBackdropPalette[700],
10754
+ interactiveInverseTextActive: iocBackdropPalette[800],
10755
+ interactiveInverseTextDisabled: "rgba(0,0,0,0.30)",
10756
+ interactiveTextInDefault: iocTextPrimary,
10757
+ interactiveTextInHover: iocTextPrimary,
10758
+ interactiveTextInActive: iocTextPrimary,
10759
+ interactiveTextInDisabled: iocTextDisabled,
10760
+ interactiveTertiaryDefault: lightOrangePalette[500],
10761
+ interactiveTertiaryHover: lightOrangePalette[400],
10762
+ interactiveTertiaryActive: lightOrangePalette[600],
10763
+ interactiveTertiaryDisabled: lightOrangePalette["alpha40"],
10764
+ successBackgroundDefault: greenPalette[500],
10765
+ successBackgroundDisabled: greenPalette[40],
10766
+ successBackgroundHover: greenPalette[400],
10767
+ successBackgroundActive: greenPalette[600],
10768
+ successBackgroundWeak: "rgba(0, 185, 141, 0.10)",
10769
+ successIconActive: greenPalette[600],
10770
+ successIconDisabled: greenPalette[40],
10771
+ successIconHover: greenPalette[400],
10772
+ successIconDefault: greenPalette[500],
10773
+ successTextActive: greenPalette[300],
10774
+ successTextHover: greenPalette[200],
10775
+ successTextDefault: greenPalette[300],
10776
+ successTextInDisabled: greenPalette[10],
10777
+ successTextInDefault: greyPalette[900],
10778
+ successBorderDisabled: greenPalette[40],
10779
+ successBorderActive: greenPalette[600],
10780
+ successBorderHover: greenPalette[400],
10781
+ successBorderDefault: greenPalette[500],
10782
+ successBorderWeak: "rgba(0, 185, 141, 0.30)",
10783
+ successIconInDisabled: greenPalette[10],
10784
+ successIconInActive: greenPalette[200],
10785
+ successIconInHover: greenPalette[100],
10786
+ successIconInDefault: greenPalette[50],
10787
+ negativeBackgroundHover: redPalette[400],
10788
+ negativeBackgroundActive: redPalette[600],
10789
+ negativeBackgroundDisabled: redPalette["alpha40"],
10790
+ negativeBackgroundDefault: redPalette[500],
10791
+ negativeBackgroundWeak: "rgba(198, 41, 83, 0.10)",
10792
+ negativeTextDefault: redPalette[300],
10793
+ negativeTextHover: redPalette[200],
10794
+ negativeTextActive: redPalette[400],
10795
+ negativeBorderActive: redPalette[600],
10796
+ negativeBorderHover: redPalette[400],
10797
+ negativeBorderDisabled: redPalette["alpha40"],
10798
+ negativeBorderDefault: redPalette[500],
10799
+ negativeBorderWeak: "rgba(198, 41, 83, 0.30)",
10800
+ negativeIconDisabled: redPalette["alpha40"],
10801
+ negativeIconActive: redPalette[600],
10802
+ negativeIconHover: redPalette[400],
10803
+ negativeIconDefault: redPalette[500],
10804
+ negativeTextInDefault: redPalette[50],
10805
+ negativeTextInDisabled: redPalette["alpha10"],
10806
+ negativeIconInDefault: redPalette[50],
10807
+ negativeIconInHover: redPalette[100],
10808
+ negativeIconInActive: redPalette[200],
10809
+ negativeIconInDisabled: redPalette["alpha10"],
10810
+ excellentBackgroundDefault: lightBluePalette[600],
10811
+ excellentBackgroundWeak: "rgba(31, 210, 255, 0.10)",
10812
+ excellentBackgroundDisabled: lightBluePalette["alpha40"],
10813
+ excellentBackgroundHover: lightBluePalette[500],
10814
+ excellentBackgroundActive: lightBluePalette[700],
10815
+ excellentTextDefault: lightBluePalette[200],
10816
+ excellentTextHover: lightBluePalette[100],
10817
+ excellentTextActive: lightBluePalette[300],
10818
+ excellentTextInDefault: greyPalette[900],
10819
+ excellentTextInDisabled: lightBluePalette["alpha10"],
10820
+ excellentBorderDefault: lightBluePalette[600],
10821
+ excellentBorderHover: lightBluePalette[500],
10822
+ excellentBorderActive: lightBluePalette[700],
10823
+ excellentBorderDisabled: lightBluePalette["alpha40"],
10824
+ excellentBorderWeak: "rgba(31, 210, 255, 0.30)",
10825
+ excellentIconDefault: lightBluePalette[500],
10826
+ excellentIconHover: lightBluePalette[400],
10827
+ excellentIconActive: lightBluePalette[600],
10828
+ excellentIconDisabled: lightBluePalette["alpha40"],
10829
+ excellentIconInDefault: lightBluePalette[50],
10830
+ excellentIconInHover: lightBluePalette[100],
10831
+ excellentIconInActive: lightBluePalette[200],
10832
+ excellentIconInDisabled: lightBluePalette["alpha10"],
10833
+ neutralBackgroundDefault: iocTealPalette[600],
10834
+ neutralBackgroundWeak: iocTealPalette.alpha10,
10835
+ neutralBackgroundDisabled: iocTealPalette.alpha40,
10836
+ neutralBackgroundHover: iocTealPalette[500],
10837
+ neutralBackgroundActive: iocTealPalette[700],
10838
+ neutralTextDefault: iocTealPalette[200],
10839
+ neutralTextHover: iocTealPalette[100],
10840
+ neutralTextActive: iocTealPalette[300],
10841
+ neutralTextInDefault: greyPalette[900],
10842
+ neutralTextInDisabled: iocTealPalette.alpha10,
10843
+ neutralBorderDefault: iocTealPalette[600],
10844
+ neutralBorderHover: iocTealPalette[500],
10845
+ neutralBorderActive: iocTealPalette[700],
10846
+ neutralBorderDisabled: iocTealPalette.alpha40,
10847
+ neutralBorderWeak: iocTealPalette.alpha20,
10848
+ neutralIconDefault: iocTealPalette[500],
10849
+ neutralIconHover: iocTealPalette[400],
10850
+ neutralIconActive: iocTealPalette[600],
10851
+ neutralIconDisabled: iocTealPalette.alpha40,
10852
+ neutralIconInDefault: iocTealPalette[50],
10853
+ neutralIconInHover: iocTealPalette[100],
10854
+ neutralIconInActive: iocTealPalette[200],
10855
+ neutralIconInDisabled: iocTealPalette.alpha10,
10856
+ infoBackgroundDefault: iocBluePalette[600],
10857
+ infoBackgroundWeak: "rgba(43,130,246,0.10)",
10858
+ infoBackgroundDisabled: "rgba(43,130,246,0.40)",
10859
+ infoBackgroundHover: iocBluePalette[500],
10860
+ infoBackgroundActive: iocBluePalette[600],
10861
+ infoTextDefault: "#93C5FD",
10862
+ infoTextHover: "#BFDBFE",
10863
+ infoTextActive: "#60A5FA",
10864
+ infoTextInDefault: greyPalette[900],
10865
+ infoTextInDisabled: "rgba(43,130,246,0.10)",
10866
+ infoBorderDefault: iocBluePalette[600],
10867
+ infoBorderHover: iocBluePalette[500],
10868
+ infoBorderActive: iocBluePalette[600],
10869
+ infoBorderDisabled: "rgba(43,130,246,0.40)",
10870
+ infoBorderWeak: "rgba(43,130,246,0.20)",
10871
+ infoIconDefault: iocBluePalette[500],
10872
+ infoIconHover: iocBluePalette[400],
10873
+ infoIconActive: iocBluePalette[600],
10874
+ infoIconDisabled: "rgba(43,130,246,0.40)",
10875
+ infoIconInDefault: "#EFF6FF",
10876
+ infoIconInHover: "#BFDBFE",
10877
+ infoIconInActive: "#93C5FD",
10878
+ infoIconInDisabled: "rgba(43,130,246,0.10)",
10879
+ inactiveBackgroundDefault: greyPalette[600],
10880
+ inactiveBackgroundWeak: "rgba(60, 69, 81, 0.10)",
10881
+ inactiveBackgroundDisabled: greyPalette["alpha40"],
10882
+ inactiveBackgroundHover: greyPalette[500],
10883
+ inactiveBackgroundActive: greyPalette[700],
10884
+ inactiveTextDefault: greyPalette[200],
10885
+ inactiveTextHover: greyPalette[100],
10886
+ inactiveTextActive: greyPalette[300],
10887
+ inactiveTextInDefault: greyPalette[50],
10888
+ inactiveTextInDisabled: greyPalette["alpha40"],
10889
+ inactiveBorderDefault: greyPalette[600],
10890
+ inactiveBorderHover: greyPalette[500],
10891
+ inactiveBorderActive: greyPalette[700],
10892
+ inactiveBorderDisabled: greyPalette["alpha40"],
10893
+ inactiveBorderWeak: "rgba(60, 69, 81, 0.30)",
10894
+ inactiveIconDefault: greyPalette[400],
10895
+ inactiveIconHover: greyPalette[300],
10896
+ inactiveIconActive: greyPalette[500],
10897
+ inactiveIconDisabled: greyPalette["alpha40"],
10898
+ inactiveIconInDefault: greyPalette[0],
10899
+ inactiveIconInHover: greyPalette[50],
10900
+ inactiveIconInActive: greyPalette[100],
10901
+ inactiveIconInDisabled: greyPalette["alpha10"],
10902
+ warningBackgroundDefault: lightOrangePalette[500],
10903
+ warningBackgroundWeak: "rgba(251, 175, 69, 0.10)",
10904
+ warningBackgroundHover: lightOrangePalette[400],
10905
+ warningBackgroundActive: lightOrangePalette[600],
10906
+ warningBackgroundDisabled: lightOrangePalette["alpha40"],
10907
+ warningTextDefault: lightOrangePalette[200],
10908
+ warningTextHover: lightOrangePalette[100],
10909
+ warningTextActive: lightOrangePalette[300],
10910
+ warningTextInDefault: greyPalette[900],
10911
+ warningTextInDisabled: lightOrangePalette["alpha10"],
10912
+ warningBorderDefault: lightOrangePalette[500],
10913
+ warningBorderHover: lightOrangePalette[400],
10914
+ warningBorderActive: lightOrangePalette[600],
10915
+ warningBorderDisabled: lightOrangePalette["alpha40"],
10916
+ warningBorderWeak: "rgba(251, 175, 69, 0.30)",
10917
+ warningIconDefault: lightOrangePalette[500],
10918
+ warningIconHover: lightOrangePalette[400],
10919
+ warningIconActive: lightOrangePalette[600],
10920
+ warningIconDisabled: lightOrangePalette["alpha40"],
10921
+ warningIconInDefault: lightOrangePalette[50],
10922
+ warningIconInHover: lightOrangePalette[100],
10923
+ warningIconInActive: lightOrangePalette[200],
10924
+ warningIconInDisabled: lightOrangePalette["alpha10"],
10925
+ severeWarningBackgroundDefault: orangePalette[500],
10926
+ severeWarningBackgroundWeak: "rgba(242, 100, 61, 0.10)",
10927
+ severeWarningBackgroundHover: orangePalette[400],
10928
+ severeWarningBackgroundActive: orangePalette[600],
10929
+ severeWarningBackgroundDisabled: orangePalette["alpha40"],
10930
+ severeWarningTextDefault: orangePalette[200],
10931
+ severeWarningTextHover: orangePalette[100],
10932
+ severeWarningTextActive: orangePalette[300],
10933
+ severeWarningTextInDefault: greyPalette[900],
10934
+ severeWarningTextInDisabled: orangePalette["alpha10"],
10935
+ severeWarningBorderDefault: orangePalette[500],
10936
+ severeWarningBorderHover: orangePalette[400],
10937
+ severeWarningBorderActive: orangePalette[600],
10938
+ severeWarningBorderDisabled: orangePalette["alpha40"],
10939
+ severeWarningBorderWeak: "rgba(242, 100, 61, 0.30)",
10940
+ severeWarningIconDefault: orangePalette[500],
10941
+ severeWarningIconHover: orangePalette[400],
10942
+ severeWarningIconActive: orangePalette[600],
10943
+ severeWarningIconDisabled: orangePalette["alpha40"],
10944
+ severeWarningIconInDefault: orangePalette[50],
10945
+ severeWarningIconInHover: orangePalette[100],
10946
+ severeWarningIconInActive: orangePalette[200],
10947
+ severeWarningIconInDisabled: orangePalette["alpha10"],
10948
+ moderateBackgroundDefault: yellowPalette[500],
10949
+ moderateBackgroundWeak: "rgba(255, 230, 89, 0.10)",
10950
+ moderateBackgroundHover: yellowPalette[400],
10951
+ moderateBackgroundActive: yellowPalette[600],
10952
+ moderateBackgroundDisabled: yellowPalette["alpha40"],
10953
+ moderateTextDefault: yellowPalette[900],
10954
+ moderateTextHover: yellowPalette[800],
10955
+ moderateTextActive: yellowPalette[700],
10956
+ moderateTextInDefault: greyPalette[900],
10957
+ moderateTextInDisabled: yellowPalette["alpha10"],
10958
+ moderateBorderDefault: yellowPalette[500],
10959
+ moderateBorderHover: yellowPalette[400],
10960
+ moderateBorderActive: yellowPalette[600],
10961
+ moderateBorderDisabled: yellowPalette["alpha40"],
10962
+ moderateBorderWeak: "rgba(255, 230, 89, 0.30)",
10963
+ moderateIconDefault: yellowPalette[700],
10964
+ moderateIconHover: yellowPalette[600],
10965
+ moderateIconActive: yellowPalette[800],
10966
+ moderateIconDisabled: yellowPalette["alpha40"],
10967
+ moderateIconInDefault: yellowPalette[900],
10968
+ moderateIconInHover: yellowPalette[800],
10969
+ moderateIconInActive: yellowPalette[700],
10970
+ moderateIconInDisabled: yellowPalette["alpha10"],
10971
+ accentADefault: lavenderPalette[400],
10972
+ accentAWeak: "rgba(140, 149, 255, 0.15)",
10973
+ accentBDefault: sunsetPalette[300],
10974
+ accentBWeak: "rgba(233, 106, 141, 0.15)",
10975
+ accentCDefault: sunsetPalette[100],
10976
+ accentCWeak: "rgba(243, 172, 162, 0.15)",
10977
+ accentDDefault: purplePalette[400],
10978
+ accentDWeak: "rgba(192, 128, 255, 0.15)",
10979
+ accentEDefault: limePalette[400],
10980
+ accentEWeak: "rgba(164, 197, 71, 0.15)",
10981
+ accentFDefault: orangePalette[400],
10982
+ accentFWeak: "rgba(244, 123, 90, 0.15)",
10983
+ accentGDefault: nightPalette[200],
10984
+ accentGWeak: "rgba(70, 170, 206, 0.15)",
10985
+ accentHDefault: iocTealPalette[400],
10986
+ accentHWeak: iocTealPalette.alpha10,
10987
+ accentIDefault: pinkPalette[400],
10988
+ accentIWeak: "rgba(242, 99, 140, 0.15)",
10989
+ accentJDefault: tealPalette[400],
10990
+ accentJWeak: "rgba(62, 203, 209, 0.15)",
10991
+ };
10992
+
10993
+ const iocShadows = [
10994
+ "none",
10995
+ iocShadowSm,
10996
+ iocShadowMd,
10997
+ iocShadowLg,
10998
+ iocShadowLg,
10999
+ iocShadowLg,
11000
+ ...Array(19).fill("none"),
11001
+ ];
11002
+ const palette$1 = {
11003
+ mode: "dark",
11004
+ primary: Object.assign(Object.assign({}, iocTealPalette), { main: iocTealPalette[500], light: iocTealPalette[300], dark: iocTealPalette[700], contrastText: iocBackdropPalette[900] }),
11005
+ secondary: {
11006
+ main: iocBluePalette[500],
11007
+ light: iocBluePalette[400],
11008
+ dark: iocBluePalette[600],
11009
+ contrastText: "#ffffff",
11010
+ },
11011
+ tertiary: lightOrangePalette,
11012
+ error: redPalette,
11013
+ warning: lightOrangePalette,
11014
+ info: iocBluePalette,
11015
+ success: greenPalette,
11016
+ negative: redPalette,
11017
+ orange: orangePalette,
11018
+ grey: greyPalette,
11019
+ vars: iocVars,
11020
+ text: {
11021
+ primary: iocTextPrimary,
11022
+ secondary: iocTextSecondary,
11023
+ disabled: iocTextDisabled,
11024
+ },
11025
+ background: {
11026
+ paper: iocSurfacePalette[100],
11027
+ default: iocBackdropPalette[600],
11028
+ },
11029
+ action: {
11030
+ hoverOpacity: 0.08,
11031
+ selectedOpacity: 0.14,
11032
+ focusOpacity: 0.1,
11033
+ },
11034
+ };
11035
+ const baseTheme = material.createTheme({
11036
+ breakpoints,
11037
+ palette: palette$1,
11038
+ typography,
11039
+ mixins: commonMixins,
11040
+ });
11041
+ const iocCssBaselineComponent = {
11042
+ MuiCssBaseline: {
11043
+ styleOverrides: {
11044
+ html: {
11045
+ scrollbarWidth: "thin",
11046
+ scrollbarColor: `${baseTheme.palette.vars.baseTextMedium} ${baseTheme.palette.background.default}`,
11047
+ },
11048
+ body: {
11049
+ background: iocPageBackground,
11050
+ backgroundAttachment: "fixed",
11051
+ minHeight: "100vh",
11052
+ },
11053
+ "*::-webkit-scrollbar": { width: "12px", height: "12px" },
11054
+ "*::-webkit-scrollbar-track": {
11055
+ backgroundColor: baseTheme.palette.background.default,
11056
+ borderRadius: 8,
11057
+ },
11058
+ "*::-webkit-scrollbar-thumb": {
11059
+ backgroundColor: baseTheme.palette.vars.controlIconMedium,
11060
+ borderRadius: 8,
11061
+ border: "2px solid transparent",
11062
+ backgroundClip: "content-box",
11063
+ },
11064
+ "*::-webkit-scrollbar-thumb:hover": {
11065
+ backgroundColor: baseTheme.palette.vars.baseTextMedium,
11066
+ },
11067
+ "*::-webkit-scrollbar-corner": {
11068
+ backgroundColor: baseTheme.palette.background.default,
11069
+ },
11070
+ "::selection": {
11071
+ backgroundColor: baseTheme.palette.vars.controlFocusRingStrong,
11072
+ color: baseTheme.palette.vars.baseTextStrong,
11073
+ },
11074
+ },
11075
+ },
11076
+ };
11077
+ const iocThemeOptions = {
11078
+ shadows: iocShadows,
11079
+ components: Object.assign(Object.assign(Object.assign(Object.assign({}, buttonComponent(baseTheme)), inputComponents(baseTheme)), snackbarComponent(baseTheme)), iocCssBaselineComponent),
11080
+ };
11081
+ const iocTheme = material.createTheme(baseTheme, iocThemeOptions);
11082
+ iocTheme.palette.vars = iocVars;
11083
+
10571
11084
  const lightVars = {
10572
11085
  brandOrange: lightOrangePalette[500],
10573
11086
  brandOrangeDark: lightOrangePalette[900],
@@ -10947,6 +11460,7 @@ exports.ThemeMode = void 0;
10947
11460
  (function (ThemeMode) {
10948
11461
  ThemeMode["Light"] = "light";
10949
11462
  ThemeMode["Dark"] = "dark";
11463
+ ThemeMode["IoC"] = "ioc";
10950
11464
  })(exports.ThemeMode || (exports.ThemeMode = {}));
10951
11465
  const ThemeModeContext = React__namespace.default.createContext(null);
10952
11466
  function useThemeMode() {
@@ -10956,17 +11470,23 @@ function useThemeMode() {
10956
11470
  }
10957
11471
  return ctx;
10958
11472
  }
11473
+ function resolveBuiltInTheme(mode) {
11474
+ if (mode === exports.ThemeMode.IoC) {
11475
+ return iocTheme;
11476
+ }
11477
+ return mode === exports.ThemeMode.Dark ? darkTheme : lightTheme;
11478
+ }
10959
11479
  const ThemeProvider = ({ children, defaultMode, customTheme, }) => {
10960
11480
  const [mode, setMode] = React__namespace.default.useState(defaultMode !== null && defaultMode !== void 0 ? defaultMode : exports.ThemeMode.Light);
10961
- const toggleTheme = React__namespace.default.useCallback(() => {
10962
- setMode((prev) => prev === exports.ThemeMode.Dark ? exports.ThemeMode.Light : exports.ThemeMode.Dark);
11481
+ const setTheme = React__namespace.default.useCallback((theme) => {
11482
+ setMode(theme);
10963
11483
  }, []);
10964
- const resolvedTheme = customTheme !== null && customTheme !== void 0 ? customTheme : (mode === exports.ThemeMode.Dark ? darkTheme : lightTheme);
11484
+ const resolvedTheme = customTheme !== null && customTheme !== void 0 ? customTheme : resolveBuiltInTheme(mode);
10965
11485
  const themeModeValue = React__namespace.default.useMemo(() => ({
10966
11486
  mode,
10967
11487
  setMode,
10968
- toggleTheme,
10969
- }), [mode, toggleTheme]);
11488
+ setTheme,
11489
+ }), [mode, setTheme]);
10970
11490
  return (jsxRuntime.jsx(ThemeModeContext.Provider, { value: themeModeValue, children: jsxRuntime.jsxs(material.ThemeProvider, { theme: resolvedTheme, children: [jsxRuntime.jsx(material.CssBaseline, {}), children] }) }));
10971
11491
  };
10972
11492
 
@@ -16240,6 +16760,7 @@ exports.illustrationSurface = illustrationSurface;
16240
16760
  exports.illustrationSurfaceSubtle = illustrationSurfaceSubtle;
16241
16761
  exports.illustrationWarningGradientEnd = illustrationWarningGradientEnd;
16242
16762
  exports.illustrationWarningGradientStart = illustrationWarningGradientStart;
16763
+ exports.iocVars = iocVars;
16243
16764
  exports.isLeaf = isLeaf;
16244
16765
  exports.lavender10 = lavender10;
16245
16766
  exports.lavender100 = lavender100;