remoraid 2.5.6 → 2.7.2

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.
@@ -5466,6 +5466,9 @@ __export(exports_core, {
5466
5466
  useRemoraidUserExperience: () => useRemoraidUserExperience,
5467
5467
  useRemoraidTheme: () => useRemoraidTheme,
5468
5468
  useRemoraidApp: () => useRemoraidApp,
5469
+ usePage: () => usePage,
5470
+ useHydrationStatus: () => useHydrationStatus,
5471
+ useHydratedMantineColorScheme: () => useHydratedMantineColorScheme,
5469
5472
  defaultUserExperienceCookieName: () => defaultUserExperienceCookieName,
5470
5473
  defaultUserExperience: () => defaultUserExperience,
5471
5474
  defaultSettingsWidgetOptions: () => defaultSettingsWidgetContext,
@@ -5482,6 +5485,7 @@ __export(exports_core, {
5482
5485
  TransitionDuration: () => TransitionDuration,
5483
5486
  SettingsWidget: () => SettingsWidget_default,
5484
5487
  SettingsTable: () => SettingsTable_default,
5488
+ ScrollableChipGroup: () => ScrollableChipGroup,
5485
5489
  RemoraidProvider: () => RemoraidProvider,
5486
5490
  RemoraidIconSize: () => RemoraidIconSize,
5487
5491
  RemoraidButton: () => RemoraidButton,
@@ -5491,6 +5495,7 @@ __export(exports_core, {
5491
5495
  NotFoundPage: () => NotFoundPage,
5492
5496
  NavbarVariant: () => NavbarVariant,
5493
5497
  NavbarSettingsWidget: () => NavbarSettingsWidget,
5498
+ HydrationStatusProvider: () => HydrationStatusProvider,
5494
5499
  EnvironmentShell: () => EnvironmentShell,
5495
5500
  BadgeMinimal: () => BadgeMinimal,
5496
5501
  BadgeGroup: () => BadgeGroup,
@@ -5665,120 +5670,154 @@ var RemoraidIconSize;
5665
5670
  var co = (condition, value, fallback) => condition(value) ? value : fallback;
5666
5671
 
5667
5672
  // src/core/components/RemoraidProvider/ThemeProvider/index.tsx
5668
- var import_core = require("@mantine/core");
5673
+ var import_core2 = require("@mantine/core");
5669
5674
  var import_icons_react = require("@tabler/icons-react");
5670
- var import_react2 = __toESM(require("react"));
5675
+ var import_react3 = __toESM(require("react"));
5676
+
5677
+ // src/core/components/RemoraidProvider/HydrationStatusProvider/index.tsx
5678
+ var import_core = require("@mantine/core");
5679
+ var import_react2 = require("react");
5671
5680
  var jsx_dev_runtime2 = require("react/jsx-dev-runtime");
5681
+ var defaultHydrationStatus = {
5682
+ hasHydrated: false,
5683
+ ensureHydration: () => {
5684
+ return;
5685
+ }
5686
+ };
5687
+ var hydrationStatusContext = import_react2.createContext(defaultHydrationStatus);
5688
+ var useHydrationStatus = () => {
5689
+ return import_react2.useContext(hydrationStatusContext);
5690
+ };
5691
+ var useHydratedMantineColorScheme = () => {
5692
+ const { ensureHydration } = useHydrationStatus();
5693
+ return ensureHydration(import_core.useMantineColorScheme()) ?? {};
5694
+ };
5695
+ function HydrationStatusProvider({
5696
+ children
5697
+ }) {
5698
+ const [hasHydrated, setHasHydrated] = import_react2.useState(defaultHydrationStatus.hasHydrated);
5699
+ const hydrationStatus = import_react2.useMemo(() => ({
5700
+ hasHydrated,
5701
+ ensureHydration: (v) => hasHydrated ? v : undefined
5702
+ }), [hasHydrated]);
5703
+ import_react2.useEffect(() => {
5704
+ setHasHydrated(true);
5705
+ }, []);
5706
+ return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(hydrationStatusContext.Provider, {
5707
+ value: hydrationStatus,
5708
+ children
5709
+ }, undefined, false, undefined, this);
5710
+ }
5711
+
5712
+ // src/core/components/RemoraidProvider/ThemeProvider/index.tsx
5713
+ var jsx_dev_runtime3 = require("react/jsx-dev-runtime");
5672
5714
  var isMantinePrimaryShade = (primaryShade) => {
5673
5715
  if (isNaN(Number(primaryShade))) {
5674
5716
  return true;
5675
5717
  }
5676
5718
  return false;
5677
5719
  };
5678
- var createRemoraidTheme = (customTheme, mantineTheme, colorScheme) => {
5720
+ var createRemoraidTheme = (customTheme, dependencies) => {
5721
+ const { mantineTheme, colorScheme } = dependencies ?? {};
5679
5722
  const defaultMediumIconProps = { size: "1.125em" };
5680
5723
  let transparentBackground;
5681
5724
  let primaryColor;
5682
5725
  let spacingPx;
5683
5726
  if (mantineTheme && colorScheme) {
5684
- transparentBackground = colorScheme === "dark" ? import_core.rgba(mantineTheme.colors.dark[8], 0.8) : import_core.rgba(mantineTheme.white, 0.8);
5727
+ transparentBackground = colorScheme === "dark" ? import_core2.rgba(mantineTheme.colors.dark[8], 0.8) : import_core2.rgba(mantineTheme.white, 0.8);
5685
5728
  primaryColor = mantineTheme.colors[mantineTheme.primaryColor][isMantinePrimaryShade(mantineTheme.primaryShade) ? mantineTheme.primaryShade[colorScheme === "auto" ? "light" : colorScheme] : mantineTheme.primaryShade];
5686
5729
  spacingPx = {
5687
- xs: Number(co((v) => !Number.isNaN(v), Number(import_core.px(mantineTheme.spacing.xs)), 0)),
5688
- sm: Number(co((v) => !Number.isNaN(v), Number(import_core.px(mantineTheme.spacing.sm)), 0)),
5689
- md: Number(co((v) => !Number.isNaN(v), Number(import_core.px(mantineTheme.spacing.md)), 0)),
5690
- lg: Number(co((v) => !Number.isNaN(v), Number(import_core.px(mantineTheme.spacing.lg)), 0)),
5691
- xl: Number(co((v) => !Number.isNaN(v), Number(import_core.px(mantineTheme.spacing.xl)), 0))
5730
+ xs: Number(co((v) => !Number.isNaN(v), Number(import_core2.px(mantineTheme.spacing.xs)), 0)),
5731
+ sm: Number(co((v) => !Number.isNaN(v), Number(import_core2.px(mantineTheme.spacing.sm)), 0)),
5732
+ md: Number(co((v) => !Number.isNaN(v), Number(import_core2.px(mantineTheme.spacing.md)), 0)),
5733
+ lg: Number(co((v) => !Number.isNaN(v), Number(import_core2.px(mantineTheme.spacing.lg)), 0)),
5734
+ xl: Number(co((v) => !Number.isNaN(v), Number(import_core2.px(mantineTheme.spacing.xl)), 0))
5692
5735
  };
5693
5736
  }
5694
5737
  return {
5695
- complete: true,
5738
+ containerSize: 1300,
5739
+ jsonStringifySpace: 2,
5740
+ transparentBackground,
5741
+ primaryColor,
5742
+ spacingPx,
5743
+ ...customTheme,
5696
5744
  transitionDurations: {
5697
5745
  ["short" /* Short */]: 200,
5698
5746
  ["medium" /* Medium */]: 350,
5699
- ["long" /* Long */]: 500
5747
+ ["long" /* Long */]: 500,
5748
+ ...customTheme?.transitionDurations
5700
5749
  },
5701
5750
  breakpoints: {
5702
5751
  ["buttonCollapse" /* ButtonCollapse */]: "md",
5703
- ["badgeGroupCollapse" /* BadgeGroupCollapse */]: "md"
5752
+ ["badgeGroupCollapse" /* BadgeGroupCollapse */]: "md",
5753
+ ...customTheme?.breakpoints
5704
5754
  },
5705
5755
  scrollAreaProps: {
5706
5756
  scrollbarSize: 8,
5707
5757
  scrollHideDelay: 20,
5708
- type: "hover"
5758
+ type: "hover",
5759
+ ...customTheme?.scrollAreaProps
5709
5760
  },
5710
- containerSize: 1300,
5711
5761
  alertProps: {
5712
5762
  ["negative" /* Negative */]: {
5713
- icon: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(import_icons_react.IconAlertCircle, {
5763
+ icon: /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(import_icons_react.IconAlertCircle, {
5714
5764
  ...defaultMediumIconProps
5715
5765
  }, undefined, false, undefined, this),
5716
5766
  variant: "light",
5717
5767
  color: "red",
5718
- title: "Attention!"
5768
+ title: "Attention!",
5769
+ ...customTheme?.alertProps?.negative
5719
5770
  },
5720
5771
  ["neutral" /* Neutral */]: {
5721
- icon: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(import_icons_react.IconInfoCircle, {
5772
+ icon: /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(import_icons_react.IconInfoCircle, {
5722
5773
  ...defaultMediumIconProps
5723
5774
  }, undefined, false, undefined, this),
5724
5775
  variant: "light",
5725
5776
  color: mantineTheme?.primaryColor,
5726
- title: "Information"
5777
+ title: "Information",
5778
+ ...customTheme?.alertProps?.neutral
5727
5779
  },
5728
5780
  ["positive" /* Positive */]: {
5729
- icon: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(import_icons_react.IconCircleCheck, {
5781
+ icon: /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(import_icons_react.IconCircleCheck, {
5730
5782
  ...defaultMediumIconProps
5731
5783
  }, undefined, false, undefined, this),
5732
5784
  variant: "light",
5733
5785
  color: "green",
5734
- title: "Success"
5786
+ title: "Success",
5787
+ ...customTheme?.alertProps?.positive
5735
5788
  }
5736
5789
  },
5737
5790
  iconProps: {
5738
- ["medium" /* Medium */]: defaultMediumIconProps,
5739
- ["tiny" /* Tiny */]: { size: 14, stroke: 3 }
5740
- },
5741
- jsonStringifySpace: 2,
5742
- transparentBackground,
5743
- primaryColor,
5744
- spacingPx,
5745
- ...customTheme
5791
+ ["medium" /* Medium */]: {
5792
+ ...defaultMediumIconProps,
5793
+ ...customTheme?.iconProps?.medium
5794
+ },
5795
+ ["tiny" /* Tiny */]: {
5796
+ size: 14,
5797
+ stroke: 3,
5798
+ ...customTheme?.iconProps?.tiny
5799
+ }
5800
+ }
5746
5801
  };
5747
5802
  };
5748
- var isRemoraidTheme = (x) => {
5749
- if (!x) {
5750
- return false;
5751
- }
5752
- if (typeof x !== "object") {
5753
- return false;
5754
- }
5755
- if (!("complete" in x)) {
5756
- return false;
5757
- }
5758
- return true;
5759
- };
5760
- var themeContext = import_react2.default.createContext(createRemoraidTheme());
5803
+ var themeContext = import_react3.default.createContext(createRemoraidTheme());
5761
5804
  var useRemoraidTheme = () => {
5762
- return import_react2.useContext(themeContext);
5805
+ return import_react3.useContext(themeContext);
5763
5806
  };
5764
5807
  function ThemeProvider({
5765
- children,
5766
- theme
5808
+ theme,
5809
+ children
5767
5810
  }) {
5768
- const mantineTheme = import_core.useMantineTheme();
5769
- const { colorScheme } = import_core.useMantineColorScheme();
5770
- const remoraidTheme = import_react2.useMemo(() => {
5771
- let value;
5772
- if (isRemoraidTheme(theme)) {
5773
- value = theme;
5774
- } else if (typeof theme === "function") {
5775
- value = theme(mantineTheme, colorScheme);
5776
- } else {
5777
- value = createRemoraidTheme(theme, mantineTheme, colorScheme);
5778
- }
5779
- return value;
5780
- }, [colorScheme]);
5781
- return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(themeContext.Provider, {
5811
+ const mantineTheme = import_core2.useMantineTheme();
5812
+ const { colorScheme } = useHydratedMantineColorScheme();
5813
+ const remoraidTheme = import_react3.useMemo(() => {
5814
+ const dependencies = {
5815
+ mantineTheme,
5816
+ colorScheme
5817
+ };
5818
+ return createRemoraidTheme(typeof theme === "function" ? theme(dependencies) : theme, dependencies);
5819
+ }, [colorScheme, theme]);
5820
+ return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(themeContext.Provider, {
5782
5821
  value: remoraidTheme,
5783
5822
  children
5784
5823
  }, undefined, false, undefined, this);
@@ -5788,36 +5827,36 @@ function ThemeProvider({
5788
5827
  var import_react_cookie2 = require("react-cookie");
5789
5828
 
5790
5829
  // src/core/components/RemoraidProvider/CoreUserExperienceProvider/index.tsx
5791
- var import_react6 = require("react");
5830
+ var import_react7 = require("react");
5792
5831
 
5793
5832
  // src/core/components/AppShell/NavbarMinimal/index.tsx
5794
- var import_core2 = require("@mantine/core");
5833
+ var import_core3 = require("@mantine/core");
5795
5834
  var import_icons_react2 = require("@tabler/icons-react");
5796
5835
  var import_link = __toESM(require("next/link"));
5797
5836
  var import_navigation = require("next/navigation");
5798
- var import_react4 = require("react");
5837
+ var import_react5 = require("react");
5799
5838
 
5800
5839
  // src/core/components/AppShell/AppProvider/index.tsx
5801
- var import_react3 = require("react");
5802
- var jsx_dev_runtime3 = require("react/jsx-dev-runtime");
5840
+ var import_react4 = require("react");
5841
+ var jsx_dev_runtime4 = require("react/jsx-dev-runtime");
5803
5842
  var defaultAppContext = { navigablePages: [] };
5804
- var appContext = import_react3.createContext(defaultAppContext);
5843
+ var appContext = import_react4.createContext(defaultAppContext);
5805
5844
  var useRemoraidApp = () => {
5806
- return import_react3.useContext(appContext);
5845
+ return import_react4.useContext(appContext);
5807
5846
  };
5808
5847
  function AppProvider({
5809
5848
  children,
5810
5849
  navigablePages,
5811
5850
  user
5812
5851
  }) {
5813
- return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(appContext.Provider, {
5852
+ return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(appContext.Provider, {
5814
5853
  value: { navigablePages, user },
5815
5854
  children
5816
5855
  }, undefined, false, undefined, this);
5817
5856
  }
5818
5857
 
5819
5858
  // src/core/components/AppShell/NavbarMinimal/index.tsx
5820
- var jsx_dev_runtime4 = require("react/jsx-dev-runtime");
5859
+ var jsx_dev_runtime5 = require("react/jsx-dev-runtime");
5821
5860
  function NavbarLink({
5822
5861
  icon,
5823
5862
  label,
@@ -5827,30 +5866,30 @@ function NavbarLink({
5827
5866
  indicator,
5828
5867
  settings
5829
5868
  }) {
5830
- const [isHoveringRoleIndicator, setIsHoveringRoleIndicator] = import_react4.useState(false);
5869
+ const [isHoveringRoleIndicator, setIsHoveringRoleIndicator] = import_react5.useState(false);
5831
5870
  const iconProps = {
5832
5871
  size: settings.iconSize,
5833
5872
  stroke: 1.5
5834
5873
  };
5835
5874
  const Icon2 = icon ?? import_icons_react2.IconLink;
5836
5875
  if (!href) {
5837
- return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(import_core2.Tooltip, {
5876
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Tooltip, {
5838
5877
  label,
5839
5878
  position: "right",
5840
5879
  transitionProps: { duration: 0 },
5841
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(import_core2.UnstyledButton, {
5880
+ children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.UnstyledButton, {
5842
5881
  onClick,
5843
5882
  className: "remoraid-navbar-minimal-link",
5844
5883
  "data-active": active || undefined,
5845
5884
  w: settings.linkSize,
5846
5885
  h: settings.linkSize,
5847
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Icon2, {
5886
+ children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Icon2, {
5848
5887
  ...iconProps
5849
5888
  }, undefined, false, undefined, this)
5850
5889
  }, undefined, false, undefined, this)
5851
5890
  }, undefined, false, undefined, this);
5852
5891
  }
5853
- const button = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(import_core2.UnstyledButton, {
5892
+ const button = /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.UnstyledButton, {
5854
5893
  onClick,
5855
5894
  className: "remoraid-navbar-minimal-link",
5856
5895
  "data-active": active || undefined,
@@ -5858,15 +5897,15 @@ function NavbarLink({
5858
5897
  h: settings.linkSize,
5859
5898
  component: import_link.default,
5860
5899
  href,
5861
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Icon2, {
5900
+ children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Icon2, {
5862
5901
  ...iconProps
5863
5902
  }, undefined, false, undefined, this)
5864
5903
  }, undefined, false, undefined, this);
5865
- return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(import_core2.Tooltip, {
5904
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Tooltip, {
5866
5905
  label,
5867
5906
  position: "right",
5868
5907
  transitionProps: { duration: 0 },
5869
- children: indicator === undefined ? button : /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(import_core2.Indicator, {
5908
+ children: indicator === undefined ? button : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Indicator, {
5870
5909
  withBorder: true,
5871
5910
  size: 13,
5872
5911
  offset: 2,
@@ -5879,7 +5918,7 @@ function NavbarLink({
5879
5918
  }
5880
5919
  var defaultSettings = {
5881
5920
  hiddenPages: [],
5882
- linkSize: import_core2.rem("50px"),
5921
+ linkSize: import_core3.rem("50px"),
5883
5922
  iconSize: "50%",
5884
5923
  px: "sm",
5885
5924
  py: "md"
@@ -5895,14 +5934,14 @@ function NavbarMinimal({
5895
5934
  const { userExperience } = useRemoraidUserExperience();
5896
5935
  const pathname = import_navigation.usePathname();
5897
5936
  const theme = useRemoraidTheme();
5898
- const { setColorScheme, colorScheme } = import_core2.useMantineColorScheme();
5937
+ const { setColorScheme, colorScheme } = useHydratedMantineColorScheme();
5899
5938
  const app = useRemoraidApp();
5900
- const [isHoveringRoleIndicator, setIsHoveringRoleIndicator] = import_react4.useState(false);
5939
+ const [isHoveringRoleIndicator, setIsHoveringRoleIndicator] = import_react5.useState(false);
5901
5940
  const settings = {
5902
5941
  ...userExperience.navbarSettings,
5903
5942
  ...settingsProp
5904
5943
  };
5905
- const links = app.navigablePages.filter((link) => !settings.hiddenPages.includes(link.href)).map((link) => /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(NavbarLink, {
5944
+ const links = app.navigablePages.filter((link) => !settings.hiddenPages.includes(link.href)).map((link) => /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(NavbarLink, {
5906
5945
  active: link.href === pathname,
5907
5946
  indicator: linkIndicator,
5908
5947
  settings,
@@ -5915,19 +5954,19 @@ function NavbarMinimal({
5915
5954
  height: settings.linkSize
5916
5955
  }
5917
5956
  });
5918
- return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(import_core2.Paper, {
5957
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Paper, {
5919
5958
  h: "100%",
5920
5959
  py: settings.py,
5921
5960
  bg: theme.transparentBackground,
5922
5961
  radius: 0,
5923
5962
  shadow: "md",
5924
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(import_core2.Flex, {
5963
+ children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Flex, {
5925
5964
  direction: "column",
5926
5965
  h: "100%",
5927
5966
  align: "center",
5928
5967
  px: settings.px,
5929
5968
  children: [
5930
- logoIndicator === undefined ? logoImage : /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(import_core2.Indicator, {
5969
+ logoIndicator === undefined ? logoImage : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Indicator, {
5931
5970
  withBorder: true,
5932
5971
  offset: 2,
5933
5972
  size: 13,
@@ -5936,28 +5975,28 @@ function NavbarMinimal({
5936
5975
  ...logoIndicator(isHoveringRoleIndicator),
5937
5976
  children: logoImage
5938
5977
  }, undefined, false, undefined, this),
5939
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(import_core2.Divider, {
5978
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Divider, {
5940
5979
  my: "md",
5941
5980
  variant: "dashed",
5942
5981
  w: "100%"
5943
5982
  }, undefined, false, undefined, this),
5944
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(import_core2.Stack, {
5983
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Stack, {
5945
5984
  justify: "flex-start",
5946
5985
  gap: 0,
5947
5986
  flex: 1,
5948
5987
  children: links
5949
5988
  }, undefined, false, undefined, this),
5950
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(import_core2.Stack, {
5989
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Stack, {
5951
5990
  justify: "center",
5952
5991
  gap: 0,
5953
5992
  children: [
5954
- user !== undefined && (user === null ? /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(NavbarLink, {
5993
+ user !== undefined && (user === null ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(NavbarLink, {
5955
5994
  icon: import_icons_react2.IconLogin,
5956
5995
  label: "Login",
5957
5996
  href: "/login",
5958
5997
  active: pathname === "/login",
5959
5998
  settings
5960
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(NavbarLink, {
5999
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(NavbarLink, {
5961
6000
  icon: import_icons_react2.IconLogout,
5962
6001
  label: "Logout",
5963
6002
  onClick: () => {
@@ -5968,14 +6007,13 @@ function NavbarMinimal({
5968
6007
  href: "/login",
5969
6008
  settings
5970
6009
  }, undefined, false, undefined, this)),
5971
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(NavbarLink, {
6010
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(NavbarLink, {
5972
6011
  icon: colorScheme === "dark" ? import_icons_react2.IconSun : import_icons_react2.IconMoon,
5973
6012
  onClick: () => {
5974
- if (colorScheme === "dark") {
5975
- setColorScheme("light");
5976
- } else {
5977
- setColorScheme("dark");
6013
+ if (!colorScheme || !setColorScheme) {
6014
+ return;
5978
6015
  }
6016
+ setColorScheme(colorScheme === "dark" ? "light" : "dark");
5979
6017
  },
5980
6018
  label: "Toggle Color Scheme",
5981
6019
  settings
@@ -5988,10 +6026,10 @@ function NavbarMinimal({
5988
6026
  }
5989
6027
 
5990
6028
  // src/core/components/UserExperienceProviderWrapper/index.tsx
5991
- var import_react5 = require("react");
6029
+ var import_react6 = require("react");
5992
6030
  var import_react_cookie = require("react-cookie");
5993
- var jsx_dev_runtime5 = require("react/jsx-dev-runtime");
5994
- var createUserExperienceContext = (defaultUserExperience) => import_react5.createContext({
6031
+ var jsx_dev_runtime6 = require("react/jsx-dev-runtime");
6032
+ var createUserExperienceContext = (defaultUserExperience) => import_react6.createContext({
5995
6033
  userExperience: defaultUserExperience,
5996
6034
  updateUserExperience: () => {},
5997
6035
  processedCookie: false,
@@ -6010,14 +6048,14 @@ function UserExperienceProviderWrapper({
6010
6048
  ...defaultUserExperience,
6011
6049
  ...initialValue
6012
6050
  };
6013
- const [userExperience, setUserExperience] = import_react5.useState(initialUserExperience);
6014
- const [processedCookie, setProcessedCookie] = import_react5.useState(false);
6051
+ const [userExperience, setUserExperience] = import_react6.useState(initialUserExperience);
6052
+ const [processedCookie, setProcessedCookie] = import_react6.useState(false);
6015
6053
  const updateUserExperience = (p) => {
6016
6054
  const updatedUserExperience = typeof p === "function" ? p(userExperience) : p;
6017
6055
  setCookie(cookieName, updatedUserExperience, { path: "/" });
6018
6056
  setUserExperience(updatedUserExperience);
6019
6057
  };
6020
- import_react5.useEffect(() => {
6058
+ import_react6.useEffect(() => {
6021
6059
  const userExperienceCookie = cookies[cookieName];
6022
6060
  if (userExperienceCookie && isValidUserExperience(userExperienceCookie)) {
6023
6061
  setUserExperience(userExperienceCookie);
@@ -6026,7 +6064,7 @@ function UserExperienceProviderWrapper({
6026
6064
  setProcessedCookie(true);
6027
6065
  }
6028
6066
  }, [cookies]);
6029
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(context.Provider, {
6067
+ return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(context.Provider, {
6030
6068
  value: {
6031
6069
  userExperience,
6032
6070
  updateUserExperience,
@@ -6038,7 +6076,7 @@ function UserExperienceProviderWrapper({
6038
6076
  }
6039
6077
 
6040
6078
  // src/core/components/RemoraidProvider/CoreUserExperienceProvider/index.tsx
6041
- var jsx_dev_runtime6 = require("react/jsx-dev-runtime");
6079
+ var jsx_dev_runtime7 = require("react/jsx-dev-runtime");
6042
6080
  var defaultNavbarSettings = {
6043
6081
  ["minimal" /* Minimal */]: defaultSettings
6044
6082
  };
@@ -6050,7 +6088,7 @@ var defaultUserExperience = {
6050
6088
  var defaultUserExperienceCookieName = "remoraid-core-user-experience";
6051
6089
  var coreUserExperienceContext = createUserExperienceContext(defaultUserExperience);
6052
6090
  var useRemoraidUserExperience = () => {
6053
- return import_react6.useContext(coreUserExperienceContext);
6091
+ return import_react7.useContext(coreUserExperienceContext);
6054
6092
  };
6055
6093
  function CoreUserExperienceProvider({
6056
6094
  children,
@@ -6093,7 +6131,7 @@ function CoreUserExperienceProvider({
6093
6131
  }
6094
6132
  return true;
6095
6133
  };
6096
- return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(UserExperienceProviderWrapper, {
6134
+ return /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(UserExperienceProviderWrapper, {
6097
6135
  context: coreUserExperienceContext,
6098
6136
  isValidUserExperience,
6099
6137
  cookieName: cookieName ?? defaultUserExperienceCookieName,
@@ -6104,53 +6142,54 @@ function CoreUserExperienceProvider({
6104
6142
  }
6105
6143
 
6106
6144
  // src/core/components/RemoraidProvider/index.tsx
6107
- var jsx_dev_runtime7 = require("react/jsx-dev-runtime");
6145
+ var jsx_dev_runtime8 = require("react/jsx-dev-runtime");
6108
6146
  function RemoraidProvider({
6109
6147
  children,
6110
6148
  theme,
6111
6149
  initialUserExperience,
6112
6150
  componentsProps
6113
6151
  }) {
6114
- return /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(import_react_cookie2.CookiesProvider, {
6152
+ return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(import_react_cookie2.CookiesProvider, {
6115
6153
  ...componentsProps?.CookiesProvider,
6116
- children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(ThemeProvider, {
6117
- theme,
6118
- ...componentsProps?.ThemeProvider,
6119
- children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(CoreUserExperienceProvider, {
6120
- initialValue: initialUserExperience,
6121
- ...componentsProps?.CoreUserExperienceProvider,
6122
- children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(WidgetsProvider, {
6123
- ...componentsProps?.WidgetsProvider,
6124
- children
6154
+ children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(HydrationStatusProvider, {
6155
+ ...componentsProps?.HydrationStatusProviderProps,
6156
+ children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(ThemeProvider, {
6157
+ theme,
6158
+ ...componentsProps?.ThemeProvider,
6159
+ children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(CoreUserExperienceProvider, {
6160
+ initialValue: initialUserExperience,
6161
+ ...componentsProps?.CoreUserExperienceProvider,
6162
+ children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(WidgetsProvider, {
6163
+ ...componentsProps?.WidgetsProvider,
6164
+ children
6165
+ }, undefined, false, undefined, this)
6125
6166
  }, undefined, false, undefined, this)
6126
6167
  }, undefined, false, undefined, this)
6127
6168
  }, undefined, false, undefined, this)
6128
6169
  }, undefined, false, undefined, this);
6129
6170
  }
6130
6171
  // src/core/components/AppShell/index.tsx
6131
- var import_core4 = require("@mantine/core");
6172
+ var import_core5 = require("@mantine/core");
6132
6173
  var import_hooks = require("@mantine/hooks");
6133
6174
 
6134
6175
  // src/core/components/AppShell/Footer/index.tsx
6135
- var import_core3 = require("@mantine/core");
6176
+ var import_core4 = require("@mantine/core");
6136
6177
  var import_icons_react3 = require("@tabler/icons-react");
6137
- var jsx_dev_runtime8 = require("react/jsx-dev-runtime");
6178
+ var jsx_dev_runtime9 = require("react/jsx-dev-runtime");
6138
6179
  function Footer() {
6139
- const theme = import_core3.useMantineTheme();
6140
- const { colorScheme } = import_core3.useMantineColorScheme();
6141
- return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(import_core3.Group, {
6180
+ return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core4.Group, {
6142
6181
  justify: "center",
6143
6182
  w: "100%",
6144
6183
  py: "md",
6145
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(import_icons_react3.IconPennant, {
6184
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_icons_react3.IconPennant, {
6146
6185
  size: 50,
6147
- color: colorScheme === "dark" ? theme.colors.dark[8] : theme.colors.gray[3]
6186
+ color: "var(--mantine-color-default-border)"
6148
6187
  }, undefined, false, undefined, this)
6149
6188
  }, undefined, false, undefined, this);
6150
6189
  }
6151
6190
 
6152
6191
  // src/core/components/AppShell/index.tsx
6153
- var jsx_dev_runtime9 = require("react/jsx-dev-runtime");
6192
+ var jsx_dev_runtime10 = require("react/jsx-dev-runtime");
6154
6193
  function AppShell({
6155
6194
  children,
6156
6195
  logo,
@@ -6159,33 +6198,36 @@ function AppShell({
6159
6198
  navigablePages
6160
6199
  }) {
6161
6200
  const { userExperience } = useRemoraidUserExperience();
6162
- const mantineTheme = import_core4.useMantineTheme();
6201
+ const mantineTheme = import_core5.useMantineTheme();
6163
6202
  const theme = useRemoraidTheme();
6164
- const { colorScheme } = import_core4.useMantineColorScheme();
6203
+ const { colorScheme } = useHydratedMantineColorScheme();
6165
6204
  const [opened, { toggle }] = import_hooks.useDisclosure();
6166
6205
  const navbarVariant = navbar && navbar.variant ? navbar.variant : userExperience.navbarVariant;
6167
- const navbarSettings = navbar && navbar.settings ? navbar.settings : userExperience.navbarSettings;
6168
- const navbarLinkSizePx = co((v) => !Number.isNaN(v), Number(import_core4.px(navbarSettings.linkSize)), 0);
6206
+ const navbarSettings = {
6207
+ ...userExperience.navbarSettings,
6208
+ ...navbar?.settings
6209
+ };
6210
+ const navbarLinkSizePx = co((v) => !Number.isNaN(v), Number(import_core5.px(navbarSettings.linkSize)), 0);
6169
6211
  const navbarPaddingPx = typeof navbarSettings.px === "number" ? navbarSettings.px : theme.spacingPx ? theme.spacingPx[navbarSettings.px] : 0;
6170
- return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(AppProvider, {
6212
+ return /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(AppProvider, {
6171
6213
  user,
6172
6214
  navigablePages,
6173
- children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core4.AppShell, {
6215
+ children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(import_core5.AppShell, {
6174
6216
  header: { height: 0 },
6175
6217
  navbar: {
6176
- width: import_core4.rem(`${navbarLinkSizePx + 2 * navbarPaddingPx}px`),
6218
+ width: import_core5.rem(`${navbarLinkSizePx + 2 * navbarPaddingPx}px`),
6177
6219
  breakpoint: "sm",
6178
6220
  collapsed: { mobile: !opened }
6179
6221
  },
6180
6222
  bg: colorScheme === "dark" ? mantineTheme.colors.dark[9] : mantineTheme.colors.gray[0],
6181
6223
  children: [
6182
- /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core4.AppShell.Header, {
6224
+ /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(import_core5.AppShell.Header, {
6183
6225
  withBorder: false,
6184
- children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core4.Group, {
6226
+ children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(import_core5.Group, {
6185
6227
  p: "md",
6186
6228
  bg: colorScheme === "dark" ? mantineTheme.colors.dark[8] : mantineTheme.colors.gray[3],
6187
6229
  hiddenFrom: "sm",
6188
- children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core4.Burger, {
6230
+ children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(import_core5.Burger, {
6189
6231
  opened,
6190
6232
  onClick: toggle,
6191
6233
  h: 20,
@@ -6193,25 +6235,25 @@ function AppShell({
6193
6235
  }, undefined, false, undefined, this)
6194
6236
  }, undefined, false, undefined, this)
6195
6237
  }, undefined, false, undefined, this),
6196
- /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core4.AppShell.Navbar, {
6238
+ /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(import_core5.AppShell.Navbar, {
6197
6239
  withBorder: false,
6198
- children: navbarVariant === "minimal" /* Minimal */ && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(NavbarMinimal, {
6240
+ children: navbarVariant === "minimal" /* Minimal */ && /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(NavbarMinimal, {
6199
6241
  logo,
6200
6242
  user,
6201
6243
  ...navbar
6202
6244
  }, undefined, false, undefined, this)
6203
6245
  }, undefined, false, undefined, this),
6204
- /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core4.AppShell.Main, {
6205
- children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(jsx_dev_runtime9.Fragment, {
6246
+ /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(import_core5.AppShell.Main, {
6247
+ children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(jsx_dev_runtime10.Fragment, {
6206
6248
  children: [
6207
- /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core4.Paper, {
6249
+ /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(import_core5.Paper, {
6208
6250
  radius: 0,
6209
6251
  my: "md",
6210
6252
  h: 20,
6211
6253
  hiddenFrom: "sm"
6212
6254
  }, undefined, false, undefined, this),
6213
6255
  children,
6214
- /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Footer, {}, undefined, false, undefined, this)
6256
+ /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Footer, {}, undefined, false, undefined, this)
6215
6257
  ]
6216
6258
  }, undefined, true, undefined, this)
6217
6259
  }, undefined, false, undefined, this)
@@ -6220,22 +6262,22 @@ function AppShell({
6220
6262
  }, undefined, false, undefined, this);
6221
6263
  }
6222
6264
  // src/core/components/WidgetSelectionHeader/index.tsx
6223
- var import_core6 = require("@mantine/core");
6265
+ var import_core8 = require("@mantine/core");
6224
6266
 
6225
6267
  // src/core/components/Page/index.tsx
6226
- var import_react7 = __toESM(require("react"));
6268
+ var import_react8 = __toESM(require("react"));
6227
6269
  var import_navigation2 = require("next/navigation");
6228
6270
 
6229
6271
  // src/core/components/Page/PageContainer/index.tsx
6230
- var import_core5 = require("@mantine/core");
6231
- var jsx_dev_runtime10 = require("react/jsx-dev-runtime");
6272
+ var import_core6 = require("@mantine/core");
6273
+ var jsx_dev_runtime11 = require("react/jsx-dev-runtime");
6232
6274
  function PageContainer({
6233
6275
  children,
6234
6276
  pt,
6235
6277
  componentsProps
6236
6278
  }) {
6237
6279
  const theme = useRemoraidTheme();
6238
- return /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(import_core5.Container, {
6280
+ return /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(import_core6.Container, {
6239
6281
  size: theme.containerSize,
6240
6282
  pt: pt ?? "md",
6241
6283
  ...componentsProps?.container,
@@ -6244,10 +6286,10 @@ function PageContainer({
6244
6286
  }
6245
6287
 
6246
6288
  // src/core/components/Page/index.tsx
6247
- var jsx_dev_runtime11 = require("react/jsx-dev-runtime");
6248
- var pageContext = import_react7.default.createContext(null);
6289
+ var jsx_dev_runtime12 = require("react/jsx-dev-runtime");
6290
+ var pageContext = import_react8.default.createContext(null);
6249
6291
  var usePage = () => {
6250
- return import_react7.useContext(pageContext);
6292
+ return import_react8.useContext(pageContext);
6251
6293
  };
6252
6294
  function Page({
6253
6295
  children,
@@ -6259,16 +6301,16 @@ function Page({
6259
6301
  const pathname = import_navigation2.usePathname();
6260
6302
  const { isPageRegistered, registerPage } = useWidgets();
6261
6303
  const pageId = config?.pageId ?? pathname;
6262
- import_react7.useEffect(() => {
6304
+ import_react8.useEffect(() => {
6263
6305
  if (!isPageRegistered(pageId)) {
6264
6306
  if (config?.registerPageDirectly) {
6265
6307
  registerPage(pageId, []);
6266
6308
  }
6267
6309
  }
6268
6310
  }, []);
6269
- return /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(pageContext.Provider, {
6311
+ return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(pageContext.Provider, {
6270
6312
  value: { name: name ?? pathname, pageId, ...config },
6271
- children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(PageContainer, {
6313
+ children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(PageContainer, {
6272
6314
  pt,
6273
6315
  componentsProps: { container: componentsProps?.container },
6274
6316
  children
@@ -6278,7 +6320,40 @@ function Page({
6278
6320
 
6279
6321
  // src/core/components/WidgetSelectionHeader/index.tsx
6280
6322
  var import_icons_react4 = require("@tabler/icons-react");
6281
- var jsx_dev_runtime12 = require("react/jsx-dev-runtime");
6323
+
6324
+ // src/core/components/ScrollableChipGroup/index.tsx
6325
+ var import_core7 = require("@mantine/core");
6326
+ var jsx_dev_runtime13 = require("react/jsx-dev-runtime");
6327
+ function ScrollableChipGroup({
6328
+ value,
6329
+ onChange,
6330
+ gap,
6331
+ componentsProps,
6332
+ children
6333
+ }) {
6334
+ const theme = useRemoraidTheme();
6335
+ return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(import_core7.ScrollArea, {
6336
+ ...theme.scrollAreaProps,
6337
+ ...componentsProps?.scrollArea,
6338
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(import_core7.Chip.Group, {
6339
+ value,
6340
+ onChange,
6341
+ ...componentsProps?.chipGroup,
6342
+ multiple: true,
6343
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(import_core7.Flex, {
6344
+ justify: "flex-start",
6345
+ align: "center",
6346
+ gap: gap ?? "xs",
6347
+ h: "auto",
6348
+ ...componentsProps?.container,
6349
+ children
6350
+ }, undefined, false, undefined, this)
6351
+ }, undefined, false, undefined, this)
6352
+ }, undefined, false, undefined, this);
6353
+ }
6354
+
6355
+ // src/core/components/WidgetSelectionHeader/index.tsx
6356
+ var jsx_dev_runtime14 = require("react/jsx-dev-runtime");
6282
6357
  function WidgetSelectionHeader({
6283
6358
  title,
6284
6359
  disabledWidgets,
@@ -6291,63 +6366,53 @@ function WidgetSelectionHeader({
6291
6366
  console.error("'WidgetSelectionHeader' must be rendered inside of a 'Page' component.");
6292
6367
  return null;
6293
6368
  }
6294
- return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(import_core6.Flex, {
6369
+ return /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(import_core8.Flex, {
6295
6370
  justify: "flex-start",
6296
6371
  align: "center",
6297
6372
  gap: "xs",
6298
6373
  mt,
6299
6374
  children: [
6300
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(import_core6.Text, {
6375
+ /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(import_core8.Text, {
6301
6376
  size: "lg",
6302
6377
  fw: 400,
6303
6378
  children: title ?? page.name
6304
6379
  }, undefined, false, undefined, this),
6305
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(import_core6.Divider, {
6380
+ /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(import_core8.Divider, {
6306
6381
  orientation: "vertical"
6307
6382
  }, undefined, false, undefined, this),
6308
- isPageRegistered(page.pageId) && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(import_core6.ScrollArea, {
6309
- flex: 1,
6310
- ...theme.scrollAreaProps,
6311
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(import_core6.Chip.Group, {
6312
- multiple: true,
6313
- value: Object.keys(widgets[page.pageId]).filter((widgetId) => widgets[page.pageId][widgetId].selected),
6314
- onChange: (value) => {
6315
- updateWidgetSelectionBulk(page.pageId, value);
6316
- },
6317
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(import_core6.Flex, {
6318
- justify: "flex-start",
6319
- align: "center",
6320
- gap: "xs",
6321
- h: "auto",
6322
- children: Object.keys(widgets[page.pageId]).map((widgetId) => /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(import_core6.Chip, {
6323
- value: widgetId,
6324
- size: "sm",
6325
- disabled: disabledWidgets && disabledWidgets.includes(widgetId),
6326
- icon: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(import_icons_react4.IconCheck, {
6327
- ...theme.iconProps.tiny
6328
- }, undefined, false, undefined, this),
6329
- children: widgets[page.pageId][widgetId].name
6330
- }, widgetId, false, undefined, this))
6331
- }, undefined, false, undefined, this)
6332
- }, undefined, false, undefined, this)
6383
+ isPageRegistered(page.pageId) && /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(ScrollableChipGroup, {
6384
+ value: Object.keys(widgets[page.pageId]).filter((widgetId) => widgets[page.pageId][widgetId].selected),
6385
+ onChange: (value) => {
6386
+ updateWidgetSelectionBulk(page.pageId, value);
6387
+ },
6388
+ componentsProps: { scrollArea: { flex: 1 } },
6389
+ children: Object.keys(widgets[page.pageId]).map((widgetId) => /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(import_core8.Chip, {
6390
+ value: widgetId,
6391
+ size: "sm",
6392
+ disabled: disabledWidgets && disabledWidgets.includes(widgetId),
6393
+ icon: /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(import_icons_react4.IconCheck, {
6394
+ ...theme.iconProps.tiny
6395
+ }, undefined, false, undefined, this),
6396
+ children: widgets[page.pageId][widgetId].name
6397
+ }, widgetId, false, undefined, this))
6333
6398
  }, undefined, false, undefined, this)
6334
6399
  ]
6335
6400
  }, undefined, true, undefined, this);
6336
6401
  }
6337
6402
  // src/core/components/Widget/WidgetWrapper/CloseButton/index.tsx
6338
- var import_core7 = require("@mantine/core");
6403
+ var import_core9 = require("@mantine/core");
6339
6404
  var import_icons_react5 = require("@tabler/icons-react");
6340
- var jsx_dev_runtime13 = require("react/jsx-dev-runtime");
6405
+ var jsx_dev_runtime15 = require("react/jsx-dev-runtime");
6341
6406
  function CloseButton({ widgetId }) {
6342
6407
  const theme = useRemoraidTheme();
6343
6408
  const { activeWidget, updateWidgetSelection } = useWidgets();
6344
6409
  const page = usePage();
6345
- return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(import_core7.Transition, {
6410
+ return /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(import_core9.Transition, {
6346
6411
  mounted: activeWidget === widgetId,
6347
6412
  transition: "pop-top-right",
6348
6413
  duration: theme.transitionDurations.short,
6349
6414
  timingFunction: "ease",
6350
- children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(import_core7.ActionIcon, {
6415
+ children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(import_core9.ActionIcon, {
6351
6416
  pos: "absolute",
6352
6417
  size: "xs",
6353
6418
  className: "remoraid-close-button",
@@ -6360,19 +6425,19 @@ function CloseButton({ widgetId }) {
6360
6425
  updateWidgetSelection(page.pageId, widgetId, false);
6361
6426
  },
6362
6427
  style: transitionStyle,
6363
- children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(import_icons_react5.IconX, {
6428
+ children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(import_icons_react5.IconX, {
6364
6429
  ...theme.iconProps.tiny
6365
6430
  }, undefined, false, undefined, this)
6366
6431
  }, undefined, false, undefined, this)
6367
6432
  }, undefined, false, undefined, this);
6368
6433
  }
6369
6434
  // src/core/components/BadgeGroup/index.tsx
6370
- var import_core9 = require("@mantine/core");
6371
- var import_react8 = __toESM(require("react"));
6435
+ var import_core11 = require("@mantine/core");
6436
+ var import_react9 = __toESM(require("react"));
6372
6437
 
6373
6438
  // src/core/components/BadgeMinimal/index.tsx
6374
- var import_core8 = require("@mantine/core");
6375
- var jsx_dev_runtime14 = require("react/jsx-dev-runtime");
6439
+ var import_core10 = require("@mantine/core");
6440
+ var jsx_dev_runtime16 = require("react/jsx-dev-runtime");
6376
6441
  var isBadgeMinimalProps = (e) => {
6377
6442
  if (typeof e !== "object") {
6378
6443
  return false;
@@ -6385,17 +6450,17 @@ var isBadgeMinimalProps = (e) => {
6385
6450
  function BadgeMinimal(props) {
6386
6451
  const { label, tooltip, mounted, componentsProps } = props;
6387
6452
  const theme = useRemoraidTheme();
6388
- return /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(import_core8.Transition, {
6453
+ return /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(import_core10.Transition, {
6389
6454
  mounted: mounted !== false,
6390
6455
  transition: "fade",
6391
6456
  duration: theme.transitionDurations.short,
6392
6457
  timingFunction: "ease",
6393
6458
  ...componentsProps?.transition,
6394
- children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(import_core8.Tooltip, {
6459
+ children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(import_core10.Tooltip, {
6395
6460
  disabled: !tooltip,
6396
6461
  label: tooltip,
6397
6462
  ...componentsProps?.tooltip,
6398
- children: /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(import_core8.Badge, {
6463
+ children: /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(import_core10.Badge, {
6399
6464
  variant: "default",
6400
6465
  ...componentsProps?.badge,
6401
6466
  style: {
@@ -6410,7 +6475,7 @@ function BadgeMinimal(props) {
6410
6475
  }
6411
6476
 
6412
6477
  // src/core/components/BadgeGroup/index.tsx
6413
- var jsx_dev_runtime15 = require("react/jsx-dev-runtime");
6478
+ var jsx_dev_runtime17 = require("react/jsx-dev-runtime");
6414
6479
  var react = require("react");
6415
6480
  function BadgeGroup({
6416
6481
  badges,
@@ -6420,9 +6485,9 @@ function BadgeGroup({
6420
6485
  }) {
6421
6486
  const theme = useRemoraidTheme();
6422
6487
  const numVisibleBadges = badges.filter((e) => isBadgeMinimalProps(e) ? e.mounted !== false : true).length;
6423
- return /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(jsx_dev_runtime15.Fragment, {
6488
+ return /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(jsx_dev_runtime17.Fragment, {
6424
6489
  children: [
6425
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(import_core9.Group, {
6490
+ /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(import_core11.Group, {
6426
6491
  gap: gap ?? "xs",
6427
6492
  wrap: "nowrap",
6428
6493
  visibleFrom: breakpoint ?? theme.breakpoints.badgeGroupCollapse,
@@ -6436,10 +6501,10 @@ function BadgeGroup({
6436
6501
  return e;
6437
6502
  })
6438
6503
  }, undefined, false, undefined, this),
6439
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(import_core9.Tooltip, {
6504
+ /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(import_core11.Tooltip, {
6440
6505
  label: `${numVisibleBadges} badge${numVisibleBadges === 1 ? "" : "s"}`,
6441
6506
  ...componentsProps?.tooltip,
6442
- children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(import_core9.Badge, {
6507
+ children: /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(import_core11.Badge, {
6443
6508
  hiddenFrom: breakpoint ?? theme.breakpoints.badgeGroupCollapse,
6444
6509
  hidden: numVisibleBadges === 0,
6445
6510
  variant: "light",
@@ -6453,8 +6518,8 @@ function BadgeGroup({
6453
6518
  }, undefined, true, undefined, this);
6454
6519
  }
6455
6520
  // src/core/components/AlertMinimal/index.tsx
6456
- var import_core10 = require("@mantine/core");
6457
- var jsx_dev_runtime16 = require("react/jsx-dev-runtime");
6521
+ var import_core12 = require("@mantine/core");
6522
+ var jsx_dev_runtime18 = require("react/jsx-dev-runtime");
6458
6523
  var isAlertMinimalProps = (e) => {
6459
6524
  if (typeof e !== "object") {
6460
6525
  return false;
@@ -6476,13 +6541,13 @@ function AlertMinimal({
6476
6541
  componentsProps
6477
6542
  }) {
6478
6543
  const theme = useRemoraidTheme();
6479
- return /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(import_core10.Transition, {
6544
+ return /* @__PURE__ */ jsx_dev_runtime18.jsxDEV(import_core12.Transition, {
6480
6545
  mounted: mounted !== false,
6481
6546
  transition: "fade",
6482
6547
  duration: theme.transitionDurations.short,
6483
6548
  timingFunction: "ease",
6484
6549
  ...componentsProps?.transition,
6485
- children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(import_core10.Alert, {
6550
+ children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime18.jsxDEV(import_core12.Alert, {
6486
6551
  ...theme.alertProps[category],
6487
6552
  title: title ?? theme.alertProps[category].title,
6488
6553
  withCloseButton: onClose !== undefined,
@@ -6502,9 +6567,9 @@ function AlertMinimal({
6502
6567
  }, undefined, false, undefined, this);
6503
6568
  }
6504
6569
  // src/core/components/RemoraidButton/index.tsx
6505
- var import_core11 = require("@mantine/core");
6570
+ var import_core13 = require("@mantine/core");
6506
6571
  var import_icons_react6 = require("@tabler/icons-react");
6507
- var jsx_dev_runtime17 = require("react/jsx-dev-runtime");
6572
+ var jsx_dev_runtime19 = require("react/jsx-dev-runtime");
6508
6573
  var isRemoraidButtonProps = (e) => {
6509
6574
  if (typeof e !== "object") {
6510
6575
  return false;
@@ -6529,17 +6594,17 @@ function RemoraidButton({
6529
6594
  }) {
6530
6595
  const theme = useRemoraidTheme();
6531
6596
  const iconProps = { ...theme.iconProps.medium, ...componentsProps?.icon };
6532
- const icon = props.icon ? /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(props.icon, {
6597
+ const icon = props.icon ? /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(props.icon, {
6533
6598
  ...iconProps
6534
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(import_icons_react6.IconClick, {
6599
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_icons_react6.IconClick, {
6535
6600
  ...iconProps
6536
6601
  }, undefined, false, undefined, this);
6537
- return /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(jsx_dev_runtime17.Fragment, {
6602
+ return /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(jsx_dev_runtime19.Fragment, {
6538
6603
  children: [
6539
- /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(import_core11.Tooltip, {
6604
+ /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_core13.Tooltip, {
6540
6605
  label,
6541
6606
  ...componentsProps?.tooltip,
6542
- children: /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(import_core11.ActionIcon, {
6607
+ children: /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_core13.ActionIcon, {
6543
6608
  "aria-label": label,
6544
6609
  variant: variant ?? "default",
6545
6610
  onClick,
@@ -6553,7 +6618,7 @@ function RemoraidButton({
6553
6618
  children: icon
6554
6619
  }, undefined, false, undefined, this)
6555
6620
  }, undefined, false, undefined, this),
6556
- /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(import_core11.Button, {
6621
+ /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_core13.Button, {
6557
6622
  onClick,
6558
6623
  loading,
6559
6624
  variant: variant ?? "default",
@@ -6570,9 +6635,9 @@ function RemoraidButton({
6570
6635
  }, undefined, true, undefined, this);
6571
6636
  }
6572
6637
  // src/core/components/Widget/WidgetWrapper/index.tsx
6573
- var import_core12 = require("@mantine/core");
6574
- var import_react9 = require("react");
6575
- var jsx_dev_runtime18 = require("react/jsx-dev-runtime");
6638
+ var import_core14 = require("@mantine/core");
6639
+ var import_react10 = require("react");
6640
+ var jsx_dev_runtime20 = require("react/jsx-dev-runtime");
6576
6641
  function WidgetWrapper({
6577
6642
  children,
6578
6643
  config,
@@ -6590,7 +6655,7 @@ function WidgetWrapper({
6590
6655
  const page = usePage();
6591
6656
  const theme = useRemoraidTheme();
6592
6657
  const pageRegistered = page ? isPageRegistered(page.pageId) : false;
6593
- import_react9.useEffect(() => {
6658
+ import_react10.useEffect(() => {
6594
6659
  if (!page) {
6595
6660
  return;
6596
6661
  }
@@ -6598,12 +6663,12 @@ function WidgetWrapper({
6598
6663
  registerWidget(page.pageId, config);
6599
6664
  }
6600
6665
  }, [pageRegistered]);
6601
- return /* @__PURE__ */ jsx_dev_runtime18.jsxDEV(import_core12.Transition, {
6666
+ return /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(import_core14.Transition, {
6602
6667
  mounted: page !== null && isWidgetSelected(page.pageId, config.widgetId),
6603
6668
  transition: "fade-left",
6604
6669
  duration: theme.transitionDurations.medium,
6605
6670
  timingFunction: "ease",
6606
- children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime18.jsxDEV(import_core12.Paper, {
6671
+ children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(import_core14.Paper, {
6607
6672
  p: "md",
6608
6673
  shadow: "md",
6609
6674
  bg: theme.transparentBackground,
@@ -6619,7 +6684,7 @@ function WidgetWrapper({
6619
6684
  updateActiveWidget(null);
6620
6685
  },
6621
6686
  children: [
6622
- withCloseButton !== false && /* @__PURE__ */ jsx_dev_runtime18.jsxDEV(CloseButton, {
6687
+ withCloseButton !== false && /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(CloseButton, {
6623
6688
  widgetId: config.widgetId
6624
6689
  }, undefined, false, undefined, this),
6625
6690
  children
@@ -6631,8 +6696,8 @@ var WidgetWrapper_default = Object.assign(WidgetWrapper, {
6631
6696
  CloseButton
6632
6697
  });
6633
6698
  // src/core/components/Widget/index.tsx
6634
- var import_core13 = require("@mantine/core");
6635
- var jsx_dev_runtime19 = require("react/jsx-dev-runtime");
6699
+ var import_core15 = require("@mantine/core");
6700
+ var jsx_dev_runtime21 = require("react/jsx-dev-runtime");
6636
6701
  var react2 = require("react");
6637
6702
  function Widget({
6638
6703
  children,
@@ -6650,7 +6715,7 @@ function Widget({
6650
6715
  const badgesGap = (typeof gaps === "object" ? gaps.badges : gaps) ?? "xs";
6651
6716
  const buttonsGap = (typeof gaps === "object" ? gaps.buttons : gaps) ?? "xs";
6652
6717
  const alertsGap = (typeof gaps === "object" ? gaps.alerts : gaps) ?? "xs";
6653
- return /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(WidgetWrapper_default, {
6718
+ return /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(WidgetWrapper_default, {
6654
6719
  config: {
6655
6720
  widgetId: id,
6656
6721
  name: title,
@@ -6663,28 +6728,28 @@ function Widget({
6663
6728
  },
6664
6729
  ...componentsProps?.wrapper,
6665
6730
  children: [
6666
- /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_core13.Group, {
6731
+ /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core15.Group, {
6667
6732
  justify: "space-between",
6668
6733
  wrap: "nowrap",
6669
6734
  children: [
6670
- /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_core13.Group, {
6735
+ /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core15.Group, {
6671
6736
  gap: badgesGap,
6672
6737
  wrap: "nowrap",
6673
6738
  children: [
6674
- /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_core13.Title, {
6739
+ /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core15.Title, {
6675
6740
  order: 1,
6676
6741
  size: "h3",
6677
6742
  lineClamp: 1,
6678
6743
  children: title
6679
6744
  }, undefined, false, undefined, this),
6680
- badges !== undefined && /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(BadgeGroup, {
6745
+ badges !== undefined && /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(BadgeGroup, {
6681
6746
  badges,
6682
6747
  gap: badgesGap,
6683
6748
  ...componentsProps?.badgeGroup
6684
6749
  }, undefined, false, undefined, this)
6685
6750
  ]
6686
6751
  }, undefined, true, undefined, this),
6687
- /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_core13.Group, {
6752
+ /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core15.Group, {
6688
6753
  gap: buttonsGap,
6689
6754
  wrap: "nowrap",
6690
6755
  children: buttons !== undefined && buttons.map((e, i) => {
@@ -6699,7 +6764,7 @@ function Widget({
6699
6764
  }, undefined, false, undefined, this)
6700
6765
  ]
6701
6766
  }, undefined, true, undefined, this),
6702
- /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_core13.Divider, {
6767
+ /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core15.Divider, {
6703
6768
  my: "md"
6704
6769
  }, undefined, false, undefined, this),
6705
6770
  alerts !== undefined && alerts.map((a, i) => {
@@ -6712,20 +6777,20 @@ function Widget({
6712
6777
  }
6713
6778
  return a;
6714
6779
  }),
6715
- loading ? /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_core13.Center, {
6716
- children: /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_core13.Loader, {
6780
+ loading ? /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core15.Center, {
6781
+ children: /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core15.Loader, {
6717
6782
  ...componentsProps?.loader
6718
6783
  }, undefined, false, undefined, this)
6719
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(jsx_dev_runtime19.Fragment, {
6784
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(jsx_dev_runtime21.Fragment, {
6720
6785
  children
6721
6786
  }, undefined, false, undefined, this)
6722
6787
  ]
6723
6788
  }, undefined, true, undefined, this);
6724
6789
  }
6725
6790
  // src/core/components/NotFoundPage/index.tsx
6726
- var import_core14 = require("@mantine/core");
6791
+ var import_core16 = require("@mantine/core");
6727
6792
  var import_navigation3 = require("next/navigation");
6728
- var jsx_dev_runtime20 = require("react/jsx-dev-runtime");
6793
+ var jsx_dev_runtime22 = require("react/jsx-dev-runtime");
6729
6794
  function NotFoundPage({
6730
6795
  children,
6731
6796
  message,
@@ -6733,11 +6798,11 @@ function NotFoundPage({
6733
6798
  }) {
6734
6799
  const pathname = import_navigation3.usePathname();
6735
6800
  const theme = useRemoraidTheme();
6736
- return /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(Page, {
6801
+ return /* @__PURE__ */ jsx_dev_runtime22.jsxDEV(Page, {
6737
6802
  name: "Not Found",
6738
6803
  ...componentsProps?.page,
6739
6804
  children: [
6740
- /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(import_core14.Alert, {
6805
+ /* @__PURE__ */ jsx_dev_runtime22.jsxDEV(import_core16.Alert, {
6741
6806
  ...theme.alertProps.negative,
6742
6807
  title: "404 - Page Not Found",
6743
6808
  children: message ?? `Could not find page ${pathname}.`
@@ -6747,8 +6812,8 @@ function NotFoundPage({
6747
6812
  }, undefined, true, undefined, this);
6748
6813
  }
6749
6814
  // src/core/components/EnvironmentShell/index.tsx
6750
- var import_core15 = require("@mantine/core");
6751
- var jsx_dev_runtime21 = require("react/jsx-dev-runtime");
6815
+ var import_core17 = require("@mantine/core");
6816
+ var jsx_dev_runtime23 = require("react/jsx-dev-runtime");
6752
6817
  function EnvironmentShell({
6753
6818
  children,
6754
6819
  environment,
@@ -6762,7 +6827,7 @@ function EnvironmentShell({
6762
6827
  const undefinedKeys = Object.keys(environment).filter((key) => environment[key] === undefined);
6763
6828
  const alertTitle = `Please Specify Environment Variable${undefinedKeys.length > 1 ? "s" : ""}`;
6764
6829
  const alertMessage = `Components could not be rendered because the following environment variables are not specified: ${undefinedKeys.join(", ")}.`;
6765
- const alert = /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core15.Alert, {
6830
+ const alert = /* @__PURE__ */ jsx_dev_runtime23.jsxDEV(import_core17.Alert, {
6766
6831
  ...theme.alertProps.neutral,
6767
6832
  title: alertTitle,
6768
6833
  m,
@@ -6770,12 +6835,12 @@ function EnvironmentShell({
6770
6835
  children: message ?? alertMessage
6771
6836
  }, undefined, false, undefined, this);
6772
6837
  if (undefinedKeys.length === 0) {
6773
- return /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(jsx_dev_runtime21.Fragment, {
6838
+ return /* @__PURE__ */ jsx_dev_runtime23.jsxDEV(jsx_dev_runtime23.Fragment, {
6774
6839
  children
6775
6840
  }, undefined, false, undefined, this);
6776
6841
  }
6777
6842
  if (withContainer) {
6778
- return /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(PageContainer, {
6843
+ return /* @__PURE__ */ jsx_dev_runtime23.jsxDEV(PageContainer, {
6779
6844
  componentsProps: { container: componentsProps?.container },
6780
6845
  children: alert
6781
6846
  }, undefined, false, undefined, this);
@@ -6783,26 +6848,27 @@ function EnvironmentShell({
6783
6848
  return alert;
6784
6849
  }
6785
6850
  // src/core/components/SettingsWidget/index.tsx
6786
- var import_react10 = require("react");
6851
+ var import_react11 = require("react");
6787
6852
  var import_icons_react8 = require("@tabler/icons-react");
6788
6853
 
6789
6854
  // src/core/components/SettingsWidget/SaveButton/index.tsx
6790
6855
  var import_icons_react7 = require("@tabler/icons-react");
6791
- var import_core16 = require("@mantine/core");
6792
- var jsx_dev_runtime22 = require("react/jsx-dev-runtime");
6856
+ var import_core18 = require("@mantine/core");
6857
+ var jsx_dev_runtime24 = require("react/jsx-dev-runtime");
6793
6858
  function SaveButton({
6794
6859
  onSaveChanges,
6795
6860
  insideContainer,
6796
6861
  componentsProps
6797
6862
  }) {
6798
6863
  const settingsWidgetOptions = useSettingsWidgetContext();
6799
- const button = /* @__PURE__ */ jsx_dev_runtime22.jsxDEV(RemoraidButton, {
6864
+ const button = /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(RemoraidButton, {
6800
6865
  label: "Save Changes",
6801
6866
  icon: import_icons_react7.IconDeviceFloppy,
6802
6867
  onClick: onSaveChanges,
6803
6868
  responsive: false,
6804
6869
  ...componentsProps?.button,
6805
6870
  componentsProps: {
6871
+ ...componentsProps?.button?.componentsProps,
6806
6872
  button: {
6807
6873
  disabled: settingsWidgetOptions.unsavedChanges === false,
6808
6874
  ...componentsProps?.button?.componentsProps?.button
@@ -6810,7 +6876,7 @@ function SaveButton({
6810
6876
  }
6811
6877
  }, undefined, false, undefined, this);
6812
6878
  if (insideContainer !== false) {
6813
- return /* @__PURE__ */ jsx_dev_runtime22.jsxDEV(import_core16.Group, {
6879
+ return /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(import_core18.Group, {
6814
6880
  w: "100%",
6815
6881
  justify: "flex-end",
6816
6882
  mt: "md",
@@ -6822,11 +6888,11 @@ function SaveButton({
6822
6888
  }
6823
6889
 
6824
6890
  // src/core/components/SettingsWidget/index.tsx
6825
- var jsx_dev_runtime23 = require("react/jsx-dev-runtime");
6891
+ var jsx_dev_runtime25 = require("react/jsx-dev-runtime");
6826
6892
  var defaultSettingsWidgetContext = {};
6827
- var settingsWidgetContext = import_react10.createContext(defaultSettingsWidgetContext);
6893
+ var settingsWidgetContext = import_react11.createContext(defaultSettingsWidgetContext);
6828
6894
  var useSettingsWidgetContext = () => {
6829
- return import_react10.useContext(settingsWidgetContext);
6895
+ return import_react11.useContext(settingsWidgetContext);
6830
6896
  };
6831
6897
  function SettingsWidget({
6832
6898
  children,
@@ -6835,9 +6901,9 @@ function SettingsWidget({
6835
6901
  custom,
6836
6902
  widgetProps
6837
6903
  }) {
6838
- return /* @__PURE__ */ jsx_dev_runtime23.jsxDEV(settingsWidgetContext.Provider, {
6904
+ return /* @__PURE__ */ jsx_dev_runtime25.jsxDEV(settingsWidgetContext.Provider, {
6839
6905
  value: { custom, unsavedChanges },
6840
- children: /* @__PURE__ */ jsx_dev_runtime23.jsxDEV(Widget, {
6906
+ children: /* @__PURE__ */ jsx_dev_runtime25.jsxDEV(Widget, {
6841
6907
  title: "Settings",
6842
6908
  id: "settings",
6843
6909
  mt: "md",
@@ -6847,7 +6913,8 @@ function SettingsWidget({
6847
6913
  {
6848
6914
  label: "Restore Default Values",
6849
6915
  icon: import_icons_react8.IconRestore,
6850
- onClick: onRestoreDefaultValues
6916
+ onClick: onRestoreDefaultValues,
6917
+ componentsProps: { button: { disabled: custom === false } }
6851
6918
  }
6852
6919
  ] : [],
6853
6920
  ...widgetProps?.buttons ?? []
@@ -6872,27 +6939,27 @@ var SettingsWidget_default = Object.assign(SettingsWidget, {
6872
6939
  SaveButton
6873
6940
  });
6874
6941
  // src/core/components/SettingsWidget/SettingsTable/index.tsx
6875
- var import_react11 = require("react");
6876
- var import_core18 = require("@mantine/core");
6942
+ var import_react12 = require("react");
6943
+ var import_core20 = require("@mantine/core");
6877
6944
 
6878
6945
  // src/core/components/SettingsWidget/SettingsTable/Row/index.tsx
6879
- var import_core17 = require("@mantine/core");
6880
- var jsx_dev_runtime24 = require("react/jsx-dev-runtime");
6946
+ var import_core19 = require("@mantine/core");
6947
+ var jsx_dev_runtime26 = require("react/jsx-dev-runtime");
6881
6948
  function Row({
6882
6949
  children,
6883
6950
  label
6884
6951
  }) {
6885
6952
  const options = useSettingsTableOptions();
6886
- return /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(import_core17.Table.Tr, {
6953
+ return /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core19.Table.Tr, {
6887
6954
  children: [
6888
- /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(import_core17.Table.Th, {
6955
+ /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core19.Table.Th, {
6889
6956
  w: options.leftColumnWidth,
6890
- children: /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(import_core17.Text, {
6957
+ children: /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core19.Text, {
6891
6958
  size: "sm",
6892
6959
  children: label
6893
6960
  }, undefined, false, undefined, this)
6894
6961
  }, undefined, false, undefined, this),
6895
- /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(import_core17.Table.Td, {
6962
+ /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core19.Table.Td, {
6896
6963
  py: "xs",
6897
6964
  children
6898
6965
  }, undefined, false, undefined, this)
@@ -6901,29 +6968,29 @@ function Row({
6901
6968
  }
6902
6969
 
6903
6970
  // src/core/components/SettingsWidget/SettingsTable/index.tsx
6904
- var jsx_dev_runtime25 = require("react/jsx-dev-runtime");
6971
+ var jsx_dev_runtime27 = require("react/jsx-dev-runtime");
6905
6972
  var defaultSettingsTableOptions = {
6906
6973
  leftColumnWidth: "38.2%"
6907
6974
  };
6908
- var settingsTableOptionsContext = import_react11.createContext(defaultSettingsTableOptions);
6975
+ var settingsTableOptionsContext = import_react12.createContext(defaultSettingsTableOptions);
6909
6976
  var useSettingsTableOptions = () => {
6910
- return import_react11.useContext(settingsTableOptionsContext);
6977
+ return import_react12.useContext(settingsTableOptionsContext);
6911
6978
  };
6912
6979
  function SettingsTable({
6913
6980
  children,
6914
6981
  leftColumnWidth
6915
6982
  }) {
6916
6983
  const theme = useRemoraidTheme();
6917
- return /* @__PURE__ */ jsx_dev_runtime25.jsxDEV(settingsTableOptionsContext.Provider, {
6984
+ return /* @__PURE__ */ jsx_dev_runtime27.jsxDEV(settingsTableOptionsContext.Provider, {
6918
6985
  value: {
6919
6986
  leftColumnWidth: leftColumnWidth ?? defaultSettingsTableOptions.leftColumnWidth
6920
6987
  },
6921
- children: /* @__PURE__ */ jsx_dev_runtime25.jsxDEV(import_core18.Table, {
6988
+ children: /* @__PURE__ */ jsx_dev_runtime27.jsxDEV(import_core20.Table, {
6922
6989
  bg: theme.transparentBackground,
6923
6990
  withTableBorder: true,
6924
6991
  variant: "vertical",
6925
6992
  layout: "fixed",
6926
- children: /* @__PURE__ */ jsx_dev_runtime25.jsxDEV(import_core18.Table.Tbody, {
6993
+ children: /* @__PURE__ */ jsx_dev_runtime27.jsxDEV(import_core20.Table.Tbody, {
6927
6994
  children
6928
6995
  }, undefined, false, undefined, this)
6929
6996
  }, undefined, false, undefined, this)
@@ -6933,11 +7000,11 @@ var SettingsTable_default = Object.assign(SettingsTable, {
6933
7000
  Row
6934
7001
  });
6935
7002
  // src/core/components/NavbarSettingsWidget/index.tsx
6936
- var import_react12 = require("react");
7003
+ var import_react13 = require("react");
6937
7004
  var import_lodash = __toESM(require_lodash());
6938
- var import_core19 = require("@mantine/core");
7005
+ var import_core21 = require("@mantine/core");
6939
7006
  var import_icons_react9 = require("@tabler/icons-react");
6940
- var jsx_dev_runtime26 = require("react/jsx-dev-runtime");
7007
+ var jsx_dev_runtime28 = require("react/jsx-dev-runtime");
6941
7008
  var defaultNavbarSettingsWidgetId = "navbar-settings";
6942
7009
  function NavbarSettingsWidget({
6943
7010
  additionalRows,
@@ -6947,7 +7014,7 @@ function NavbarSettingsWidget({
6947
7014
  const { userExperience, updateUserExperience, initialUserExperience } = useRemoraidUserExperience();
6948
7015
  const app = useRemoraidApp();
6949
7016
  const theme = useRemoraidTheme();
6950
- return /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(SettingsWidget_default, {
7017
+ return /* @__PURE__ */ jsx_dev_runtime28.jsxDEV(SettingsWidget_default, {
6951
7018
  widgetProps: {
6952
7019
  id: defaultNavbarSettingsWidgetId,
6953
7020
  title: "Navbar Settings",
@@ -6960,11 +7027,11 @@ function NavbarSettingsWidget({
6960
7027
  }));
6961
7028
  },
6962
7029
  custom: !import_lodash.isEqual(userExperience.navbarSettings, initialUserExperience.navbarSettings),
6963
- children: /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(SettingsTable_default, {
7030
+ children: /* @__PURE__ */ jsx_dev_runtime28.jsxDEV(SettingsTable_default, {
6964
7031
  children: [
6965
- /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(SettingsTable_default.Row, {
7032
+ /* @__PURE__ */ jsx_dev_runtime28.jsxDEV(SettingsTable_default.Row, {
6966
7033
  label: "Select which pages you want to display or hide",
6967
- children: /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core19.Chip.Group, {
7034
+ children: /* @__PURE__ */ jsx_dev_runtime28.jsxDEV(import_core21.Chip.Group, {
6968
7035
  multiple: true,
6969
7036
  value: app.navigablePages.filter((p) => !userExperience.navbarSettings.hiddenPages.includes(p.href)).map((p) => p.href),
6970
7037
  onChange: (newValue) => {
@@ -6976,12 +7043,12 @@ function NavbarSettingsWidget({
6976
7043
  }
6977
7044
  }));
6978
7045
  },
6979
- children: /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core19.Group, {
7046
+ children: /* @__PURE__ */ jsx_dev_runtime28.jsxDEV(import_core21.Group, {
6980
7047
  justify: "flex-start",
6981
7048
  gap: "xs",
6982
- children: app.navigablePages.map((p) => ({ ...p, icon: p.icon ?? import_icons_react9.IconLink })).map((p, i) => /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core19.Chip, {
7049
+ children: app.navigablePages.map((p) => ({ ...p, icon: p.icon ?? import_icons_react9.IconLink })).map((p, i) => /* @__PURE__ */ jsx_dev_runtime28.jsxDEV(import_core21.Chip, {
6983
7050
  value: p.href,
6984
- icon: /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(p.icon, {
7051
+ icon: /* @__PURE__ */ jsx_dev_runtime28.jsxDEV(p.icon, {
6985
7052
  ...theme.iconProps.tiny,
6986
7053
  color: theme.primaryColor
6987
7054
  }, undefined, false, undefined, this),
@@ -6991,7 +7058,7 @@ function NavbarSettingsWidget({
6991
7058
  }, undefined, false, undefined, this)
6992
7059
  }, undefined, false, undefined, this)
6993
7060
  }, "select-hidden-pages", false, undefined, this),
6994
- ...(additionalRows ?? []).map((row, i) => row.key ? row : import_react12.cloneElement(row, { key: i }))
7061
+ ...(additionalRows ?? []).map((row, i) => row.key ? row : import_react13.cloneElement(row, { key: i }))
6995
7062
  ],
6996
7063
  ...componentsProps?.table
6997
7064
  }, undefined, false, undefined, this)