@hyphen/hyphen-components 7.2.0 → 7.3.1
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/components/Sidebar/Sidebar.d.ts +20 -13
- package/dist/components/Sidebar/Sidebar.stories.d.ts +2 -0
- package/dist/hyphen-components.cjs.development.js +280 -161
- package/dist/hyphen-components.cjs.development.js.map +1 -1
- package/dist/hyphen-components.cjs.production.min.js +1 -1
- package/dist/hyphen-components.cjs.production.min.js.map +1 -1
- package/dist/hyphen-components.esm.js +280 -161
- package/dist/hyphen-components.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Sidebar/Sidebar.stories.tsx +104 -1
- package/src/components/Sidebar/Sidebar.test.tsx +178 -3
- package/src/components/Sidebar/Sidebar.tsx +424 -194
|
@@ -3883,7 +3883,7 @@ TooltipContent.displayName = TooltipPrimitive__namespace.Content.displayName;
|
|
|
3883
3883
|
|
|
3884
3884
|
var _excluded$3 = ["defaultOpen", "open", "storageKey", "onOpenChange", "className", "style", "children"],
|
|
3885
3885
|
_excluded2 = ["side", "collapsible", "className", "children"],
|
|
3886
|
-
_excluded3 = ["className", "onClick"],
|
|
3886
|
+
_excluded3 = ["className", "onClick", "side", "iconName"],
|
|
3887
3887
|
_excluded4 = ["className"],
|
|
3888
3888
|
_excluded5 = ["className"],
|
|
3889
3889
|
_excluded6 = ["className"],
|
|
@@ -3900,92 +3900,190 @@ var _excluded$3 = ["defaultOpen", "open", "storageKey", "onOpenChange", "classNa
|
|
|
3900
3900
|
_excluded15 = ["className"];
|
|
3901
3901
|
var SIDEBAR_WIDTH = '16rem';
|
|
3902
3902
|
var SIDEBAR_WIDTH_ICON = '44px';
|
|
3903
|
-
var
|
|
3904
|
-
var
|
|
3905
|
-
|
|
3906
|
-
|
|
3907
|
-
|
|
3908
|
-
|
|
3903
|
+
var SIDEBAR_KEYBOARD_SHORTCUT_LEFT = '[';
|
|
3904
|
+
var SIDEBAR_KEYBOARD_SHORTCUT_RIGHT = ']';
|
|
3905
|
+
var SidebarIsMobileContext = /*#__PURE__*/React.createContext(null);
|
|
3906
|
+
var SidebarLeftContext = /*#__PURE__*/React.createContext(null);
|
|
3907
|
+
var SidebarRightContext = /*#__PURE__*/React.createContext(null);
|
|
3908
|
+
var SidebarSideContext = /*#__PURE__*/React.createContext('left');
|
|
3909
|
+
var resolveSideValue = function resolveSideValue(value, side, fallback) {
|
|
3910
|
+
if (typeof value === 'boolean') {
|
|
3911
|
+
return value;
|
|
3909
3912
|
}
|
|
3910
|
-
|
|
3911
|
-
|
|
3912
|
-
|
|
3913
|
-
|
|
3914
|
-
|
|
3915
|
-
|
|
3916
|
-
|
|
3917
|
-
|
|
3918
|
-
|
|
3919
|
-
|
|
3920
|
-
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3913
|
+
if (value && typeof value === 'object' && typeof value[side] === 'boolean') {
|
|
3914
|
+
return value[side];
|
|
3915
|
+
}
|
|
3916
|
+
return fallback;
|
|
3917
|
+
};
|
|
3918
|
+
var resolveControlledOpen = function resolveControlledOpen(value, side) {
|
|
3919
|
+
if (typeof value === 'boolean') {
|
|
3920
|
+
return value;
|
|
3921
|
+
}
|
|
3922
|
+
if (value && typeof value === 'object' && typeof value[side] === 'boolean') {
|
|
3923
|
+
return value[side];
|
|
3924
|
+
}
|
|
3925
|
+
return undefined;
|
|
3926
|
+
};
|
|
3927
|
+
var resolveStorageKey = function resolveStorageKey(storageKey, side) {
|
|
3928
|
+
if (typeof storageKey === 'string') {
|
|
3929
|
+
return side === 'left' ? storageKey : storageKey + "_right";
|
|
3930
|
+
}
|
|
3931
|
+
if (storageKey && typeof storageKey === 'object') {
|
|
3932
|
+
var _storageKey$side;
|
|
3933
|
+
return (_storageKey$side = storageKey[side]) != null ? _storageKey$side : side === 'left' ? 'sidebar_expanded' : 'sidebar_expanded_right';
|
|
3934
|
+
}
|
|
3935
|
+
return side === 'left' ? 'sidebar_expanded' : 'sidebar_expanded_right';
|
|
3936
|
+
};
|
|
3937
|
+
var getSidebarWidth = function getSidebarWidth(state, collapsible) {
|
|
3938
|
+
return state === 'collapsed' && collapsible === 'icon' ? 'var(--sidebar-width-icon)' : state === 'collapsed' ? '0' : 'var(--sidebar-width)';
|
|
3939
|
+
};
|
|
3940
|
+
var getSidebarOffsetStyles = function getSidebarOffsetStyles(side, state, collapsible) {
|
|
3941
|
+
var isVisible = state === 'expanded' || collapsible === 'icon';
|
|
3942
|
+
return {
|
|
3943
|
+
left: side === 'left' ? isVisible ? '0' : 'calc(var(--sidebar-width)*-1)' : undefined,
|
|
3944
|
+
right: side === 'right' ? isVisible ? '0' : 'calc(var(--sidebar-width)*-1)' : undefined
|
|
3945
|
+
};
|
|
3946
|
+
};
|
|
3947
|
+
var useSidebarSideState = function useSidebarSideState(_ref) {
|
|
3948
|
+
var side = _ref.side,
|
|
3949
|
+
isMobile = _ref.isMobile,
|
|
3950
|
+
defaultOpen = _ref.defaultOpen,
|
|
3951
|
+
openProp = _ref.openProp,
|
|
3952
|
+
onOpenChange = _ref.onOpenChange,
|
|
3953
|
+
storageKey = _ref.storageKey,
|
|
3954
|
+
lastToggledSideRef = _ref.lastToggledSideRef;
|
|
3955
|
+
var defaultFallback = typeof defaultOpen === 'boolean' ? defaultOpen : true;
|
|
3956
|
+
var initialDefaultOpen = resolveSideValue(defaultOpen, side, defaultFallback);
|
|
3957
|
+
var controlledOpen = resolveControlledOpen(openProp, side);
|
|
3958
|
+
var isControlled = typeof controlledOpen === 'boolean';
|
|
3959
|
+
var _useState = React.useState(controlledOpen != null ? controlledOpen : initialDefaultOpen),
|
|
3960
|
+
uncontrolledOpen = _useState[0],
|
|
3961
|
+
setUncontrolledOpen = _useState[1];
|
|
3962
|
+
var _useState2 = React.useState(function () {
|
|
3963
|
+
return isMobile ? false : controlledOpen != null ? controlledOpen : initialDefaultOpen;
|
|
3926
3964
|
}),
|
|
3927
|
-
openMobile =
|
|
3928
|
-
setOpenMobile =
|
|
3929
|
-
|
|
3930
|
-
var _useState2 = React.useState(openProp != null ? openProp : defaultOpen),
|
|
3931
|
-
_open = _useState2[0],
|
|
3932
|
-
_setOpen = _useState2[1];
|
|
3933
|
-
var open = openProp != null ? openProp : _open;
|
|
3934
|
-
// Update open state when openProp or isMobile changes
|
|
3965
|
+
openMobile = _useState2[0],
|
|
3966
|
+
setOpenMobile = _useState2[1];
|
|
3967
|
+
var open = controlledOpen != null ? controlledOpen : uncontrolledOpen;
|
|
3935
3968
|
React.useEffect(function () {
|
|
3936
3969
|
if (isMobile) {
|
|
3937
|
-
setOpenMobile(false);
|
|
3970
|
+
setOpenMobile(false);
|
|
3938
3971
|
} else {
|
|
3939
|
-
|
|
3972
|
+
setUncontrolledOpen(controlledOpen != null ? controlledOpen : initialDefaultOpen);
|
|
3940
3973
|
}
|
|
3941
|
-
}, [isMobile,
|
|
3974
|
+
}, [isMobile, controlledOpen, initialDefaultOpen]);
|
|
3942
3975
|
var setOpen = React.useCallback(function (value) {
|
|
3943
3976
|
var newOpenState = typeof value === 'function' ? value(open) : value;
|
|
3944
|
-
if (newOpenState
|
|
3945
|
-
|
|
3946
|
-
setOpenProp(newOpenState);
|
|
3947
|
-
} else {
|
|
3948
|
-
_setOpen(newOpenState);
|
|
3949
|
-
}
|
|
3950
|
-
localStorage.setItem(storageKey, "" + newOpenState);
|
|
3977
|
+
if (newOpenState === open) {
|
|
3978
|
+
return;
|
|
3951
3979
|
}
|
|
3952
|
-
|
|
3953
|
-
|
|
3980
|
+
if (!isControlled) {
|
|
3981
|
+
setUncontrolledOpen(newOpenState);
|
|
3982
|
+
}
|
|
3983
|
+
onOpenChange == null || onOpenChange(newOpenState, side);
|
|
3984
|
+
var key = resolveStorageKey(storageKey, side);
|
|
3985
|
+
localStorage.setItem(key, "" + newOpenState);
|
|
3986
|
+
}, [open, isControlled, onOpenChange, side, storageKey]);
|
|
3954
3987
|
var toggleSidebar = React.useCallback(function () {
|
|
3955
|
-
|
|
3956
|
-
|
|
3957
|
-
|
|
3958
|
-
|
|
3988
|
+
lastToggledSideRef.current = side;
|
|
3989
|
+
isMobile ? setOpenMobile(function (value) {
|
|
3990
|
+
return !value;
|
|
3991
|
+
}) : setOpen(function (value) {
|
|
3992
|
+
return !value;
|
|
3959
3993
|
});
|
|
3960
|
-
}, [isMobile, setOpen,
|
|
3961
|
-
// Keydown event handler for toggling sidebar
|
|
3962
|
-
React.useEffect(function () {
|
|
3963
|
-
var handleKeyDown = function handleKeyDown(event) {
|
|
3964
|
-
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT) {
|
|
3965
|
-
event.preventDefault();
|
|
3966
|
-
toggleSidebar();
|
|
3967
|
-
}
|
|
3968
|
-
};
|
|
3969
|
-
window.addEventListener('keydown', handleKeyDown);
|
|
3970
|
-
return function () {
|
|
3971
|
-
return window.removeEventListener('keydown', handleKeyDown);
|
|
3972
|
-
};
|
|
3973
|
-
}, [toggleSidebar]);
|
|
3974
|
-
// Assign state for data attributes
|
|
3994
|
+
}, [isMobile, setOpen, side, lastToggledSideRef]);
|
|
3975
3995
|
var state = open ? 'expanded' : 'collapsed';
|
|
3976
|
-
|
|
3996
|
+
return React.useMemo(function () {
|
|
3977
3997
|
return {
|
|
3978
3998
|
state: state,
|
|
3979
3999
|
open: open,
|
|
3980
4000
|
setOpen: setOpen,
|
|
3981
|
-
isMobile: isMobile,
|
|
3982
4001
|
openMobile: openMobile,
|
|
3983
4002
|
setOpenMobile: setOpenMobile,
|
|
3984
4003
|
toggleSidebar: toggleSidebar
|
|
3985
4004
|
};
|
|
3986
|
-
}, [state, open, setOpen,
|
|
3987
|
-
|
|
3988
|
-
|
|
4005
|
+
}, [state, open, setOpen, openMobile, setOpenMobile, toggleSidebar]);
|
|
4006
|
+
};
|
|
4007
|
+
function useSidebar(sideOverride) {
|
|
4008
|
+
var isMobile = React.useContext(SidebarIsMobileContext);
|
|
4009
|
+
if (typeof isMobile !== 'boolean') {
|
|
4010
|
+
throw new Error('useSidebar must be used within a SidebarProvider.');
|
|
4011
|
+
}
|
|
4012
|
+
var contextSide = React.useContext(SidebarSideContext);
|
|
4013
|
+
var side = sideOverride != null ? sideOverride : contextSide;
|
|
4014
|
+
var sideContext = React.useContext(side === 'left' ? SidebarLeftContext : SidebarRightContext);
|
|
4015
|
+
if (!sideContext) {
|
|
4016
|
+
throw new Error('useSidebar must be used within a SidebarProvider.');
|
|
4017
|
+
}
|
|
4018
|
+
return _extends({}, sideContext, {
|
|
4019
|
+
isMobile: isMobile,
|
|
4020
|
+
side: side
|
|
4021
|
+
});
|
|
4022
|
+
}
|
|
4023
|
+
var SidebarProvider = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
4024
|
+
var _ref2$defaultOpen = _ref2.defaultOpen,
|
|
4025
|
+
defaultOpen = _ref2$defaultOpen === void 0 ? true : _ref2$defaultOpen,
|
|
4026
|
+
openProp = _ref2.open,
|
|
4027
|
+
_ref2$storageKey = _ref2.storageKey,
|
|
4028
|
+
storageKey = _ref2$storageKey === void 0 ? 'sidebar_expanded' : _ref2$storageKey,
|
|
4029
|
+
setOpenProp = _ref2.onOpenChange,
|
|
4030
|
+
className = _ref2.className,
|
|
4031
|
+
style = _ref2.style,
|
|
4032
|
+
children = _ref2.children,
|
|
4033
|
+
props = _objectWithoutPropertiesLoose(_ref2, _excluded$3);
|
|
4034
|
+
var isMobile = useIsMobile();
|
|
4035
|
+
var lastToggledSideRef = React.useRef('left');
|
|
4036
|
+
var leftToggleRef = React.useRef(null);
|
|
4037
|
+
var rightToggleRef = React.useRef(null);
|
|
4038
|
+
var leftState = useSidebarSideState({
|
|
4039
|
+
side: 'left',
|
|
4040
|
+
isMobile: isMobile,
|
|
4041
|
+
defaultOpen: defaultOpen,
|
|
4042
|
+
openProp: openProp,
|
|
4043
|
+
onOpenChange: setOpenProp,
|
|
4044
|
+
storageKey: storageKey,
|
|
4045
|
+
lastToggledSideRef: lastToggledSideRef
|
|
4046
|
+
});
|
|
4047
|
+
var rightState = useSidebarSideState({
|
|
4048
|
+
side: 'right',
|
|
4049
|
+
isMobile: isMobile,
|
|
4050
|
+
defaultOpen: defaultOpen,
|
|
4051
|
+
openProp: openProp,
|
|
4052
|
+
onOpenChange: setOpenProp,
|
|
4053
|
+
storageKey: storageKey,
|
|
4054
|
+
lastToggledSideRef: lastToggledSideRef
|
|
4055
|
+
});
|
|
4056
|
+
React.useEffect(function () {
|
|
4057
|
+
leftToggleRef.current = leftState.toggleSidebar;
|
|
4058
|
+
}, [leftState.toggleSidebar]);
|
|
4059
|
+
React.useEffect(function () {
|
|
4060
|
+
rightToggleRef.current = rightState.toggleSidebar;
|
|
4061
|
+
}, [rightState.toggleSidebar]);
|
|
4062
|
+
React.useEffect(function () {
|
|
4063
|
+
var handleKeyDown = function handleKeyDown(event) {
|
|
4064
|
+
var target = event.target;
|
|
4065
|
+
if (target && (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.tagName === 'SELECT' || target.isContentEditable)) {
|
|
4066
|
+
return;
|
|
4067
|
+
}
|
|
4068
|
+
var shortcutSide = event.key === SIDEBAR_KEYBOARD_SHORTCUT_LEFT ? 'left' : event.key === SIDEBAR_KEYBOARD_SHORTCUT_RIGHT ? 'right' : null;
|
|
4069
|
+
if (!shortcutSide) {
|
|
4070
|
+
return;
|
|
4071
|
+
}
|
|
4072
|
+
event.preventDefault();
|
|
4073
|
+
var toggleSidebar = shortcutSide === 'left' ? leftToggleRef.current : rightToggleRef.current;
|
|
4074
|
+
toggleSidebar == null || toggleSidebar();
|
|
4075
|
+
};
|
|
4076
|
+
window.addEventListener('keydown', handleKeyDown);
|
|
4077
|
+
return function () {
|
|
4078
|
+
return window.removeEventListener('keydown', handleKeyDown);
|
|
4079
|
+
};
|
|
4080
|
+
}, []);
|
|
4081
|
+
return React.createElement(SidebarIsMobileContext.Provider, {
|
|
4082
|
+
value: isMobile
|
|
4083
|
+
}, React.createElement(SidebarLeftContext.Provider, {
|
|
4084
|
+
value: leftState
|
|
4085
|
+
}, React.createElement(SidebarRightContext.Provider, {
|
|
4086
|
+
value: rightState
|
|
3989
4087
|
}, React.createElement(TooltipProvider, {
|
|
3990
4088
|
delayDuration: 0
|
|
3991
4089
|
}, React.createElement("div", _extends({
|
|
@@ -3996,24 +4094,26 @@ var SidebarProvider = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
3996
4094
|
}, style),
|
|
3997
4095
|
className: classNames('display-flex w-100 background-color-secondary', className),
|
|
3998
4096
|
ref: ref
|
|
3999
|
-
}, props), children)));
|
|
4097
|
+
}, props), children)))));
|
|
4000
4098
|
});
|
|
4001
4099
|
SidebarProvider.displayName = 'SidebarProvider';
|
|
4002
|
-
var Sidebar = /*#__PURE__*/React.forwardRef(function (
|
|
4003
|
-
var
|
|
4004
|
-
side =
|
|
4005
|
-
|
|
4006
|
-
collapsible =
|
|
4007
|
-
className =
|
|
4008
|
-
children =
|
|
4009
|
-
props = _objectWithoutPropertiesLoose(
|
|
4010
|
-
var _useSidebar = useSidebar(),
|
|
4100
|
+
var Sidebar = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
|
|
4101
|
+
var _ref3$side = _ref3.side,
|
|
4102
|
+
side = _ref3$side === void 0 ? 'left' : _ref3$side,
|
|
4103
|
+
_ref3$collapsible = _ref3.collapsible,
|
|
4104
|
+
collapsible = _ref3$collapsible === void 0 ? 'offcanvas' : _ref3$collapsible,
|
|
4105
|
+
className = _ref3.className,
|
|
4106
|
+
children = _ref3.children,
|
|
4107
|
+
props = _objectWithoutPropertiesLoose(_ref3, _excluded2);
|
|
4108
|
+
var _useSidebar = useSidebar(side),
|
|
4011
4109
|
isMobile = _useSidebar.isMobile,
|
|
4012
4110
|
state = _useSidebar.state,
|
|
4013
4111
|
openMobile = _useSidebar.openMobile,
|
|
4014
4112
|
setOpenMobile = _useSidebar.setOpenMobile;
|
|
4015
4113
|
if (isMobile) {
|
|
4016
|
-
return React.createElement(
|
|
4114
|
+
return React.createElement(SidebarSideContext.Provider, {
|
|
4115
|
+
value: side
|
|
4116
|
+
}, React.createElement(Drawer, {
|
|
4017
4117
|
isOpen: openMobile,
|
|
4018
4118
|
onDismiss: function onDismiss() {
|
|
4019
4119
|
return setOpenMobile(false);
|
|
@@ -4023,18 +4123,22 @@ var Sidebar = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
4023
4123
|
"data-sidebar": "sidebar",
|
|
4024
4124
|
"data-mobile": "true",
|
|
4025
4125
|
height: "100"
|
|
4026
|
-
}, children));
|
|
4126
|
+
}, children)));
|
|
4027
4127
|
}
|
|
4028
4128
|
if (collapsible === 'none') {
|
|
4029
|
-
return React.createElement(
|
|
4129
|
+
return React.createElement(SidebarSideContext.Provider, {
|
|
4130
|
+
value: side
|
|
4131
|
+
}, React.createElement("div", _extends({
|
|
4030
4132
|
className: classNames('group display-flex h-100 font-size-xs flex-direction-column background-color-secondary font-color-base', className),
|
|
4031
4133
|
style: {
|
|
4032
4134
|
width: 'var(--sidebar-width)'
|
|
4033
4135
|
},
|
|
4034
4136
|
ref: ref
|
|
4035
|
-
}, props), children);
|
|
4137
|
+
}, props), children));
|
|
4036
4138
|
}
|
|
4037
|
-
return React.createElement(
|
|
4139
|
+
return React.createElement(SidebarSideContext.Provider, {
|
|
4140
|
+
value: side
|
|
4141
|
+
}, React.createElement(Box, {
|
|
4038
4142
|
ref: ref,
|
|
4039
4143
|
background: "primary",
|
|
4040
4144
|
display: {
|
|
@@ -4044,6 +4148,9 @@ var Sidebar = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
4044
4148
|
color: "base",
|
|
4045
4149
|
fontSize: "sm",
|
|
4046
4150
|
position: "relative",
|
|
4151
|
+
style: side === 'right' && collapsible === 'offcanvas' ? {
|
|
4152
|
+
overflowX: 'hidden'
|
|
4153
|
+
} : undefined,
|
|
4047
4154
|
"data-state": state,
|
|
4048
4155
|
"data-collapsible": collapsible,
|
|
4049
4156
|
"data-side": side,
|
|
@@ -4055,14 +4162,13 @@ var Sidebar = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
4055
4162
|
transitionDuration: 'var(--sidebar-transition-duration, 200ms)',
|
|
4056
4163
|
animationDuration: 'var(--sidebar-transition-duration, 200ms)',
|
|
4057
4164
|
transitionProperty: 'width',
|
|
4058
|
-
width: state
|
|
4165
|
+
width: getSidebarWidth(state, collapsible),
|
|
4059
4166
|
height: '100svh'
|
|
4060
4167
|
},
|
|
4061
4168
|
className: classNames('position-relative', className)
|
|
4062
4169
|
}), React.createElement("div", _extends({
|
|
4063
4170
|
className: classNames('position-absolute display-none display-flex-desktop ', className),
|
|
4064
|
-
style: {
|
|
4065
|
-
left: state === 'expanded' || collapsible === 'icon' ? '0' : 'calc(var(--sidebar-width)*-1)',
|
|
4171
|
+
style: _extends({}, getSidebarOffsetStyles(side, state, collapsible), {
|
|
4066
4172
|
top: '0',
|
|
4067
4173
|
bottom: '0',
|
|
4068
4174
|
zIndex: 'var(--size-z-index-drawer)',
|
|
@@ -4073,46 +4179,55 @@ var Sidebar = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
4073
4179
|
transitionProperty: 'left, right, width',
|
|
4074
4180
|
width: state === 'collapsed' && collapsible === 'icon' ? 'var(--sidebar-width-icon)' : 'var(--sidebar-width)',
|
|
4075
4181
|
height: '100svh'
|
|
4076
|
-
}
|
|
4182
|
+
})
|
|
4077
4183
|
}, props), React.createElement("div", {
|
|
4078
4184
|
"data-sidebar": "sidebar",
|
|
4079
|
-
className:
|
|
4080
|
-
|
|
4185
|
+
className: classNames('display-flex h-100 w-100 flex-direction-column background-color-secondary font-color-base', {
|
|
4186
|
+
'p-right-lg-desktop': side === 'right'
|
|
4187
|
+
})
|
|
4188
|
+
}, children))));
|
|
4081
4189
|
});
|
|
4082
4190
|
Sidebar.displayName = 'Sidebar';
|
|
4083
|
-
var SidebarTrigger = /*#__PURE__*/React.forwardRef(function (
|
|
4084
|
-
var className =
|
|
4085
|
-
_onClick =
|
|
4086
|
-
|
|
4087
|
-
|
|
4088
|
-
|
|
4191
|
+
var SidebarTrigger = /*#__PURE__*/React.forwardRef(function (_ref4, ref) {
|
|
4192
|
+
var className = _ref4.className,
|
|
4193
|
+
_onClick = _ref4.onClick,
|
|
4194
|
+
side = _ref4.side,
|
|
4195
|
+
_ref4$iconName = _ref4.iconName,
|
|
4196
|
+
iconName = _ref4$iconName === void 0 ? 'dock-left' : _ref4$iconName,
|
|
4197
|
+
props = _objectWithoutPropertiesLoose(_ref4, _excluded3);
|
|
4198
|
+
var _useSidebar2 = useSidebar(side),
|
|
4199
|
+
toggleSidebar = _useSidebar2.toggleSidebar,
|
|
4200
|
+
contextSide = _useSidebar2.side;
|
|
4089
4201
|
return React.createElement(Button, _extends({
|
|
4090
4202
|
ref: ref,
|
|
4091
4203
|
"data-sidebar": "trigger",
|
|
4092
4204
|
variant: "tertiary",
|
|
4093
4205
|
size: "sm",
|
|
4094
|
-
iconPrefix:
|
|
4095
|
-
className: classNames(
|
|
4206
|
+
iconPrefix: iconName,
|
|
4207
|
+
className: classNames({
|
|
4208
|
+
'm-left-sm m-left-0-tablet': contextSide === 'left',
|
|
4209
|
+
'm-right-sm m-right-0-tablet': contextSide === 'right'
|
|
4210
|
+
}, className),
|
|
4096
4211
|
onClick: function onClick(event) {
|
|
4097
4212
|
_onClick == null || _onClick(event);
|
|
4098
4213
|
toggleSidebar();
|
|
4099
4214
|
},
|
|
4100
|
-
"aria-label": "
|
|
4215
|
+
"aria-label": "Toggle " + contextSide + " sidebar"
|
|
4101
4216
|
}, props));
|
|
4102
4217
|
});
|
|
4103
4218
|
SidebarTrigger.displayName = 'SidebarTrigger';
|
|
4104
|
-
var SidebarInset = /*#__PURE__*/React.forwardRef(function (
|
|
4105
|
-
var className =
|
|
4106
|
-
props = _objectWithoutPropertiesLoose(
|
|
4219
|
+
var SidebarInset = /*#__PURE__*/React.forwardRef(function (_ref5, ref) {
|
|
4220
|
+
var className = _ref5.className,
|
|
4221
|
+
props = _objectWithoutPropertiesLoose(_ref5, _excluded4);
|
|
4107
4222
|
return React.createElement("main", _extends({
|
|
4108
4223
|
ref: ref,
|
|
4109
4224
|
className: classNames('display-flex flex-auto flex-direction-column g-lg align-items-flex-start p-h-0 p-top-lg p-bottom-0 p-lg-tablet background-color-secondary', className)
|
|
4110
4225
|
}, props));
|
|
4111
4226
|
});
|
|
4112
4227
|
SidebarInset.displayName = 'SidebarInset';
|
|
4113
|
-
var SidebarHeader = /*#__PURE__*/React.forwardRef(function (
|
|
4114
|
-
var className =
|
|
4115
|
-
props = _objectWithoutPropertiesLoose(
|
|
4228
|
+
var SidebarHeader = /*#__PURE__*/React.forwardRef(function (_ref6, ref) {
|
|
4229
|
+
var className = _ref6.className,
|
|
4230
|
+
props = _objectWithoutPropertiesLoose(_ref6, _excluded5);
|
|
4116
4231
|
var _useSidebar3 = useSidebar(),
|
|
4117
4232
|
state = _useSidebar3.state;
|
|
4118
4233
|
var isCollapsed = state === 'collapsed';
|
|
@@ -4125,9 +4240,9 @@ var SidebarHeader = /*#__PURE__*/React.forwardRef(function (_ref5, ref) {
|
|
|
4125
4240
|
}, props));
|
|
4126
4241
|
});
|
|
4127
4242
|
SidebarHeader.displayName = 'SidebarHeader';
|
|
4128
|
-
var SidebarFooter = /*#__PURE__*/React.forwardRef(function (
|
|
4129
|
-
var className =
|
|
4130
|
-
props = _objectWithoutPropertiesLoose(
|
|
4243
|
+
var SidebarFooter = /*#__PURE__*/React.forwardRef(function (_ref7, ref) {
|
|
4244
|
+
var className = _ref7.className,
|
|
4245
|
+
props = _objectWithoutPropertiesLoose(_ref7, _excluded6);
|
|
4131
4246
|
return React.createElement("div", _extends({
|
|
4132
4247
|
ref: ref,
|
|
4133
4248
|
"data-sidebar": "footer",
|
|
@@ -4135,9 +4250,9 @@ var SidebarFooter = /*#__PURE__*/React.forwardRef(function (_ref6, ref) {
|
|
|
4135
4250
|
}, props));
|
|
4136
4251
|
});
|
|
4137
4252
|
SidebarFooter.displayName = 'SidebarFooter';
|
|
4138
|
-
var SidebarContent = /*#__PURE__*/React.forwardRef(function (
|
|
4139
|
-
var className =
|
|
4140
|
-
props = _objectWithoutPropertiesLoose(
|
|
4253
|
+
var SidebarContent = /*#__PURE__*/React.forwardRef(function (_ref8, ref) {
|
|
4254
|
+
var className = _ref8.className,
|
|
4255
|
+
props = _objectWithoutPropertiesLoose(_ref8, _excluded7);
|
|
4141
4256
|
return React.createElement("div", _extends({
|
|
4142
4257
|
ref: ref,
|
|
4143
4258
|
"data-sidebar": "content",
|
|
@@ -4149,9 +4264,9 @@ var SidebarContent = /*#__PURE__*/React.forwardRef(function (_ref7, ref) {
|
|
|
4149
4264
|
}, props));
|
|
4150
4265
|
});
|
|
4151
4266
|
SidebarContent.displayName = 'SidebarContent';
|
|
4152
|
-
var SidebarMenu = /*#__PURE__*/React.forwardRef(function (
|
|
4153
|
-
var className =
|
|
4154
|
-
props = _objectWithoutPropertiesLoose(
|
|
4267
|
+
var SidebarMenu = /*#__PURE__*/React.forwardRef(function (_ref9, ref) {
|
|
4268
|
+
var className = _ref9.className,
|
|
4269
|
+
props = _objectWithoutPropertiesLoose(_ref9, _excluded8);
|
|
4155
4270
|
return React.createElement("ul", _extends({
|
|
4156
4271
|
ref: ref,
|
|
4157
4272
|
"data-sidebar": "menu",
|
|
@@ -4162,9 +4277,9 @@ var SidebarMenu = /*#__PURE__*/React.forwardRef(function (_ref8, ref) {
|
|
|
4162
4277
|
}, props));
|
|
4163
4278
|
});
|
|
4164
4279
|
SidebarMenu.displayName = 'SidebarMenu';
|
|
4165
|
-
var SidebarMenuItem = /*#__PURE__*/React.forwardRef(function (
|
|
4166
|
-
var className =
|
|
4167
|
-
props = _objectWithoutPropertiesLoose(
|
|
4280
|
+
var SidebarMenuItem = /*#__PURE__*/React.forwardRef(function (_ref0, ref) {
|
|
4281
|
+
var className = _ref0.className,
|
|
4282
|
+
props = _objectWithoutPropertiesLoose(_ref0, _excluded9);
|
|
4168
4283
|
return React.createElement("li", _extends({
|
|
4169
4284
|
ref: ref,
|
|
4170
4285
|
"data-sidebar": "menu-item",
|
|
@@ -4175,18 +4290,19 @@ var SidebarMenuItem = /*#__PURE__*/React.forwardRef(function (_ref9, ref) {
|
|
|
4175
4290
|
}, props));
|
|
4176
4291
|
});
|
|
4177
4292
|
SidebarMenuItem.displayName = 'SidebarMenuItem';
|
|
4178
|
-
var SidebarMenuButton = /*#__PURE__*/React.forwardRef(function (
|
|
4179
|
-
var
|
|
4180
|
-
asChild =
|
|
4181
|
-
|
|
4182
|
-
isActive =
|
|
4183
|
-
tooltip =
|
|
4184
|
-
className =
|
|
4185
|
-
props = _objectWithoutPropertiesLoose(
|
|
4293
|
+
var SidebarMenuButton = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
4294
|
+
var _ref1$asChild = _ref1.asChild,
|
|
4295
|
+
asChild = _ref1$asChild === void 0 ? false : _ref1$asChild,
|
|
4296
|
+
_ref1$isActive = _ref1.isActive,
|
|
4297
|
+
isActive = _ref1$isActive === void 0 ? false : _ref1$isActive,
|
|
4298
|
+
tooltip = _ref1.tooltip,
|
|
4299
|
+
className = _ref1.className,
|
|
4300
|
+
props = _objectWithoutPropertiesLoose(_ref1, _excluded0);
|
|
4186
4301
|
var Comp = asChild ? reactSlot.Slot : 'button';
|
|
4187
4302
|
var _useSidebar4 = useSidebar(),
|
|
4188
4303
|
isMobile = _useSidebar4.isMobile,
|
|
4189
|
-
state = _useSidebar4.state
|
|
4304
|
+
state = _useSidebar4.state,
|
|
4305
|
+
side = _useSidebar4.side;
|
|
4190
4306
|
var button = React.createElement(Comp, _extends({
|
|
4191
4307
|
ref: ref,
|
|
4192
4308
|
"data-sidebar": "menu-button",
|
|
@@ -4207,15 +4323,15 @@ var SidebarMenuButton = /*#__PURE__*/React.forwardRef(function (_ref0, ref) {
|
|
|
4207
4323
|
return React.createElement(Tooltip, null, React.createElement(TooltipTrigger, {
|
|
4208
4324
|
asChild: true
|
|
4209
4325
|
}, button), React.createElement(TooltipContent, _extends({
|
|
4210
|
-
side:
|
|
4326
|
+
side: side === 'right' ? 'left' : 'right',
|
|
4211
4327
|
align: "center",
|
|
4212
4328
|
hidden: state !== 'collapsed' || isMobile
|
|
4213
4329
|
}, tooltip)));
|
|
4214
4330
|
});
|
|
4215
4331
|
SidebarMenuButton.displayName = 'SidebarMenuButton';
|
|
4216
|
-
var SidebarGroup = /*#__PURE__*/React.forwardRef(function (
|
|
4217
|
-
var className =
|
|
4218
|
-
props = _objectWithoutPropertiesLoose(
|
|
4332
|
+
var SidebarGroup = /*#__PURE__*/React.forwardRef(function (_ref10, ref) {
|
|
4333
|
+
var className = _ref10.className,
|
|
4334
|
+
props = _objectWithoutPropertiesLoose(_ref10, _excluded1);
|
|
4219
4335
|
return React.createElement("div", _extends({
|
|
4220
4336
|
ref: ref,
|
|
4221
4337
|
"data-sidebar": "group",
|
|
@@ -4223,9 +4339,9 @@ var SidebarGroup = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
4223
4339
|
}, props));
|
|
4224
4340
|
});
|
|
4225
4341
|
SidebarGroup.displayName = 'SidebarGroup';
|
|
4226
|
-
var SidebarGroupLabel = /*#__PURE__*/React.forwardRef(function (
|
|
4227
|
-
var className =
|
|
4228
|
-
props = _objectWithoutPropertiesLoose(
|
|
4342
|
+
var SidebarGroupLabel = /*#__PURE__*/React.forwardRef(function (_ref11, ref) {
|
|
4343
|
+
var className = _ref11.className,
|
|
4344
|
+
props = _objectWithoutPropertiesLoose(_ref11, _excluded10);
|
|
4229
4345
|
return React.createElement("div", _extends({
|
|
4230
4346
|
ref: ref,
|
|
4231
4347
|
"data-sidebar": "group-label",
|
|
@@ -4233,9 +4349,9 @@ var SidebarGroupLabel = /*#__PURE__*/React.forwardRef(function (_ref10, ref) {
|
|
|
4233
4349
|
}, props));
|
|
4234
4350
|
});
|
|
4235
4351
|
SidebarGroupLabel.displayName = 'SidebarGroupLabel';
|
|
4236
|
-
var SidebarMenuSub = /*#__PURE__*/React.forwardRef(function (
|
|
4237
|
-
var className =
|
|
4238
|
-
props = _objectWithoutPropertiesLoose(
|
|
4352
|
+
var SidebarMenuSub = /*#__PURE__*/React.forwardRef(function (_ref12, ref) {
|
|
4353
|
+
var className = _ref12.className,
|
|
4354
|
+
props = _objectWithoutPropertiesLoose(_ref12, _excluded11);
|
|
4239
4355
|
return React.createElement("ul", _extends({
|
|
4240
4356
|
ref: ref,
|
|
4241
4357
|
"data-sidebar": "menu-sub",
|
|
@@ -4246,19 +4362,19 @@ var SidebarMenuSub = /*#__PURE__*/React.forwardRef(function (_ref11, ref) {
|
|
|
4246
4362
|
}, props));
|
|
4247
4363
|
});
|
|
4248
4364
|
SidebarMenuSub.displayName = 'SidebarMenuSub';
|
|
4249
|
-
var SidebarMenuSubItem = /*#__PURE__*/React.forwardRef(function (
|
|
4250
|
-
var props = _extends({}, (_objectDestructuringEmpty(
|
|
4365
|
+
var SidebarMenuSubItem = /*#__PURE__*/React.forwardRef(function (_ref13, ref) {
|
|
4366
|
+
var props = _extends({}, (_objectDestructuringEmpty(_ref13), _ref13));
|
|
4251
4367
|
return React.createElement("li", _extends({
|
|
4252
4368
|
ref: ref
|
|
4253
4369
|
}, props));
|
|
4254
4370
|
});
|
|
4255
4371
|
SidebarMenuSubItem.displayName = 'SidebarMenuSubItem';
|
|
4256
|
-
var SidebarMenuSubButton = /*#__PURE__*/React.forwardRef(function (
|
|
4257
|
-
var
|
|
4258
|
-
asChild =
|
|
4259
|
-
isActive =
|
|
4260
|
-
className =
|
|
4261
|
-
props = _objectWithoutPropertiesLoose(
|
|
4372
|
+
var SidebarMenuSubButton = /*#__PURE__*/React.forwardRef(function (_ref14, ref) {
|
|
4373
|
+
var _ref14$asChild = _ref14.asChild,
|
|
4374
|
+
asChild = _ref14$asChild === void 0 ? false : _ref14$asChild,
|
|
4375
|
+
isActive = _ref14.isActive,
|
|
4376
|
+
className = _ref14.className,
|
|
4377
|
+
props = _objectWithoutPropertiesLoose(_ref14, _excluded12);
|
|
4262
4378
|
var Comp = asChild ? reactSlot.Slot : 'a';
|
|
4263
4379
|
return React.createElement(Comp, _extends({
|
|
4264
4380
|
ref: ref,
|
|
@@ -4271,11 +4387,11 @@ var SidebarMenuSubButton = /*#__PURE__*/React.forwardRef(function (_ref13, ref)
|
|
|
4271
4387
|
}, props));
|
|
4272
4388
|
});
|
|
4273
4389
|
SidebarMenuSubButton.displayName = 'SidebarMenuSubButton';
|
|
4274
|
-
var SidebarMenuAction = /*#__PURE__*/React.forwardRef(function (
|
|
4275
|
-
var className =
|
|
4276
|
-
|
|
4277
|
-
asChild =
|
|
4278
|
-
props = _objectWithoutPropertiesLoose(
|
|
4390
|
+
var SidebarMenuAction = /*#__PURE__*/React.forwardRef(function (_ref15, ref) {
|
|
4391
|
+
var className = _ref15.className,
|
|
4392
|
+
_ref15$asChild = _ref15.asChild,
|
|
4393
|
+
asChild = _ref15$asChild === void 0 ? false : _ref15$asChild,
|
|
4394
|
+
props = _objectWithoutPropertiesLoose(_ref15, _excluded13);
|
|
4279
4395
|
var Comp = asChild ? reactSlot.Slot : 'button';
|
|
4280
4396
|
return React.createElement(Comp, _extends({
|
|
4281
4397
|
ref: ref,
|
|
@@ -4288,28 +4404,31 @@ var SidebarMenuAction = /*#__PURE__*/React.forwardRef(function (_ref14, ref) {
|
|
|
4288
4404
|
}, props));
|
|
4289
4405
|
});
|
|
4290
4406
|
SidebarMenuAction.displayName = 'SidebarMenuAction';
|
|
4291
|
-
var SidebarRail = /*#__PURE__*/React.forwardRef(function (
|
|
4292
|
-
var className =
|
|
4293
|
-
props = _objectWithoutPropertiesLoose(
|
|
4407
|
+
var SidebarRail = /*#__PURE__*/React.forwardRef(function (_ref16, ref) {
|
|
4408
|
+
var className = _ref16.className,
|
|
4409
|
+
props = _objectWithoutPropertiesLoose(_ref16, _excluded14);
|
|
4294
4410
|
var _useSidebar5 = useSidebar(),
|
|
4295
4411
|
open = _useSidebar5.open,
|
|
4296
|
-
toggleSidebar = _useSidebar5.toggleSidebar
|
|
4297
|
-
|
|
4412
|
+
toggleSidebar = _useSidebar5.toggleSidebar,
|
|
4413
|
+
side = _useSidebar5.side;
|
|
4414
|
+
var shortcutLabel = side === 'left' ? SIDEBAR_KEYBOARD_SHORTCUT_LEFT : SIDEBAR_KEYBOARD_SHORTCUT_RIGHT;
|
|
4415
|
+
var caretIcon = open ? side === 'right' ? 'caret-sm-right' : 'caret-sm-left' : side === 'right' ? 'caret-sm-left' : 'caret-sm-right';
|
|
4298
4416
|
return React.createElement("button", _extends({
|
|
4299
4417
|
ref: ref,
|
|
4300
4418
|
"data-sidebar": "rail",
|
|
4301
4419
|
"aria-label": "Toggle Sidebar",
|
|
4302
4420
|
tabIndex: -1,
|
|
4303
4421
|
onClick: toggleSidebar,
|
|
4304
|
-
title: "Toggle Sidebar
|
|
4422
|
+
title: "Toggle Sidebar " + shortcutLabel,
|
|
4305
4423
|
className: classNames(styles$8.rail, 'hover-show-child background-color-transparent display-flex p-top-5xl p-left-xl p-right-0 justify-content-center position-absolute', {
|
|
4306
|
-
'cursor-w-resize': open,
|
|
4307
|
-
'cursor-e-resize': !open
|
|
4424
|
+
'cursor-w-resize': open && side === 'left' || !open && side === 'right',
|
|
4425
|
+
'cursor-e-resize': !open && side === 'left' || open && side === 'right'
|
|
4308
4426
|
}, className),
|
|
4309
4427
|
style: {
|
|
4310
4428
|
top: '20px',
|
|
4311
4429
|
bottom: '20px',
|
|
4312
|
-
right: '-14px',
|
|
4430
|
+
right: side === 'left' ? '-14px' : undefined,
|
|
4431
|
+
left: side === 'right' ? '-14px' : undefined,
|
|
4313
4432
|
width: '10px'
|
|
4314
4433
|
}
|
|
4315
4434
|
}, props), React.createElement(Box, {
|
|
@@ -4325,17 +4444,17 @@ var SidebarRail = /*#__PURE__*/React.forwardRef(function (_ref15, ref) {
|
|
|
4325
4444
|
alignItems: "center",
|
|
4326
4445
|
justifyContent: "center",
|
|
4327
4446
|
className: classNames('hover-child', {
|
|
4328
|
-
'cursor-w-resize': open,
|
|
4329
|
-
'cursor-e-resize': !open
|
|
4447
|
+
'cursor-w-resize': open && side === 'left' || !open && side === 'right',
|
|
4448
|
+
'cursor-e-resize': !open && side === 'left' || open && side === 'right'
|
|
4330
4449
|
}, className)
|
|
4331
4450
|
}, React.createElement(Icon, {
|
|
4332
4451
|
name: caretIcon
|
|
4333
4452
|
})));
|
|
4334
4453
|
});
|
|
4335
4454
|
SidebarRail.displayName = 'SidebarRail';
|
|
4336
|
-
var SidebarMenuBadge = /*#__PURE__*/React.forwardRef(function (
|
|
4337
|
-
var className =
|
|
4338
|
-
props = _objectWithoutPropertiesLoose(
|
|
4455
|
+
var SidebarMenuBadge = /*#__PURE__*/React.forwardRef(function (_ref17, ref) {
|
|
4456
|
+
var className = _ref17.className,
|
|
4457
|
+
props = _objectWithoutPropertiesLoose(_ref17, _excluded15);
|
|
4339
4458
|
return React.createElement("div", _extends({
|
|
4340
4459
|
ref: ref,
|
|
4341
4460
|
"data-sidebar": "menu-badge",
|