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