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