@hyphen/hyphen-components 7.2.0 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3854,7 +3854,7 @@ TooltipContent.displayName = TooltipPrimitive.Content.displayName;
3854
3854
 
3855
3855
  var _excluded$3 = ["defaultOpen", "open", "storageKey", "onOpenChange", "className", "style", "children"],
3856
3856
  _excluded2 = ["side", "collapsible", "className", "children"],
3857
- _excluded3 = ["className", "onClick"],
3857
+ _excluded3 = ["className", "onClick", "side", "iconName"],
3858
3858
  _excluded4 = ["className"],
3859
3859
  _excluded5 = ["className"],
3860
3860
  _excluded6 = ["className"],
@@ -3873,88 +3873,161 @@ var SIDEBAR_WIDTH = '16rem';
3873
3873
  var SIDEBAR_WIDTH_ICON = '44px';
3874
3874
  var SIDEBAR_KEYBOARD_SHORTCUT = '[';
3875
3875
  var SidebarContext = /*#__PURE__*/React__default.createContext(null);
3876
- function useSidebar() {
3877
- var context = React__default.useContext(SidebarContext);
3878
- if (!context) {
3879
- throw new Error('useSidebar must be used within a SidebarProvider.');
3876
+ var SidebarSideContext = /*#__PURE__*/React__default.createContext('left');
3877
+ var resolveSideValue = function resolveSideValue(value, side, fallback) {
3878
+ if (typeof value === 'boolean') {
3879
+ return value;
3880
3880
  }
3881
- return context;
3882
- }
3883
- var SidebarProvider = /*#__PURE__*/forwardRef(function (_ref, ref) {
3884
- var _ref$defaultOpen = _ref.defaultOpen,
3885
- defaultOpen = _ref$defaultOpen === void 0 ? true : _ref$defaultOpen,
3886
- openProp = _ref.open,
3887
- _ref$storageKey = _ref.storageKey,
3888
- storageKey = _ref$storageKey === void 0 ? 'sidebar_expanded' : _ref$storageKey,
3889
- setOpenProp = _ref.onOpenChange,
3890
- className = _ref.className,
3891
- style = _ref.style,
3892
- children = _ref.children,
3893
- props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
3894
- var isMobile = useIsMobile();
3895
- var _useState = useState(function () {
3896
- return isMobile ? false : openProp != null ? openProp : defaultOpen;
3881
+ if (value && typeof value === 'object' && typeof value[side] === 'boolean') {
3882
+ return value[side];
3883
+ }
3884
+ return fallback;
3885
+ };
3886
+ var resolveControlledOpen = function resolveControlledOpen(value, side) {
3887
+ if (typeof value === 'boolean') {
3888
+ return value;
3889
+ }
3890
+ if (value && typeof value === 'object' && typeof value[side] === 'boolean') {
3891
+ return value[side];
3892
+ }
3893
+ return undefined;
3894
+ };
3895
+ var resolveStorageKey = function resolveStorageKey(storageKey, side) {
3896
+ if (typeof storageKey === 'string') {
3897
+ return side === 'left' ? storageKey : storageKey + "_right";
3898
+ }
3899
+ if (storageKey && typeof storageKey === 'object') {
3900
+ var _storageKey$side;
3901
+ return (_storageKey$side = storageKey[side]) != null ? _storageKey$side : side === 'left' ? 'sidebar_expanded' : 'sidebar_expanded_right';
3902
+ }
3903
+ return side === 'left' ? 'sidebar_expanded' : 'sidebar_expanded_right';
3904
+ };
3905
+ var useSidebarSideState = function useSidebarSideState(_ref) {
3906
+ var side = _ref.side,
3907
+ isMobile = _ref.isMobile,
3908
+ defaultOpen = _ref.defaultOpen,
3909
+ openProp = _ref.openProp,
3910
+ onOpenChange = _ref.onOpenChange,
3911
+ storageKey = _ref.storageKey,
3912
+ lastToggledSideRef = _ref.lastToggledSideRef;
3913
+ var defaultFallback = typeof defaultOpen === 'boolean' ? defaultOpen : true;
3914
+ var initialDefaultOpen = resolveSideValue(defaultOpen, side, defaultFallback);
3915
+ var controlledOpen = resolveControlledOpen(openProp, side);
3916
+ var isControlled = typeof controlledOpen === 'boolean';
3917
+ var _useState = useState(controlledOpen != null ? controlledOpen : initialDefaultOpen),
3918
+ uncontrolledOpen = _useState[0],
3919
+ setUncontrolledOpen = _useState[1];
3920
+ var _useState2 = useState(function () {
3921
+ return isMobile ? false : controlledOpen != null ? controlledOpen : initialDefaultOpen;
3897
3922
  }),
3898
- openMobile = _useState[0],
3899
- setOpenMobile = _useState[1];
3900
- // Manages sidebar open state with a fallback to internal state when openProp is not provided
3901
- var _useState2 = useState(openProp != null ? openProp : defaultOpen),
3902
- _open = _useState2[0],
3903
- _setOpen = _useState2[1];
3904
- var open = openProp != null ? openProp : _open;
3905
- // Update open state when openProp or isMobile changes
3923
+ openMobile = _useState2[0],
3924
+ setOpenMobile = _useState2[1];
3925
+ var open = controlledOpen != null ? controlledOpen : uncontrolledOpen;
3906
3926
  useEffect(function () {
3907
3927
  if (isMobile) {
3908
- setOpenMobile(false); // Always start closed on mobile
3928
+ setOpenMobile(false);
3909
3929
  } else {
3910
- _setOpen(openProp != null ? openProp : defaultOpen); // Use desktop state
3930
+ setUncontrolledOpen(controlledOpen != null ? controlledOpen : initialDefaultOpen);
3911
3931
  }
3912
- }, [isMobile, openProp, defaultOpen]);
3932
+ }, [isMobile, controlledOpen, initialDefaultOpen]);
3913
3933
  var setOpen = useCallback(function (value) {
3914
3934
  var newOpenState = typeof value === 'function' ? value(open) : value;
3915
- if (newOpenState !== open) {
3916
- if (setOpenProp) {
3917
- setOpenProp(newOpenState);
3918
- } else {
3919
- _setOpen(newOpenState);
3920
- }
3921
- localStorage.setItem(storageKey, "" + newOpenState);
3935
+ if (newOpenState === open) {
3936
+ return;
3937
+ }
3938
+ if (!isControlled) {
3939
+ setUncontrolledOpen(newOpenState);
3922
3940
  }
3923
- }, [setOpenProp, open, storageKey]);
3924
- // Toggle sidebar based on screen type
3941
+ onOpenChange == null || onOpenChange(newOpenState, side);
3942
+ var key = resolveStorageKey(storageKey, side);
3943
+ localStorage.setItem(key, "" + newOpenState);
3944
+ }, [open, isControlled, onOpenChange, side, storageKey]);
3925
3945
  var toggleSidebar = useCallback(function () {
3926
- isMobile ? setOpenMobile(function (open) {
3927
- return !open;
3928
- }) : setOpen(function (open) {
3929
- return !open;
3946
+ lastToggledSideRef.current = side;
3947
+ isMobile ? setOpenMobile(function (value) {
3948
+ return !value;
3949
+ }) : setOpen(function (value) {
3950
+ return !value;
3930
3951
  });
3931
- }, [isMobile, setOpen, setOpenMobile]);
3952
+ }, [isMobile, setOpen, side, lastToggledSideRef]);
3953
+ var state = open ? 'expanded' : 'collapsed';
3954
+ return useMemo(function () {
3955
+ return {
3956
+ state: state,
3957
+ open: open,
3958
+ setOpen: setOpen,
3959
+ openMobile: openMobile,
3960
+ setOpenMobile: setOpenMobile,
3961
+ toggleSidebar: toggleSidebar
3962
+ };
3963
+ }, [state, open, setOpen, openMobile, setOpenMobile, toggleSidebar]);
3964
+ };
3965
+ function useSidebar(sideOverride) {
3966
+ var context = React__default.useContext(SidebarContext);
3967
+ if (!context) {
3968
+ throw new Error('useSidebar must be used within a SidebarProvider.');
3969
+ }
3970
+ var contextSide = React__default.useContext(SidebarSideContext);
3971
+ var side = sideOverride != null ? sideOverride : contextSide;
3972
+ return _extends({}, context.sides[side], {
3973
+ isMobile: context.isMobile,
3974
+ side: side
3975
+ });
3976
+ }
3977
+ var SidebarProvider = /*#__PURE__*/forwardRef(function (_ref2, ref) {
3978
+ var _ref2$defaultOpen = _ref2.defaultOpen,
3979
+ defaultOpen = _ref2$defaultOpen === void 0 ? true : _ref2$defaultOpen,
3980
+ openProp = _ref2.open,
3981
+ _ref2$storageKey = _ref2.storageKey,
3982
+ storageKey = _ref2$storageKey === void 0 ? 'sidebar_expanded' : _ref2$storageKey,
3983
+ setOpenProp = _ref2.onOpenChange,
3984
+ className = _ref2.className,
3985
+ style = _ref2.style,
3986
+ children = _ref2.children,
3987
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$3);
3988
+ var isMobile = useIsMobile();
3989
+ var lastToggledSideRef = React__default.useRef('left');
3990
+ var leftState = useSidebarSideState({
3991
+ side: 'left',
3992
+ isMobile: isMobile,
3993
+ defaultOpen: defaultOpen,
3994
+ openProp: openProp,
3995
+ onOpenChange: setOpenProp,
3996
+ storageKey: storageKey,
3997
+ lastToggledSideRef: lastToggledSideRef
3998
+ });
3999
+ var rightState = useSidebarSideState({
4000
+ side: 'right',
4001
+ isMobile: isMobile,
4002
+ defaultOpen: defaultOpen,
4003
+ openProp: openProp,
4004
+ onOpenChange: setOpenProp,
4005
+ storageKey: storageKey,
4006
+ lastToggledSideRef: lastToggledSideRef
4007
+ });
3932
4008
  // Keydown event handler for toggling sidebar
3933
4009
  useEffect(function () {
3934
4010
  var handleKeyDown = function handleKeyDown(event) {
3935
4011
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT) {
3936
4012
  event.preventDefault();
3937
- toggleSidebar();
4013
+ var sideToToggle = lastToggledSideRef.current;
4014
+ (sideToToggle === 'left' ? leftState : rightState).toggleSidebar();
3938
4015
  }
3939
4016
  };
3940
4017
  window.addEventListener('keydown', handleKeyDown);
3941
4018
  return function () {
3942
4019
  return window.removeEventListener('keydown', handleKeyDown);
3943
4020
  };
3944
- }, [toggleSidebar]);
3945
- // Assign state for data attributes
3946
- var state = open ? 'expanded' : 'collapsed';
4021
+ }, [leftState, rightState]);
3947
4022
  var contextValue = useMemo(function () {
3948
4023
  return {
3949
- state: state,
3950
- open: open,
3951
- setOpen: setOpen,
3952
4024
  isMobile: isMobile,
3953
- openMobile: openMobile,
3954
- setOpenMobile: setOpenMobile,
3955
- toggleSidebar: toggleSidebar
4025
+ sides: {
4026
+ left: leftState,
4027
+ right: rightState
4028
+ }
3956
4029
  };
3957
- }, [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]);
4030
+ }, [isMobile, leftState, rightState]);
3958
4031
  return React__default.createElement(SidebarContext.Provider, {
3959
4032
  value: contextValue
3960
4033
  }, React__default.createElement(TooltipProvider, {
@@ -3970,21 +4043,23 @@ var SidebarProvider = /*#__PURE__*/forwardRef(function (_ref, ref) {
3970
4043
  }, props), children)));
