remoraid 2.7.2 → 2.10.7

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.
@@ -1001,7 +1001,7 @@ var require_lodash = __commonJS((exports2, module2) => {
1001
1001
  }
1002
1002
  SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
1003
1003
  SetCache.prototype.has = setCacheHas;
1004
- function Stack2(entries) {
1004
+ function Stack3(entries) {
1005
1005
  var data = this.__data__ = new ListCache(entries);
1006
1006
  this.size = data.size;
1007
1007
  }
@@ -1035,11 +1035,11 @@ var require_lodash = __commonJS((exports2, module2) => {
1035
1035
  this.size = data.size;
1036
1036
  return this;
1037
1037
  }
1038
- Stack2.prototype.clear = stackClear;
1039
- Stack2.prototype["delete"] = stackDelete;
1040
- Stack2.prototype.get = stackGet;
1041
- Stack2.prototype.has = stackHas;
1042
- Stack2.prototype.set = stackSet;
1038
+ Stack3.prototype.clear = stackClear;
1039
+ Stack3.prototype["delete"] = stackDelete;
1040
+ Stack3.prototype.get = stackGet;
1041
+ Stack3.prototype.has = stackHas;
1042
+ Stack3.prototype.set = stackSet;
1043
1043
  function arrayLikeKeys(value, inherited) {
1044
1044
  var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result2 = skipIndexes ? baseTimes(value.length, String) : [], length = result2.length;
1045
1045
  for (var key in value) {
@@ -1155,7 +1155,7 @@ var require_lodash = __commonJS((exports2, module2) => {
1155
1155
  result2 = initCloneByTag(value, tag, isDeep);
1156
1156
  }
1157
1157
  }
1158
- stack || (stack = new Stack2);
1158
+ stack || (stack = new Stack3);
1159
1159
  var stacked = stack.get(value);
1160
1160
  if (stacked) {
1161
1161
  return stacked;
@@ -1424,21 +1424,21 @@ var require_lodash = __commonJS((exports2, module2) => {
1424
1424
  objIsObj = false;
1425
1425
  }
1426
1426
  if (isSameTag && !objIsObj) {
1427
- stack || (stack = new Stack2);
1427
+ stack || (stack = new Stack3);
1428
1428
  return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
1429
1429
  }
1430
1430
  if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
1431
1431
  var objIsWrapped = objIsObj && hasOwnProperty.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty.call(other, "__wrapped__");
1432
1432
  if (objIsWrapped || othIsWrapped) {
1433
1433
  var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
1434
- stack || (stack = new Stack2);
1434
+ stack || (stack = new Stack3);
1435
1435
  return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
1436
1436
  }
1437
1437
  }
1438
1438
  if (!isSameTag) {
1439
1439
  return false;
1440
1440
  }
1441
- stack || (stack = new Stack2);
1441
+ stack || (stack = new Stack3);
1442
1442
  return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
1443
1443
  }
1444
1444
  function baseIsMap(value) {
@@ -1464,7 +1464,7 @@ var require_lodash = __commonJS((exports2, module2) => {
1464
1464
  return false;
1465
1465
  }
1466
1466
  } else {
1467
- var stack = new Stack2;
1467
+ var stack = new Stack3;
1468
1468
  if (customizer) {
1469
1469
  var result2 = customizer(objValue, srcValue, key, object, source, stack);
1470
1470
  }
@@ -1560,7 +1560,7 @@ var require_lodash = __commonJS((exports2, module2) => {
1560
1560
  return;
1561
1561
  }
1562
1562
  baseFor(source, function(srcValue, key) {
1563
- stack || (stack = new Stack2);
1563
+ stack || (stack = new Stack3);
1564
1564
  if (isObject(srcValue)) {
1565
1565
  baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
1566
1566
  } else {
@@ -5467,14 +5467,19 @@ __export(exports_core, {
5467
5467
  useRemoraidTheme: () => useRemoraidTheme,
5468
5468
  useRemoraidApp: () => useRemoraidApp,
5469
5469
  usePage: () => usePage,
5470
+ useLayouts: () => useLayouts,
5470
5471
  useHydrationStatus: () => useHydrationStatus,
5471
5472
  useHydratedMantineColorScheme: () => useHydratedMantineColorScheme,
5473
+ useFrameLayout: () => useFrameLayout,
5474
+ isFrameLayout: () => isFrameLayout,
5472
5475
  defaultUserExperienceCookieName: () => defaultUserExperienceCookieName,
5473
5476
  defaultUserExperience: () => defaultUserExperience,
5474
5477
  defaultSettingsWidgetOptions: () => defaultSettingsWidgetContext,
5475
5478
  defaultSettingsTableOptions: () => defaultSettingsTableOptions,
5476
5479
  defaultNavbarSettingsWidgetId: () => defaultNavbarSettingsWidgetId,
5477
- defaultNavbarSettings: () => defaultNavbarSettings,
5480
+ defaultLayoutsContext: () => defaultLayoutsContext,
5481
+ defaultFrameLayoutContext: () => defaultFrameLayoutContext,
5482
+ defaultAppShellLayoutId: () => defaultAppShellLayoutId,
5478
5483
  defaultAppContext: () => defaultAppContext,
5479
5484
  createUserExperienceContext: () => createUserExperienceContext,
5480
5485
  createRemoraidTheme: () => createRemoraidTheme,
@@ -5495,11 +5500,16 @@ __export(exports_core, {
5495
5500
  NotFoundPage: () => NotFoundPage,
5496
5501
  NavbarVariant: () => NavbarVariant,
5497
5502
  NavbarSettingsWidget: () => NavbarSettingsWidget,
5503
+ LayoutType: () => LayoutType,
5498
5504
  HydrationStatusProvider: () => HydrationStatusProvider,
5505
+ FrameLayoutVariant: () => FrameLayoutVariant,
5506
+ FrameLayoutSection: () => FrameLayoutSection,
5507
+ FrameLayout: () => FrameLayout_default,
5508
+ FooterVariant: () => FooterVariant,
5499
5509
  EnvironmentShell: () => EnvironmentShell,
5500
5510
  BadgeMinimal: () => BadgeMinimal,
5501
5511
  BadgeGroup: () => BadgeGroup,
5502
- AppShell: () => AppShell,
5512
+ AppShell: () => AppShell_default,
5503
5513
  AppProvider: () => AppProvider,
5504
5514
  AlertMinimal: () => AlertMinimal,
5505
5515
  AlertCategory: () => AlertCategory
@@ -5643,6 +5653,10 @@ var NavbarVariant;
5643
5653
  ((NavbarVariant2) => {
5644
5654
  NavbarVariant2["Minimal"] = "minimal";
5645
5655
  })(NavbarVariant ||= {});
5656
+ var FooterVariant;
5657
+ ((FooterVariant2) => {
5658
+ FooterVariant2["Minimal"] = "minimal";
5659
+ })(FooterVariant ||= {});
5646
5660
  var AlertCategory;
5647
5661
  ((AlertCategory2) => {
5648
5662
  AlertCategory2["Negative"] = "negative";
@@ -5665,6 +5679,23 @@ var RemoraidIconSize;
5665
5679
  RemoraidIconSize2["Tiny"] = "tiny";
5666
5680
  RemoraidIconSize2["Medium"] = "medium";
5667
5681
  })(RemoraidIconSize ||= {});
5682
+ var LayoutType;
5683
+ ((LayoutType2) => {
5684
+ LayoutType2["Frame"] = "frame";
5685
+ })(LayoutType ||= {});
5686
+ var FrameLayoutSection;
5687
+ ((FrameLayoutSection2) => {
5688
+ FrameLayoutSection2["Top"] = "top";
5689
+ FrameLayoutSection2["Bottom"] = "bottom";
5690
+ FrameLayoutSection2["Left"] = "left";
5691
+ FrameLayoutSection2["Right"] = "right";
5692
+ FrameLayoutSection2["Content"] = "content";
5693
+ })(FrameLayoutSection ||= {});
5694
+ var FrameLayoutVariant;
5695
+ ((FrameLayoutVariant2) => {
5696
+ FrameLayoutVariant2["Plain"] = "plain";
5697
+ FrameLayoutVariant2["Sticky"] = "sticky";
5698
+ })(FrameLayoutVariant ||= {});
5668
5699
 
5669
5700
  // src/core/lib/utils.ts
5670
5701
  var co = (condition, value, fallback) => condition(value) ? value : fallback;
@@ -5827,85 +5858,232 @@ function ThemeProvider({
5827
5858
  var import_react_cookie2 = require("react-cookie");
5828
5859
 
5829
5860
  // src/core/components/RemoraidProvider/CoreUserExperienceProvider/index.tsx
5830
- var import_react7 = require("react");
5861
+ var import_react5 = require("react");
5862
+
5863
+ // src/core/components/UserExperienceProviderWrapper/index.tsx
5864
+ var import_react4 = require("react");
5865
+ var import_react_cookie = require("react-cookie");
5866
+ var jsx_dev_runtime4 = require("react/jsx-dev-runtime");
5867
+ var createUserExperienceContext = (defaultUserExperience) => import_react4.createContext({
5868
+ userExperience: defaultUserExperience,
5869
+ updateUserExperience: () => {},
5870
+ processedCookie: false,
5871
+ initialUserExperience: defaultUserExperience
5872
+ });
5873
+ function UserExperienceProviderWrapper({
5874
+ children,
5875
+ context,
5876
+ cookieName,
5877
+ defaultUserExperience,
5878
+ isValidUserExperience,
5879
+ initialValue
5880
+ }) {
5881
+ const [cookies, setCookie] = import_react_cookie.useCookies();
5882
+ const initialUserExperience = {
5883
+ ...defaultUserExperience,
5884
+ ...initialValue
5885
+ };
5886
+ const [userExperience, setUserExperience] = import_react4.useState(initialUserExperience);
5887
+ const [processedCookie, setProcessedCookie] = import_react4.useState(false);
5888
+ const updateUserExperience = (p) => {
5889
+ const updatedUserExperience = typeof p === "function" ? p(userExperience) : p;
5890
+ setCookie(cookieName, updatedUserExperience, { path: "/" });
5891
+ setUserExperience(updatedUserExperience);
5892
+ };
5893
+ import_react4.useEffect(() => {
5894
+ const userExperienceCookie = cookies[cookieName];
5895
+ if (userExperienceCookie && isValidUserExperience(userExperienceCookie)) {
5896
+ setUserExperience(userExperienceCookie);
5897
+ }
5898
+ if (cookies && !processedCookie) {
5899
+ setProcessedCookie(true);
5900
+ }
5901
+ }, [cookies]);
5902
+ return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(context.Provider, {
5903
+ value: {
5904
+ userExperience,
5905
+ updateUserExperience,
5906
+ processedCookie,
5907
+ initialUserExperience
5908
+ },
5909
+ children
5910
+ }, undefined, false, undefined, this);
5911
+ }
5912
+
5913
+ // src/core/components/RemoraidProvider/CoreUserExperienceProvider/index.tsx
5914
+ var jsx_dev_runtime5 = require("react/jsx-dev-runtime");
5915
+ var defaultUserExperience = {
5916
+ showWelcomeMessage: true,
5917
+ navbar: { hiddenPages: [] }
5918
+ };
5919
+ var defaultUserExperienceCookieName = "remoraid-core-user-experience";
5920
+ var coreUserExperienceContext = createUserExperienceContext(defaultUserExperience);
5921
+ var useRemoraidUserExperience = () => {
5922
+ return import_react5.useContext(coreUserExperienceContext);
5923
+ };
5924
+ function CoreUserExperienceProvider({
5925
+ children,
5926
+ initialValue,
5927
+ cookieName
5928
+ }) {
5929
+ const isValidUserExperience = (x) => {
5930
+ if (typeof x !== "object") {
5931
+ return false;
5932
+ }
5933
+ if (x === null) {
5934
+ return false;
5935
+ }
5936
+ if (!("showWelcomeMessage" in x)) {
5937
+ return false;
5938
+ }
5939
+ if (!("navbar" in x)) {
5940
+ return false;
5941
+ }
5942
+ return true;
5943
+ };
5944
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(UserExperienceProviderWrapper, {
5945
+ context: coreUserExperienceContext,
5946
+ isValidUserExperience,
5947
+ cookieName: cookieName ?? defaultUserExperienceCookieName,
5948
+ defaultUserExperience,
5949
+ initialValue,
5950
+ children
5951
+ }, undefined, false, undefined, this);
5952
+ }
5953
+
5954
+ // src/core/components/RemoraidProvider/LayoutsProvider/index.tsx
5955
+ var import_react6 = require("react");
5956
+ var jsx_dev_runtime6 = require("react/jsx-dev-runtime");
5957
+ var defaultLayoutsContext = {
5958
+ layouts: {},
5959
+ setLayouts: () => {}
5960
+ };
5961
+ var layoutsContext = import_react6.createContext(defaultLayoutsContext);
5962
+ var useLayouts = () => {
5963
+ return import_react6.useContext(layoutsContext);
5964
+ };
5965
+ function LayoutsProvider({
5966
+ children
5967
+ }) {
5968
+ const [layouts, setLayouts] = import_react6.useState({});
5969
+ return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(layoutsContext.Provider, {
5970
+ value: { layouts, setLayouts },
5971
+ children
5972
+ }, undefined, false, undefined, this);
5973
+ }
5974
+
5975
+ // src/core/components/RemoraidProvider/index.tsx
5976
+ var jsx_dev_runtime7 = require("react/jsx-dev-runtime");
5977
+ function RemoraidProvider({
5978
+ children,
5979
+ theme,
5980
+ initialUserExperience,
5981
+ componentsProps
5982
+ }) {
5983
+ return /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(import_react_cookie2.CookiesProvider, {
5984
+ ...componentsProps?.CookiesProvider,
5985
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(HydrationStatusProvider, {
5986
+ ...componentsProps?.HydrationStatusProviderProps,
5987
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(ThemeProvider, {
5988
+ theme,
5989
+ ...componentsProps?.ThemeProvider,
5990
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(CoreUserExperienceProvider, {
5991
+ initialValue: initialUserExperience,
5992
+ ...componentsProps?.CoreUserExperienceProvider,
5993
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(WidgetsProvider, {
5994
+ ...componentsProps?.WidgetsProvider,
5995
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(LayoutsProvider, {
5996
+ ...componentsProps?.LayoutsProviderProps,
5997
+ children
5998
+ }, undefined, false, undefined, this)
5999
+ }, undefined, false, undefined, this)
6000
+ }, undefined, false, undefined, this)
6001
+ }, undefined, false, undefined, this)
6002
+ }, undefined, false, undefined, this)
6003
+ }, undefined, false, undefined, this);
6004
+ }
6005
+ // src/core/components/AppShell/index.tsx
6006
+ var import_core7 = require("@mantine/core");
5831
6007
 
5832
6008
  // src/core/components/AppShell/NavbarMinimal/index.tsx
5833
6009
  var import_core3 = require("@mantine/core");
5834
6010
  var import_icons_react2 = require("@tabler/icons-react");
5835
6011
  var import_link = __toESM(require("next/link"));
5836
6012
  var import_navigation = require("next/navigation");
5837
- var import_react5 = require("react");
6013
+ var import_react8 = require("react");
5838
6014
 
5839
6015
  // src/core/components/AppShell/AppProvider/index.tsx
5840
- var import_react4 = require("react");
5841
- var jsx_dev_runtime4 = require("react/jsx-dev-runtime");
5842
- var defaultAppContext = { navigablePages: [] };
5843
- var appContext = import_react4.createContext(defaultAppContext);
6016
+ var import_react7 = require("react");
6017
+ var jsx_dev_runtime8 = require("react/jsx-dev-runtime");
6018
+ var defaultAppContext = {
6019
+ navigablePages: []
6020
+ };
6021
+ var appContext = import_react7.createContext(defaultAppContext);
5844
6022
  var useRemoraidApp = () => {
5845
- return import_react4.useContext(appContext);
6023
+ return import_react7.useContext(appContext);
5846
6024
  };
5847
6025
  function AppProvider({
5848
- children,
5849
- navigablePages,
5850
- user
6026
+ appContext: appContextProps,
6027
+ children
5851
6028
  }) {
5852
- return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(appContext.Provider, {
5853
- value: { navigablePages, user },
6029
+ return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(appContext.Provider, {
6030
+ value: { ...appContextProps },
5854
6031
  children
5855
6032
  }, undefined, false, undefined, this);
5856
6033
  }
5857
6034
 
5858
6035
  // src/core/components/AppShell/NavbarMinimal/index.tsx
5859
- var jsx_dev_runtime5 = require("react/jsx-dev-runtime");
6036
+ var jsx_dev_runtime9 = require("react/jsx-dev-runtime");
5860
6037
  function NavbarLink({
5861
6038
  icon,
6039
+ linkSize,
6040
+ iconSize,
5862
6041
  label,
5863
6042
  active,
5864
6043
  onClick,
5865
6044
  href,
5866
- indicator,
5867
- settings
6045
+ indicator
5868
6046
  }) {
5869
- const [isHoveringRoleIndicator, setIsHoveringRoleIndicator] = import_react5.useState(false);
6047
+ const [isHoveringRoleIndicator, setIsHoveringRoleIndicator] = import_react8.useState(false);
5870
6048
  const iconProps = {
5871
- size: settings.iconSize,
6049
+ size: iconSize,
5872
6050
  stroke: 1.5
5873
6051
  };
5874
6052
  const Icon2 = icon ?? import_icons_react2.IconLink;
5875
6053
  if (!href) {
5876
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Tooltip, {
6054
+ return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core3.Tooltip, {
5877
6055
  label,
5878
6056
  position: "right",
5879
6057
  transitionProps: { duration: 0 },
5880
- children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.UnstyledButton, {
6058
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core3.UnstyledButton, {
5881
6059
  onClick,
5882
6060
  className: "remoraid-navbar-minimal-link",
5883
6061
  "data-active": active || undefined,
5884
- w: settings.linkSize,
5885
- h: settings.linkSize,
5886
- children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Icon2, {
6062
+ w: linkSize,
6063
+ h: linkSize,
6064
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Icon2, {
5887
6065
  ...iconProps
5888
6066
  }, undefined, false, undefined, this)
5889
6067
  }, undefined, false, undefined, this)
5890
6068
  }, undefined, false, undefined, this);
5891
6069
  }
5892
- const button = /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.UnstyledButton, {
6070
+ const button = /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core3.UnstyledButton, {
5893
6071
  onClick,
5894
6072
  className: "remoraid-navbar-minimal-link",
5895
6073
  "data-active": active || undefined,
5896
- w: settings.linkSize,
5897
- h: settings.linkSize,
6074
+ w: linkSize,
6075
+ h: linkSize,
5898
6076
  component: import_link.default,
5899
6077
  href,
5900
- children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Icon2, {
6078
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Icon2, {
5901
6079
  ...iconProps
5902
6080
  }, undefined, false, undefined, this)
5903
6081
  }, undefined, false, undefined, this);
5904
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Tooltip, {
6082
+ return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core3.Tooltip, {
5905
6083
  label,
5906
6084
  position: "right",
5907
6085
  transitionProps: { duration: 0 },
5908
- children: indicator === undefined ? button : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Indicator, {
6086
+ children: indicator === undefined ? button : /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core3.Indicator, {
5909
6087
  withBorder: true,
5910
6088
  size: 13,
5911
6089
  offset: 2,
@@ -5916,98 +6094,94 @@ function NavbarLink({
5916
6094
  }, undefined, false, undefined, this)
5917
6095
  }, undefined, false, undefined, this);
5918
6096
  }
5919
- var defaultSettings = {
5920
- hiddenPages: [],
5921
- linkSize: import_core3.rem("50px"),
5922
- iconSize: "50%",
5923
- px: "sm",
5924
- py: "md"
5925
- };
5926
6097
  function NavbarMinimal({
5927
- logo,
5928
- user,
5929
- settings: settingsProp,
6098
+ linkSize = import_core3.rem("50px"),
6099
+ iconSize = "50%",
5930
6100
  linkIndicator,
5931
6101
  logoIndicator,
5932
- onLogout
6102
+ componentsProps
5933
6103
  }) {
5934
- const { userExperience } = useRemoraidUserExperience();
5935
6104
  const pathname = import_navigation.usePathname();
5936
6105
  const theme = useRemoraidTheme();
5937
6106
  const { setColorScheme, colorScheme } = useHydratedMantineColorScheme();
5938
- const app = useRemoraidApp();
5939
- const [isHoveringRoleIndicator, setIsHoveringRoleIndicator] = import_react5.useState(false);
5940
- const settings = {
5941
- ...userExperience.navbarSettings,
5942
- ...settingsProp
6107
+ const { userExperience } = useRemoraidUserExperience();
6108
+ const { navigablePages, logo, auth } = useRemoraidApp();
6109
+ const [isHoveringRoleIndicator, setIsHoveringRoleIndicator] = import_react8.useState(false);
6110
+ const linkProps = {
6111
+ linkSize,
6112
+ iconSize,
6113
+ ...componentsProps?.link
5943
6114
  };
5944
- const links = app.navigablePages.filter((link) => !settings.hiddenPages.includes(link.href)).map((link) => /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(NavbarLink, {
6115
+ const links = navigablePages.filter((link) => !userExperience.navbar.hiddenPages.includes(link.href)).map((link) => /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(NavbarLink, {
5945
6116
  active: link.href === pathname,
5946
6117
  indicator: linkIndicator,
5947
- settings,
5948
- ...link
6118
+ ...link,
6119
+ ...linkProps
5949
6120
  }, link.label, false, undefined, this));
5950
- const logoImage = logo({
6121
+ const logoProps = {
5951
6122
  style: {
5952
6123
  cursor: "pointer",
5953
- width: settings.linkSize,
5954
- height: settings.linkSize
6124
+ width: linkSize,
6125
+ height: linkSize
5955
6126
  }
5956
- });
5957
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Paper, {
6127
+ };
6128
+ return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core3.Paper, {
5958
6129
  h: "100%",
5959
- py: settings.py,
5960
- bg: theme.transparentBackground,
5961
- radius: 0,
6130
+ p: "md",
5962
6131
  shadow: "md",
5963
- children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Flex, {
6132
+ bg: theme.transparentBackground,
6133
+ ...componentsProps?.container,
6134
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core3.Flex, {
5964
6135
  direction: "column",
5965
6136
  h: "100%",
5966
6137
  align: "center",
5967
- px: settings.px,
5968
6138
  children: [
5969
- logoIndicator === undefined ? logoImage : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Indicator, {
5970
- withBorder: true,
5971
- offset: 2,
5972
- size: 13,
5973
- onMouseEnter: () => setIsHoveringRoleIndicator(true),
5974
- onMouseLeave: () => setIsHoveringRoleIndicator(false),
5975
- ...logoIndicator(isHoveringRoleIndicator),
5976
- children: logoImage
5977
- }, undefined, false, undefined, this),
5978
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Divider, {
5979
- my: "md",
5980
- variant: "dashed",
5981
- w: "100%"
5982
- }, undefined, false, undefined, this),
5983
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Stack, {
6139
+ logo !== undefined && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(jsx_dev_runtime9.Fragment, {
6140
+ children: [
6141
+ logoIndicator === undefined ? logo(logoProps) : /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core3.Indicator, {
6142
+ withBorder: true,
6143
+ offset: 2,
6144
+ size: 13,
6145
+ onMouseEnter: () => setIsHoveringRoleIndicator(true),
6146
+ onMouseLeave: () => setIsHoveringRoleIndicator(false),
6147
+ ...logoIndicator(isHoveringRoleIndicator),
6148
+ children: logo(logoProps)
6149
+ }, undefined, false, undefined, this),
6150
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core3.Divider, {
6151
+ my: "md",
6152
+ variant: "dashed",
6153
+ w: "100%"
6154
+ }, undefined, false, undefined, this)
6155
+ ]
6156
+ }, undefined, true, undefined, this),
6157
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core3.Stack, {
5984
6158
  justify: "flex-start",
5985
6159
  gap: 0,
5986
6160
  flex: 1,
5987
6161
  children: links
5988
6162
  }, undefined, false, undefined, this),
5989
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(import_core3.Stack, {
6163
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core3.Stack, {
5990
6164
  justify: "center",
5991
6165
  gap: 0,
5992
6166
  children: [
5993
- user !== undefined && (user === null ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(NavbarLink, {
6167
+ auth !== undefined && (auth.user === null ? /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(NavbarLink, {
5994
6168
  icon: import_icons_react2.IconLogin,
5995
6169
  label: "Login",
5996
6170
  href: "/login",
5997
6171
  active: pathname === "/login",
5998
- settings
5999
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(NavbarLink, {
6172
+ ...linkProps
6173
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(NavbarLink, {
6000
6174
  icon: import_icons_react2.IconLogout,
6001
6175
  label: "Logout",
6002
6176
  onClick: () => {
6003
- if (onLogout) {
6004
- onLogout();
6177
+ if (auth.onLogout) {
6178
+ auth.onLogout();
6005
6179
  }
6006
6180
  },
6007
6181
  href: "/login",
6008
- settings
6182
+ ...linkProps
6009
6183
  }, undefined, false, undefined, this)),
6010
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(NavbarLink, {
6184
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(NavbarLink, {
6011
6185
  icon: colorScheme === "dark" ? import_icons_react2.IconSun : import_icons_react2.IconMoon,
6012
6186
  onClick: () => {
6013
6187
  if (!colorScheme || !setColorScheme) {
@@ -6016,7 +6190,7 @@ function NavbarMinimal({
6016
6190
  setColorScheme(colorScheme === "dark" ? "light" : "dark");
6017
6191
  },
6018
6192
  label: "Toggle Color Scheme",
6019
- settings
6193
+ ...linkProps
6020
6194
  }, undefined, false, undefined, this)
6021
6195
  ]
6022
6196
  }, undefined, true, undefined, this)
@@ -6025,259 +6199,301 @@ function NavbarMinimal({
6025
6199
  }, undefined, false, undefined, this);
6026
6200
  }
6027
6201
 
6028
- // src/core/components/UserExperienceProviderWrapper/index.tsx
6029
- var import_react6 = require("react");
6030
- var import_react_cookie = require("react-cookie");
6031
- var jsx_dev_runtime6 = require("react/jsx-dev-runtime");
6032
- var createUserExperienceContext = (defaultUserExperience) => import_react6.createContext({
6033
- userExperience: defaultUserExperience,
6034
- updateUserExperience: () => {},
6035
- processedCookie: false,
6036
- initialUserExperience: defaultUserExperience
6037
- });
6038
- function UserExperienceProviderWrapper({
6039
- children,
6040
- context,
6041
- cookieName,
6042
- defaultUserExperience,
6043
- isValidUserExperience,
6044
- initialValue
6202
+ // src/core/components/AppShell/FooterMinimal/index.tsx
6203
+ var import_core4 = require("@mantine/core");
6204
+ var import_icons_react3 = require("@tabler/icons-react");
6205
+ var jsx_dev_runtime10 = require("react/jsx-dev-runtime");
6206
+ function FooterMinimal({
6207
+ componentsProps
6045
6208
  }) {
6046
- const [cookies, setCookie] = import_react_cookie.useCookies();
6047
- const initialUserExperience = {
6048
- ...defaultUserExperience,
6049
- ...initialValue
6050
- };
6051
- const [userExperience, setUserExperience] = import_react6.useState(initialUserExperience);
6052
- const [processedCookie, setProcessedCookie] = import_react6.useState(false);
6053
- const updateUserExperience = (p) => {
6054
- const updatedUserExperience = typeof p === "function" ? p(userExperience) : p;
6055
- setCookie(cookieName, updatedUserExperience, { path: "/" });
6056
- setUserExperience(updatedUserExperience);
6057
- };
6058
- import_react6.useEffect(() => {
6059
- const userExperienceCookie = cookies[cookieName];
6060
- if (userExperienceCookie && isValidUserExperience(userExperienceCookie)) {
6061
- setUserExperience(userExperienceCookie);
6062
- }
6063
- if (cookies && !processedCookie) {
6064
- setProcessedCookie(true);
6065
- }
6066
- }, [cookies]);
6067
- return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(context.Provider, {
6068
- value: {
6069
- userExperience,
6070
- updateUserExperience,
6071
- processedCookie,
6072
- initialUserExperience
6073
- },
6074
- children
6209
+ return /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(import_core4.Group, {
6210
+ justify: "center",
6211
+ w: "100%",
6212
+ py: "md",
6213
+ ...componentsProps?.container,
6214
+ children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(import_icons_react3.IconPennant, {
6215
+ size: 50,
6216
+ color: "var(--mantine-color-default-border)",
6217
+ ...componentsProps?.icon
6218
+ }, undefined, false, undefined, this)
6075
6219
  }, undefined, false, undefined, this);
6076
6220
  }
6077
6221
 
6078
- // src/core/components/RemoraidProvider/CoreUserExperienceProvider/index.tsx
6079
- var jsx_dev_runtime7 = require("react/jsx-dev-runtime");
6080
- var defaultNavbarSettings = {
6081
- ["minimal" /* Minimal */]: defaultSettings
6082
- };
6083
- var defaultUserExperience = {
6084
- navbarVariant: "minimal" /* Minimal */,
6085
- navbarSettings: defaultNavbarSettings["minimal" /* Minimal */],
6086
- showWelcomeMessage: true
6087
- };
6088
- var defaultUserExperienceCookieName = "remoraid-core-user-experience";
6089
- var coreUserExperienceContext = createUserExperienceContext(defaultUserExperience);
6090
- var useRemoraidUserExperience = () => {
6091
- return import_react7.useContext(coreUserExperienceContext);
6092
- };
6093
- function CoreUserExperienceProvider({
6094
- children,
6095
- initialValue,
6096
- cookieName
6222
+ // src/core/components/FrameLayout/index.tsx
6223
+ var import_core6 = require("@mantine/core");
6224
+ var import_react9 = require("react");
6225
+
6226
+ // src/core/components/FrameLayout/Element/index.tsx
6227
+ var import_core5 = require("@mantine/core");
6228
+ var jsx_dev_runtime11 = require("react/jsx-dev-runtime");
6229
+ function Element({
6230
+ section,
6231
+ includeContainer = true,
6232
+ layoutId,
6233
+ componentsProps,
6234
+ children
6097
6235
  }) {
6098
- const isValidUserExperience = (x) => {
6099
- if (typeof x !== "object") {
6100
- return false;
6101
- }
6102
- if (x === null) {
6103
- return false;
6104
- }
6105
- if (!("showWelcomeMessage" in x)) {
6106
- return false;
6107
- }
6108
- if (!("navbarVariant" in x)) {
6109
- return false;
6110
- }
6111
- if (!("navbarSettings" in x)) {
6112
- return false;
6113
- }
6114
- if (typeof x.navbarSettings !== "object") {
6115
- return false;
6116
- }
6117
- if (x.navbarSettings === null) {
6118
- return false;
6119
- }
6120
- if (!("hiddenPages" in x.navbarSettings)) {
6121
- return false;
6122
- }
6123
- if (!("linkSize" in x.navbarSettings)) {
6124
- return false;
6125
- }
6126
- if (!("px" in x.navbarSettings)) {
6127
- return false;
6128
- }
6129
- if (!("py" in x.navbarSettings)) {
6130
- return false;
6131
- }
6132
- return true;
6133
- };
6134
- return /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(UserExperienceProviderWrapper, {
6135
- context: coreUserExperienceContext,
6136
- isValidUserExperience,
6137
- cookieName: cookieName ?? defaultUserExperienceCookieName,
6138
- defaultUserExperience,
6139
- initialValue,
6140
- children
6236
+ const { layouts } = useLayouts();
6237
+ const closestLayout = useFrameLayout();
6238
+ if (closestLayout.layoutId === null) {
6239
+ return null;
6240
+ }
6241
+ const layout = layouts[layoutId ?? closestLayout.layoutId];
6242
+ if (!isFrameLayout(layout)) {
6243
+ return null;
6244
+ }
6245
+ if (layout.sections[section] === null) {
6246
+ return null;
6247
+ }
6248
+ let containerProps = {};
6249
+ if (section === "left" /* Left */ || section === "right" /* Right */) {
6250
+ containerProps.h = "100%";
6251
+ }
6252
+ return /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(import_core5.Portal, {
6253
+ target: layout.sections[section],
6254
+ children: includeContainer ? /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(import_core5.Box, {
6255
+ ...containerProps,
6256
+ ...componentsProps?.container,
6257
+ children
6258
+ }, undefined, false, undefined, this) : children
6141
6259
  }, undefined, false, undefined, this);
6142
6260
  }
6143
6261
 
6144
- // src/core/components/RemoraidProvider/index.tsx
6145
- var jsx_dev_runtime8 = require("react/jsx-dev-runtime");
6146
- function RemoraidProvider({
6147
- children,
6148
- theme,
6149
- initialUserExperience,
6150
- componentsProps
6262
+ // src/core/components/FrameLayout/index.tsx
6263
+ var jsx_dev_runtime12 = require("react/jsx-dev-runtime");
6264
+ var isFrameLayout = (layout) => {
6265
+ if (typeof layout !== "object" || layout === null) {
6266
+ return false;
6267
+ }
6268
+ if (!("sections" in layout)) {
6269
+ return false;
6270
+ }
6271
+ if (typeof layout.sections !== "object" || layout.sections === null) {
6272
+ return false;
6273
+ }
6274
+ return true;
6275
+ };
6276
+ var defaultFrameLayoutVariant = "sticky" /* Sticky */;
6277
+ var defaultFrameLayoutContext = {
6278
+ layoutId: null,
6279
+ layout: {
6280
+ sections: {
6281
+ ["top" /* Top */]: null,
6282
+ ["bottom" /* Bottom */]: null,
6283
+ ["left" /* Left */]: null,
6284
+ ["right" /* Right */]: null
6285
+ }
6286
+ },
6287
+ setLayout: () => {}
6288
+ };
6289
+ var layoutContext = import_react9.createContext(defaultFrameLayoutContext);
6290
+ var useFrameLayout = () => {
6291
+ return import_react9.useContext(layoutContext);
6292
+ };
6293
+ function FrameLayout({
6294
+ variant = defaultFrameLayoutVariant,
6295
+ layoutId,
6296
+ componentsProps,
6297
+ children
6151
6298
  }) {
6152
- return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(import_react_cookie2.CookiesProvider, {
6153
- ...componentsProps?.CookiesProvider,
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)
6299
+ const theme = useRemoraidTheme();
6300
+ const { layouts, setLayouts } = useLayouts();
6301
+ const layout = layouts[layoutId];
6302
+ const setLayout = import_react9.useMemo(() => {
6303
+ return (value) => {
6304
+ setLayouts((prev) => ({
6305
+ ...prev,
6306
+ [layoutId]: typeof value === "function" ? value(prev[layoutId]) : value
6307
+ }));
6308
+ };
6309
+ }, [layoutId, setLayouts]);
6310
+ const topSection = import_react9.useCallback((n) => {
6311
+ setLayout((prev) => ({
6312
+ ...prev,
6313
+ sections: { ...prev?.sections, ["top" /* Top */]: n }
6314
+ }));
6315
+ }, [setLayout]);
6316
+ const bottomSection = import_react9.useCallback((n) => {
6317
+ setLayout((prev) => ({
6318
+ ...prev,
6319
+ sections: { ...prev?.sections, ["bottom" /* Bottom */]: n }
6320
+ }));
6321
+ }, [setLayout]);
6322
+ const leftSection = import_react9.useCallback((n) => {
6323
+ setLayout((prev) => ({
6324
+ ...prev,
6325
+ sections: { ...prev?.sections, ["left" /* Left */]: n }
6326
+ }));
6327
+ }, [setLayout]);
6328
+ const rightSection = import_react9.useCallback((n) => {
6329
+ setLayout((prev) => ({
6330
+ ...prev,
6331
+ sections: { ...prev?.sections, ["right" /* Right */]: n }
6332
+ }));
6333
+ }, [setLayout]);
6334
+ let contentSection = children;
6335
+ const childrenContainerProps = {
6336
+ flex: 1,
6337
+ ...componentsProps?.childrenContainer
6338
+ };
6339
+ if (variant === "plain" /* Plain */) {
6340
+ contentSection = /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(import_core6.Box, {
6341
+ ...childrenContainerProps,
6342
+ children: contentSection
6343
+ }, undefined, false, undefined, this);
6344
+ } else if (variant === "sticky" /* Sticky */) {
6345
+ contentSection = /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(import_core6.ScrollArea, {
6346
+ ...theme.scrollAreaProps,
6347
+ ...childrenContainerProps,
6348
+ children
6349
+ }, undefined, false, undefined, this);
6350
+ }
6351
+ return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(layoutContext.Provider, {
6352
+ value: { layoutId, layout, setLayout },
6353
+ children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(import_core6.Group, {
6354
+ gap: 0,
6355
+ h: "100%",
6356
+ w: "100%",
6357
+ wrap: "nowrap",
6358
+ ...componentsProps?.horizontalContainer,
6359
+ children: [
6360
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(import_core6.Group, {
6361
+ ref: leftSection,
6362
+ h: "100%",
6363
+ gap: 0,
6364
+ wrap: "nowrap",
6365
+ ...componentsProps?.sectionContainers?.["left" /* Left */]
6366
+ }, undefined, false, undefined, this),
6367
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(import_core6.Stack, {
6368
+ h: "100%",
6369
+ flex: 1,
6370
+ gap: 0,
6371
+ ...componentsProps?.verticalContainer,
6372
+ children: [
6373
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(import_core6.Stack, {
6374
+ h: "100%",
6375
+ ref: topSection,
6376
+ gap: 0,
6377
+ flex: 0,
6378
+ ...componentsProps?.sectionContainers?.["top" /* Top */]
6379
+ }, undefined, false, undefined, this),
6380
+ contentSection,
6381
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(import_core6.Stack, {
6382
+ h: "100%",
6383
+ ref: bottomSection,
6384
+ gap: 0,
6385
+ flex: 0,
6386
+ ...componentsProps?.sectionContainers?.["bottom" /* Bottom */]
6387
+ }, undefined, false, undefined, this)
6388
+ ]
6389
+ }, undefined, true, undefined, this),
6390
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(import_core6.Group, {
6391
+ gap: 0,
6392
+ ref: rightSection,
6393
+ h: "100%",
6394
+ wrap: "nowrap",
6395
+ ...componentsProps?.sectionContainers?.["right" /* Right */]
6166
6396
  }, undefined, false, undefined, this)
6167
- }, undefined, false, undefined, this)
6168
- }, undefined, false, undefined, this)
6169
- }, undefined, false, undefined, this);
6170
- }
6171
- // src/core/components/AppShell/index.tsx
6172
- var import_core5 = require("@mantine/core");
6173
- var import_hooks = require("@mantine/hooks");
6174
-
6175
- // src/core/components/AppShell/Footer/index.tsx
6176
- var import_core4 = require("@mantine/core");
6177
- var import_icons_react3 = require("@tabler/icons-react");
6178
- var jsx_dev_runtime9 = require("react/jsx-dev-runtime");
6179
- function Footer() {
6180
- return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core4.Group, {
6181
- justify: "center",
6182
- w: "100%",
6183
- py: "md",
6184
- children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_icons_react3.IconPennant, {
6185
- size: 50,
6186
- color: "var(--mantine-color-default-border)"
6187
- }, undefined, false, undefined, this)
6397
+ ]
6398
+ }, undefined, true, undefined, this)
6188
6399
  }, undefined, false, undefined, this);
6189
6400
  }
6401
+ var FrameLayout_default = Object.assign(FrameLayout, {
6402
+ Element
6403
+ });
6190
6404
 
6191
6405
  // src/core/components/AppShell/index.tsx
6192
- var jsx_dev_runtime10 = require("react/jsx-dev-runtime");
6193
- function AppShell({
6194
- children,
6195
- logo,
6196
- navbar,
6197
- user,
6198
- navigablePages
6199
- }) {
6200
- const { userExperience } = useRemoraidUserExperience();
6201
- const mantineTheme = import_core5.useMantineTheme();
6202
- const theme = useRemoraidTheme();
6203
- const { colorScheme } = useHydratedMantineColorScheme();
6204
- const [opened, { toggle }] = import_hooks.useDisclosure();
6205
- const navbarVariant = navbar && navbar.variant ? navbar.variant : userExperience.navbarVariant;
6206
- const navbarSettings = {
6207
- ...userExperience.navbarSettings,
6208
- ...navbar?.settings
6406
+ var jsx_dev_runtime13 = require("react/jsx-dev-runtime");
6407
+ var defaultAppShellLayoutId = "remoraidAppShell";
6408
+ var defaultProps = {
6409
+ navbarVariant: null,
6410
+ footerVariant: null
6411
+ };
6412
+ function AppShell(props) {
6413
+ const {
6414
+ children,
6415
+ navbarVariant,
6416
+ footerVariant,
6417
+ navbarPosition,
6418
+ footerPosition,
6419
+ appContext: appContext2,
6420
+ componentsProps
6421
+ } = {
6422
+ ...defaultProps,
6423
+ ...props
6209
6424
  };
6210
- const navbarLinkSizePx = co((v) => !Number.isNaN(v), Number(import_core5.px(navbarSettings.linkSize)), 0);
6211
- const navbarPaddingPx = typeof navbarSettings.px === "number" ? navbarSettings.px : theme.spacingPx ? theme.spacingPx[navbarSettings.px] : 0;
6212
- return /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(AppProvider, {
6213
- user,
6214
- navigablePages,
6215
- children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(import_core5.AppShell, {
6216
- header: { height: 0 },
6217
- navbar: {
6218
- width: import_core5.rem(`${navbarLinkSizePx + 2 * navbarPaddingPx}px`),
6219
- breakpoint: "sm",
6220
- collapsed: { mobile: !opened }
6221
- },
6222
- bg: colorScheme === "dark" ? mantineTheme.colors.dark[9] : mantineTheme.colors.gray[0],
6425
+ let navbar;
6426
+ let footer;
6427
+ let navbarContainerProps = {};
6428
+ let footerContainerProps = {};
6429
+ if (navbarVariant === "minimal" /* Minimal */) {
6430
+ navbar = /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(NavbarMinimal, {
6431
+ ...componentsProps?.navbar
6432
+ }, undefined, false, undefined, this);
6433
+ navbarContainerProps.py = "md";
6434
+ if (navbarPosition === "left" /* Left */) {
6435
+ navbarContainerProps.pl = "md";
6436
+ } else if (navbarPosition === "right" /* Right */) {
6437
+ navbarContainerProps.pr = "md";
6438
+ }
6439
+ }
6440
+ if (footerVariant === "minimal" /* Minimal */) {
6441
+ footer = /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(FooterMinimal, {
6442
+ ...componentsProps?.footer
6443
+ }, undefined, false, undefined, this);
6444
+ }
6445
+ return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(AppProvider, {
6446
+ appContext: appContext2,
6447
+ ...componentsProps?.AppProvider,
6448
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(FrameLayout_default, {
6449
+ layoutId: defaultAppShellLayoutId,
6450
+ ...componentsProps?.layout,
6223
6451
  children: [
6224
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(import_core5.AppShell.Header, {
6225
- withBorder: false,
6226
- children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(import_core5.Group, {
6227
- p: "md",
6228
- bg: colorScheme === "dark" ? mantineTheme.colors.dark[8] : mantineTheme.colors.gray[3],
6229
- hiddenFrom: "sm",
6230
- children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(import_core5.Burger, {
6231
- opened,
6232
- onClick: toggle,
6233
- h: 20,
6234
- size: 18
6235
- }, undefined, false, undefined, this)
6236
- }, undefined, false, undefined, this)
6452
+ navbarPosition !== undefined && navbarPosition !== "content" /* Content */ && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(FrameLayout_default.Element, {
6453
+ section: navbarPosition,
6454
+ componentsProps: { container: { ...navbarContainerProps } },
6455
+ children: navbar
6237
6456
  }, undefined, false, undefined, this),
6238
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(import_core5.AppShell.Navbar, {
6239
- withBorder: false,
6240
- children: navbarVariant === "minimal" /* Minimal */ && /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(NavbarMinimal, {
6241
- logo,
6242
- user,
6243
- ...navbar
6244
- }, undefined, false, undefined, this)
6457
+ footerPosition !== undefined && footerPosition !== "content" /* Content */ && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(FrameLayout_default.Element, {
6458
+ section: footerPosition,
6459
+ componentsProps: { container: { ...footerContainerProps } },
6460
+ children: footer
6245
6461
  }, undefined, false, undefined, this),
6246
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(import_core5.AppShell.Main, {
6247
- children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(jsx_dev_runtime10.Fragment, {
6248
- children: [
6249
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(import_core5.Paper, {
6250
- radius: 0,
6251
- my: "md",
6252
- h: 20,
6253
- hiddenFrom: "sm"
6254
- }, undefined, false, undefined, this),
6255
- children,
6256
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Footer, {}, undefined, false, undefined, this)
6257
- ]
6258
- }, undefined, true, undefined, this)
6462
+ navbarPosition !== undefined && navbarPosition === "content" /* Content */ && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
6463
+ children: navbar
6464
+ }, undefined, false, undefined, this),
6465
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(import_core7.Box, {
6466
+ ...componentsProps?.childrenContainer,
6467
+ children
6468
+ }, undefined, false, undefined, this),
6469
+ footerPosition !== undefined && footerPosition === "content" /* Content */ && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
6470
+ children: footer
6259
6471
  }, undefined, false, undefined, this)
6260
6472
  ]
6261
6473
  }, undefined, true, undefined, this)
6262
6474
  }, undefined, false, undefined, this);
6263
6475
  }
6476
+ var AppShell_default = Object.assign(AppShell, {
6477
+ NavbarMinimal,
6478
+ FooterMinimal
6479
+ });
6264
6480
  // src/core/components/WidgetSelectionHeader/index.tsx
6265
- var import_core8 = require("@mantine/core");
6481
+ var import_core10 = require("@mantine/core");
6266
6482
 
6267
6483
  // src/core/components/Page/index.tsx
6268
- var import_react8 = __toESM(require("react"));
6484
+ var import_react10 = __toESM(require("react"));
6269
6485
  var import_navigation2 = require("next/navigation");
6270
6486
 
6271
6487
  // src/core/components/Page/PageContainer/index.tsx
6272
- var import_core6 = require("@mantine/core");
6273
- var jsx_dev_runtime11 = require("react/jsx-dev-runtime");
6488
+ var import_core8 = require("@mantine/core");
6489
+ var jsx_dev_runtime14 = require("react/jsx-dev-runtime");
6274
6490
  function PageContainer({
6275
6491
  children,
6276
6492
  pt,
6277
6493
  componentsProps
6278
6494
  }) {
6279
6495
  const theme = useRemoraidTheme();
6280
- return /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(import_core6.Container, {
6496
+ return /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(import_core8.Container, {
6281
6497
  size: theme.containerSize,
6282
6498
  pt: pt ?? "md",
6283
6499
  ...componentsProps?.container,
@@ -6286,10 +6502,10 @@ function PageContainer({
6286
6502
  }
6287
6503
 
6288
6504
  // src/core/components/Page/index.tsx
6289
- var jsx_dev_runtime12 = require("react/jsx-dev-runtime");
6290
- var pageContext = import_react8.default.createContext(null);
6505
+ var jsx_dev_runtime15 = require("react/jsx-dev-runtime");
6506
+ var pageContext = import_react10.default.createContext(null);
6291
6507
  var usePage = () => {
6292
- return import_react8.useContext(pageContext);
6508
+ return import_react10.useContext(pageContext);
6293
6509
  };
6294
6510
  function Page({
6295
6511
  children,
@@ -6301,16 +6517,16 @@ function Page({
6301
6517
  const pathname = import_navigation2.usePathname();
6302
6518
  const { isPageRegistered, registerPage } = useWidgets();
6303
6519
  const pageId = config?.pageId ?? pathname;
6304
- import_react8.useEffect(() => {
6520
+ import_react10.useEffect(() => {
6305
6521
  if (!isPageRegistered(pageId)) {
6306
6522
  if (config?.registerPageDirectly) {
6307
6523
  registerPage(pageId, []);
6308
6524
  }
6309
6525
  }
6310
6526
  }, []);
6311
- return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(pageContext.Provider, {
6527
+ return /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(pageContext.Provider, {
6312
6528
  value: { name: name ?? pathname, pageId, ...config },
6313
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(PageContainer, {
6529
+ children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(PageContainer, {
6314
6530
  pt,
6315
6531
  componentsProps: { container: componentsProps?.container },
6316
6532
  children
@@ -6322,8 +6538,8 @@ function Page({
6322
6538
  var import_icons_react4 = require("@tabler/icons-react");
6323
6539
 
6324
6540
  // src/core/components/ScrollableChipGroup/index.tsx
6325
- var import_core7 = require("@mantine/core");
6326
- var jsx_dev_runtime13 = require("react/jsx-dev-runtime");
6541
+ var import_core9 = require("@mantine/core");
6542
+ var jsx_dev_runtime16 = require("react/jsx-dev-runtime");
6327
6543
  function ScrollableChipGroup({
6328
6544
  value,
6329
6545
  onChange,
@@ -6332,15 +6548,15 @@ function ScrollableChipGroup({
6332
6548
  children
6333
6549
  }) {
6334
6550
  const theme = useRemoraidTheme();
6335
- return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(import_core7.ScrollArea, {
6551
+ return /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(import_core9.ScrollArea, {
6336
6552
  ...theme.scrollAreaProps,
6337
6553
  ...componentsProps?.scrollArea,
6338
- children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(import_core7.Chip.Group, {
6554
+ children: /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(import_core9.Chip.Group, {
6339
6555
  value,
6340
6556
  onChange,
6341
6557
  ...componentsProps?.chipGroup,
6342
6558
  multiple: true,
6343
- children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(import_core7.Flex, {
6559
+ children: /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(import_core9.Flex, {
6344
6560
  justify: "flex-start",
6345
6561
  align: "center",
6346
6562
  gap: gap ?? "xs",
@@ -6353,7 +6569,7 @@ function ScrollableChipGroup({
6353
6569
  }
6354
6570
 
6355
6571
  // src/core/components/WidgetSelectionHeader/index.tsx
6356
- var jsx_dev_runtime14 = require("react/jsx-dev-runtime");
6572
+ var jsx_dev_runtime17 = require("react/jsx-dev-runtime");
6357
6573
  function WidgetSelectionHeader({
6358
6574
  title,
6359
6575
  disabledWidgets,
@@ -6366,31 +6582,31 @@ function WidgetSelectionHeader({
6366
6582
  console.error("'WidgetSelectionHeader' must be rendered inside of a 'Page' component.");
6367
6583
  return null;
6368
6584
  }
6369
- return /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(import_core8.Flex, {
6585
+ return /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(import_core10.Flex, {
6370
6586
  justify: "flex-start",
6371
6587
  align: "center",
6372
6588
  gap: "xs",
6373
6589
  mt,
6374
6590
  children: [
6375
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(import_core8.Text, {
6591
+ /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(import_core10.Text, {
6376
6592
  size: "lg",
6377
6593
  fw: 400,
6378
6594
  children: title ?? page.name
6379
6595
  }, undefined, false, undefined, this),
6380
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(import_core8.Divider, {
6596
+ /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(import_core10.Divider, {
6381
6597
  orientation: "vertical"
6382
6598
  }, undefined, false, undefined, this),
6383
- isPageRegistered(page.pageId) && /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(ScrollableChipGroup, {
6599
+ isPageRegistered(page.pageId) && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(ScrollableChipGroup, {
6384
6600
  value: Object.keys(widgets[page.pageId]).filter((widgetId) => widgets[page.pageId][widgetId].selected),
6385
6601
  onChange: (value) => {
6386
6602
  updateWidgetSelectionBulk(page.pageId, value);
6387
6603
  },
6388
6604
  componentsProps: { scrollArea: { flex: 1 } },
6389
- children: Object.keys(widgets[page.pageId]).map((widgetId) => /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(import_core8.Chip, {
6605
+ children: Object.keys(widgets[page.pageId]).map((widgetId) => /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(import_core10.Chip, {
6390
6606
  value: widgetId,
6391
6607
  size: "sm",
6392
6608
  disabled: disabledWidgets && disabledWidgets.includes(widgetId),
6393
- icon: /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(import_icons_react4.IconCheck, {
6609
+ icon: /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(import_icons_react4.IconCheck, {
6394
6610
  ...theme.iconProps.tiny
6395
6611
  }, undefined, false, undefined, this),
6396
6612
  children: widgets[page.pageId][widgetId].name
@@ -6400,19 +6616,19 @@ function WidgetSelectionHeader({
6400
6616
  }, undefined, true, undefined, this);
6401
6617
  }
6402
6618
  // src/core/components/Widget/WidgetWrapper/CloseButton/index.tsx
6403
- var import_core9 = require("@mantine/core");
6619
+ var import_core11 = require("@mantine/core");
6404
6620
  var import_icons_react5 = require("@tabler/icons-react");
6405
- var jsx_dev_runtime15 = require("react/jsx-dev-runtime");
6621
+ var jsx_dev_runtime18 = require("react/jsx-dev-runtime");
6406
6622
  function CloseButton({ widgetId }) {
6407
6623
  const theme = useRemoraidTheme();
6408
6624
  const { activeWidget, updateWidgetSelection } = useWidgets();
6409
6625
  const page = usePage();
6410
- return /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(import_core9.Transition, {
6626
+ return /* @__PURE__ */ jsx_dev_runtime18.jsxDEV(import_core11.Transition, {
6411
6627
  mounted: activeWidget === widgetId,
6412
6628
  transition: "pop-top-right",
6413
6629
  duration: theme.transitionDurations.short,
6414
6630
  timingFunction: "ease",
6415
- children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(import_core9.ActionIcon, {
6631
+ children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime18.jsxDEV(import_core11.ActionIcon, {
6416
6632
  pos: "absolute",
6417
6633
  size: "xs",
6418
6634
  className: "remoraid-close-button",
@@ -6425,19 +6641,19 @@ function CloseButton({ widgetId }) {
6425
6641
  updateWidgetSelection(page.pageId, widgetId, false);
6426
6642
  },
6427
6643
  style: transitionStyle,
6428
- children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(import_icons_react5.IconX, {
6644
+ children: /* @__PURE__ */ jsx_dev_runtime18.jsxDEV(import_icons_react5.IconX, {
6429
6645
  ...theme.iconProps.tiny
6430
6646
  }, undefined, false, undefined, this)
6431
6647
  }, undefined, false, undefined, this)
6432
6648
  }, undefined, false, undefined, this);
6433
6649
  }
6434
6650
  // src/core/components/BadgeGroup/index.tsx
6435
- var import_core11 = require("@mantine/core");
6436
- var import_react9 = __toESM(require("react"));
6651
+ var import_core13 = require("@mantine/core");
6652
+ var import_react11 = __toESM(require("react"));
6437
6653
 
6438
6654
  // src/core/components/BadgeMinimal/index.tsx
6439
- var import_core10 = require("@mantine/core");
6440
- var jsx_dev_runtime16 = require("react/jsx-dev-runtime");
6655
+ var import_core12 = require("@mantine/core");
6656
+ var jsx_dev_runtime19 = require("react/jsx-dev-runtime");
6441
6657
  var isBadgeMinimalProps = (e) => {
6442
6658
  if (typeof e !== "object") {
6443
6659
  return false;
@@ -6450,17 +6666,17 @@ var isBadgeMinimalProps = (e) => {
6450
6666
  function BadgeMinimal(props) {
6451
6667
  const { label, tooltip, mounted, componentsProps } = props;
6452
6668
  const theme = useRemoraidTheme();
6453
- return /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(import_core10.Transition, {
6669
+ return /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_core12.Transition, {
6454
6670
  mounted: mounted !== false,
6455
6671
  transition: "fade",
6456
6672
  duration: theme.transitionDurations.short,
6457
6673
  timingFunction: "ease",
6458
6674
  ...componentsProps?.transition,
6459
- children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(import_core10.Tooltip, {
6675
+ children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_core12.Tooltip, {
6460
6676
  disabled: !tooltip,
6461
6677
  label: tooltip,
6462
6678
  ...componentsProps?.tooltip,
6463
- children: /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(import_core10.Badge, {
6679
+ children: /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_core12.Badge, {
6464
6680
  variant: "default",
6465
6681
  ...componentsProps?.badge,
6466
6682
  style: {
@@ -6475,7 +6691,7 @@ function BadgeMinimal(props) {
6475
6691
  }
6476
6692
 
6477
6693
  // src/core/components/BadgeGroup/index.tsx
6478
- var jsx_dev_runtime17 = require("react/jsx-dev-runtime");
6694
+ var jsx_dev_runtime20 = require("react/jsx-dev-runtime");
6479
6695
  var react = require("react");
6480
6696
  function BadgeGroup({
6481
6697
  badges,
@@ -6485,9 +6701,9 @@ function BadgeGroup({
6485
6701
  }) {
6486
6702
  const theme = useRemoraidTheme();
6487
6703
  const numVisibleBadges = badges.filter((e) => isBadgeMinimalProps(e) ? e.mounted !== false : true).length;
6488
- return /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(jsx_dev_runtime17.Fragment, {
6704
+ return /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(jsx_dev_runtime20.Fragment, {
6489
6705
  children: [
6490
- /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(import_core11.Group, {
6706
+ /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(import_core13.Group, {
6491
6707
  gap: gap ?? "xs",
6492
6708
  wrap: "nowrap",
6493
6709
  visibleFrom: breakpoint ?? theme.breakpoints.badgeGroupCollapse,
@@ -6501,10 +6717,10 @@ function BadgeGroup({
6501
6717
  return e;
6502
6718
  })
6503
6719
  }, undefined, false, undefined, this),
6504
- /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(import_core11.Tooltip, {
6720
+ /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(import_core13.Tooltip, {
6505
6721
  label: `${numVisibleBadges} badge${numVisibleBadges === 1 ? "" : "s"}`,
6506
6722
  ...componentsProps?.tooltip,
6507
- children: /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(import_core11.Badge, {
6723
+ children: /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(import_core13.Badge, {
6508
6724
  hiddenFrom: breakpoint ?? theme.breakpoints.badgeGroupCollapse,
6509
6725
  hidden: numVisibleBadges === 0,
6510
6726
  variant: "light",
@@ -6518,8 +6734,8 @@ function BadgeGroup({
6518
6734
  }, undefined, true, undefined, this);
6519
6735
  }
6520
6736
  // src/core/components/AlertMinimal/index.tsx
6521
- var import_core12 = require("@mantine/core");
6522
- var jsx_dev_runtime18 = require("react/jsx-dev-runtime");
6737
+ var import_core14 = require("@mantine/core");
6738
+ var jsx_dev_runtime21 = require("react/jsx-dev-runtime");
6523
6739
  var isAlertMinimalProps = (e) => {
6524
6740
  if (typeof e !== "object") {
6525
6741
  return false;
@@ -6541,13 +6757,13 @@ function AlertMinimal({
6541
6757
  componentsProps
6542
6758
  }) {
6543
6759
  const theme = useRemoraidTheme();
6544
- return /* @__PURE__ */ jsx_dev_runtime18.jsxDEV(import_core12.Transition, {
6760
+ return /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core14.Transition, {
6545
6761
  mounted: mounted !== false,
6546
6762
  transition: "fade",
6547
6763
  duration: theme.transitionDurations.short,
6548
6764
  timingFunction: "ease",
6549
6765
  ...componentsProps?.transition,
6550
- children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime18.jsxDEV(import_core12.Alert, {
6766
+ children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core14.Alert, {
6551
6767
  ...theme.alertProps[category],
6552
6768
  title: title ?? theme.alertProps[category].title,
6553
6769
  withCloseButton: onClose !== undefined,
@@ -6567,9 +6783,9 @@ function AlertMinimal({
6567
6783
  }, undefined, false, undefined, this);
6568
6784
  }
6569
6785
  // src/core/components/RemoraidButton/index.tsx
6570
- var import_core13 = require("@mantine/core");
6786
+ var import_core15 = require("@mantine/core");
6571
6787
  var import_icons_react6 = require("@tabler/icons-react");
6572
- var jsx_dev_runtime19 = require("react/jsx-dev-runtime");
6788
+ var jsx_dev_runtime22 = require("react/jsx-dev-runtime");
6573
6789
  var isRemoraidButtonProps = (e) => {
6574
6790
  if (typeof e !== "object") {
6575
6791
  return false;
@@ -6594,17 +6810,17 @@ function RemoraidButton({
6594
6810
  }) {
6595
6811
  const theme = useRemoraidTheme();
6596
6812
  const iconProps = { ...theme.iconProps.medium, ...componentsProps?.icon };
6597
- const icon = props.icon ? /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(props.icon, {
6813
+ const icon = props.icon ? /* @__PURE__ */ jsx_dev_runtime22.jsxDEV(props.icon, {
6598
6814
  ...iconProps
6599
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_icons_react6.IconClick, {
6815
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime22.jsxDEV(import_icons_react6.IconClick, {
6600
6816
  ...iconProps
6601
6817
  }, undefined, false, undefined, this);
6602
- return /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(jsx_dev_runtime19.Fragment, {
6818
+ return /* @__PURE__ */ jsx_dev_runtime22.jsxDEV(jsx_dev_runtime22.Fragment, {
6603
6819
  children: [
6604
- /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_core13.Tooltip, {
6820
+ /* @__PURE__ */ jsx_dev_runtime22.jsxDEV(import_core15.Tooltip, {
6605
6821
  label,
6606
6822
  ...componentsProps?.tooltip,
6607
- children: /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_core13.ActionIcon, {
6823
+ children: /* @__PURE__ */ jsx_dev_runtime22.jsxDEV(import_core15.ActionIcon, {
6608
6824
  "aria-label": label,
6609
6825
  variant: variant ?? "default",
6610
6826
  onClick,
@@ -6618,7 +6834,7 @@ function RemoraidButton({
6618
6834
  children: icon
6619
6835
  }, undefined, false, undefined, this)
6620
6836
  }, undefined, false, undefined, this),
6621
- /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(import_core13.Button, {
6837
+ /* @__PURE__ */ jsx_dev_runtime22.jsxDEV(import_core15.Button, {
6622
6838
  onClick,
6623
6839
  loading,
6624
6840
  variant: variant ?? "default",
@@ -6635,9 +6851,9 @@ function RemoraidButton({
6635
6851
  }, undefined, true, undefined, this);
6636
6852
  }
6637
6853
  // src/core/components/Widget/WidgetWrapper/index.tsx
6638
- var import_core14 = require("@mantine/core");
6639
- var import_react10 = require("react");
6640
- var jsx_dev_runtime20 = require("react/jsx-dev-runtime");
6854
+ var import_core16 = require("@mantine/core");
6855
+ var import_react12 = require("react");
6856
+ var jsx_dev_runtime23 = require("react/jsx-dev-runtime");
6641
6857
  function WidgetWrapper({
6642
6858
  children,
6643
6859
  config,
@@ -6655,7 +6871,7 @@ function WidgetWrapper({
6655
6871
  const page = usePage();
6656
6872
  const theme = useRemoraidTheme();
6657
6873
  const pageRegistered = page ? isPageRegistered(page.pageId) : false;
6658
- import_react10.useEffect(() => {
6874
+ import_react12.useEffect(() => {
6659
6875
  if (!page) {
6660
6876
  return;
6661
6877
  }
@@ -6663,12 +6879,12 @@ function WidgetWrapper({
6663
6879
  registerWidget(page.pageId, config);
6664
6880
  }
6665
6881
  }, [pageRegistered]);
6666
- return /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(import_core14.Transition, {
6882
+ return /* @__PURE__ */ jsx_dev_runtime23.jsxDEV(import_core16.Transition, {
6667
6883
  mounted: page !== null && isWidgetSelected(page.pageId, config.widgetId),
6668
6884
  transition: "fade-left",
6669
6885
  duration: theme.transitionDurations.medium,
6670
6886
  timingFunction: "ease",
6671
- children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(import_core14.Paper, {
6887
+ children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime23.jsxDEV(import_core16.Paper, {
6672
6888
  p: "md",
6673
6889
  shadow: "md",
6674
6890
  bg: theme.transparentBackground,
@@ -6684,7 +6900,7 @@ function WidgetWrapper({
6684
6900
  updateActiveWidget(null);
6685
6901
  },
6686
6902
  children: [
6687
- withCloseButton !== false && /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(CloseButton, {
6903
+ withCloseButton !== false && /* @__PURE__ */ jsx_dev_runtime23.jsxDEV(CloseButton, {
6688
6904
  widgetId: config.widgetId
6689
6905
  }, undefined, false, undefined, this),
6690
6906
  children
@@ -6696,8 +6912,8 @@ var WidgetWrapper_default = Object.assign(WidgetWrapper, {
6696
6912
  CloseButton
6697
6913
  });
6698
6914
  // src/core/components/Widget/index.tsx
6699
- var import_core15 = require("@mantine/core");
6700
- var jsx_dev_runtime21 = require("react/jsx-dev-runtime");
6915
+ var import_core17 = require("@mantine/core");
6916
+ var jsx_dev_runtime24 = require("react/jsx-dev-runtime");
6701
6917
  var react2 = require("react");
6702
6918
  function Widget({
6703
6919
  children,
@@ -6715,7 +6931,7 @@ function Widget({
6715
6931
  const badgesGap = (typeof gaps === "object" ? gaps.badges : gaps) ?? "xs";
6716
6932
  const buttonsGap = (typeof gaps === "object" ? gaps.buttons : gaps) ?? "xs";
6717
6933
  const alertsGap = (typeof gaps === "object" ? gaps.alerts : gaps) ?? "xs";
6718
- return /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(WidgetWrapper_default, {
6934
+ return /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(WidgetWrapper_default, {
6719
6935
  config: {
6720
6936
  widgetId: id,
6721
6937
  name: title,
@@ -6728,28 +6944,28 @@ function Widget({
6728
6944
  },
6729
6945
  ...componentsProps?.wrapper,
6730
6946
  children: [
6731
- /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core15.Group, {
6947
+ /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(import_core17.Group, {
6732
6948
  justify: "space-between",
6733
6949
  wrap: "nowrap",
6734
6950
  children: [
6735
- /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core15.Group, {
6951
+ /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(import_core17.Group, {
6736
6952
  gap: badgesGap,
6737
6953
  wrap: "nowrap",
6738
6954
  children: [
6739
- /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core15.Title, {
6955
+ /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(import_core17.Title, {
6740
6956
  order: 1,
6741
6957
  size: "h3",
6742
6958
  lineClamp: 1,
6743
6959
  children: title
6744
6960
  }, undefined, false, undefined, this),
6745
- badges !== undefined && /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(BadgeGroup, {
6961
+ badges !== undefined && /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(BadgeGroup, {
6746
6962
  badges,
6747
6963
  gap: badgesGap,
6748
6964
  ...componentsProps?.badgeGroup
6749
6965
  }, undefined, false, undefined, this)
6750
6966
  ]
6751
6967
  }, undefined, true, undefined, this),
6752
- /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core15.Group, {
6968
+ /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(import_core17.Group, {
6753
6969
  gap: buttonsGap,
6754
6970
  wrap: "nowrap",
6755
6971
  children: buttons !== undefined && buttons.map((e, i) => {
@@ -6764,7 +6980,7 @@ function Widget({
6764
6980
  }, undefined, false, undefined, this)
6765
6981
  ]
6766
6982
  }, undefined, true, undefined, this),
6767
- /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core15.Divider, {
6983
+ /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(import_core17.Divider, {
6768
6984
  my: "md"
6769
6985
  }, undefined, false, undefined, this),
6770
6986
  alerts !== undefined && alerts.map((a, i) => {
@@ -6777,20 +6993,20 @@ function Widget({
6777
6993
  }
6778
6994
  return a;
6779
6995
  }),
6780
- loading ? /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core15.Center, {
6781
- children: /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core15.Loader, {
6996
+ loading ? /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(import_core17.Center, {
6997
+ children: /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(import_core17.Loader, {
6782
6998
  ...componentsProps?.loader
6783
6999
  }, undefined, false, undefined, this)
6784
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(jsx_dev_runtime21.Fragment, {
7000
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(jsx_dev_runtime24.Fragment, {
6785
7001
  children
6786
7002
  }, undefined, false, undefined, this)
6787
7003
  ]
6788
7004
  }, undefined, true, undefined, this);
6789
7005
  }
6790
7006
  // src/core/components/NotFoundPage/index.tsx
6791
- var import_core16 = require("@mantine/core");
7007
+ var import_core18 = require("@mantine/core");
6792
7008
  var import_navigation3 = require("next/navigation");
6793
- var jsx_dev_runtime22 = require("react/jsx-dev-runtime");
7009
+ var jsx_dev_runtime25 = require("react/jsx-dev-runtime");
6794
7010
  function NotFoundPage({
6795
7011
  children,
6796
7012
  message,
@@ -6798,11 +7014,11 @@ function NotFoundPage({
6798
7014
  }) {
6799
7015
  const pathname = import_navigation3.usePathname();
6800
7016
  const theme = useRemoraidTheme();
6801
- return /* @__PURE__ */ jsx_dev_runtime22.jsxDEV(Page, {
7017
+ return /* @__PURE__ */ jsx_dev_runtime25.jsxDEV(Page, {
6802
7018
  name: "Not Found",
6803
7019
  ...componentsProps?.page,
6804
7020
  children: [
6805
- /* @__PURE__ */ jsx_dev_runtime22.jsxDEV(import_core16.Alert, {
7021
+ /* @__PURE__ */ jsx_dev_runtime25.jsxDEV(import_core18.Alert, {
6806
7022
  ...theme.alertProps.negative,
6807
7023
  title: "404 - Page Not Found",
6808
7024
  children: message ?? `Could not find page ${pathname}.`
@@ -6812,8 +7028,8 @@ function NotFoundPage({
6812
7028
  }, undefined, true, undefined, this);
6813
7029
  }
6814
7030
  // src/core/components/EnvironmentShell/index.tsx
6815
- var import_core17 = require("@mantine/core");
6816
- var jsx_dev_runtime23 = require("react/jsx-dev-runtime");
7031
+ var import_core19 = require("@mantine/core");
7032
+ var jsx_dev_runtime26 = require("react/jsx-dev-runtime");
6817
7033
  function EnvironmentShell({
6818
7034
  children,
6819
7035
  environment,
@@ -6827,7 +7043,7 @@ function EnvironmentShell({
6827
7043
  const undefinedKeys = Object.keys(environment).filter((key) => environment[key] === undefined);
6828
7044
  const alertTitle = `Please Specify Environment Variable${undefinedKeys.length > 1 ? "s" : ""}`;
6829
7045
  const alertMessage = `Components could not be rendered because the following environment variables are not specified: ${undefinedKeys.join(", ")}.`;
6830
- const alert = /* @__PURE__ */ jsx_dev_runtime23.jsxDEV(import_core17.Alert, {
7046
+ const alert = /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core19.Alert, {
6831
7047
  ...theme.alertProps.neutral,
6832
7048
  title: alertTitle,
6833
7049
  m,
@@ -6835,12 +7051,12 @@ function EnvironmentShell({
6835
7051
  children: message ?? alertMessage
6836
7052
  }, undefined, false, undefined, this);
6837
7053
  if (undefinedKeys.length === 0) {
6838
- return /* @__PURE__ */ jsx_dev_runtime23.jsxDEV(jsx_dev_runtime23.Fragment, {
7054
+ return /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(jsx_dev_runtime26.Fragment, {
6839
7055
  children
6840
7056
  }, undefined, false, undefined, this);
6841
7057
  }
6842
7058
  if (withContainer) {
6843
- return /* @__PURE__ */ jsx_dev_runtime23.jsxDEV(PageContainer, {
7059
+ return /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(PageContainer, {
6844
7060
  componentsProps: { container: componentsProps?.container },
6845
7061
  children: alert
6846
7062
  }, undefined, false, undefined, this);
@@ -6848,20 +7064,20 @@ function EnvironmentShell({
6848
7064
  return alert;
6849
7065
  }
6850
7066
  // src/core/components/SettingsWidget/index.tsx
6851
- var import_react11 = require("react");
7067
+ var import_react13 = require("react");
6852
7068
  var import_icons_react8 = require("@tabler/icons-react");
6853
7069
 
6854
7070
  // src/core/components/SettingsWidget/SaveButton/index.tsx
6855
7071
  var import_icons_react7 = require("@tabler/icons-react");
6856
- var import_core18 = require("@mantine/core");
6857
- var jsx_dev_runtime24 = require("react/jsx-dev-runtime");
7072
+ var import_core20 = require("@mantine/core");
7073
+ var jsx_dev_runtime27 = require("react/jsx-dev-runtime");
6858
7074
  function SaveButton({
6859
7075
  onSaveChanges,
6860
7076
  insideContainer,
6861
7077
  componentsProps
6862
7078
  }) {
6863
7079
  const settingsWidgetOptions = useSettingsWidgetContext();
6864
- const button = /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(RemoraidButton, {
7080
+ const button = /* @__PURE__ */ jsx_dev_runtime27.jsxDEV(RemoraidButton, {
6865
7081
  label: "Save Changes",
6866
7082
  icon: import_icons_react7.IconDeviceFloppy,
6867
7083
  onClick: onSaveChanges,
@@ -6876,7 +7092,7 @@ function SaveButton({
6876
7092
  }
6877
7093
  }, undefined, false, undefined, this);
6878
7094
  if (insideContainer !== false) {
6879
- return /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(import_core18.Group, {
7095
+ return /* @__PURE__ */ jsx_dev_runtime27.jsxDEV(import_core20.Group, {
6880
7096
  w: "100%",
6881
7097
  justify: "flex-end",
6882
7098
  mt: "md",
@@ -6888,11 +7104,11 @@ function SaveButton({
6888
7104
  }
6889
7105
 
6890
7106
  // src/core/components/SettingsWidget/index.tsx
6891
- var jsx_dev_runtime25 = require("react/jsx-dev-runtime");
7107
+ var jsx_dev_runtime28 = require("react/jsx-dev-runtime");
6892
7108
  var defaultSettingsWidgetContext = {};
6893
- var settingsWidgetContext = import_react11.createContext(defaultSettingsWidgetContext);
7109
+ var settingsWidgetContext = import_react13.createContext(defaultSettingsWidgetContext);
6894
7110
  var useSettingsWidgetContext = () => {
6895
- return import_react11.useContext(settingsWidgetContext);
7111
+ return import_react13.useContext(settingsWidgetContext);
6896
7112
  };
6897
7113
  function SettingsWidget({
6898
7114
  children,
@@ -6901,9 +7117,9 @@ function SettingsWidget({
6901
7117
  custom,
6902
7118
  widgetProps
6903
7119
  }) {
6904
- return /* @__PURE__ */ jsx_dev_runtime25.jsxDEV(settingsWidgetContext.Provider, {
7120
+ return /* @__PURE__ */ jsx_dev_runtime28.jsxDEV(settingsWidgetContext.Provider, {
6905
7121
  value: { custom, unsavedChanges },
6906
- children: /* @__PURE__ */ jsx_dev_runtime25.jsxDEV(Widget, {
7122
+ children: /* @__PURE__ */ jsx_dev_runtime28.jsxDEV(Widget, {
6907
7123
  title: "Settings",
6908
7124
  id: "settings",
6909
7125
  mt: "md",
@@ -6939,27 +7155,27 @@ var SettingsWidget_default = Object.assign(SettingsWidget, {
6939
7155
  SaveButton
6940
7156
  });
6941
7157
  // src/core/components/SettingsWidget/SettingsTable/index.tsx
6942
- var import_react12 = require("react");
6943
- var import_core20 = require("@mantine/core");
7158
+ var import_react14 = require("react");
7159
+ var import_core22 = require("@mantine/core");
6944
7160
 
6945
7161
  // src/core/components/SettingsWidget/SettingsTable/Row/index.tsx
6946
- var import_core19 = require("@mantine/core");
6947
- var jsx_dev_runtime26 = require("react/jsx-dev-runtime");
7162
+ var import_core21 = require("@mantine/core");
7163
+ var jsx_dev_runtime29 = require("react/jsx-dev-runtime");
6948
7164
  function Row({
6949
7165
  children,
6950
7166
  label
6951
7167
  }) {
6952
7168
  const options = useSettingsTableOptions();
6953
- return /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core19.Table.Tr, {
7169
+ return /* @__PURE__ */ jsx_dev_runtime29.jsxDEV(import_core21.Table.Tr, {
6954
7170
  children: [
6955
- /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core19.Table.Th, {
7171
+ /* @__PURE__ */ jsx_dev_runtime29.jsxDEV(import_core21.Table.Th, {
6956
7172
  w: options.leftColumnWidth,
6957
- children: /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core19.Text, {
7173
+ children: /* @__PURE__ */ jsx_dev_runtime29.jsxDEV(import_core21.Text, {
6958
7174
  size: "sm",
6959
7175
  children: label
6960
7176
  }, undefined, false, undefined, this)
6961
7177
  }, undefined, false, undefined, this),
6962
- /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core19.Table.Td, {
7178
+ /* @__PURE__ */ jsx_dev_runtime29.jsxDEV(import_core21.Table.Td, {
6963
7179
  py: "xs",
6964
7180
  children
6965
7181
  }, undefined, false, undefined, this)
@@ -6968,29 +7184,29 @@ function Row({
6968
7184
  }
6969
7185
 
6970
7186
  // src/core/components/SettingsWidget/SettingsTable/index.tsx
6971
- var jsx_dev_runtime27 = require("react/jsx-dev-runtime");
7187
+ var jsx_dev_runtime30 = require("react/jsx-dev-runtime");
6972
7188
  var defaultSettingsTableOptions = {
6973
7189
  leftColumnWidth: "38.2%"
6974
7190
  };
6975
- var settingsTableOptionsContext = import_react12.createContext(defaultSettingsTableOptions);
7191
+ var settingsTableOptionsContext = import_react14.createContext(defaultSettingsTableOptions);
6976
7192
  var useSettingsTableOptions = () => {
6977
- return import_react12.useContext(settingsTableOptionsContext);
7193
+ return import_react14.useContext(settingsTableOptionsContext);
6978
7194
  };
6979
7195
  function SettingsTable({
6980
7196
  children,
6981
7197
  leftColumnWidth
6982
7198
  }) {
6983
7199
  const theme = useRemoraidTheme();
6984
- return /* @__PURE__ */ jsx_dev_runtime27.jsxDEV(settingsTableOptionsContext.Provider, {
7200
+ return /* @__PURE__ */ jsx_dev_runtime30.jsxDEV(settingsTableOptionsContext.Provider, {
6985
7201
  value: {
6986
7202
  leftColumnWidth: leftColumnWidth ?? defaultSettingsTableOptions.leftColumnWidth
6987
7203
  },
6988
- children: /* @__PURE__ */ jsx_dev_runtime27.jsxDEV(import_core20.Table, {
7204
+ children: /* @__PURE__ */ jsx_dev_runtime30.jsxDEV(import_core22.Table, {
6989
7205
  bg: theme.transparentBackground,
6990
7206
  withTableBorder: true,
6991
7207
  variant: "vertical",
6992
7208
  layout: "fixed",
6993
- children: /* @__PURE__ */ jsx_dev_runtime27.jsxDEV(import_core20.Table.Tbody, {
7209
+ children: /* @__PURE__ */ jsx_dev_runtime30.jsxDEV(import_core22.Table.Tbody, {
6994
7210
  children
6995
7211
  }, undefined, false, undefined, this)
6996
7212
  }, undefined, false, undefined, this)
@@ -7000,11 +7216,11 @@ var SettingsTable_default = Object.assign(SettingsTable, {
7000
7216
  Row
7001
7217
  });
7002
7218
  // src/core/components/NavbarSettingsWidget/index.tsx
7003
- var import_react13 = require("react");
7219
+ var import_react15 = require("react");
7004
7220
  var import_lodash = __toESM(require_lodash());
7005
- var import_core21 = require("@mantine/core");
7221
+ var import_core23 = require("@mantine/core");
7006
7222
  var import_icons_react9 = require("@tabler/icons-react");
7007
- var jsx_dev_runtime28 = require("react/jsx-dev-runtime");
7223
+ var jsx_dev_runtime31 = require("react/jsx-dev-runtime");
7008
7224
  var defaultNavbarSettingsWidgetId = "navbar-settings";
7009
7225
  function NavbarSettingsWidget({
7010
7226
  additionalRows,
@@ -7014,7 +7230,7 @@ function NavbarSettingsWidget({
7014
7230
  const { userExperience, updateUserExperience, initialUserExperience } = useRemoraidUserExperience();
7015
7231
  const app = useRemoraidApp();
7016
7232
  const theme = useRemoraidTheme();
7017
- return /* @__PURE__ */ jsx_dev_runtime28.jsxDEV(SettingsWidget_default, {
7233
+ return /* @__PURE__ */ jsx_dev_runtime31.jsxDEV(SettingsWidget_default, {
7018
7234
  widgetProps: {
7019
7235
  id: defaultNavbarSettingsWidgetId,
7020
7236
  title: "Navbar Settings",
@@ -7023,32 +7239,32 @@ function NavbarSettingsWidget({
7023
7239
  onRestoreDefaultValues: () => {
7024
7240
  updateUserExperience((prev) => ({
7025
7241
  ...prev,
7026
- navbarSettings: defaultNavbarSettings[userExperience.navbarVariant]
7242
+ navbar: initialUserExperience.navbar
7027
7243
  }));
7028
7244
  },
7029
- custom: !import_lodash.isEqual(userExperience.navbarSettings, initialUserExperience.navbarSettings),
7030
- children: /* @__PURE__ */ jsx_dev_runtime28.jsxDEV(SettingsTable_default, {
7245
+ custom: !import_lodash.isEqual(userExperience.navbar, initialUserExperience.navbar),
7246
+ children: /* @__PURE__ */ jsx_dev_runtime31.jsxDEV(SettingsTable_default, {
7031
7247
  children: [
7032
- /* @__PURE__ */ jsx_dev_runtime28.jsxDEV(SettingsTable_default.Row, {
7248
+ /* @__PURE__ */ jsx_dev_runtime31.jsxDEV(SettingsTable_default.Row, {
7033
7249
  label: "Select which pages you want to display or hide",
7034
- children: /* @__PURE__ */ jsx_dev_runtime28.jsxDEV(import_core21.Chip.Group, {
7250
+ children: /* @__PURE__ */ jsx_dev_runtime31.jsxDEV(import_core23.Chip.Group, {
7035
7251
  multiple: true,
7036
- value: app.navigablePages.filter((p) => !userExperience.navbarSettings.hiddenPages.includes(p.href)).map((p) => p.href),
7252
+ value: app.navigablePages.filter((p) => !userExperience.navbar.hiddenPages.includes(p.href)).map((p) => p.href),
7037
7253
  onChange: (newValue) => {
7038
7254
  updateUserExperience((prev) => ({
7039
7255
  ...prev,
7040
- navbarSettings: {
7041
- ...prev.navbarSettings,
7256
+ navbar: {
7257
+ ...prev.navbar,
7042
7258
  hiddenPages: app.navigablePages.filter((p) => !newValue.includes(p.href)).map((p) => p.href)
7043
7259
  }
7044
7260
  }));
7045
7261
  },
7046
- children: /* @__PURE__ */ jsx_dev_runtime28.jsxDEV(import_core21.Group, {
7262
+ children: /* @__PURE__ */ jsx_dev_runtime31.jsxDEV(import_core23.Group, {
7047
7263
  justify: "flex-start",
7048
7264
  gap: "xs",
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, {
7265
+ children: app.navigablePages.map((p) => ({ ...p, icon: p.icon ?? import_icons_react9.IconLink })).map((p, i) => /* @__PURE__ */ jsx_dev_runtime31.jsxDEV(import_core23.Chip, {
7050
7266
  value: p.href,
7051
- icon: /* @__PURE__ */ jsx_dev_runtime28.jsxDEV(p.icon, {
7267
+ icon: /* @__PURE__ */ jsx_dev_runtime31.jsxDEV(p.icon, {
7052
7268
  ...theme.iconProps.tiny,
7053
7269
  color: theme.primaryColor
7054
7270
  }, undefined, false, undefined, this),
@@ -7058,7 +7274,7 @@ function NavbarSettingsWidget({
7058
7274
  }, undefined, false, undefined, this)
7059
7275
  }, undefined, false, undefined, this)
7060
7276
  }, "select-hidden-pages", false, undefined, this),
7061
- ...(additionalRows ?? []).map((row, i) => row.key ? row : import_react13.cloneElement(row, { key: i }))
7277
+ ...(additionalRows ?? []).map((row, i) => row.key ? row : import_react15.cloneElement(row, { key: i }))
7062
7278
  ],
7063
7279
  ...componentsProps?.table
7064
7280
  }, undefined, false, undefined, this)