remoraid 2.7.2 → 2.14.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.
- package/dist/core/index.cjs +819 -503
- package/dist/core/index.d.ts +312 -118
- package/dist/core/index.js +814 -489
- package/dist/server/index.d.ts +2 -2
- package/package.json +2 -1
package/dist/core/index.js
CHANGED
@@ -977,7 +977,7 @@ var require_lodash = __commonJS((exports, module) => {
|
|
977
977
|
}
|
978
978
|
SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
|
979
979
|
SetCache.prototype.has = setCacheHas;
|
980
|
-
function
|
980
|
+
function Stack4(entries) {
|
981
981
|
var data = this.__data__ = new ListCache(entries);
|
982
982
|
this.size = data.size;
|
983
983
|
}
|
@@ -1011,11 +1011,11 @@ var require_lodash = __commonJS((exports, module) => {
|
|
1011
1011
|
this.size = data.size;
|
1012
1012
|
return this;
|
1013
1013
|
}
|
1014
|
-
|
1015
|
-
|
1016
|
-
|
1017
|
-
|
1018
|
-
|
1014
|
+
Stack4.prototype.clear = stackClear;
|
1015
|
+
Stack4.prototype["delete"] = stackDelete;
|
1016
|
+
Stack4.prototype.get = stackGet;
|
1017
|
+
Stack4.prototype.has = stackHas;
|
1018
|
+
Stack4.prototype.set = stackSet;
|
1019
1019
|
function arrayLikeKeys(value, inherited) {
|
1020
1020
|
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;
|
1021
1021
|
for (var key in value) {
|
@@ -1131,7 +1131,7 @@ var require_lodash = __commonJS((exports, module) => {
|
|
1131
1131
|
result2 = initCloneByTag(value, tag, isDeep);
|
1132
1132
|
}
|
1133
1133
|
}
|
1134
|
-
stack || (stack = new
|
1134
|
+
stack || (stack = new Stack4);
|
1135
1135
|
var stacked = stack.get(value);
|
1136
1136
|
if (stacked) {
|
1137
1137
|
return stacked;
|
@@ -1400,21 +1400,21 @@ var require_lodash = __commonJS((exports, module) => {
|
|
1400
1400
|
objIsObj = false;
|
1401
1401
|
}
|
1402
1402
|
if (isSameTag && !objIsObj) {
|
1403
|
-
stack || (stack = new
|
1403
|
+
stack || (stack = new Stack4);
|
1404
1404
|
return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
|
1405
1405
|
}
|
1406
1406
|
if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
|
1407
1407
|
var objIsWrapped = objIsObj && hasOwnProperty.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty.call(other, "__wrapped__");
|
1408
1408
|
if (objIsWrapped || othIsWrapped) {
|
1409
1409
|
var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
|
1410
|
-
stack || (stack = new
|
1410
|
+
stack || (stack = new Stack4);
|
1411
1411
|
return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
|
1412
1412
|
}
|
1413
1413
|
}
|
1414
1414
|
if (!isSameTag) {
|
1415
1415
|
return false;
|
1416
1416
|
}
|
1417
|
-
stack || (stack = new
|
1417
|
+
stack || (stack = new Stack4);
|
1418
1418
|
return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
|
1419
1419
|
}
|
1420
1420
|
function baseIsMap(value) {
|
@@ -1440,7 +1440,7 @@ var require_lodash = __commonJS((exports, module) => {
|
|
1440
1440
|
return false;
|
1441
1441
|
}
|
1442
1442
|
} else {
|
1443
|
-
var stack = new
|
1443
|
+
var stack = new Stack4;
|
1444
1444
|
if (customizer) {
|
1445
1445
|
var result2 = customizer(objValue, srcValue, key, object, source, stack);
|
1446
1446
|
}
|
@@ -1536,7 +1536,7 @@ var require_lodash = __commonJS((exports, module) => {
|
|
1536
1536
|
return;
|
1537
1537
|
}
|
1538
1538
|
baseFor(source, function(srcValue, key) {
|
1539
|
-
stack || (stack = new
|
1539
|
+
stack || (stack = new Stack4);
|
1540
1540
|
if (isObject(srcValue)) {
|
1541
1541
|
baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
|
1542
1542
|
} else {
|
@@ -5573,6 +5573,10 @@ var NavbarVariant;
|
|
5573
5573
|
((NavbarVariant2) => {
|
5574
5574
|
NavbarVariant2["Minimal"] = "minimal";
|
5575
5575
|
})(NavbarVariant ||= {});
|
5576
|
+
var FooterVariant;
|
5577
|
+
((FooterVariant2) => {
|
5578
|
+
FooterVariant2["Minimal"] = "minimal";
|
5579
|
+
})(FooterVariant ||= {});
|
5576
5580
|
var AlertCategory;
|
5577
5581
|
((AlertCategory2) => {
|
5578
5582
|
AlertCategory2["Negative"] = "negative";
|
@@ -5595,9 +5599,62 @@ var RemoraidIconSize;
|
|
5595
5599
|
RemoraidIconSize2["Tiny"] = "tiny";
|
5596
5600
|
RemoraidIconSize2["Medium"] = "medium";
|
5597
5601
|
})(RemoraidIconSize ||= {});
|
5602
|
+
var LayoutType;
|
5603
|
+
((LayoutType2) => {
|
5604
|
+
LayoutType2["Frame"] = "frame";
|
5605
|
+
})(LayoutType ||= {});
|
5606
|
+
var FrameLayoutSection;
|
5607
|
+
((FrameLayoutSection2) => {
|
5608
|
+
FrameLayoutSection2["Top"] = "top";
|
5609
|
+
FrameLayoutSection2["Bottom"] = "bottom";
|
5610
|
+
FrameLayoutSection2["Left"] = "left";
|
5611
|
+
FrameLayoutSection2["Right"] = "right";
|
5612
|
+
FrameLayoutSection2["Content"] = "content";
|
5613
|
+
})(FrameLayoutSection ||= {});
|
5614
|
+
var FrameLayoutVariant;
|
5615
|
+
((FrameLayoutVariant2) => {
|
5616
|
+
FrameLayoutVariant2["Plain"] = "plain";
|
5617
|
+
FrameLayoutVariant2["Sticky"] = "sticky";
|
5618
|
+
})(FrameLayoutVariant ||= {});
|
5598
5619
|
|
5599
5620
|
// src/core/lib/utils.ts
|
5621
|
+
import {
|
5622
|
+
isValidElement
|
5623
|
+
} from "react";
|
5600
5624
|
var co = (condition, value, fallback) => condition(value) ? value : fallback;
|
5625
|
+
var isValidElementOfType = (type, value) => {
|
5626
|
+
return isValidElement(value) && value.type === type;
|
5627
|
+
};
|
5628
|
+
var getElementTypeName = (type) => {
|
5629
|
+
if (typeof type === "string") {
|
5630
|
+
return type;
|
5631
|
+
}
|
5632
|
+
if (typeof type === "function") {
|
5633
|
+
return type.displayName ?? type.name ?? "anonymous component";
|
5634
|
+
}
|
5635
|
+
return "unknown";
|
5636
|
+
};
|
5637
|
+
var asElementOfType = (type, element, additionalErrorMessage) => {
|
5638
|
+
if (isValidElementOfType(type, element)) {
|
5639
|
+
return element;
|
5640
|
+
}
|
5641
|
+
throw new TypeError(`Expected React element of type ${getElementTypeName(type)}, but received type: ${getElementTypeName(element.type)}.${additionalErrorMessage !== undefined && additionalErrorMessage.length > 0 ? ` ${additionalErrorMessage}` : ""}`);
|
5642
|
+
};
|
5643
|
+
var asChildrenOfType = (type, children, additionalErrorMessage) => {
|
5644
|
+
if (children === undefined || children === null) {
|
5645
|
+
return children;
|
5646
|
+
}
|
5647
|
+
if (Array.isArray(children)) {
|
5648
|
+
return children.map((child) => asChildrenOfType(type, child, additionalErrorMessage));
|
5649
|
+
}
|
5650
|
+
return asElementOfType(type, children, additionalErrorMessage);
|
5651
|
+
};
|
5652
|
+
var asElementOrPropsOfType = (type, elementOrProps, additionalErrorMessage) => {
|
5653
|
+
if (isValidElement(elementOrProps)) {
|
5654
|
+
return asElementOfType(type, elementOrProps, additionalErrorMessage);
|
5655
|
+
}
|
5656
|
+
return elementOrProps;
|
5657
|
+
};
|
5601
5658
|
|
5602
5659
|
// src/core/components/RemoraidProvider/ThemeProvider/index.tsx
|
5603
5660
|
import {
|
@@ -5774,18 +5831,171 @@ function ThemeProvider({
|
|
5774
5831
|
import { CookiesProvider } from "react-cookie";
|
5775
5832
|
|
5776
5833
|
// src/core/components/RemoraidProvider/CoreUserExperienceProvider/index.tsx
|
5777
|
-
import { useContext as
|
5834
|
+
import { useContext as useContext4 } from "react";
|
5835
|
+
|
5836
|
+
// src/core/components/UserExperienceProviderWrapper/index.tsx
|
5837
|
+
import {
|
5838
|
+
createContext as createContext2,
|
5839
|
+
useEffect as useEffect2,
|
5840
|
+
useState as useState3
|
5841
|
+
} from "react";
|
5842
|
+
import { useCookies } from "react-cookie";
|
5843
|
+
import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
|
5844
|
+
var createUserExperienceContext = (defaultUserExperience) => createContext2({
|
5845
|
+
userExperience: defaultUserExperience,
|
5846
|
+
updateUserExperience: () => {},
|
5847
|
+
processedCookie: false,
|
5848
|
+
initialUserExperience: defaultUserExperience
|
5849
|
+
});
|
5850
|
+
function UserExperienceProviderWrapper({
|
5851
|
+
children,
|
5852
|
+
context,
|
5853
|
+
cookieName,
|
5854
|
+
defaultUserExperience,
|
5855
|
+
isValidUserExperience,
|
5856
|
+
initialValue
|
5857
|
+
}) {
|
5858
|
+
const [cookies, setCookie] = useCookies();
|
5859
|
+
let initialUserExperience = defaultUserExperience;
|
5860
|
+
if (typeof initialValue === "object" && typeof initialUserExperience === "object") {
|
5861
|
+
initialUserExperience = { ...initialUserExperience, ...initialValue };
|
5862
|
+
}
|
5863
|
+
const [userExperience, setUserExperience] = useState3(initialUserExperience);
|
5864
|
+
const [processedCookie, setProcessedCookie] = useState3(false);
|
5865
|
+
const updateUserExperience = (p) => {
|
5866
|
+
const updatedUserExperience = typeof p === "function" ? p(userExperience) : p;
|
5867
|
+
setCookie(cookieName, updatedUserExperience, { path: "/" });
|
5868
|
+
setUserExperience(updatedUserExperience);
|
5869
|
+
};
|
5870
|
+
useEffect2(() => {
|
5871
|
+
const userExperienceCookie = cookies[cookieName];
|
5872
|
+
if (userExperienceCookie && isValidUserExperience(userExperienceCookie)) {
|
5873
|
+
setUserExperience(userExperienceCookie);
|
5874
|
+
}
|
5875
|
+
if (cookies && !processedCookie) {
|
5876
|
+
setProcessedCookie(true);
|
5877
|
+
}
|
5878
|
+
}, [cookies]);
|
5879
|
+
return /* @__PURE__ */ jsxDEV4(context.Provider, {
|
5880
|
+
value: {
|
5881
|
+
userExperience,
|
5882
|
+
updateUserExperience,
|
5883
|
+
processedCookie,
|
5884
|
+
initialUserExperience
|
5885
|
+
},
|
5886
|
+
children
|
5887
|
+
}, undefined, false, undefined, this);
|
5888
|
+
}
|
5889
|
+
|
5890
|
+
// src/core/components/RemoraidProvider/CoreUserExperienceProvider/index.tsx
|
5891
|
+
import { jsxDEV as jsxDEV5 } from "react/jsx-dev-runtime";
|
5892
|
+
var defaultUserExperience = {
|
5893
|
+
showWelcomeMessage: true,
|
5894
|
+
navbar: { hiddenPages: [] }
|
5895
|
+
};
|
5896
|
+
var defaultUserExperienceCookieName = "remoraid-core-user-experience";
|
5897
|
+
var coreUserExperienceContext = createUserExperienceContext(defaultUserExperience);
|
5898
|
+
var useRemoraidUserExperience = () => {
|
5899
|
+
return useContext4(coreUserExperienceContext);
|
5900
|
+
};
|
5901
|
+
function CoreUserExperienceProvider({
|
5902
|
+
children,
|
5903
|
+
initialValue,
|
5904
|
+
cookieName
|
5905
|
+
}) {
|
5906
|
+
const isValidUserExperience = (x) => {
|
5907
|
+
if (typeof x !== "object") {
|
5908
|
+
return false;
|
5909
|
+
}
|
5910
|
+
if (x === null) {
|
5911
|
+
return false;
|
5912
|
+
}
|
5913
|
+
if (!("showWelcomeMessage" in x)) {
|
5914
|
+
return false;
|
5915
|
+
}
|
5916
|
+
if (!("navbar" in x)) {
|
5917
|
+
return false;
|
5918
|
+
}
|
5919
|
+
return true;
|
5920
|
+
};
|
5921
|
+
return /* @__PURE__ */ jsxDEV5(UserExperienceProviderWrapper, {
|
5922
|
+
context: coreUserExperienceContext,
|
5923
|
+
isValidUserExperience,
|
5924
|
+
cookieName: cookieName ?? defaultUserExperienceCookieName,
|
5925
|
+
defaultUserExperience,
|
5926
|
+
initialValue,
|
5927
|
+
children
|
5928
|
+
}, undefined, false, undefined, this);
|
5929
|
+
}
|
5930
|
+
|
5931
|
+
// src/core/components/RemoraidProvider/LayoutsProvider/index.tsx
|
5932
|
+
import {
|
5933
|
+
createContext as createContext3,
|
5934
|
+
useContext as useContext5,
|
5935
|
+
useState as useState4
|
5936
|
+
} from "react";
|
5937
|
+
import { jsxDEV as jsxDEV6 } from "react/jsx-dev-runtime";
|
5938
|
+
var defaultLayoutsContext = {
|
5939
|
+
layouts: {},
|
5940
|
+
setLayouts: () => {}
|
5941
|
+
};
|
5942
|
+
var layoutsContext = createContext3(defaultLayoutsContext);
|
5943
|
+
var useLayouts = () => {
|
5944
|
+
return useContext5(layoutsContext);
|
5945
|
+
};
|
5946
|
+
function LayoutsProvider({
|
5947
|
+
children
|
5948
|
+
}) {
|
5949
|
+
const [layouts, setLayouts] = useState4({});
|
5950
|
+
return /* @__PURE__ */ jsxDEV6(layoutsContext.Provider, {
|
5951
|
+
value: { layouts, setLayouts },
|
5952
|
+
children
|
5953
|
+
}, undefined, false, undefined, this);
|
5954
|
+
}
|
5955
|
+
|
5956
|
+
// src/core/components/RemoraidProvider/index.tsx
|
5957
|
+
import { jsxDEV as jsxDEV7 } from "react/jsx-dev-runtime";
|
5958
|
+
function RemoraidProvider({
|
5959
|
+
children,
|
5960
|
+
theme,
|
5961
|
+
initialUserExperience,
|
5962
|
+
componentsProps
|
5963
|
+
}) {
|
5964
|
+
return /* @__PURE__ */ jsxDEV7(CookiesProvider, {
|
5965
|
+
...componentsProps?.CookiesProvider,
|
5966
|
+
children: /* @__PURE__ */ jsxDEV7(HydrationStatusProvider, {
|
5967
|
+
...componentsProps?.HydrationStatusProviderProps,
|
5968
|
+
children: /* @__PURE__ */ jsxDEV7(ThemeProvider, {
|
5969
|
+
theme,
|
5970
|
+
...componentsProps?.ThemeProvider,
|
5971
|
+
children: /* @__PURE__ */ jsxDEV7(CoreUserExperienceProvider, {
|
5972
|
+
initialValue: initialUserExperience,
|
5973
|
+
...componentsProps?.CoreUserExperienceProvider,
|
5974
|
+
children: /* @__PURE__ */ jsxDEV7(WidgetsProvider, {
|
5975
|
+
...componentsProps?.WidgetsProvider,
|
5976
|
+
children: /* @__PURE__ */ jsxDEV7(LayoutsProvider, {
|
5977
|
+
...componentsProps?.LayoutsProviderProps,
|
5978
|
+
children
|
5979
|
+
}, undefined, false, undefined, this)
|
5980
|
+
}, undefined, false, undefined, this)
|
5981
|
+
}, undefined, false, undefined, this)
|
5982
|
+
}, undefined, false, undefined, this)
|
5983
|
+
}, undefined, false, undefined, this)
|
5984
|
+
}, undefined, false, undefined, this);
|
5985
|
+
}
|
5986
|
+
// src/core/components/AppShell/index.tsx
|
5987
|
+
import { Box as Box3 } from "@mantine/core";
|
5778
5988
|
|
5779
5989
|
// src/core/components/AppShell/NavbarMinimal/index.tsx
|
5780
5990
|
import {
|
5781
5991
|
Tooltip,
|
5782
5992
|
UnstyledButton,
|
5783
5993
|
Stack,
|
5784
|
-
rem,
|
5785
5994
|
Flex,
|
5786
5995
|
Paper,
|
5787
5996
|
Divider,
|
5788
|
-
Indicator
|
5997
|
+
Indicator,
|
5998
|
+
rem
|
5789
5999
|
} from "@mantine/core";
|
5790
6000
|
import {
|
5791
6001
|
IconLink,
|
@@ -5796,78 +6006,80 @@ import {
|
|
5796
6006
|
} from "@tabler/icons-react";
|
5797
6007
|
import Link from "next/link";
|
5798
6008
|
import { usePathname } from "next/navigation";
|
5799
|
-
import { useState as
|
6009
|
+
import { useState as useState5 } from "react";
|
5800
6010
|
|
5801
6011
|
// src/core/components/AppShell/AppProvider/index.tsx
|
5802
|
-
import { createContext as
|
5803
|
-
import { jsxDEV as
|
5804
|
-
var defaultAppContext = {
|
5805
|
-
|
6012
|
+
import { createContext as createContext4, useContext as useContext6 } from "react";
|
6013
|
+
import { jsxDEV as jsxDEV8 } from "react/jsx-dev-runtime";
|
6014
|
+
var defaultAppContext = {
|
6015
|
+
navigablePages: []
|
6016
|
+
};
|
6017
|
+
var appContext = createContext4(defaultAppContext);
|
5806
6018
|
var useRemoraidApp = () => {
|
5807
|
-
return
|
6019
|
+
return useContext6(appContext);
|
5808
6020
|
};
|
5809
6021
|
function AppProvider({
|
5810
|
-
|
5811
|
-
|
5812
|
-
user
|
6022
|
+
appContext: appContextProps,
|
6023
|
+
children
|
5813
6024
|
}) {
|
5814
|
-
return /* @__PURE__ */
|
5815
|
-
value: {
|
6025
|
+
return /* @__PURE__ */ jsxDEV8(appContext.Provider, {
|
6026
|
+
value: { ...appContextProps },
|
5816
6027
|
children
|
5817
6028
|
}, undefined, false, undefined, this);
|
5818
6029
|
}
|
5819
6030
|
|
5820
6031
|
// src/core/components/AppShell/NavbarMinimal/index.tsx
|
5821
|
-
import { jsxDEV as
|
6032
|
+
import { jsxDEV as jsxDEV9, Fragment } from "react/jsx-dev-runtime";
|
5822
6033
|
function NavbarLink({
|
5823
6034
|
icon,
|
6035
|
+
linkSize,
|
6036
|
+
iconSize,
|
5824
6037
|
label,
|
5825
6038
|
active,
|
5826
6039
|
onClick,
|
5827
6040
|
href,
|
5828
|
-
indicator
|
5829
|
-
settings
|
6041
|
+
indicator
|
5830
6042
|
}) {
|
5831
|
-
const [isHoveringRoleIndicator, setIsHoveringRoleIndicator] =
|
6043
|
+
const [isHoveringRoleIndicator, setIsHoveringRoleIndicator] = useState5(false);
|
5832
6044
|
const iconProps = {
|
5833
|
-
size:
|
6045
|
+
size: iconSize,
|
5834
6046
|
stroke: 1.5
|
5835
6047
|
};
|
5836
6048
|
const Icon2 = icon ?? IconLink;
|
5837
6049
|
if (!href) {
|
5838
|
-
return /* @__PURE__ */
|
6050
|
+
return /* @__PURE__ */ jsxDEV9(Tooltip, {
|
5839
6051
|
label,
|
5840
6052
|
position: "right",
|
5841
6053
|
transitionProps: { duration: 0 },
|
5842
|
-
children: /* @__PURE__ */
|
6054
|
+
children: /* @__PURE__ */ jsxDEV9(UnstyledButton, {
|
5843
6055
|
onClick,
|
5844
6056
|
className: "remoraid-navbar-minimal-link",
|
5845
6057
|
"data-active": active || undefined,
|
5846
|
-
w:
|
5847
|
-
h:
|
5848
|
-
children: /* @__PURE__ */
|
6058
|
+
w: linkSize,
|
6059
|
+
h: linkSize,
|
6060
|
+
children: /* @__PURE__ */ jsxDEV9(Icon2, {
|
5849
6061
|
...iconProps
|
5850
6062
|
}, undefined, false, undefined, this)
|
5851
6063
|
}, undefined, false, undefined, this)
|
5852
6064
|
}, undefined, false, undefined, this);
|
5853
6065
|
}
|
5854
|
-
const button = /* @__PURE__ */
|
6066
|
+
const button = /* @__PURE__ */ jsxDEV9(UnstyledButton, {
|
5855
6067
|
onClick,
|
5856
6068
|
className: "remoraid-navbar-minimal-link",
|
5857
6069
|
"data-active": active || undefined,
|
5858
|
-
w:
|
5859
|
-
h:
|
6070
|
+
w: linkSize,
|
6071
|
+
h: linkSize,
|
5860
6072
|
component: Link,
|
5861
6073
|
href,
|
5862
|
-
children: /* @__PURE__ */
|
6074
|
+
children: /* @__PURE__ */ jsxDEV9(Icon2, {
|
5863
6075
|
...iconProps
|
5864
6076
|
}, undefined, false, undefined, this)
|
5865
6077
|
}, undefined, false, undefined, this);
|
5866
|
-
return /* @__PURE__ */
|
6078
|
+
return /* @__PURE__ */ jsxDEV9(Tooltip, {
|
5867
6079
|
label,
|
5868
6080
|
position: "right",
|
5869
6081
|
transitionProps: { duration: 0 },
|
5870
|
-
children: indicator === undefined ? button : /* @__PURE__ */
|
6082
|
+
children: indicator === undefined ? button : /* @__PURE__ */ jsxDEV9(Indicator, {
|
5871
6083
|
withBorder: true,
|
5872
6084
|
size: 13,
|
5873
6085
|
offset: 2,
|
@@ -5878,98 +6090,94 @@ function NavbarLink({
|
|
5878
6090
|
}, undefined, false, undefined, this)
|
5879
6091
|
}, undefined, false, undefined, this);
|
5880
6092
|
}
|
5881
|
-
var defaultSettings = {
|
5882
|
-
hiddenPages: [],
|
5883
|
-
linkSize: rem("50px"),
|
5884
|
-
iconSize: "50%",
|
5885
|
-
px: "sm",
|
5886
|
-
py: "md"
|
5887
|
-
};
|
5888
6093
|
function NavbarMinimal({
|
5889
|
-
|
5890
|
-
|
5891
|
-
settings: settingsProp,
|
6094
|
+
linkSize = rem("50px"),
|
6095
|
+
iconSize = "50%",
|
5892
6096
|
linkIndicator,
|
5893
6097
|
logoIndicator,
|
5894
|
-
|
6098
|
+
componentsProps
|
5895
6099
|
}) {
|
5896
|
-
const { userExperience } = useRemoraidUserExperience();
|
5897
6100
|
const pathname = usePathname();
|
5898
6101
|
const theme = useRemoraidTheme();
|
5899
6102
|
const { setColorScheme, colorScheme } = useHydratedMantineColorScheme();
|
5900
|
-
const
|
5901
|
-
const
|
5902
|
-
const
|
5903
|
-
|
5904
|
-
|
6103
|
+
const { userExperience } = useRemoraidUserExperience();
|
6104
|
+
const { navigablePages, logo, auth } = useRemoraidApp();
|
6105
|
+
const [isHoveringRoleIndicator, setIsHoveringRoleIndicator] = useState5(false);
|
6106
|
+
const linkProps = {
|
6107
|
+
linkSize,
|
6108
|
+
iconSize,
|
6109
|
+
...componentsProps?.link
|
5905
6110
|
};
|
5906
|
-
const links =
|
6111
|
+
const links = navigablePages.filter((link) => !userExperience.navbar.hiddenPages.includes(link.href)).map((link) => /* @__PURE__ */ jsxDEV9(NavbarLink, {
|
5907
6112
|
active: link.href === pathname,
|
5908
6113
|
indicator: linkIndicator,
|
5909
|
-
|
5910
|
-
...
|
6114
|
+
...link,
|
6115
|
+
...linkProps
|
5911
6116
|
}, link.label, false, undefined, this));
|
5912
|
-
const
|
6117
|
+
const logoProps = {
|
5913
6118
|
style: {
|
5914
6119
|
cursor: "pointer",
|
5915
|
-
width:
|
5916
|
-
height:
|
6120
|
+
width: linkSize,
|
6121
|
+
height: linkSize
|
5917
6122
|
}
|
5918
|
-
}
|
5919
|
-
return /* @__PURE__ */
|
6123
|
+
};
|
6124
|
+
return /* @__PURE__ */ jsxDEV9(Paper, {
|
5920
6125
|
h: "100%",
|
5921
|
-
|
5922
|
-
bg: theme.transparentBackground,
|
5923
|
-
radius: 0,
|
6126
|
+
p: "md",
|
5924
6127
|
shadow: "md",
|
5925
|
-
|
6128
|
+
bg: theme.transparentBackground,
|
6129
|
+
...componentsProps?.container,
|
6130
|
+
children: /* @__PURE__ */ jsxDEV9(Flex, {
|
5926
6131
|
direction: "column",
|
5927
6132
|
h: "100%",
|
5928
6133
|
align: "center",
|
5929
|
-
px: settings.px,
|
5930
6134
|
children: [
|
5931
|
-
|
5932
|
-
|
5933
|
-
|
5934
|
-
|
5935
|
-
|
5936
|
-
|
5937
|
-
|
5938
|
-
|
5939
|
-
|
5940
|
-
|
5941
|
-
|
5942
|
-
|
5943
|
-
|
5944
|
-
|
5945
|
-
|
6135
|
+
logo !== undefined && /* @__PURE__ */ jsxDEV9(Fragment, {
|
6136
|
+
children: [
|
6137
|
+
logoIndicator === undefined ? logo(logoProps) : /* @__PURE__ */ jsxDEV9(Indicator, {
|
6138
|
+
withBorder: true,
|
6139
|
+
offset: 2,
|
6140
|
+
size: 13,
|
6141
|
+
onMouseEnter: () => setIsHoveringRoleIndicator(true),
|
6142
|
+
onMouseLeave: () => setIsHoveringRoleIndicator(false),
|
6143
|
+
...logoIndicator(isHoveringRoleIndicator),
|
6144
|
+
children: logo(logoProps)
|
6145
|
+
}, undefined, false, undefined, this),
|
6146
|
+
/* @__PURE__ */ jsxDEV9(Divider, {
|
6147
|
+
my: "md",
|
6148
|
+
variant: "dashed",
|
6149
|
+
w: "100%"
|
6150
|
+
}, undefined, false, undefined, this)
|
6151
|
+
]
|
6152
|
+
}, undefined, true, undefined, this),
|
6153
|
+
/* @__PURE__ */ jsxDEV9(Stack, {
|
5946
6154
|
justify: "flex-start",
|
5947
6155
|
gap: 0,
|
5948
6156
|
flex: 1,
|
5949
6157
|
children: links
|
5950
6158
|
}, undefined, false, undefined, this),
|
5951
|
-
/* @__PURE__ */
|
6159
|
+
/* @__PURE__ */ jsxDEV9(Stack, {
|
5952
6160
|
justify: "center",
|
5953
6161
|
gap: 0,
|
5954
6162
|
children: [
|
5955
|
-
|
6163
|
+
auth !== undefined && (auth.user === null ? /* @__PURE__ */ jsxDEV9(NavbarLink, {
|
5956
6164
|
icon: IconLogin,
|
5957
6165
|
label: "Login",
|
5958
6166
|
href: "/login",
|
5959
6167
|
active: pathname === "/login",
|
5960
|
-
|
5961
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
6168
|
+
...linkProps
|
6169
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsxDEV9(NavbarLink, {
|
5962
6170
|
icon: IconLogout,
|
5963
6171
|
label: "Logout",
|
5964
6172
|
onClick: () => {
|
5965
|
-
if (onLogout) {
|
5966
|
-
onLogout();
|
6173
|
+
if (auth.onLogout) {
|
6174
|
+
auth.onLogout();
|
5967
6175
|
}
|
5968
6176
|
},
|
5969
6177
|
href: "/login",
|
5970
|
-
|
6178
|
+
...linkProps
|
5971
6179
|
}, undefined, false, undefined, this)),
|
5972
|
-
/* @__PURE__ */
|
6180
|
+
/* @__PURE__ */ jsxDEV9(NavbarLink, {
|
5973
6181
|
icon: colorScheme === "dark" ? IconSun : IconMoon,
|
5974
6182
|
onClick: () => {
|
5975
6183
|
if (!colorScheme || !setColorScheme) {
|
@@ -5978,7 +6186,7 @@ function NavbarMinimal({
|
|
5978
6186
|
setColorScheme(colorScheme === "dark" ? "light" : "dark");
|
5979
6187
|
},
|
5980
6188
|
label: "Toggle Color Scheme",
|
5981
|
-
|
6189
|
+
...linkProps
|
5982
6190
|
}, undefined, false, undefined, this)
|
5983
6191
|
]
|
5984
6192
|
}, undefined, true, undefined, this)
|
@@ -5987,274 +6195,336 @@ function NavbarMinimal({
|
|
5987
6195
|
}, undefined, false, undefined, this);
|
5988
6196
|
}
|
5989
6197
|
|
5990
|
-
// src/core/components/
|
5991
|
-
import {
|
5992
|
-
|
5993
|
-
|
5994
|
-
|
5995
|
-
} from "react";
|
5996
|
-
import { useCookies } from "react-cookie";
|
5997
|
-
import { jsxDEV as jsxDEV6 } from "react/jsx-dev-runtime";
|
5998
|
-
var createUserExperienceContext = (defaultUserExperience) => createContext3({
|
5999
|
-
userExperience: defaultUserExperience,
|
6000
|
-
updateUserExperience: () => {},
|
6001
|
-
processedCookie: false,
|
6002
|
-
initialUserExperience: defaultUserExperience
|
6003
|
-
});
|
6004
|
-
function UserExperienceProviderWrapper({
|
6005
|
-
children,
|
6006
|
-
context,
|
6007
|
-
cookieName,
|
6008
|
-
defaultUserExperience,
|
6009
|
-
isValidUserExperience,
|
6010
|
-
initialValue
|
6011
|
-
}) {
|
6012
|
-
const [cookies, setCookie] = useCookies();
|
6013
|
-
const initialUserExperience = {
|
6014
|
-
...defaultUserExperience,
|
6015
|
-
...initialValue
|
6016
|
-
};
|
6017
|
-
const [userExperience, setUserExperience] = useState4(initialUserExperience);
|
6018
|
-
const [processedCookie, setProcessedCookie] = useState4(false);
|
6019
|
-
const updateUserExperience = (p) => {
|
6020
|
-
const updatedUserExperience = typeof p === "function" ? p(userExperience) : p;
|
6021
|
-
setCookie(cookieName, updatedUserExperience, { path: "/" });
|
6022
|
-
setUserExperience(updatedUserExperience);
|
6023
|
-
};
|
6024
|
-
useEffect2(() => {
|
6025
|
-
const userExperienceCookie = cookies[cookieName];
|
6026
|
-
if (userExperienceCookie && isValidUserExperience(userExperienceCookie)) {
|
6027
|
-
setUserExperience(userExperienceCookie);
|
6028
|
-
}
|
6029
|
-
if (cookies && !processedCookie) {
|
6030
|
-
setProcessedCookie(true);
|
6031
|
-
}
|
6032
|
-
}, [cookies]);
|
6033
|
-
return /* @__PURE__ */ jsxDEV6(context.Provider, {
|
6034
|
-
value: {
|
6035
|
-
userExperience,
|
6036
|
-
updateUserExperience,
|
6037
|
-
processedCookie,
|
6038
|
-
initialUserExperience
|
6039
|
-
},
|
6040
|
-
children
|
6041
|
-
}, undefined, false, undefined, this);
|
6042
|
-
}
|
6043
|
-
|
6044
|
-
// src/core/components/RemoraidProvider/CoreUserExperienceProvider/index.tsx
|
6045
|
-
import { jsxDEV as jsxDEV7 } from "react/jsx-dev-runtime";
|
6046
|
-
var defaultNavbarSettings = {
|
6047
|
-
["minimal" /* Minimal */]: defaultSettings
|
6048
|
-
};
|
6049
|
-
var defaultUserExperience = {
|
6050
|
-
navbarVariant: "minimal" /* Minimal */,
|
6051
|
-
navbarSettings: defaultNavbarSettings["minimal" /* Minimal */],
|
6052
|
-
showWelcomeMessage: true
|
6053
|
-
};
|
6054
|
-
var defaultUserExperienceCookieName = "remoraid-core-user-experience";
|
6055
|
-
var coreUserExperienceContext = createUserExperienceContext(defaultUserExperience);
|
6056
|
-
var useRemoraidUserExperience = () => {
|
6057
|
-
return useContext5(coreUserExperienceContext);
|
6058
|
-
};
|
6059
|
-
function CoreUserExperienceProvider({
|
6060
|
-
children,
|
6061
|
-
initialValue,
|
6062
|
-
cookieName
|
6063
|
-
}) {
|
6064
|
-
const isValidUserExperience = (x) => {
|
6065
|
-
if (typeof x !== "object") {
|
6066
|
-
return false;
|
6067
|
-
}
|
6068
|
-
if (x === null) {
|
6069
|
-
return false;
|
6070
|
-
}
|
6071
|
-
if (!("showWelcomeMessage" in x)) {
|
6072
|
-
return false;
|
6073
|
-
}
|
6074
|
-
if (!("navbarVariant" in x)) {
|
6075
|
-
return false;
|
6076
|
-
}
|
6077
|
-
if (!("navbarSettings" in x)) {
|
6078
|
-
return false;
|
6079
|
-
}
|
6080
|
-
if (typeof x.navbarSettings !== "object") {
|
6081
|
-
return false;
|
6082
|
-
}
|
6083
|
-
if (x.navbarSettings === null) {
|
6084
|
-
return false;
|
6085
|
-
}
|
6086
|
-
if (!("hiddenPages" in x.navbarSettings)) {
|
6087
|
-
return false;
|
6088
|
-
}
|
6089
|
-
if (!("linkSize" in x.navbarSettings)) {
|
6090
|
-
return false;
|
6091
|
-
}
|
6092
|
-
if (!("px" in x.navbarSettings)) {
|
6093
|
-
return false;
|
6094
|
-
}
|
6095
|
-
if (!("py" in x.navbarSettings)) {
|
6096
|
-
return false;
|
6097
|
-
}
|
6098
|
-
return true;
|
6099
|
-
};
|
6100
|
-
return /* @__PURE__ */ jsxDEV7(UserExperienceProviderWrapper, {
|
6101
|
-
context: coreUserExperienceContext,
|
6102
|
-
isValidUserExperience,
|
6103
|
-
cookieName: cookieName ?? defaultUserExperienceCookieName,
|
6104
|
-
defaultUserExperience,
|
6105
|
-
initialValue,
|
6106
|
-
children
|
6107
|
-
}, undefined, false, undefined, this);
|
6108
|
-
}
|
6109
|
-
|
6110
|
-
// src/core/components/RemoraidProvider/index.tsx
|
6111
|
-
import { jsxDEV as jsxDEV8 } from "react/jsx-dev-runtime";
|
6112
|
-
function RemoraidProvider({
|
6113
|
-
children,
|
6114
|
-
theme,
|
6115
|
-
initialUserExperience,
|
6198
|
+
// src/core/components/AppShell/FooterMinimal/index.tsx
|
6199
|
+
import { Group } from "@mantine/core";
|
6200
|
+
import { IconPennant } from "@tabler/icons-react";
|
6201
|
+
import { jsxDEV as jsxDEV10 } from "react/jsx-dev-runtime";
|
6202
|
+
function FooterMinimal({
|
6116
6203
|
componentsProps
|
6117
6204
|
}) {
|
6118
|
-
return /* @__PURE__ */
|
6119
|
-
|
6120
|
-
|
6121
|
-
|
6122
|
-
|
6123
|
-
|
6124
|
-
|
6125
|
-
|
6126
|
-
|
6127
|
-
...componentsProps?.CoreUserExperienceProvider,
|
6128
|
-
children: /* @__PURE__ */ jsxDEV8(WidgetsProvider, {
|
6129
|
-
...componentsProps?.WidgetsProvider,
|
6130
|
-
children
|
6131
|
-
}, undefined, false, undefined, this)
|
6132
|
-
}, undefined, false, undefined, this)
|
6133
|
-
}, undefined, false, undefined, this)
|
6205
|
+
return /* @__PURE__ */ jsxDEV10(Group, {
|
6206
|
+
justify: "center",
|
6207
|
+
w: "100%",
|
6208
|
+
py: "md",
|
6209
|
+
...componentsProps?.container,
|
6210
|
+
children: /* @__PURE__ */ jsxDEV10(IconPennant, {
|
6211
|
+
size: 50,
|
6212
|
+
color: "var(--mantine-color-default-border)",
|
6213
|
+
...componentsProps?.icon
|
6134
6214
|
}, undefined, false, undefined, this)
|
6135
6215
|
}, undefined, false, undefined, this);
|
6136
6216
|
}
|
6137
|
-
|
6217
|
+
|
6218
|
+
// src/core/components/FrameLayout/index.tsx
|
6138
6219
|
import {
|
6139
|
-
|
6140
|
-
Burger,
|
6141
|
-
rem as rem2,
|
6220
|
+
Box as Box2,
|
6142
6221
|
Group as Group2,
|
6143
|
-
|
6144
|
-
|
6145
|
-
px as px2
|
6222
|
+
ScrollArea,
|
6223
|
+
Stack as Stack2
|
6146
6224
|
} from "@mantine/core";
|
6147
|
-
import {
|
6225
|
+
import {
|
6226
|
+
createContext as createContext5,
|
6227
|
+
useCallback,
|
6228
|
+
useContext as useContext7,
|
6229
|
+
useMemo as useMemo3
|
6230
|
+
} from "react";
|
6148
6231
|
|
6149
|
-
// src/core/components/
|
6150
|
-
import {
|
6151
|
-
import {
|
6152
|
-
|
6153
|
-
|
6154
|
-
|
6155
|
-
|
6156
|
-
|
6157
|
-
|
6158
|
-
|
6159
|
-
|
6160
|
-
|
6161
|
-
|
6232
|
+
// src/core/components/FrameLayout/Element/index.tsx
|
6233
|
+
import { Box, Portal } from "@mantine/core";
|
6234
|
+
import { jsxDEV as jsxDEV11 } from "react/jsx-dev-runtime";
|
6235
|
+
function Element({
|
6236
|
+
section,
|
6237
|
+
includeContainer = true,
|
6238
|
+
layoutId,
|
6239
|
+
componentsProps,
|
6240
|
+
children
|
6241
|
+
}) {
|
6242
|
+
const { layouts } = useLayouts();
|
6243
|
+
const closestLayout = useFrameLayout();
|
6244
|
+
if (closestLayout.layoutId === null) {
|
6245
|
+
return null;
|
6246
|
+
}
|
6247
|
+
const layout = layouts[layoutId ?? closestLayout.layoutId];
|
6248
|
+
if (!isFrameLayout(layout)) {
|
6249
|
+
return null;
|
6250
|
+
}
|
6251
|
+
if (layout.sections[section] === null) {
|
6252
|
+
return null;
|
6253
|
+
}
|
6254
|
+
let containerProps = {};
|
6255
|
+
if (section === "left" /* Left */ || section === "right" /* Right */) {
|
6256
|
+
containerProps.h = "100%";
|
6257
|
+
}
|
6258
|
+
return /* @__PURE__ */ jsxDEV11(Portal, {
|
6259
|
+
target: layout.sections[section],
|
6260
|
+
children: includeContainer ? /* @__PURE__ */ jsxDEV11(Box, {
|
6261
|
+
...containerProps,
|
6262
|
+
...componentsProps?.container,
|
6263
|
+
children
|
6264
|
+
}, undefined, false, undefined, this) : children
|
6162
6265
|
}, undefined, false, undefined, this);
|
6163
6266
|
}
|
6164
6267
|
|
6165
|
-
// src/core/components/
|
6166
|
-
import { jsxDEV as
|
6167
|
-
|
6168
|
-
|
6169
|
-
|
6170
|
-
|
6171
|
-
|
6172
|
-
|
6268
|
+
// src/core/components/FrameLayout/index.tsx
|
6269
|
+
import { jsxDEV as jsxDEV12 } from "react/jsx-dev-runtime";
|
6270
|
+
var isFrameLayout = (layout) => {
|
6271
|
+
if (typeof layout !== "object" || layout === null) {
|
6272
|
+
return false;
|
6273
|
+
}
|
6274
|
+
if (!("sections" in layout)) {
|
6275
|
+
return false;
|
6276
|
+
}
|
6277
|
+
if (typeof layout.sections !== "object" || layout.sections === null) {
|
6278
|
+
return false;
|
6279
|
+
}
|
6280
|
+
return true;
|
6281
|
+
};
|
6282
|
+
var defaultFrameLayoutVariant = "sticky" /* Sticky */;
|
6283
|
+
var defaultFrameLayoutContext = {
|
6284
|
+
layoutId: null,
|
6285
|
+
layout: {
|
6286
|
+
sections: {
|
6287
|
+
["top" /* Top */]: null,
|
6288
|
+
["bottom" /* Bottom */]: null,
|
6289
|
+
["left" /* Left */]: null,
|
6290
|
+
["right" /* Right */]: null
|
6291
|
+
}
|
6292
|
+
},
|
6293
|
+
setLayout: () => {}
|
6294
|
+
};
|
6295
|
+
var layoutContext = createContext5(defaultFrameLayoutContext);
|
6296
|
+
var useFrameLayout = () => {
|
6297
|
+
return useContext7(layoutContext);
|
6298
|
+
};
|
6299
|
+
function FrameLayout({
|
6300
|
+
variant = defaultFrameLayoutVariant,
|
6301
|
+
layoutId,
|
6302
|
+
componentsProps,
|
6303
|
+
children
|
6173
6304
|
}) {
|
6174
|
-
const { userExperience } = useRemoraidUserExperience();
|
6175
|
-
const mantineTheme = useMantineTheme2();
|
6176
6305
|
const theme = useRemoraidTheme();
|
6177
|
-
const {
|
6178
|
-
const
|
6179
|
-
const
|
6180
|
-
|
6181
|
-
|
6182
|
-
|
6306
|
+
const { layouts, setLayouts } = useLayouts();
|
6307
|
+
const layout = layouts[layoutId];
|
6308
|
+
const setLayout = useMemo3(() => {
|
6309
|
+
return (value) => {
|
6310
|
+
setLayouts((prev) => ({
|
6311
|
+
...prev,
|
6312
|
+
[layoutId]: typeof value === "function" ? value(prev[layoutId]) : value
|
6313
|
+
}));
|
6314
|
+
};
|
6315
|
+
}, [layoutId, setLayouts]);
|
6316
|
+
const topSection = useCallback((n) => {
|
6317
|
+
setLayout((prev) => ({
|
6318
|
+
...prev,
|
6319
|
+
sections: { ...prev?.sections, ["top" /* Top */]: n }
|
6320
|
+
}));
|
6321
|
+
}, [setLayout]);
|
6322
|
+
const bottomSection = useCallback((n) => {
|
6323
|
+
setLayout((prev) => ({
|
6324
|
+
...prev,
|
6325
|
+
sections: { ...prev?.sections, ["bottom" /* Bottom */]: n }
|
6326
|
+
}));
|
6327
|
+
}, [setLayout]);
|
6328
|
+
const leftSection = useCallback((n) => {
|
6329
|
+
setLayout((prev) => ({
|
6330
|
+
...prev,
|
6331
|
+
sections: { ...prev?.sections, ["left" /* Left */]: n }
|
6332
|
+
}));
|
6333
|
+
}, [setLayout]);
|
6334
|
+
const rightSection = useCallback((n) => {
|
6335
|
+
setLayout((prev) => ({
|
6336
|
+
...prev,
|
6337
|
+
sections: { ...prev?.sections, ["right" /* Right */]: n }
|
6338
|
+
}));
|
6339
|
+
}, [setLayout]);
|
6340
|
+
let contentSection = children;
|
6341
|
+
const childrenContainerProps = {
|
6342
|
+
flex: 1,
|
6343
|
+
...componentsProps?.childrenContainer
|
6183
6344
|
};
|
6184
|
-
|
6185
|
-
|
6186
|
-
|
6187
|
-
|
6188
|
-
|
6189
|
-
|
6190
|
-
|
6191
|
-
|
6192
|
-
|
6193
|
-
|
6194
|
-
|
6195
|
-
|
6196
|
-
|
6345
|
+
if (variant === "plain" /* Plain */) {
|
6346
|
+
contentSection = /* @__PURE__ */ jsxDEV12(Box2, {
|
6347
|
+
...childrenContainerProps,
|
6348
|
+
children: contentSection
|
6349
|
+
}, undefined, false, undefined, this);
|
6350
|
+
} else if (variant === "sticky" /* Sticky */) {
|
6351
|
+
contentSection = /* @__PURE__ */ jsxDEV12(ScrollArea, {
|
6352
|
+
...theme.scrollAreaProps,
|
6353
|
+
...childrenContainerProps,
|
6354
|
+
children
|
6355
|
+
}, undefined, false, undefined, this);
|
6356
|
+
}
|
6357
|
+
return /* @__PURE__ */ jsxDEV12(layoutContext.Provider, {
|
6358
|
+
value: { layoutId, layout, setLayout },
|
6359
|
+
children: /* @__PURE__ */ jsxDEV12(Group2, {
|
6360
|
+
gap: 0,
|
6361
|
+
h: "100%",
|
6362
|
+
w: "100%",
|
6363
|
+
wrap: "nowrap",
|
6364
|
+
...componentsProps?.horizontalContainer,
|
6197
6365
|
children: [
|
6198
|
-
/* @__PURE__ */
|
6199
|
-
|
6200
|
-
|
6201
|
-
|
6202
|
-
|
6203
|
-
|
6204
|
-
children: /* @__PURE__ */ jsxDEV10(Burger, {
|
6205
|
-
opened,
|
6206
|
-
onClick: toggle,
|
6207
|
-
h: 20,
|
6208
|
-
size: 18
|
6209
|
-
}, undefined, false, undefined, this)
|
6210
|
-
}, undefined, false, undefined, this)
|
6211
|
-
}, undefined, false, undefined, this),
|
6212
|
-
/* @__PURE__ */ jsxDEV10(MantineAppShell.Navbar, {
|
6213
|
-
withBorder: false,
|
6214
|
-
children: navbarVariant === "minimal" /* Minimal */ && /* @__PURE__ */ jsxDEV10(NavbarMinimal, {
|
6215
|
-
logo,
|
6216
|
-
user,
|
6217
|
-
...navbar
|
6218
|
-
}, undefined, false, undefined, this)
|
6366
|
+
/* @__PURE__ */ jsxDEV12(Group2, {
|
6367
|
+
ref: leftSection,
|
6368
|
+
h: "100%",
|
6369
|
+
gap: 0,
|
6370
|
+
wrap: "nowrap",
|
6371
|
+
...componentsProps?.sectionContainers?.["left" /* Left */]
|
6219
6372
|
}, undefined, false, undefined, this),
|
6220
|
-
/* @__PURE__ */
|
6221
|
-
|
6222
|
-
|
6223
|
-
|
6224
|
-
|
6225
|
-
|
6226
|
-
|
6227
|
-
|
6228
|
-
|
6229
|
-
|
6230
|
-
|
6231
|
-
|
6232
|
-
|
6373
|
+
/* @__PURE__ */ jsxDEV12(Stack2, {
|
6374
|
+
h: "100%",
|
6375
|
+
flex: 1,
|
6376
|
+
gap: 0,
|
6377
|
+
...componentsProps?.verticalContainer,
|
6378
|
+
children: [
|
6379
|
+
/* @__PURE__ */ jsxDEV12(Stack2, {
|
6380
|
+
h: "100%",
|
6381
|
+
ref: topSection,
|
6382
|
+
gap: 0,
|
6383
|
+
flex: 0,
|
6384
|
+
...componentsProps?.sectionContainers?.["top" /* Top */]
|
6385
|
+
}, undefined, false, undefined, this),
|
6386
|
+
contentSection,
|
6387
|
+
/* @__PURE__ */ jsxDEV12(Stack2, {
|
6388
|
+
h: "100%",
|
6389
|
+
ref: bottomSection,
|
6390
|
+
gap: 0,
|
6391
|
+
flex: 0,
|
6392
|
+
...componentsProps?.sectionContainers?.["bottom" /* Bottom */]
|
6393
|
+
}, undefined, false, undefined, this)
|
6394
|
+
]
|
6395
|
+
}, undefined, true, undefined, this),
|
6396
|
+
/* @__PURE__ */ jsxDEV12(Group2, {
|
6397
|
+
gap: 0,
|
6398
|
+
ref: rightSection,
|
6399
|
+
h: "100%",
|
6400
|
+
wrap: "nowrap",
|
6401
|
+
...componentsProps?.sectionContainers?.["right" /* Right */]
|
6233
6402
|
}, undefined, false, undefined, this)
|
6234
6403
|
]
|
6235
6404
|
}, undefined, true, undefined, this)
|
6236
6405
|
}, undefined, false, undefined, this);
|
6237
6406
|
}
|
6407
|
+
var FrameLayout_default = Object.assign(FrameLayout, {
|
6408
|
+
Element
|
6409
|
+
});
|
6410
|
+
|
6411
|
+
// src/core/components/AppShell/index.tsx
|
6412
|
+
import { jsxDEV as jsxDEV13, Fragment as Fragment2 } from "react/jsx-dev-runtime";
|
6413
|
+
var defaultAppShellLayoutId = "remoraidAppShell";
|
6414
|
+
var defaultAppShellNavbarPositions = { ["minimal" /* Minimal */]: "left" /* Left */ };
|
6415
|
+
var defaultAppShellFooterPositions = { ["minimal" /* Minimal */]: "content" /* Content */ };
|
6416
|
+
function AppShell(props) {
|
6417
|
+
const {
|
6418
|
+
children,
|
6419
|
+
navbarVariant,
|
6420
|
+
footerVariant,
|
6421
|
+
appContext: appContext2,
|
6422
|
+
componentsProps
|
6423
|
+
} = {
|
6424
|
+
navbarVariant: null,
|
6425
|
+
footerVariant: null,
|
6426
|
+
...props
|
6427
|
+
};
|
6428
|
+
let { navbarPosition, footerPosition } = props;
|
6429
|
+
if (navbarVariant !== null && navbarPosition === undefined) {
|
6430
|
+
navbarPosition = defaultAppShellNavbarPositions[navbarVariant];
|
6431
|
+
}
|
6432
|
+
if (footerVariant !== null && footerPosition === undefined) {
|
6433
|
+
footerPosition = defaultAppShellFooterPositions[footerVariant];
|
6434
|
+
}
|
6435
|
+
let navbar;
|
6436
|
+
let footer;
|
6437
|
+
let navbarContainerProps = {};
|
6438
|
+
let footerContainerProps = {};
|
6439
|
+
if (navbarVariant === "minimal" /* Minimal */) {
|
6440
|
+
navbar = /* @__PURE__ */ jsxDEV13(NavbarMinimal, {
|
6441
|
+
...componentsProps?.navbar
|
6442
|
+
}, undefined, false, undefined, this);
|
6443
|
+
navbarContainerProps.py = "md";
|
6444
|
+
if (navbarPosition === "left" /* Left */) {
|
6445
|
+
navbarContainerProps.pl = "md";
|
6446
|
+
} else if (navbarPosition === "right" /* Right */) {
|
6447
|
+
navbarContainerProps.pr = "md";
|
6448
|
+
}
|
6449
|
+
}
|
6450
|
+
if (footerVariant === "minimal" /* Minimal */) {
|
6451
|
+
footer = /* @__PURE__ */ jsxDEV13(FooterMinimal, {
|
6452
|
+
...componentsProps?.footer
|
6453
|
+
}, undefined, false, undefined, this);
|
6454
|
+
}
|
6455
|
+
return /* @__PURE__ */ jsxDEV13(AppProvider, {
|
6456
|
+
appContext: appContext2,
|
6457
|
+
...componentsProps?.AppProvider,
|
6458
|
+
children: /* @__PURE__ */ jsxDEV13(Box3, {
|
6459
|
+
h: "100vh",
|
6460
|
+
...componentsProps?.container,
|
6461
|
+
children: /* @__PURE__ */ jsxDEV13(FrameLayout_default, {
|
6462
|
+
layoutId: defaultAppShellLayoutId,
|
6463
|
+
...componentsProps?.layout,
|
6464
|
+
children: [
|
6465
|
+
navbarPosition !== undefined && navbarPosition !== "content" /* Content */ && /* @__PURE__ */ jsxDEV13(FrameLayout_default.Element, {
|
6466
|
+
section: navbarPosition,
|
6467
|
+
...componentsProps?.navbarLayoutElement,
|
6468
|
+
componentsProps: {
|
6469
|
+
...componentsProps?.navbarLayoutElement?.componentsProps,
|
6470
|
+
container: {
|
6471
|
+
...navbarContainerProps,
|
6472
|
+
...componentsProps?.navbarLayoutElement?.componentsProps?.container
|
6473
|
+
}
|
6474
|
+
},
|
6475
|
+
children: navbar
|
6476
|
+
}, undefined, false, undefined, this),
|
6477
|
+
footerPosition !== undefined && footerPosition !== "content" /* Content */ && /* @__PURE__ */ jsxDEV13(FrameLayout_default.Element, {
|
6478
|
+
section: footerPosition,
|
6479
|
+
...componentsProps?.footerLayoutElement,
|
6480
|
+
componentsProps: {
|
6481
|
+
...componentsProps?.footerLayoutElement?.componentsProps,
|
6482
|
+
container: {
|
6483
|
+
...footerContainerProps,
|
6484
|
+
...componentsProps?.footerLayoutElement?.componentsProps?.container
|
6485
|
+
}
|
6486
|
+
},
|
6487
|
+
children: footer
|
6488
|
+
}, undefined, false, undefined, this),
|
6489
|
+
navbarPosition !== undefined && navbarPosition === "content" /* Content */ && /* @__PURE__ */ jsxDEV13(Fragment2, {
|
6490
|
+
children: navbar
|
6491
|
+
}, undefined, false, undefined, this),
|
6492
|
+
/* @__PURE__ */ jsxDEV13(Box3, {
|
6493
|
+
...componentsProps?.childrenContainer,
|
6494
|
+
children
|
6495
|
+
}, undefined, false, undefined, this),
|
6496
|
+
footerPosition !== undefined && footerPosition === "content" /* Content */ && /* @__PURE__ */ jsxDEV13(Fragment2, {
|
6497
|
+
children: footer
|
6498
|
+
}, undefined, false, undefined, this)
|
6499
|
+
]
|
6500
|
+
}, undefined, true, undefined, this)
|
6501
|
+
}, undefined, false, undefined, this)
|
6502
|
+
}, undefined, false, undefined, this);
|
6503
|
+
}
|
6504
|
+
var AppShell_default = Object.assign(AppShell, {
|
6505
|
+
NavbarMinimal,
|
6506
|
+
FooterMinimal
|
6507
|
+
});
|
6238
6508
|
// src/core/components/WidgetSelectionHeader/index.tsx
|
6239
6509
|
import { Chip as Chip2, Divider as Divider2, Flex as Flex3, Text } from "@mantine/core";
|
6240
6510
|
|
6241
6511
|
// src/core/components/Page/index.tsx
|
6242
6512
|
import React6, {
|
6243
|
-
useContext as
|
6513
|
+
useContext as useContext8,
|
6244
6514
|
useEffect as useEffect3
|
6245
6515
|
} from "react";
|
6246
6516
|
import { usePathname as usePathname2 } from "next/navigation";
|
6247
6517
|
|
6248
6518
|
// src/core/components/Page/PageContainer/index.tsx
|
6249
6519
|
import { Container } from "@mantine/core";
|
6250
|
-
import { jsxDEV as
|
6520
|
+
import { jsxDEV as jsxDEV14 } from "react/jsx-dev-runtime";
|
6251
6521
|
function PageContainer({
|
6252
6522
|
children,
|
6253
6523
|
pt,
|
6254
6524
|
componentsProps
|
6255
6525
|
}) {
|
6256
6526
|
const theme = useRemoraidTheme();
|
6257
|
-
return /* @__PURE__ */
|
6527
|
+
return /* @__PURE__ */ jsxDEV14(Container, {
|
6258
6528
|
size: theme.containerSize,
|
6259
6529
|
pt: pt ?? "md",
|
6260
6530
|
...componentsProps?.container,
|
@@ -6263,10 +6533,10 @@ function PageContainer({
|
|
6263
6533
|
}
|
6264
6534
|
|
6265
6535
|
// src/core/components/Page/index.tsx
|
6266
|
-
import { jsxDEV as
|
6536
|
+
import { jsxDEV as jsxDEV15 } from "react/jsx-dev-runtime";
|
6267
6537
|
var pageContext = React6.createContext(null);
|
6268
6538
|
var usePage = () => {
|
6269
|
-
return
|
6539
|
+
return useContext8(pageContext);
|
6270
6540
|
};
|
6271
6541
|
function Page({
|
6272
6542
|
children,
|
@@ -6285,9 +6555,9 @@ function Page({
|
|
6285
6555
|
}
|
6286
6556
|
}
|
6287
6557
|
}, []);
|
6288
|
-
return /* @__PURE__ */
|
6558
|
+
return /* @__PURE__ */ jsxDEV15(pageContext.Provider, {
|
6289
6559
|
value: { name: name ?? pathname, pageId, ...config },
|
6290
|
-
children: /* @__PURE__ */
|
6560
|
+
children: /* @__PURE__ */ jsxDEV15(PageContainer, {
|
6291
6561
|
pt,
|
6292
6562
|
componentsProps: { container: componentsProps?.container },
|
6293
6563
|
children
|
@@ -6302,9 +6572,9 @@ import { IconCheck } from "@tabler/icons-react";
|
|
6302
6572
|
import {
|
6303
6573
|
Chip,
|
6304
6574
|
Flex as Flex2,
|
6305
|
-
ScrollArea
|
6575
|
+
ScrollArea as ScrollArea2
|
6306
6576
|
} from "@mantine/core";
|
6307
|
-
import { jsxDEV as
|
6577
|
+
import { jsxDEV as jsxDEV16 } from "react/jsx-dev-runtime";
|
6308
6578
|
function ScrollableChipGroup({
|
6309
6579
|
value,
|
6310
6580
|
onChange,
|
@@ -6313,15 +6583,15 @@ function ScrollableChipGroup({
|
|
6313
6583
|
children
|
6314
6584
|
}) {
|
6315
6585
|
const theme = useRemoraidTheme();
|
6316
|
-
return /* @__PURE__ */
|
6586
|
+
return /* @__PURE__ */ jsxDEV16(ScrollArea2, {
|
6317
6587
|
...theme.scrollAreaProps,
|
6318
6588
|
...componentsProps?.scrollArea,
|
6319
|
-
children: /* @__PURE__ */
|
6589
|
+
children: /* @__PURE__ */ jsxDEV16(Chip.Group, {
|
6320
6590
|
value,
|
6321
6591
|
onChange,
|
6322
6592
|
...componentsProps?.chipGroup,
|
6323
6593
|
multiple: true,
|
6324
|
-
children: /* @__PURE__ */
|
6594
|
+
children: /* @__PURE__ */ jsxDEV16(Flex2, {
|
6325
6595
|
justify: "flex-start",
|
6326
6596
|
align: "center",
|
6327
6597
|
gap: gap ?? "xs",
|
@@ -6334,7 +6604,7 @@ function ScrollableChipGroup({
|
|
6334
6604
|
}
|
6335
6605
|
|
6336
6606
|
// src/core/components/WidgetSelectionHeader/index.tsx
|
6337
|
-
import { jsxDEV as
|
6607
|
+
import { jsxDEV as jsxDEV17 } from "react/jsx-dev-runtime";
|
6338
6608
|
function WidgetSelectionHeader({
|
6339
6609
|
title,
|
6340
6610
|
disabledWidgets,
|
@@ -6347,31 +6617,31 @@ function WidgetSelectionHeader({
|
|
6347
6617
|
console.error("'WidgetSelectionHeader' must be rendered inside of a 'Page' component.");
|
6348
6618
|
return null;
|
6349
6619
|
}
|
6350
|
-
return /* @__PURE__ */
|
6620
|
+
return /* @__PURE__ */ jsxDEV17(Flex3, {
|
6351
6621
|
justify: "flex-start",
|
6352
6622
|
align: "center",
|
6353
6623
|
gap: "xs",
|
6354
6624
|
mt,
|
6355
6625
|
children: [
|
6356
|
-
/* @__PURE__ */
|
6626
|
+
/* @__PURE__ */ jsxDEV17(Text, {
|
6357
6627
|
size: "lg",
|
6358
6628
|
fw: 400,
|
6359
6629
|
children: title ?? page.name
|
6360
6630
|
}, undefined, false, undefined, this),
|
6361
|
-
/* @__PURE__ */
|
6631
|
+
/* @__PURE__ */ jsxDEV17(Divider2, {
|
6362
6632
|
orientation: "vertical"
|
6363
6633
|
}, undefined, false, undefined, this),
|
6364
|
-
isPageRegistered(page.pageId) && /* @__PURE__ */
|
6634
|
+
isPageRegistered(page.pageId) && /* @__PURE__ */ jsxDEV17(ScrollableChipGroup, {
|
6365
6635
|
value: Object.keys(widgets[page.pageId]).filter((widgetId) => widgets[page.pageId][widgetId].selected),
|
6366
6636
|
onChange: (value) => {
|
6367
6637
|
updateWidgetSelectionBulk(page.pageId, value);
|
6368
6638
|
},
|
6369
6639
|
componentsProps: { scrollArea: { flex: 1 } },
|
6370
|
-
children: Object.keys(widgets[page.pageId]).map((widgetId) => /* @__PURE__ */
|
6640
|
+
children: Object.keys(widgets[page.pageId]).map((widgetId) => /* @__PURE__ */ jsxDEV17(Chip2, {
|
6371
6641
|
value: widgetId,
|
6372
6642
|
size: "sm",
|
6373
6643
|
disabled: disabledWidgets && disabledWidgets.includes(widgetId),
|
6374
|
-
icon: /* @__PURE__ */
|
6644
|
+
icon: /* @__PURE__ */ jsxDEV17(IconCheck, {
|
6375
6645
|
...theme.iconProps.tiny
|
6376
6646
|
}, undefined, false, undefined, this),
|
6377
6647
|
children: widgets[page.pageId][widgetId].name
|
@@ -6383,17 +6653,17 @@ function WidgetSelectionHeader({
|
|
6383
6653
|
// src/core/components/Widget/WidgetWrapper/CloseButton/index.tsx
|
6384
6654
|
import { ActionIcon, Transition } from "@mantine/core";
|
6385
6655
|
import { IconX } from "@tabler/icons-react";
|
6386
|
-
import { jsxDEV as
|
6656
|
+
import { jsxDEV as jsxDEV18 } from "react/jsx-dev-runtime";
|
6387
6657
|
function CloseButton({ widgetId }) {
|
6388
6658
|
const theme = useRemoraidTheme();
|
6389
6659
|
const { activeWidget, updateWidgetSelection } = useWidgets();
|
6390
6660
|
const page = usePage();
|
6391
|
-
return /* @__PURE__ */
|
6661
|
+
return /* @__PURE__ */ jsxDEV18(Transition, {
|
6392
6662
|
mounted: activeWidget === widgetId,
|
6393
6663
|
transition: "pop-top-right",
|
6394
6664
|
duration: theme.transitionDurations.short,
|
6395
6665
|
timingFunction: "ease",
|
6396
|
-
children: (transitionStyle) => /* @__PURE__ */
|
6666
|
+
children: (transitionStyle) => /* @__PURE__ */ jsxDEV18(ActionIcon, {
|
6397
6667
|
pos: "absolute",
|
6398
6668
|
size: "xs",
|
6399
6669
|
className: "remoraid-close-button",
|
@@ -6406,7 +6676,7 @@ function CloseButton({ widgetId }) {
|
|
6406
6676
|
updateWidgetSelection(page.pageId, widgetId, false);
|
6407
6677
|
},
|
6408
6678
|
style: transitionStyle,
|
6409
|
-
children: /* @__PURE__ */
|
6679
|
+
children: /* @__PURE__ */ jsxDEV18(IconX, {
|
6410
6680
|
...theme.iconProps.tiny
|
6411
6681
|
}, undefined, false, undefined, this)
|
6412
6682
|
}, undefined, false, undefined, this)
|
@@ -6418,7 +6688,7 @@ import {
|
|
6418
6688
|
Group as Group3,
|
6419
6689
|
Tooltip as Tooltip3
|
6420
6690
|
} from "@mantine/core";
|
6421
|
-
import React7 from "react";
|
6691
|
+
import React7, { isValidElement as isValidElement2 } from "react";
|
6422
6692
|
|
6423
6693
|
// src/core/components/BadgeMinimal/index.tsx
|
6424
6694
|
import {
|
@@ -6426,30 +6696,21 @@ import {
|
|
6426
6696
|
Tooltip as Tooltip2,
|
6427
6697
|
Transition as Transition2
|
6428
6698
|
} from "@mantine/core";
|
6429
|
-
import { jsxDEV as
|
6430
|
-
var isBadgeMinimalProps = (e) => {
|
6431
|
-
if (typeof e !== "object") {
|
6432
|
-
return false;
|
6433
|
-
}
|
6434
|
-
if (!("label" in e)) {
|
6435
|
-
return false;
|
6436
|
-
}
|
6437
|
-
return true;
|
6438
|
-
};
|
6699
|
+
import { jsxDEV as jsxDEV19 } from "react/jsx-dev-runtime";
|
6439
6700
|
function BadgeMinimal(props) {
|
6440
6701
|
const { label, tooltip, mounted, componentsProps } = props;
|
6441
6702
|
const theme = useRemoraidTheme();
|
6442
|
-
return /* @__PURE__ */
|
6703
|
+
return /* @__PURE__ */ jsxDEV19(Transition2, {
|
6443
6704
|
mounted: mounted !== false,
|
6444
6705
|
transition: "fade",
|
6445
6706
|
duration: theme.transitionDurations.short,
|
6446
6707
|
timingFunction: "ease",
|
6447
6708
|
...componentsProps?.transition,
|
6448
|
-
children: (transitionStyle) => /* @__PURE__ */
|
6709
|
+
children: (transitionStyle) => /* @__PURE__ */ jsxDEV19(Tooltip2, {
|
6449
6710
|
disabled: !tooltip,
|
6450
6711
|
label: tooltip,
|
6451
6712
|
...componentsProps?.tooltip,
|
6452
|
-
children: /* @__PURE__ */
|
6713
|
+
children: /* @__PURE__ */ jsxDEV19(Badge, {
|
6453
6714
|
variant: "default",
|
6454
6715
|
...componentsProps?.badge,
|
6455
6716
|
style: {
|
@@ -6464,36 +6725,39 @@ function BadgeMinimal(props) {
|
|
6464
6725
|
}
|
6465
6726
|
|
6466
6727
|
// src/core/components/BadgeGroup/index.tsx
|
6467
|
-
import { jsxDEV as
|
6728
|
+
import { jsxDEV as jsxDEV20, Fragment as Fragment3 } from "react/jsx-dev-runtime";
|
6468
6729
|
import { createElement } from "react";
|
6469
6730
|
function BadgeGroup({
|
6470
|
-
badges,
|
6731
|
+
badges: badgesProp,
|
6471
6732
|
gap,
|
6472
6733
|
breakpoint,
|
6473
6734
|
componentsProps
|
6474
6735
|
}) {
|
6475
6736
|
const theme = useRemoraidTheme();
|
6476
|
-
const
|
6477
|
-
|
6737
|
+
const badges = badgesProp.map((badge) => asElementOrPropsOfType(BadgeMinimal, badge, "Check 'badges' property passed to 'BadgeGroup'."));
|
6738
|
+
const numVisibleBadges = badges.filter((badge) => isValidElementOfType(BadgeMinimal, badge) ? badge.props.mounted : badge.mounted !== false).length;
|
6739
|
+
return /* @__PURE__ */ jsxDEV20(Fragment3, {
|
6478
6740
|
children: [
|
6479
|
-
/* @__PURE__ */
|
6741
|
+
/* @__PURE__ */ jsxDEV20(Group3, {
|
6480
6742
|
gap: gap ?? "xs",
|
6481
6743
|
wrap: "nowrap",
|
6482
6744
|
visibleFrom: breakpoint ?? theme.breakpoints.badgeGroupCollapse,
|
6483
|
-
children: badges.map((
|
6484
|
-
if (
|
6485
|
-
return
|
6486
|
-
|
6487
|
-
|
6488
|
-
|
6489
|
-
|
6490
|
-
|
6745
|
+
children: badges.map((badge, i) => {
|
6746
|
+
if (isValidElementOfType(BadgeMinimal, badge)) {
|
6747
|
+
return badge;
|
6748
|
+
} else if (isValidElement2(badge)) {
|
6749
|
+
throw new TypeError(`Expected React element of type ${BadgeMinimal.name}, but received type: ${typeof badge.type === "string" ? badge.type : badge.type?.name ?? "unknown"}. Check the 'badges' property of this widget.`);
|
6750
|
+
}
|
6751
|
+
return /* @__PURE__ */ createElement(BadgeMinimal, {
|
6752
|
+
...badge,
|
6753
|
+
key: i
|
6754
|
+
});
|
6491
6755
|
})
|
6492
6756
|
}, undefined, false, undefined, this),
|
6493
|
-
/* @__PURE__ */
|
6757
|
+
/* @__PURE__ */ jsxDEV20(Tooltip3, {
|
6494
6758
|
label: `${numVisibleBadges} badge${numVisibleBadges === 1 ? "" : "s"}`,
|
6495
6759
|
...componentsProps?.tooltip,
|
6496
|
-
children: /* @__PURE__ */
|
6760
|
+
children: /* @__PURE__ */ jsxDEV20(Badge2, {
|
6497
6761
|
hiddenFrom: breakpoint ?? theme.breakpoints.badgeGroupCollapse,
|
6498
6762
|
hidden: numVisibleBadges === 0,
|
6499
6763
|
variant: "light",
|
@@ -6511,18 +6775,8 @@ import {
|
|
6511
6775
|
Alert,
|
6512
6776
|
Transition as Transition3
|
6513
6777
|
} from "@mantine/core";
|
6514
|
-
import { jsxDEV as
|
6515
|
-
var isAlertMinimalProps = (e) => {
|
6516
|
-
if (typeof e !== "object") {
|
6517
|
-
return false;
|
6518
|
-
}
|
6519
|
-
if (!("category" in e)) {
|
6520
|
-
return false;
|
6521
|
-
}
|
6522
|
-
return true;
|
6523
|
-
};
|
6778
|
+
import { jsxDEV as jsxDEV21 } from "react/jsx-dev-runtime";
|
6524
6779
|
function AlertMinimal({
|
6525
|
-
children,
|
6526
6780
|
title,
|
6527
6781
|
category,
|
6528
6782
|
text,
|
@@ -6530,16 +6784,17 @@ function AlertMinimal({
|
|
6530
6784
|
mounted,
|
6531
6785
|
mt,
|
6532
6786
|
mb,
|
6533
|
-
componentsProps
|
6787
|
+
componentsProps,
|
6788
|
+
children
|
6534
6789
|
}) {
|
6535
6790
|
const theme = useRemoraidTheme();
|
6536
|
-
return /* @__PURE__ */
|
6791
|
+
return /* @__PURE__ */ jsxDEV21(Transition3, {
|
6537
6792
|
mounted: mounted !== false,
|
6538
6793
|
transition: "fade",
|
6539
6794
|
duration: theme.transitionDurations.short,
|
6540
6795
|
timingFunction: "ease",
|
6541
6796
|
...componentsProps?.transition,
|
6542
|
-
children: (transitionStyle) => /* @__PURE__ */
|
6797
|
+
children: (transitionStyle) => /* @__PURE__ */ jsxDEV21(Alert, {
|
6543
6798
|
...theme.alertProps[category],
|
6544
6799
|
title: title ?? theme.alertProps[category].title,
|
6545
6800
|
withCloseButton: onClose !== undefined,
|
@@ -6565,16 +6820,7 @@ import {
|
|
6565
6820
|
Tooltip as Tooltip4
|
6566
6821
|
} from "@mantine/core";
|
6567
6822
|
import { IconClick } from "@tabler/icons-react";
|
6568
|
-
import { jsxDEV as
|
6569
|
-
var isRemoraidButtonProps = (e) => {
|
6570
|
-
if (typeof e !== "object") {
|
6571
|
-
return false;
|
6572
|
-
}
|
6573
|
-
if (!("label" in e)) {
|
6574
|
-
return false;
|
6575
|
-
}
|
6576
|
-
return true;
|
6577
|
-
};
|
6823
|
+
import { jsxDEV as jsxDEV22, Fragment as Fragment4 } from "react/jsx-dev-runtime";
|
6578
6824
|
function RemoraidButton({
|
6579
6825
|
label,
|
6580
6826
|
responsive,
|
@@ -6590,17 +6836,17 @@ function RemoraidButton({
|
|
6590
6836
|
}) {
|
6591
6837
|
const theme = useRemoraidTheme();
|
6592
6838
|
const iconProps = { ...theme.iconProps.medium, ...componentsProps?.icon };
|
6593
|
-
const icon = props.icon ? /* @__PURE__ */
|
6839
|
+
const icon = props.icon ? /* @__PURE__ */ jsxDEV22(props.icon, {
|
6594
6840
|
...iconProps
|
6595
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
6841
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsxDEV22(IconClick, {
|
6596
6842
|
...iconProps
|
6597
6843
|
}, undefined, false, undefined, this);
|
6598
|
-
return /* @__PURE__ */
|
6844
|
+
return /* @__PURE__ */ jsxDEV22(Fragment4, {
|
6599
6845
|
children: [
|
6600
|
-
/* @__PURE__ */
|
6846
|
+
/* @__PURE__ */ jsxDEV22(Tooltip4, {
|
6601
6847
|
label,
|
6602
6848
|
...componentsProps?.tooltip,
|
6603
|
-
children: /* @__PURE__ */
|
6849
|
+
children: /* @__PURE__ */ jsxDEV22(ActionIcon2, {
|
6604
6850
|
"aria-label": label,
|
6605
6851
|
variant: variant ?? "default",
|
6606
6852
|
onClick,
|
@@ -6614,7 +6860,7 @@ function RemoraidButton({
|
|
6614
6860
|
children: icon
|
6615
6861
|
}, undefined, false, undefined, this)
|
6616
6862
|
}, undefined, false, undefined, this),
|
6617
|
-
/* @__PURE__ */
|
6863
|
+
/* @__PURE__ */ jsxDEV22(Button, {
|
6618
6864
|
onClick,
|
6619
6865
|
loading,
|
6620
6866
|
variant: variant ?? "default",
|
@@ -6632,11 +6878,11 @@ function RemoraidButton({
|
|
6632
6878
|
}
|
6633
6879
|
// src/core/components/Widget/WidgetWrapper/index.tsx
|
6634
6880
|
import {
|
6635
|
-
Paper as
|
6881
|
+
Paper as Paper2,
|
6636
6882
|
Transition as Transition4
|
6637
6883
|
} from "@mantine/core";
|
6638
6884
|
import { useEffect as useEffect4 } from "react";
|
6639
|
-
import { jsxDEV as
|
6885
|
+
import { jsxDEV as jsxDEV23 } from "react/jsx-dev-runtime";
|
6640
6886
|
function WidgetWrapper({
|
6641
6887
|
children,
|
6642
6888
|
config,
|
@@ -6662,12 +6908,12 @@ function WidgetWrapper({
|
|
6662
6908
|
registerWidget(page.pageId, config);
|
6663
6909
|
}
|
6664
6910
|
}, [pageRegistered]);
|
6665
|
-
return /* @__PURE__ */
|
6911
|
+
return /* @__PURE__ */ jsxDEV23(Transition4, {
|
6666
6912
|
mounted: page !== null && isWidgetSelected(page.pageId, config.widgetId),
|
6667
6913
|
transition: "fade-left",
|
6668
6914
|
duration: theme.transitionDurations.medium,
|
6669
6915
|
timingFunction: "ease",
|
6670
|
-
children: (transitionStyle) => /* @__PURE__ */
|
6916
|
+
children: (transitionStyle) => /* @__PURE__ */ jsxDEV23(Paper2, {
|
6671
6917
|
p: "md",
|
6672
6918
|
shadow: "md",
|
6673
6919
|
bg: theme.transparentBackground,
|
@@ -6683,7 +6929,7 @@ function WidgetWrapper({
|
|
6683
6929
|
updateActiveWidget(null);
|
6684
6930
|
},
|
6685
6931
|
children: [
|
6686
|
-
withCloseButton !== false && /* @__PURE__ */
|
6932
|
+
withCloseButton !== false && /* @__PURE__ */ jsxDEV23(CloseButton, {
|
6687
6933
|
widgetId: config.widgetId
|
6688
6934
|
}, undefined, false, undefined, this),
|
6689
6935
|
children
|
@@ -6700,27 +6946,31 @@ import {
|
|
6700
6946
|
Divider as Divider3,
|
6701
6947
|
Group as Group4,
|
6702
6948
|
Loader,
|
6703
|
-
Title
|
6949
|
+
Title,
|
6950
|
+
Stack as Stack3
|
6704
6951
|
} from "@mantine/core";
|
6705
|
-
import { jsxDEV as
|
6952
|
+
import { jsxDEV as jsxDEV24, Fragment as Fragment5 } from "react/jsx-dev-runtime";
|
6706
6953
|
import { createElement as createElement2 } from "react";
|
6707
6954
|
function Widget({
|
6708
6955
|
children,
|
6709
6956
|
id,
|
6710
6957
|
config,
|
6711
6958
|
title,
|
6712
|
-
badges,
|
6713
|
-
buttons,
|
6714
|
-
alerts,
|
6959
|
+
badges: badgesProp,
|
6960
|
+
buttons: buttonsProp,
|
6961
|
+
alerts: alertsProp,
|
6715
6962
|
gaps,
|
6716
6963
|
loading,
|
6717
6964
|
mt,
|
6718
6965
|
componentsProps
|
6719
6966
|
}) {
|
6967
|
+
const buttons = buttonsProp?.map((button) => asElementOrPropsOfType(RemoraidButton, button, "Check the 'buttons' property of this widget."));
|
6968
|
+
const alerts = alertsProp?.map((alert) => asElementOrPropsOfType(AlertMinimal, alert, "Check the 'alerts' property of this widget."));
|
6969
|
+
const badges = badgesProp?.map((badge) => asElementOrPropsOfType(BadgeMinimal, badge, "Check the 'badges' property of this widget."));
|
6720
6970
|
const badgesGap = (typeof gaps === "object" ? gaps.badges : gaps) ?? "xs";
|
6721
6971
|
const buttonsGap = (typeof gaps === "object" ? gaps.buttons : gaps) ?? "xs";
|
6722
6972
|
const alertsGap = (typeof gaps === "object" ? gaps.alerts : gaps) ?? "xs";
|
6723
|
-
return /* @__PURE__ */
|
6973
|
+
return /* @__PURE__ */ jsxDEV24(WidgetWrapper_default, {
|
6724
6974
|
config: {
|
6725
6975
|
widgetId: id,
|
6726
6976
|
name: title,
|
@@ -6733,60 +6983,66 @@ function Widget({
|
|
6733
6983
|
},
|
6734
6984
|
...componentsProps?.wrapper,
|
6735
6985
|
children: [
|
6736
|
-
/* @__PURE__ */
|
6986
|
+
/* @__PURE__ */ jsxDEV24(Group4, {
|
6737
6987
|
justify: "space-between",
|
6738
6988
|
wrap: "nowrap",
|
6739
6989
|
children: [
|
6740
|
-
/* @__PURE__ */
|
6990
|
+
/* @__PURE__ */ jsxDEV24(Group4, {
|
6741
6991
|
gap: badgesGap,
|
6742
6992
|
wrap: "nowrap",
|
6743
6993
|
children: [
|
6744
|
-
/* @__PURE__ */
|
6994
|
+
/* @__PURE__ */ jsxDEV24(Title, {
|
6745
6995
|
order: 1,
|
6746
6996
|
size: "h3",
|
6747
6997
|
lineClamp: 1,
|
6748
6998
|
children: title
|
6749
6999
|
}, undefined, false, undefined, this),
|
6750
|
-
badges !== undefined && /* @__PURE__ */
|
7000
|
+
badges !== undefined && /* @__PURE__ */ jsxDEV24(BadgeGroup, {
|
6751
7001
|
badges,
|
6752
7002
|
gap: badgesGap,
|
6753
7003
|
...componentsProps?.badgeGroup
|
6754
7004
|
}, undefined, false, undefined, this)
|
6755
7005
|
]
|
6756
7006
|
}, undefined, true, undefined, this),
|
6757
|
-
/* @__PURE__ */
|
7007
|
+
/* @__PURE__ */ jsxDEV24(Group4, {
|
6758
7008
|
gap: buttonsGap,
|
6759
7009
|
wrap: "nowrap",
|
6760
|
-
children: buttons !== undefined && buttons.map((
|
6761
|
-
if (
|
6762
|
-
return
|
6763
|
-
...e,
|
6764
|
-
key: i
|
6765
|
-
});
|
7010
|
+
children: buttons !== undefined && buttons.map((button, i) => {
|
7011
|
+
if (isValidElementOfType(RemoraidButton, button)) {
|
7012
|
+
return button;
|
6766
7013
|
}
|
6767
|
-
return
|
7014
|
+
return /* @__PURE__ */ createElement2(RemoraidButton, {
|
7015
|
+
...button,
|
7016
|
+
key: i
|
7017
|
+
});
|
6768
7018
|
})
|
6769
7019
|
}, undefined, false, undefined, this)
|
6770
7020
|
]
|
6771
7021
|
}, undefined, true, undefined, this),
|
6772
|
-
/* @__PURE__ */
|
6773
|
-
my: "md"
|
7022
|
+
/* @__PURE__ */ jsxDEV24(Divider3, {
|
7023
|
+
my: "md",
|
7024
|
+
...componentsProps?.divider
|
6774
7025
|
}, undefined, false, undefined, this),
|
6775
|
-
|
6776
|
-
|
7026
|
+
/* @__PURE__ */ jsxDEV24(Stack3, {
|
7027
|
+
align: "stretch",
|
7028
|
+
gap: alertsGap,
|
7029
|
+
mb: alerts && alerts.length > 0 ? "md" : 0,
|
7030
|
+
...componentsProps?.alertsContainer,
|
7031
|
+
children: alerts?.map((alert, i) => {
|
7032
|
+
if (isValidElementOfType(AlertMinimal, alert)) {
|
7033
|
+
return alert;
|
7034
|
+
}
|
6777
7035
|
return /* @__PURE__ */ createElement2(AlertMinimal, {
|
6778
|
-
...
|
6779
|
-
mb: alertsGap,
|
7036
|
+
...alert,
|
6780
7037
|
key: i
|
6781
7038
|
});
|
6782
|
-
}
|
6783
|
-
|
6784
|
-
|
6785
|
-
|
6786
|
-
children: /* @__PURE__ */ jsxDEV21(Loader, {
|
7039
|
+
})
|
7040
|
+
}, undefined, false, undefined, this),
|
7041
|
+
loading ? /* @__PURE__ */ jsxDEV24(Center, {
|
7042
|
+
children: /* @__PURE__ */ jsxDEV24(Loader, {
|
6787
7043
|
...componentsProps?.loader
|
6788
7044
|
}, undefined, false, undefined, this)
|
6789
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
7045
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsxDEV24(Fragment5, {
|
6790
7046
|
children
|
6791
7047
|
}, undefined, false, undefined, this)
|
6792
7048
|
]
|
@@ -6795,7 +7051,7 @@ function Widget({
|
|
6795
7051
|
// src/core/components/NotFoundPage/index.tsx
|
6796
7052
|
import { Alert as Alert2 } from "@mantine/core";
|
6797
7053
|
import { usePathname as usePathname3 } from "next/navigation";
|
6798
|
-
import { jsxDEV as
|
7054
|
+
import { jsxDEV as jsxDEV25 } from "react/jsx-dev-runtime";
|
6799
7055
|
function NotFoundPage({
|
6800
7056
|
children,
|
6801
7057
|
message,
|
@@ -6803,11 +7059,11 @@ function NotFoundPage({
|
|
6803
7059
|
}) {
|
6804
7060
|
const pathname = usePathname3();
|
6805
7061
|
const theme = useRemoraidTheme();
|
6806
|
-
return /* @__PURE__ */
|
7062
|
+
return /* @__PURE__ */ jsxDEV25(Page, {
|
6807
7063
|
name: "Not Found",
|
6808
7064
|
...componentsProps?.page,
|
6809
7065
|
children: [
|
6810
|
-
/* @__PURE__ */
|
7066
|
+
/* @__PURE__ */ jsxDEV25(Alert2, {
|
6811
7067
|
...theme.alertProps.negative,
|
6812
7068
|
title: "404 - Page Not Found",
|
6813
7069
|
children: message ?? `Could not find page ${pathname}.`
|
@@ -6818,7 +7074,7 @@ function NotFoundPage({
|
|
6818
7074
|
}
|
6819
7075
|
// src/core/components/EnvironmentShell/index.tsx
|
6820
7076
|
import { Alert as Alert3 } from "@mantine/core";
|
6821
|
-
import { jsxDEV as
|
7077
|
+
import { jsxDEV as jsxDEV26, Fragment as Fragment6 } from "react/jsx-dev-runtime";
|
6822
7078
|
function EnvironmentShell({
|
6823
7079
|
children,
|
6824
7080
|
environment,
|
@@ -6832,7 +7088,7 @@ function EnvironmentShell({
|
|
6832
7088
|
const undefinedKeys = Object.keys(environment).filter((key) => environment[key] === undefined);
|
6833
7089
|
const alertTitle = `Please Specify Environment Variable${undefinedKeys.length > 1 ? "s" : ""}`;
|
6834
7090
|
const alertMessage = `Components could not be rendered because the following environment variables are not specified: ${undefinedKeys.join(", ")}.`;
|
6835
|
-
const alert = /* @__PURE__ */
|
7091
|
+
const alert = /* @__PURE__ */ jsxDEV26(Alert3, {
|
6836
7092
|
...theme.alertProps.neutral,
|
6837
7093
|
title: alertTitle,
|
6838
7094
|
m,
|
@@ -6840,12 +7096,12 @@ function EnvironmentShell({
|
|
6840
7096
|
children: message ?? alertMessage
|
6841
7097
|
}, undefined, false, undefined, this);
|
6842
7098
|
if (undefinedKeys.length === 0) {
|
6843
|
-
return /* @__PURE__ */
|
7099
|
+
return /* @__PURE__ */ jsxDEV26(Fragment6, {
|
6844
7100
|
children
|
6845
7101
|
}, undefined, false, undefined, this);
|
6846
7102
|
}
|
6847
7103
|
if (withContainer) {
|
6848
|
-
return /* @__PURE__ */
|
7104
|
+
return /* @__PURE__ */ jsxDEV26(PageContainer, {
|
6849
7105
|
componentsProps: { container: componentsProps?.container },
|
6850
7106
|
children: alert
|
6851
7107
|
}, undefined, false, undefined, this);
|
@@ -6853,20 +7109,20 @@ function EnvironmentShell({
|
|
6853
7109
|
return alert;
|
6854
7110
|
}
|
6855
7111
|
// src/core/components/SettingsWidget/index.tsx
|
6856
|
-
import { createContext as
|
7112
|
+
import { createContext as createContext6, useContext as useContext9 } from "react";
|
6857
7113
|
import { IconRestore } from "@tabler/icons-react";
|
6858
7114
|
|
6859
7115
|
// src/core/components/SettingsWidget/SaveButton/index.tsx
|
6860
7116
|
import { IconDeviceFloppy } from "@tabler/icons-react";
|
6861
7117
|
import { Group as Group5 } from "@mantine/core";
|
6862
|
-
import { jsxDEV as
|
7118
|
+
import { jsxDEV as jsxDEV27 } from "react/jsx-dev-runtime";
|
6863
7119
|
function SaveButton({
|
6864
7120
|
onSaveChanges,
|
6865
7121
|
insideContainer,
|
6866
7122
|
componentsProps
|
6867
7123
|
}) {
|
6868
7124
|
const settingsWidgetOptions = useSettingsWidgetContext();
|
6869
|
-
const button = /* @__PURE__ */
|
7125
|
+
const button = /* @__PURE__ */ jsxDEV27(RemoraidButton, {
|
6870
7126
|
label: "Save Changes",
|
6871
7127
|
icon: IconDeviceFloppy,
|
6872
7128
|
onClick: onSaveChanges,
|
@@ -6881,7 +7137,7 @@ function SaveButton({
|
|
6881
7137
|
}
|
6882
7138
|
}, undefined, false, undefined, this);
|
6883
7139
|
if (insideContainer !== false) {
|
6884
|
-
return /* @__PURE__ */
|
7140
|
+
return /* @__PURE__ */ jsxDEV27(Group5, {
|
6885
7141
|
w: "100%",
|
6886
7142
|
justify: "flex-end",
|
6887
7143
|
mt: "md",
|
@@ -6893,11 +7149,11 @@ function SaveButton({
|
|
6893
7149
|
}
|
6894
7150
|
|
6895
7151
|
// src/core/components/SettingsWidget/index.tsx
|
6896
|
-
import { jsxDEV as
|
7152
|
+
import { jsxDEV as jsxDEV28 } from "react/jsx-dev-runtime";
|
6897
7153
|
var defaultSettingsWidgetContext = {};
|
6898
|
-
var settingsWidgetContext =
|
7154
|
+
var settingsWidgetContext = createContext6(defaultSettingsWidgetContext);
|
6899
7155
|
var useSettingsWidgetContext = () => {
|
6900
|
-
return
|
7156
|
+
return useContext9(settingsWidgetContext);
|
6901
7157
|
};
|
6902
7158
|
function SettingsWidget({
|
6903
7159
|
children,
|
@@ -6906,9 +7162,9 @@ function SettingsWidget({
|
|
6906
7162
|
custom,
|
6907
7163
|
widgetProps
|
6908
7164
|
}) {
|
6909
|
-
return /* @__PURE__ */
|
7165
|
+
return /* @__PURE__ */ jsxDEV28(settingsWidgetContext.Provider, {
|
6910
7166
|
value: { custom, unsavedChanges },
|
6911
|
-
children: /* @__PURE__ */
|
7167
|
+
children: /* @__PURE__ */ jsxDEV28(Widget, {
|
6912
7168
|
title: "Settings",
|
6913
7169
|
id: "settings",
|
6914
7170
|
mt: "md",
|
@@ -6944,27 +7200,27 @@ var SettingsWidget_default = Object.assign(SettingsWidget, {
|
|
6944
7200
|
SaveButton
|
6945
7201
|
});
|
6946
7202
|
// src/core/components/SettingsWidget/SettingsTable/index.tsx
|
6947
|
-
import { createContext as
|
7203
|
+
import { createContext as createContext7, useContext as useContext10 } from "react";
|
6948
7204
|
import { Table as Table2 } from "@mantine/core";
|
6949
7205
|
|
6950
7206
|
// src/core/components/SettingsWidget/SettingsTable/Row/index.tsx
|
6951
7207
|
import { Table, Text as Text2 } from "@mantine/core";
|
6952
|
-
import { jsxDEV as
|
7208
|
+
import { jsxDEV as jsxDEV29 } from "react/jsx-dev-runtime";
|
6953
7209
|
function Row({
|
6954
7210
|
children,
|
6955
7211
|
label
|
6956
7212
|
}) {
|
6957
7213
|
const options = useSettingsTableOptions();
|
6958
|
-
return /* @__PURE__ */
|
7214
|
+
return /* @__PURE__ */ jsxDEV29(Table.Tr, {
|
6959
7215
|
children: [
|
6960
|
-
/* @__PURE__ */
|
7216
|
+
/* @__PURE__ */ jsxDEV29(Table.Th, {
|
6961
7217
|
w: options.leftColumnWidth,
|
6962
|
-
children: /* @__PURE__ */
|
7218
|
+
children: /* @__PURE__ */ jsxDEV29(Text2, {
|
6963
7219
|
size: "sm",
|
6964
7220
|
children: label
|
6965
7221
|
}, undefined, false, undefined, this)
|
6966
7222
|
}, undefined, false, undefined, this),
|
6967
|
-
/* @__PURE__ */
|
7223
|
+
/* @__PURE__ */ jsxDEV29(Table.Td, {
|
6968
7224
|
py: "xs",
|
6969
7225
|
children
|
6970
7226
|
}, undefined, false, undefined, this)
|
@@ -6973,29 +7229,30 @@ function Row({
|
|
6973
7229
|
}
|
6974
7230
|
|
6975
7231
|
// src/core/components/SettingsWidget/SettingsTable/index.tsx
|
6976
|
-
import { jsxDEV as
|
7232
|
+
import { jsxDEV as jsxDEV30 } from "react/jsx-dev-runtime";
|
6977
7233
|
var defaultSettingsTableOptions = {
|
6978
7234
|
leftColumnWidth: "38.2%"
|
6979
7235
|
};
|
6980
|
-
var settingsTableOptionsContext =
|
7236
|
+
var settingsTableOptionsContext = createContext7(defaultSettingsTableOptions);
|
6981
7237
|
var useSettingsTableOptions = () => {
|
6982
|
-
return
|
7238
|
+
return useContext10(settingsTableOptionsContext);
|
6983
7239
|
};
|
6984
7240
|
function SettingsTable({
|
6985
|
-
|
6986
|
-
|
7241
|
+
leftColumnWidth,
|
7242
|
+
children: childrenProp
|
6987
7243
|
}) {
|
6988
7244
|
const theme = useRemoraidTheme();
|
6989
|
-
|
7245
|
+
const children = asChildrenOfType(Row, childrenProp, "Check children passed to 'SettingsTable' component.");
|
7246
|
+
return /* @__PURE__ */ jsxDEV30(settingsTableOptionsContext.Provider, {
|
6990
7247
|
value: {
|
6991
7248
|
leftColumnWidth: leftColumnWidth ?? defaultSettingsTableOptions.leftColumnWidth
|
6992
7249
|
},
|
6993
|
-
children: /* @__PURE__ */
|
7250
|
+
children: /* @__PURE__ */ jsxDEV30(Table2, {
|
6994
7251
|
bg: theme.transparentBackground,
|
6995
7252
|
withTableBorder: true,
|
6996
7253
|
variant: "vertical",
|
6997
7254
|
layout: "fixed",
|
6998
|
-
children: /* @__PURE__ */
|
7255
|
+
children: /* @__PURE__ */ jsxDEV30(Table2.Tbody, {
|
6999
7256
|
children
|
7000
7257
|
}, undefined, false, undefined, this)
|
7001
7258
|
}, undefined, false, undefined, this)
|
@@ -7005,11 +7262,10 @@ var SettingsTable_default = Object.assign(SettingsTable, {
|
|
7005
7262
|
Row
|
7006
7263
|
});
|
7007
7264
|
// src/core/components/NavbarSettingsWidget/index.tsx
|
7008
|
-
import { cloneElement } from "react";
|
7009
7265
|
var import_lodash = __toESM(require_lodash(), 1);
|
7010
7266
|
import { Chip as Chip3, Group as Group6 } from "@mantine/core";
|
7011
7267
|
import { IconLink as IconLink2 } from "@tabler/icons-react";
|
7012
|
-
import { jsxDEV as
|
7268
|
+
import { jsxDEV as jsxDEV31 } from "react/jsx-dev-runtime";
|
7013
7269
|
var defaultNavbarSettingsWidgetId = "navbar-settings";
|
7014
7270
|
function NavbarSettingsWidget({
|
7015
7271
|
additionalRows,
|
@@ -7019,7 +7275,7 @@ function NavbarSettingsWidget({
|
|
7019
7275
|
const { userExperience, updateUserExperience, initialUserExperience } = useRemoraidUserExperience();
|
7020
7276
|
const app = useRemoraidApp();
|
7021
7277
|
const theme = useRemoraidTheme();
|
7022
|
-
return /* @__PURE__ */
|
7278
|
+
return /* @__PURE__ */ jsxDEV31(SettingsWidget_default, {
|
7023
7279
|
widgetProps: {
|
7024
7280
|
id: defaultNavbarSettingsWidgetId,
|
7025
7281
|
title: "Navbar Settings",
|
@@ -7028,32 +7284,33 @@ function NavbarSettingsWidget({
|
|
7028
7284
|
onRestoreDefaultValues: () => {
|
7029
7285
|
updateUserExperience((prev) => ({
|
7030
7286
|
...prev,
|
7031
|
-
|
7287
|
+
navbar: initialUserExperience.navbar
|
7032
7288
|
}));
|
7033
7289
|
},
|
7034
|
-
custom: !import_lodash.isEqual(userExperience.
|
7035
|
-
children: /* @__PURE__ */
|
7290
|
+
custom: !import_lodash.isEqual(userExperience.navbar, initialUserExperience.navbar),
|
7291
|
+
children: /* @__PURE__ */ jsxDEV31(SettingsTable_default, {
|
7292
|
+
...componentsProps?.table,
|
7036
7293
|
children: [
|
7037
|
-
/* @__PURE__ */
|
7294
|
+
/* @__PURE__ */ jsxDEV31(SettingsTable_default.Row, {
|
7038
7295
|
label: "Select which pages you want to display or hide",
|
7039
|
-
children: /* @__PURE__ */
|
7296
|
+
children: /* @__PURE__ */ jsxDEV31(Chip3.Group, {
|
7040
7297
|
multiple: true,
|
7041
|
-
value: app.navigablePages.filter((p) => !userExperience.
|
7298
|
+
value: app.navigablePages.filter((p) => !userExperience.navbar.hiddenPages.includes(p.href)).map((p) => p.href),
|
7042
7299
|
onChange: (newValue) => {
|
7043
7300
|
updateUserExperience((prev) => ({
|
7044
7301
|
...prev,
|
7045
|
-
|
7046
|
-
...prev.
|
7302
|
+
navbar: {
|
7303
|
+
...prev.navbar,
|
7047
7304
|
hiddenPages: app.navigablePages.filter((p) => !newValue.includes(p.href)).map((p) => p.href)
|
7048
7305
|
}
|
7049
7306
|
}));
|
7050
7307
|
},
|
7051
|
-
children: /* @__PURE__ */
|
7308
|
+
children: /* @__PURE__ */ jsxDEV31(Group6, {
|
7052
7309
|
justify: "flex-start",
|
7053
7310
|
gap: "xs",
|
7054
|
-
children: app.navigablePages.map((p) => ({ ...p, icon: p.icon ?? IconLink2 })).map((p, i) => /* @__PURE__ */
|
7311
|
+
children: app.navigablePages.map((p) => ({ ...p, icon: p.icon ?? IconLink2 })).map((p, i) => /* @__PURE__ */ jsxDEV31(Chip3, {
|
7055
7312
|
value: p.href,
|
7056
|
-
icon: /* @__PURE__ */
|
7313
|
+
icon: /* @__PURE__ */ jsxDEV31(p.icon, {
|
7057
7314
|
...theme.iconProps.tiny,
|
7058
7315
|
color: theme.primaryColor
|
7059
7316
|
}, undefined, false, undefined, this),
|
@@ -7063,12 +7320,60 @@ function NavbarSettingsWidget({
|
|
7063
7320
|
}, undefined, false, undefined, this)
|
7064
7321
|
}, undefined, false, undefined, this)
|
7065
7322
|
}, "select-hidden-pages", false, undefined, this),
|
7066
|
-
|
7067
|
-
|
7068
|
-
|
7069
|
-
|
7323
|
+
additionalRows && additionalRows.map((row, i) => {
|
7324
|
+
if (isValidElementOfType(SettingsTable_default.Row, row)) {
|
7325
|
+
return row;
|
7326
|
+
}
|
7327
|
+
return /* @__PURE__ */ jsxDEV31(SettingsTable_default.Row, {
|
7328
|
+
...row
|
7329
|
+
}, i, false, undefined, this);
|
7330
|
+
})
|
7331
|
+
]
|
7332
|
+
}, undefined, true, undefined, this)
|
7070
7333
|
}, undefined, false, undefined, this);
|
7071
7334
|
}
|
7335
|
+
// src/core/components/ContextClusterProvider/index.tsx
|
7336
|
+
import React8 from "react";
|
7337
|
+
import { jsxDEV as jsxDEV32 } from "react/jsx-dev-runtime";
|
7338
|
+
var createContextCluster = (generalDefaultValue, staticIds) => {
|
7339
|
+
const isStaticId = (id) => {
|
7340
|
+
if (staticIds?.find((staticId) => staticId === id)) {
|
7341
|
+
return true;
|
7342
|
+
}
|
7343
|
+
return false;
|
7344
|
+
};
|
7345
|
+
const contexts = {};
|
7346
|
+
const defaultValues = {};
|
7347
|
+
const createContext8 = (id, defaultValue) => {
|
7348
|
+
const context = React8.createContext(defaultValue ?? generalDefaultValue);
|
7349
|
+
contexts[id] = context;
|
7350
|
+
defaultValues[id] = defaultValue ?? generalDefaultValue;
|
7351
|
+
return context;
|
7352
|
+
};
|
7353
|
+
const useContext11 = (id) => {
|
7354
|
+
if (isStaticId(id)) {
|
7355
|
+
return contexts[id] ? React8.useContext(contexts[id]) : generalDefaultValue;
|
7356
|
+
}
|
7357
|
+
return contexts[id] ? React8.useContext(contexts[id]) : null;
|
7358
|
+
};
|
7359
|
+
return {
|
7360
|
+
contexts,
|
7361
|
+
defaultValues,
|
7362
|
+
generalDefaultValue,
|
7363
|
+
createContext: createContext8,
|
7364
|
+
useContext: useContext11
|
7365
|
+
};
|
7366
|
+
};
|
7367
|
+
function ContextClusterProvider({
|
7368
|
+
cluster,
|
7369
|
+
values = {},
|
7370
|
+
children
|
7371
|
+
}) {
|
7372
|
+
return Object.entries(cluster.contexts).reduceRight((t, [id, context]) => /* @__PURE__ */ jsxDEV32(context.Provider, {
|
7373
|
+
value: values[id] ?? cluster.defaultValues[id] ?? cluster.generalDefaultValue,
|
7374
|
+
children: t
|
7375
|
+
}, undefined, false, undefined, this), children);
|
7376
|
+
}
|
7072
7377
|
export {
|
7073
7378
|
useWidgets,
|
7074
7379
|
useSettingsWidgetContext as useSettingsWidgetOptions,
|
@@ -7077,17 +7382,31 @@ export {
|
|
7077
7382
|
useRemoraidTheme,
|
7078
7383
|
useRemoraidApp,
|
7079
7384
|
usePage,
|
7385
|
+
useLayouts,
|
7080
7386
|
useHydrationStatus,
|
7081
7387
|
useHydratedMantineColorScheme,
|
7388
|
+
useFrameLayout,
|
7389
|
+
isValidElementOfType,
|
7390
|
+
isFrameLayout,
|
7391
|
+
getElementTypeName,
|
7082
7392
|
defaultUserExperienceCookieName,
|
7083
7393
|
defaultUserExperience,
|
7084
7394
|
defaultSettingsWidgetContext as defaultSettingsWidgetOptions,
|
7085
7395
|
defaultSettingsTableOptions,
|
7086
7396
|
defaultNavbarSettingsWidgetId,
|
7087
|
-
|
7397
|
+
defaultLayoutsContext,
|
7398
|
+
defaultFrameLayoutContext,
|
7399
|
+
defaultAppShellNavbarPositions,
|
7400
|
+
defaultAppShellLayoutId,
|
7401
|
+
defaultAppShellFooterPositions,
|
7088
7402
|
defaultAppContext,
|
7089
7403
|
createUserExperienceContext,
|
7090
7404
|
createRemoraidTheme,
|
7405
|
+
createContextCluster,
|
7406
|
+
co,
|
7407
|
+
asElementOrPropsOfType,
|
7408
|
+
asElementOfType,
|
7409
|
+
asChildrenOfType,
|
7091
7410
|
WidgetWrapper_default as WidgetWrapper,
|
7092
7411
|
WidgetSelectionHeader,
|
7093
7412
|
Widget,
|
@@ -7105,11 +7424,17 @@ export {
|
|
7105
7424
|
NotFoundPage,
|
7106
7425
|
NavbarVariant,
|
7107
7426
|
NavbarSettingsWidget,
|
7427
|
+
LayoutType,
|
7108
7428
|
HydrationStatusProvider,
|
7429
|
+
FrameLayoutVariant,
|
7430
|
+
FrameLayoutSection,
|
7431
|
+
FrameLayout_default as FrameLayout,
|
7432
|
+
FooterVariant,
|
7109
7433
|
EnvironmentShell,
|
7434
|
+
ContextClusterProvider,
|
7110
7435
|
BadgeMinimal,
|
7111
7436
|
BadgeGroup,
|
7112
|
-
AppShell,
|
7437
|
+
AppShell_default as AppShell,
|
7113
7438
|
AppProvider,
|
7114
7439
|
AlertMinimal,
|
7115
7440
|
AlertCategory
|