3971
4044
  });
3972
4045
  SidebarProvider.displayName = 'SidebarProvider';
3973
- var Sidebar = /*#__PURE__*/React__default.forwardRef(function (_ref2, ref) {
3974
- var _ref2$side = _ref2.side,
3975
- side = _ref2$side === void 0 ? 'left' : _ref2$side,
3976
- _ref2$collapsible = _ref2.collapsible,
3977
- collapsible = _ref2$collapsible === void 0 ? 'offcanvas' : _ref2$collapsible,
3978
- className = _ref2.className,
3979
- children = _ref2.children,
3980
- props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
3981
- var _useSidebar = useSidebar(),
4046
+ var Sidebar = /*#__PURE__*/React__default.forwardRef(function (_ref3, ref) {
4047
+ var _ref3$side = _ref3.side,
4048
+ side = _ref3$side === void 0 ? 'left' : _ref3$side,
4049
+ _ref3$collapsible = _ref3.collapsible,
4050
+ collapsible = _ref3$collapsible === void 0 ? 'offcanvas' : _ref3$collapsible,
4051
+ className = _ref3.className,
4052
+ children = _ref3.children,
4053
+ props = _objectWithoutPropertiesLoose(_ref3, _excluded2);
4054
+ var _useSidebar = useSidebar(side),
3982
4055
  isMobile = _useSidebar.isMobile,
3983
4056
  state = _useSidebar.state,
3984
4057
  openMobile = _useSidebar.openMobile,
3985
4058
  setOpenMobile = _useSidebar.setOpenMobile;
3986
4059
  if (isMobile) {
3987
- return React__default.createElement(Drawer, {
4060
+ return React__default.createElement(SidebarSideContext.Provider, {
4061
+ value: side
4062
+ }, React__default.createElement(Drawer, {
3988
4063
  isOpen: openMobile,
3989
4064
  onDismiss: function onDismiss() {
3990
4065
  return setOpenMobile(false);
@@ -3994,18 +4069,22 @@ var Sidebar = /*#__PURE__*/React__default.forwardRef(function (_ref2, ref) {
3994
4069
  "data-sidebar": "sidebar",
3995
4070
  "data-mobile": "true",
3996
4071
  height: "100"
3997
- }, children));
4072
+ }, children)));
3998
4073
  }
3999
4074
  if (collapsible === 'none') {
4000
- return React__default.createElement("div", _extends({
4075
+ return React__default.createElement(SidebarSideContext.Provider, {
4076
+ value: side
4077
+ }, React__default.createElement("div", _extends({
4001
4078
  className: classNames('group display-flex h-100 font-size-xs flex-direction-column background-color-secondary font-color-base', className),
4002
4079
  style: {
4003
4080
  width: 'var(--sidebar-width)'
4004
4081
  },
4005
4082
  ref: ref
4006
- }, props), children);
4083
+ }, props), children));
4007
4084
  }
4008
- return React__default.createElement(Box, {
4085
+ return React__default.createElement(SidebarSideContext.Provider, {
4086
+ value: side
4087
+ }, React__default.createElement(Box, {
4009
4088
  ref: ref,
4010
4089
  background: "primary",
4011
4090
  display: {
@@ -4015,6 +4094,9 @@ var Sidebar = /*#__PURE__*/React__default.forwardRef(function (_ref2, ref) {
4015
4094
  color: "base",
4016
4095
  fontSize: "sm",
4017
4096
  position: "relative",
4097
+ style: side === 'right' && collapsible === 'offcanvas' ? {
4098
+ overflowX: 'hidden'
4099
+ } : undefined,
4018
4100
  "data-state": state,
4019
4101
  "data-collapsible": collapsible,
4020
4102
  "data-side": side,
@@ -4033,7 +4115,8 @@ var Sidebar = /*#__PURE__*/React__default.forwardRef(function (_ref2, ref) {
4033
4115
  }), React__default.createElement("div", _extends({
4034
4116
  className: classNames('position-absolute display-none display-flex-desktop ', className),
4035
4117
  style: {
4036
- left: state === 'expanded' || collapsible === 'icon' ? '0' : 'calc(var(--sidebar-width)*-1)',
4118
+ left: side === 'left' && (state === 'expanded' || collapsible === 'icon') ? '0' : side === 'left' ? 'calc(var(--sidebar-width)*-1)' : undefined,
4119
+ right: side === 'right' && (state === 'expanded' || collapsible === 'icon') ? '0' : side === 'right' ? 'calc(var(--sidebar-width)*-1)' : undefined,
4037
4120
  top: '0',
4038
4121
  bottom: '0',
4039
4122
  zIndex: 'var(--size-z-index-drawer)',
@@ -4047,43 +4130,52 @@ var Sidebar = /*#__PURE__*/React__default.forwardRef(function (_ref2, ref) {
4047
4130
  }
4048
4131
  }, props), React__default.createElement("div", {
4049
4132
  "data-sidebar": "sidebar",
4050
- className: "display-flex h-100 w-100 flex-direction-column background-color-secondary font-color-base"
4051
- }, children)));
4133
+ className: classNames('display-flex h-100 w-100 flex-direction-column background-color-secondary font-color-base', {
4134
+ 'p-right-lg-desktop': side === 'right'
4135
+ })
4136
+ }, children))));
4052
4137
  });
4053
4138
  Sidebar.displayName = 'Sidebar';
4054
- var SidebarTrigger = /*#__PURE__*/React__default.forwardRef(function (_ref3, ref) {
4055
- var className = _ref3.className,
4056
- _onClick = _ref3.onClick,
4057
- props = _objectWithoutPropertiesLoose(_ref3, _excluded3);
4058
- var _useSidebar2 = useSidebar(),
4059
- toggleSidebar = _useSidebar2.toggleSidebar;
4139
+ var SidebarTrigger = /*#__PURE__*/React__default.forwardRef(function (_ref4, ref) {
4140
+ var className = _ref4.className,
4141
+ _onClick = _ref4.onClick,
4142
+ side = _ref4.side,
4143
+ _ref4$iconName = _ref4.iconName,
4144
+ iconName = _ref4$iconName === void 0 ? 'dock-left' : _ref4$iconName,
4145
+ props = _objectWithoutPropertiesLoose(_ref4, _excluded3);
4146
+ var _useSidebar2 = useSidebar(side),
4147
+ toggleSidebar = _useSidebar2.toggleSidebar,
4148
+ contextSide = _useSidebar2.side;
4060
4149
  return React__default.createElement(Button, _extends({
4061
4150
  ref: ref,
4062
4151
  "data-sidebar": "trigger",
4063
4152
  variant: "tertiary",
4064
4153
  size: "sm",
4065
- iconPrefix: "dock-left",
4066
- className: classNames('m-left-sm m-left-0-tablet', className),
4154
+ iconPrefix: iconName,
4155
+ className: classNames({
4156
+ 'm-left-sm m-left-0-tablet': contextSide === 'left',
4157
+ 'm-right-sm m-right-0-tablet': contextSide === 'right'
4158
+ }, className),
4067
4159
  onClick: function onClick(event) {
4068
4160
  _onClick == null || _onClick(event);
4069
4161
  toggleSidebar();
4070
4162
  },
4071
- "aria-label": "toggle sidebar"
4163
+ "aria-label": "Toggle " + contextSide + " sidebar"
4072
4164
  }, props));
4073
4165
  });
4074
4166
  SidebarTrigger.displayName = 'SidebarTrigger';
4075
- var SidebarInset = /*#__PURE__*/React__default.forwardRef(function (_ref4, ref) {
4076
- var className = _ref4.className,
4077
- props = _objectWithoutPropertiesLoose(_ref4, _excluded4);
4167
+ var SidebarInset = /*#__PURE__*/React__default.forwardRef(function (_ref5, ref) {
4168
+ var className = _ref5.className,
4169
+ props = _objectWithoutPropertiesLoose(_ref5, _excluded4);
4078
4170
  return React__default.createElement("main", _extends({
4079
4171
  ref: ref,
4080
4172
  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)
4081
4173
  }, props));
4082
4174
  });
4083
4175
  SidebarInset.displayName = 'SidebarInset';
4084
- var SidebarHeader = /*#__PURE__*/React__default.forwardRef(function (_ref5, ref) {
4085
- var className = _ref5.className,
4086
- props = _objectWithoutPropertiesLoose(_ref5, _excluded5);
4176
+ var SidebarHeader = /*#__PURE__*/React__default.forwardRef(function (_ref6, ref) {
4177
+ var className = _ref6.className,
4178
+ props = _objectWithoutPropertiesLoose(_ref6, _excluded5);
4087
4179
  var _useSidebar3 = useSidebar(),
4088
4180
  state = _useSidebar3.state;
4089
4181
  var isCollapsed = state === 'collapsed';
@@ -4096,9 +4188,9 @@ var SidebarHeader = /*#__PURE__*/React__default.forwardRef(function (_ref5, ref)
4096
4188
  }, props));
4097
4189
  });
4098
4190
  SidebarHeader.displayName = 'SidebarHeader';
4099
- var SidebarFooter = /*#__PURE__*/React__default.forwardRef(function (_ref6, ref) {
4100
- var className = _ref6.className,
4101
- props = _objectWithoutPropertiesLoose(_ref6, _excluded6);
4191
+ var SidebarFooter = /*#__PURE__*/React__default.forwardRef(function (_ref7, ref) {
4192
+ var className = _ref7.className,
4193
+ props = _objectWithoutPropertiesLoose(_ref7, _excluded6);
4102
4194
  return React__default.createElement("div", _extends({
4103
4195
  ref: ref,
4104
4196
  "data-sidebar": "footer",
@@ -4106,9 +4198,9 @@ var SidebarFooter = /*#__PURE__*/React__default.forwardRef(function (_ref6, ref)
4106
4198
  }, props));
4107
4199
  });
4108
4200
  SidebarFooter.displayName = 'SidebarFooter';
4109
- var SidebarContent = /*#__PURE__*/React__default.forwardRef(function (_ref7, ref) {
4110
- var className = _ref7.className,
4111
- props = _objectWithoutPropertiesLoose(_ref7, _excluded7);
4201
+ var SidebarContent = /*#__PURE__*/React__default.forwardRef(function (_ref8, ref) {
4202
+ var className = _ref8.className,
4203
+ props = _objectWithoutPropertiesLoose(_ref8, _excluded7);
4112
4204
  return React__default.createElement("div", _extends({
4113
4205
  ref: ref,
4114
4206
  "data-sidebar": "content",
@@ -4120,9 +4212,9 @@ var SidebarContent = /*#__PURE__*/React__default.forwardRef(function (_ref7, ref
4120
4212
  }, props));
4121
4213
  });
4122
4214
  SidebarContent.displayName = 'SidebarContent';
4123
- var SidebarMenu = /*#__PURE__*/React__default.forwardRef(function (_ref8, ref) {
4124
- var className = _ref8.className,
4125
- props = _objectWithoutPropertiesLoose(_ref8, _excluded8);
4215
+ var SidebarMenu = /*#__PURE__*/React__default.forwardRef(function (_ref9, ref) {
4216
+ var className = _ref9.className,
4217
+ props = _objectWithoutPropertiesLoose(_ref9, _excluded8);
4126
4218
  return React__default.createElement("ul", _extends({
4127
4219
  ref: ref,
4128
4220
  "data-sidebar": "menu",
@@ -4133,9 +4225,9 @@ var SidebarMenu = /*#__PURE__*/React__default.forwardRef(function (_ref8, ref) {
4133
4225
  }, props));
4134
4226
  });
4135
4227
  SidebarMenu.displayName = 'SidebarMenu';
4136
- var SidebarMenuItem = /*#__PURE__*/React__default.forwardRef(function (_ref9, ref) {
4137
- var className = _ref9.className,
4138
- props = _objectWithoutPropertiesLoose(_ref9, _excluded9);
4228
+ var SidebarMenuItem = /*#__PURE__*/React__default.forwardRef(function (_ref0, ref) {
4229
+ var className = _ref0.className,
4230
+ props = _objectWithoutPropertiesLoose(_ref0, _excluded9);
4139
4231
  return React__default.createElement("li", _extends({
4140
4232
  ref: ref,
4141
4233
  "data-sidebar": "menu-item",
@@ -4146,18 +4238,19 @@ var SidebarMenuItem = /*#__PURE__*/React__default.forwardRef(function (_ref9, re
4146
4238
  }, props));
4147
4239
  });
4148
4240
  SidebarMenuItem.displayName = 'SidebarMenuItem';
4149
- var SidebarMenuButton = /*#__PURE__*/React__default.forwardRef(function (_ref0, ref) {
4150
- var _ref0$asChild = _ref0.asChild,
4151
- asChild = _ref0$asChild === void 0 ? false : _ref0$asChild,
4152
- _ref0$isActive = _ref0.isActive,
4153
- isActive = _ref0$isActive === void 0 ? false : _ref0$isActive,
4154
- tooltip = _ref0.tooltip,
4155
- className = _ref0.className,
4156
- props = _objectWithoutPropertiesLoose(_ref0, _excluded0);
4241
+ var SidebarMenuButton = /*#__PURE__*/React__default.forwardRef(function (_ref1, ref) {
4242
+ var _ref1$asChild = _ref1.asChild,
4243
+ asChild = _ref1$asChild === void 0 ? false : _ref1$asChild,
4244
+ _ref1$isActive = _ref1.isActive,
4245
+ isActive = _ref1$isActive === void 0 ? false : _ref1$isActive,
4246
+ tooltip = _ref1.tooltip,
4247
+ className = _ref1.className,
4248
+ props = _objectWithoutPropertiesLoose(_ref1, _excluded0);
4157
4249
  var Comp = asChild ? Slot : 'button';
4158
4250
  var _useSidebar4 = useSidebar(),
4159
4251
  isMobile = _useSidebar4.isMobile,
4160
- state = _useSidebar4.state;
4252
+ state = _useSidebar4.state,
4253
+ side = _useSidebar4.side;
4161
4254
  var button = React__default.createElement(Comp, _extends({
4162
4255
  ref: ref,
4163
4256
  "data-sidebar": "menu-button",
@@ -4178,15 +4271,15 @@ var SidebarMenuButton = /*#__PURE__*/React__default.forwardRef(function (_ref0,
4178
4271
  return React__default.createElement(Tooltip, null, React__default.createElement(TooltipTrigger, {
4179
4272
  asChild: true
4180
4273
  }, button), React__default.createElement(TooltipContent, _extends({
4181
- side: "right",
4274
+ side: side === 'right' ? 'left' : 'right',
4182
4275
  align: "center",
4183
4276
  hidden: state !== 'collapsed' || isMobile
4184
4277
  }, tooltip)));
4185
4278
  });
4186
4279
  SidebarMenuButton.displayName = 'SidebarMenuButton';
4187
- var SidebarGroup = /*#__PURE__*/React__default.forwardRef(function (_ref1, ref) {
4188
- var className = _ref1.className,
4189
- props = _objectWithoutPropertiesLoose(_ref1, _excluded1);
4280
+ var SidebarGroup = /*#__PURE__*/React__default.forwardRef(function (_ref10, ref) {
4281
+ var className = _ref10.className,
4282
+ props = _objectWithoutPropertiesLoose(_ref10, _excluded1);
4190
4283
  return React__default.createElement("div", _extends({
4191
4284
  ref: ref,
4192
4285
  "data-sidebar": "group",
@@ -4194,9 +4287,9 @@ var SidebarGroup = /*#__PURE__*/React__default.forwardRef(function (_ref1, ref)
4194
4287
  }, props));
4195
4288
  });
4196
4289
  SidebarGroup.displayName = 'SidebarGroup';
4197
- var SidebarGroupLabel = /*#__PURE__*/React__default.forwardRef(function (_ref10, ref) {
4198
- var className = _ref10.className,
4199
- props = _objectWithoutPropertiesLoose(_ref10, _excluded10);
4290
+ var SidebarGroupLabel = /*#__PURE__*/React__default.forwardRef(function (_ref11, ref) {
4291
+ var className = _ref11.className,
4292
+ props = _objectWithoutPropertiesLoose(_ref11, _excluded10);
4200
4293
  return React__default.createElement("div", _extends({
4201
4294
  ref: ref,
4202
4295
  "data-sidebar": "group-label",
@@ -4204,9 +4297,9 @@ var SidebarGroupLabel = /*#__PURE__*/React__default.forwardRef(function (_ref10,
4204
4297
  }, props));
4205
4298
  });
4206
4299
  SidebarGroupLabel.displayName = 'SidebarGroupLabel';
4207
- var SidebarMenuSub = /*#__PURE__*/React__default.forwardRef(function (_ref11, ref) {
4208
- var className = _ref11.className,
4209
- props = _objectWithoutPropertiesLoose(_ref11, _excluded11);
4300
+ var SidebarMenuSub = /*#__PURE__*/React__default.forwardRef(function (_ref12, ref) {
4301
+ var className = _ref12.className,
4302
+ props = _objectWithoutPropertiesLoose(_ref12, _excluded11);
4210
4303
  return React__default.createElement("ul", _extends({
4211
4304
  ref: ref,
4212
4305
  "data-sidebar": "menu-sub",
@@ -4217,19 +4310,19 @@ var SidebarMenuSub = /*#__PURE__*/React__default.forwardRef(function (_ref11, re
4217
4310
  }, props));
4218
4311
  });
4219
4312
  SidebarMenuSub.displayName = 'SidebarMenuSub';
4220
- var SidebarMenuSubItem = /*#__PURE__*/React__default.forwardRef(function (_ref12, ref) {
4221
- var props = _extends({}, (_objectDestructuringEmpty(_ref12), _ref12));
4313
+ var SidebarMenuSubItem = /*#__PURE__*/React__default.forwardRef(function (_ref13, ref) {
4314
+ var props = _extends({}, (_objectDestructuringEmpty(_ref13), _ref13));
4222
4315
  return React__default.createElement("li", _extends({
4223
4316
  ref: ref
4224
4317
  }, props));
4225
4318
  });
4226
4319
  SidebarMenuSubItem.displayName = 'SidebarMenuSubItem';
4227
- var SidebarMenuSubButton = /*#__PURE__*/React__default.forwardRef(function (_ref13, ref) {
4228
- var _ref13$asChild = _ref13.asChild,
4229
- asChild = _ref13$asChild === void 0 ? false : _ref13$asChild,
4230
- isActive = _ref13.isActive,
4231
- className = _ref13.className,
4232
- props = _objectWithoutPropertiesLoose(_ref13, _excluded12);
4320
+ var SidebarMenuSubButton = /*#__PURE__*/React__default.forwardRef(function (_ref14, ref) {
4321
+ var _ref14$asChild = _ref14.asChild,
4322
+ asChild = _ref14$asChild === void 0 ? false : _ref14$asChild,
4323
+ isActive = _ref14.isActive,
4324
+ className = _ref14.className,
4325
+ props = _objectWithoutPropertiesLoose(_ref14, _excluded12);
4233
4326
  var Comp = asChild ? Slot : 'a';
4234
4327
  return React__default.createElement(Comp, _extends({
4235
4328
  ref: ref,
@@ -4242,11 +4335,11 @@ var SidebarMenuSubButton = /*#__PURE__*/React__default.forwardRef(function (_ref
4242
4335
  }, props));
4243
4336
  });
4244
4337
  SidebarMenuSubButton.displayName = 'SidebarMenuSubButton';
4245
- var SidebarMenuAction = /*#__PURE__*/React__default.forwardRef(function (_ref14, ref) {
4246
- var className = _ref14.className,
4247
- _ref14$asChild = _ref14.asChild,
4248
- asChild = _ref14$asChild === void 0 ? false : _ref14$asChild,
4249
- props = _objectWithoutPropertiesLoose(_ref14, _excluded13);
4338
+ var SidebarMenuAction = /*#__PURE__*/React__default.forwardRef(function (_ref15, ref) {
4339
+ var className = _ref15.className,
4340
+ _ref15$asChild = _ref15.asChild,
4341
+ asChild = _ref15$asChild === void 0 ? false : _ref15$asChild,
4342
+ props = _objectWithoutPropertiesLoose(_ref15, _excluded13);
4250
4343
  var Comp = asChild ? Slot : 'button';
4251
4344
  return React__default.createElement(Comp, _extends({
4252
4345
  ref: ref,
@@ -4259,13 +4352,14 @@ var SidebarMenuAction = /*#__PURE__*/React__default.forwardRef(function (_ref14,
4259
4352
  }, props));
4260
4353
  });
4261
4354
  SidebarMenuAction.displayName = 'SidebarMenuAction';
4262
- var SidebarRail = /*#__PURE__*/React__default.forwardRef(function (_ref15, ref) {
4263
- var className = _ref15.className,
4264
- props = _objectWithoutPropertiesLoose(_ref15, _excluded14);
4355
+ var SidebarRail = /*#__PURE__*/React__default.forwardRef(function (_ref16, ref) {
4356
+ var className = _ref16.className,
4357
+ props = _objectWithoutPropertiesLoose(_ref16, _excluded14);
4265
4358
  var _useSidebar5 = useSidebar(),
4266
4359
  open = _useSidebar5.open,
4267
- toggleSidebar = _useSidebar5.toggleSidebar;
4268
- var caretIcon = open ? 'caret-sm-left' : 'caret-sm-right';
4360
+ toggleSidebar = _useSidebar5.toggleSidebar,
4361
+ side = _useSidebar5.side;
4362
+ var caretIcon = open ? side === 'right' ? 'caret-sm-right' : 'caret-sm-left' : side === 'right' ? 'caret-sm-left' : 'caret-sm-right';
4269
4363
  return React__default.createElement("button", _extends({
4270
4364
  ref: ref,
4271
4365
  "data-sidebar": "rail",
@@ -4274,13 +4368,14 @@ var SidebarRail = /*#__PURE__*/React__default.forwardRef(function (_ref15, ref)
4274
4368
  onClick: toggleSidebar,
4275
4369
  title: "Toggle Sidebar [",
4276
4370
  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', {
4277
- 'cursor-w-resize': open,
4278
- 'cursor-e-resize': !open
4371
+ 'cursor-w-resize': open && side === 'left' || !open && side === 'right',
4372
+ 'cursor-e-resize': !open && side === 'left' || open && side === 'right'
4279
4373
  }, className),
4280
4374
  style: {
4281
4375
  top: '20px',
4282
4376
  bottom: '20px',
4283
- right: '-14px',
4377
+ right: side === 'left' ? '-14px' : undefined,
4378
+ left: side === 'right' ? '-14px' : undefined,
4284
4379
  width: '10px'
4285
4380
  }
4286
4381
  }, props), React__default.createElement(Box, {
@@ -4296,17 +4391,17 @@ var SidebarRail = /*#__PURE__*/React__default.forwardRef(function (_ref15, ref)
4296
4391
  alignItems: "center",
4297
4392
  justifyContent: "center",
4298
4393
  className: classNames('hover-child', {
4299
- 'cursor-w-resize': open,
4300
- 'cursor-e-resize': !open
4394
+ 'cursor-w-resize': open && side === 'left' || !open && side === 'right',
4395
+ 'cursor-e-resize': !open && side === 'left' || open && side === 'right'
4301
4396
  }, className)
4302
4397
  }, React__default.createElement(Icon, {
4303
4398
  name: caretIcon
4304
4399
  })));
4305
4400
  });
4306
4401
  SidebarRail.displayName = 'SidebarRail';
4307
- var SidebarMenuBadge = /*#__PURE__*/React__default.forwardRef(function (_ref16, ref) {
4308
- var className = _ref16.className,
4309
- props = _objectWithoutPropertiesLoose(_ref16, _excluded15);
4402
+ var SidebarMenuBadge = /*#__PURE__*/React__default.forwardRef(function (_ref17, ref) {
4403
+ var className = _ref17.className,
4404
+ props = _objectWithoutPropertiesLoose(_ref17, _excluded15);
4310
4405
  return React__default.createElement("div", _extends({
4311
4406
  ref: ref,
4312
4407
  "data-sidebar": "menu-badge",