labsense-ui-kit 1.4.24 → 1.4.26

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.
@@ -12,6 +12,7 @@ interface ButtonDropdownProps {
12
12
  placeholder?: string;
13
13
  disabled?: boolean;
14
14
  width?: string;
15
+ dropDownPosition?: 'left' | 'center' | 'right';
15
16
  }
16
17
  declare const ButtonDropdown: React.FC<ButtonDropdownProps>;
17
18
  export default ButtonDropdown;
package/dist/index.js CHANGED
@@ -9933,7 +9933,8 @@ var ButtonDropdown = function ButtonDropdown(_ref) {
9933
9933
  placeholder = _ref$placeholder === void 0 ? 'Select Option' : _ref$placeholder,
9934
9934
  _ref$disabled = _ref.disabled,
9935
9935
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
9936
- width = _ref.width;
9936
+ width = _ref.width,
9937
+ dropDownPosition = _ref.dropDownPosition;
9937
9938
  var _useState = React.useState(false),
9938
9939
  isOpen = _useState[0],
9939
9940
  setIsOpen = _useState[1];
@@ -9963,15 +9964,17 @@ var ButtonDropdown = function ButtonDropdown(_ref) {
9963
9964
  } else {
9964
9965
  setDropUp(false);
9965
9966
  }
9966
- var dropdownWidth = rect.width;
9967
- var spaceRight = windowWidth - rect.left;
9968
- var spaceLeft = rect.right;
9969
- if (spaceRight < dropdownWidth && spaceLeft > dropdownWidth) {
9970
- setDropdownPosition('right');
9971
- } else if (rect.left < dropdownWidth / 2 && windowWidth - rect.right < dropdownWidth / 2) {
9972
- setDropdownPosition('center');
9973
- } else {
9974
- setDropdownPosition('left');
9967
+ if (!dropDownPosition) {
9968
+ var dropdownWidth = rect.width;
9969
+ var spaceRight = windowWidth - rect.left;
9970
+ var spaceLeft = rect.right;
9971
+ if (spaceRight < dropdownWidth && spaceLeft > dropdownWidth) {
9972
+ setDropdownPosition('right');
9973
+ } else if (rect.left < dropdownWidth / 2 && windowWidth - rect.right < dropdownWidth / 2) {
9974
+ setDropdownPosition('center');
9975
+ } else {
9976
+ setDropdownPosition('left');
9977
+ }
9975
9978
  }
9976
9979
  }
9977
9980
  setIsOpen(function (prev) {
@@ -10003,7 +10006,7 @@ var ButtonDropdown = function ButtonDropdown(_ref) {
10003
10006
  "$top": dropUp ? 'auto' : '126%',
10004
10007
  "$bottom": dropUp ? '126%' : 'auto',
10005
10008
  "$optionsAvailable": options.length > 0,
10006
- "$dropDownPosition": dropdownPosition
10009
+ "$dropDownPosition": dropDownPosition || dropdownPosition
10007
10010
  }, options.map(function (option) {
10008
10011
  return React__default.createElement(Options, {
10009
10012
  key: option.value,
@@ -11600,7 +11603,7 @@ var SidebarContainer = styled__default.div(_templateObject3$c || (_templateObjec
11600
11603
  var $isMobileOpen = _ref7.$isMobileOpen;
11601
11604
  return $isMobileOpen ? 'visible' : 'hidden';
11602
11605
  });
11603
- var SidebarLink = styled__default(reactRouterDom.NavLink)(_templateObject4$9 || (_templateObject4$9 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n height: 28px;\n width: 100%;\n gap: 10px;\n cursor: pointer;\n border-radius: 4px;\n text-decoration: none;\n transition: none;\n padding: ", ";\n color: ", ";\n\n /* Hover state */\n &:hover {\n color: ", ";\n background: ", ";\n \n /* Make icons white on hover */\n svg {\n color: ", " !important;\n transition: none;\n }\n }\n\n /* Active link state */\n &.active {\n color: ", ";\n background: ", ";\n \n /* Make icons white when active */\n svg {\n color: ", " !important;\n transition: none;\n }\n }\n"])), function (_ref8) {
11606
+ var SidebarLink = styled__default(reactRouterDom.NavLink)(_templateObject4$9 || (_templateObject4$9 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n height: 28px;\n width: 100%;\n gap: 10px;\n cursor: pointer;\n border-radius: 4px;\n text-decoration: none;\n transition: none;\n padding: ", ";\n color: ", ";\n\n /* Remove all transitions for instant color changes */\n * {\n transition: none !important;\n }\n\n /* Hover state */\n &:hover {\n color: ", ";\n background: ", ";\n \n /* Make icons white on hover */\n svg {\n color: ", " !important;\n }\n }\n\n /* Active link state */\n &.active {\n color: ", ";\n background: ", ";\n \n /* Make icons white when active */\n svg {\n color: ", " !important;\n }\n }\n"])), function (_ref8) {
11604
11607
  var $padding = _ref8.$padding;
11605
11608
  return $padding;
11606
11609
  }, function (_ref9) {
@@ -11625,7 +11628,7 @@ var SidebarLink = styled__default(reactRouterDom.NavLink)(_templateObject4$9 ||
11625
11628
  var theme = _ref15.theme;
11626
11629
  return theme.vms.text.white;
11627
11630
  });
11628
- var IconWrapper$2 = styled__default.div(_templateObject5$8 || (_templateObject5$8 = _taggedTemplateLiteralLoose(["\n background: ", ";\n transition: none;\n padding: 4px;\n border-radius: 4px;\n width: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n"])), function (_ref16) {
11631
+ var IconWrapper$2 = styled__default.div(_templateObject5$8 || (_templateObject5$8 = _taggedTemplateLiteralLoose(["\n background: ", ";\n transition: none;\n padding: 4px;\n border-radius: 4px;\n width: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n /* Ensure icons inherit hover color from parent */\n svg {\n transition: none;\n }\n"])), function (_ref16) {
11629
11632
  var $selected = _ref16.$selected,
11630
11633
  theme = _ref16.theme;
11631
11634
  return $selected ? theme.vms["default"].primary : theme.vms["default"].tertiary;
@@ -11647,7 +11650,7 @@ var StyledContainer = styled__default(Container)(_templateObject6$8 || (_templat
11647
11650
  return theme.vms.text.medium;
11648
11651
  });
11649
11652
  var Logo = styled__default(Container)(_templateObject7$6 || (_templateObject7$6 = _taggedTemplateLiteralLoose(["\n transition: none;\n display: flex;\n width: 100%;\n min-width: max-content;\n align-items: center;\n justify-content: center;\n gap: 10px;\n"])));
11650
- var TextContainer = styled__default.span(_templateObject8$5 || (_templateObject8$5 = _taggedTemplateLiteralLoose(["\n white-space: nowrap;\n opacity: 0;\n visibility: hidden;\n transform: translateX(-10px);\n transition: all 0.3s ease;\n padding: ", ";\n font-size: ", ";\n font-weight: ", ";\n\n ", ":hover & {\n opacity: 1;\n visibility: visible;\n transform: translateX(0);\n }\n\n /* Mobile: Always visible when sidebar is open */\n @media (max-width: ", ") {\n opacity: 1;\n visibility: visible;\n transform: translateX(0);\n }\n"])), function (_ref22) {
11653
+ var TextContainer = styled__default.span(_templateObject8$5 || (_templateObject8$5 = _taggedTemplateLiteralLoose(["\n white-space: nowrap;\n opacity: 0;\n visibility: hidden;\n transform: translateX(-10px);\n transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;\n padding: ", ";\n font-size: ", ";\n font-weight: ", ";\n\n ", ":hover & {\n opacity: 1;\n visibility: visible;\n transform: translateX(0);\n }\n\n /* Mobile: Always visible when sidebar is open */\n @media (max-width: ", ") {\n opacity: 1;\n visibility: visible;\n transform: translateX(0);\n }\n"])), function (_ref22) {
11651
11654
  var $padding = _ref22.$padding;
11652
11655
  return $padding;
11653
11656
  }, function (_ref23) {
@@ -11762,7 +11765,6 @@ var Sidebar = function Sidebar(_ref26) {
11762
11765
  };
11763
11766
  var ChildLink = function ChildLink(_ref28) {
11764
11767
  var child = _ref28.child;
11765
- var themeColors = styled.useTheme();
11766
11768
  var location = reactRouterDom.useLocation();
11767
11769
  var active = getBasePath(location.pathname) === getBasePath(child.activeUrl) || getBasePath(location.pathname) === getBasePath(child.url);
11768
11770
  var handleClick = React.useCallback(function (e) {
@@ -11784,7 +11786,7 @@ var Sidebar = function Sidebar(_ref26) {
11784
11786
  icon: child.icon,
11785
11787
  size: 18,
11786
11788
  weight: child.iconWeight,
11787
- color: active ? themeColors.vms.text.white : themeColors.vms.text.medium
11789
+ color: 'currentColor'
11788
11790
  })), React__default.createElement(Container, {
11789
11791
  "$width": '100%',
11790
11792
  "$justifyContent": 'space-between',
@@ -11860,7 +11862,7 @@ var Sidebar = function Sidebar(_ref26) {
11860
11862
  icon: item.icon,
11861
11863
  size: 20,
11862
11864
  weight: item.iconWeight,
11863
- color: isActive ? themeColors.vms.text.white : themeColors.vms.text.medium
11865
+ color: 'currentColor'
11864
11866
  })), getTotalNotifications(item) > 0 && ReactDOM.createPortal(React__default.createElement(NotificationBadge, {
11865
11867
  id: "badge-" + item.id,
11866
11868
  style: {
@@ -11875,7 +11877,7 @@ var Sidebar = function Sidebar(_ref26) {
11875
11877
  cursor: 'pointer',
11876
11878
  icon: isOpen ? 'UpArrow' : 'DownArrow',
11877
11879
  size: 10,
11878
- color: isActive ? themeColors.vms.text.white : themeColors.vms.text.medium
11880
+ color: 'currentColor'
11879
11881
  })));
11880
11882
  var handleNavClick = React.useCallback(function (e) {
11881
11883
  if (item.url === location.pathname) {