labsense-ui-kit 1.2.74 → 1.2.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +89 -82
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +89 -82
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -9242,8 +9242,8 @@ var ProgressBar = function ProgressBar(_ref3) {
|
|
|
9242
9242
|
}));
|
|
9243
9243
|
};
|
|
9244
9244
|
|
|
9245
|
-
var _templateObject$n, _templateObject2$j, _templateObject3$c, _templateObject4$9, _templateObject5$8, _templateObject6$7;
|
|
9246
|
-
var SidebarContainer = styled__default.div(_templateObject$n || (_templateObject$n = _taggedTemplateLiteralLoose(["\n width: ", ";\n max-width: ", ";\n height: 100vh;\n background: ", ";\n transition:
|
|
9245
|
+
var _templateObject$n, _templateObject2$j, _templateObject3$c, _templateObject4$9, _templateObject5$8, _templateObject6$7, _templateObject7$5;
|
|
9246
|
+
var SidebarContainer = styled__default.div(_templateObject$n || (_templateObject$n = _taggedTemplateLiteralLoose(["\n width: ", ";\n max-width: ", ";\n height: 100vh;\n background: ", ";\n transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1), max-width 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n display: flex;\n flex-direction: column;\n align-items: start;\n padding: 20px;\n position: fixed;\n left: 0;\n top: 0;\n overflow: hidden;\n z-index: 10;\n justify-content: space-between;\n"])), function (_ref) {
|
|
9247
9247
|
var $isExpanded = _ref.$isExpanded;
|
|
9248
9248
|
return $isExpanded ? 'max-content' : '68px';
|
|
9249
9249
|
}, function (_ref2) {
|
|
@@ -9254,7 +9254,7 @@ var SidebarContainer = styled__default.div(_templateObject$n || (_templateObject
|
|
|
9254
9254
|
theme = _ref3.theme;
|
|
9255
9255
|
return $background || theme.vms.accent.softBlue;
|
|
9256
9256
|
});
|
|
9257
|
-
var SidebarLink = styled__default(reactRouterDom.NavLink)(_templateObject2$j || (_templateObject2$j = _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:
|
|
9257
|
+
var SidebarLink = styled__default(reactRouterDom.NavLink)(_templateObject2$j || (_templateObject2$j = _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 (_ref4) {
|
|
9258
9258
|
var $padding = _ref4.$padding;
|
|
9259
9259
|
return $padding;
|
|
9260
9260
|
}, function (_ref5) {
|
|
@@ -9271,50 +9271,65 @@ var SidebarLink = styled__default(reactRouterDom.NavLink)(_templateObject2$j ||
|
|
|
9271
9271
|
return theme.vms.text.white;
|
|
9272
9272
|
}, function (_ref9) {
|
|
9273
9273
|
var theme = _ref9.theme;
|
|
9274
|
+
return theme.vms.text.white;
|
|
9275
|
+
}, function (_ref10) {
|
|
9276
|
+
var theme = _ref10.theme;
|
|
9274
9277
|
return theme.vms["default"].primary;
|
|
9278
|
+
}, function (_ref11) {
|
|
9279
|
+
var theme = _ref11.theme;
|
|
9280
|
+
return theme.vms.text.white;
|
|
9275
9281
|
});
|
|
9276
|
-
var IconWrapper$2 = styled__default.div(_templateObject3$c || (_templateObject3$c = _taggedTemplateLiteralLoose(["\n background: ", ";\n transition:
|
|
9277
|
-
var $selected =
|
|
9278
|
-
theme =
|
|
9282
|
+
var IconWrapper$2 = styled__default.div(_templateObject3$c || (_templateObject3$c = _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 (_ref12) {
|
|
9283
|
+
var $selected = _ref12.$selected,
|
|
9284
|
+
theme = _ref12.theme;
|
|
9279
9285
|
return $selected ? theme.vms["default"].primary : theme.vms["default"].tertiary;
|
|
9280
9286
|
});
|
|
9281
|
-
var
|
|
9282
|
-
var
|
|
9283
|
-
|
|
9287
|
+
var StyledContainer = styled__default(Container)(_templateObject4$9 || (_templateObject4$9 = _taggedTemplateLiteralLoose(["\n transition: none;\n \n &:hover {\n svg {\n color: ", " !important;\n transition: none;\n }\n }\n \n &.active {\n svg {\n color: ", " !important;\n transition: none;\n }\n }\n"])), function (_ref13) {
|
|
9288
|
+
var theme = _ref13.theme;
|
|
9289
|
+
return theme.vms.text.white;
|
|
9290
|
+
}, function (_ref14) {
|
|
9291
|
+
var theme = _ref14.theme;
|
|
9292
|
+
return theme.vms.text.white;
|
|
9293
|
+
});
|
|
9294
|
+
var Logo = styled__default.div(_templateObject5$8 || (_templateObject5$8 = _taggedTemplateLiteralLoose(["\n transition: none;\n display: flex;\n width: 100%;\n min-width: max-content;\n height: 32px;\n align-items: center;\n justify-content: center;\n gap: 10px;\n"])));
|
|
9295
|
+
var TextContainer = styled__default.span(_templateObject6$7 || (_templateObject6$7 = _taggedTemplateLiteralLoose(["\n white-space: nowrap;\n padding: ", ";\n font-size: ", ";\n font-weight: ", ";\n opacity: ", ";\n visibility: ", ";\n transition: none;\n transform: ", ";\n"])), function (_ref15) {
|
|
9296
|
+
var $padding = _ref15.$padding;
|
|
9284
9297
|
return $padding;
|
|
9285
|
-
}, function (
|
|
9286
|
-
var $fontSize =
|
|
9298
|
+
}, function (_ref16) {
|
|
9299
|
+
var $fontSize = _ref16.$fontSize;
|
|
9287
9300
|
return $fontSize || '20px';
|
|
9288
|
-
}, function (
|
|
9289
|
-
var $fontWeight =
|
|
9301
|
+
}, function (_ref17) {
|
|
9302
|
+
var $fontWeight = _ref17.$fontWeight;
|
|
9290
9303
|
return $fontWeight || '500';
|
|
9291
|
-
}, function (
|
|
9292
|
-
var $isExpanded =
|
|
9304
|
+
}, function (_ref18) {
|
|
9305
|
+
var $isExpanded = _ref18.$isExpanded;
|
|
9293
9306
|
return $isExpanded ? 1 : 0;
|
|
9294
|
-
}, function (
|
|
9295
|
-
var $isExpanded =
|
|
9307
|
+
}, function (_ref19) {
|
|
9308
|
+
var $isExpanded = _ref19.$isExpanded;
|
|
9296
9309
|
return $isExpanded ? 'visible' : 'hidden';
|
|
9297
|
-
}, function (
|
|
9298
|
-
var $isExpanded =
|
|
9310
|
+
}, function (_ref20) {
|
|
9311
|
+
var $isExpanded = _ref20.$isExpanded;
|
|
9299
9312
|
return $isExpanded ? 'translateX(0)' : 'translateX(-10px)';
|
|
9300
9313
|
});
|
|
9301
|
-
var NotificationBadge = styled__default.div(
|
|
9302
|
-
var $position =
|
|
9314
|
+
var NotificationBadge = styled__default.div(_templateObject7$5 || (_templateObject7$5 = _taggedTemplateLiteralLoose(["\n position: ", ";\n top: -4px;\n right: -4px;\n background: red;\n color: white;\n font-size: 10px;\n font-weight: bold;\n border-radius: 50%;\n padding: 2px 5px;\n min-width: 16px;\n height: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n"])), function (_ref21) {
|
|
9315
|
+
var $position = _ref21.$position;
|
|
9303
9316
|
return $position || 'absolute';
|
|
9304
9317
|
});
|
|
9305
|
-
var Sidebar = function Sidebar(
|
|
9306
|
-
var logo =
|
|
9307
|
-
content =
|
|
9308
|
-
background =
|
|
9309
|
-
ProfileContent =
|
|
9310
|
-
|
|
9311
|
-
isExpanded =
|
|
9312
|
-
setIsExpanded =
|
|
9318
|
+
var Sidebar = function Sidebar(_ref22) {
|
|
9319
|
+
var logo = _ref22.logo,
|
|
9320
|
+
content = _ref22.content,
|
|
9321
|
+
background = _ref22.background,
|
|
9322
|
+
ProfileContent = _ref22.ProfileContent,
|
|
9323
|
+
_ref22$isExpanded = _ref22.isExpanded,
|
|
9324
|
+
isExpanded = _ref22$isExpanded === void 0 ? false : _ref22$isExpanded,
|
|
9325
|
+
setIsExpanded = _ref22.setIsExpanded;
|
|
9313
9326
|
var location = reactRouterDom.useLocation();
|
|
9314
9327
|
var _useState = React.useState({}),
|
|
9315
9328
|
openMenus = _useState[0],
|
|
9316
9329
|
setOpenMenus = _useState[1];
|
|
9330
|
+
var isExpandedRef = React__default.useRef(isExpanded);
|
|
9317
9331
|
React.useEffect(function () {
|
|
9332
|
+
isExpandedRef.current = isExpanded;
|
|
9318
9333
|
if (!isExpanded) setOpenMenus({});
|
|
9319
9334
|
}, [isExpanded]);
|
|
9320
9335
|
var toggleMenu = function toggleMenu(id) {
|
|
@@ -9345,37 +9360,30 @@ var Sidebar = function Sidebar(_ref18) {
|
|
|
9345
9360
|
return currentBase === getBasePath(child.activeUrl) || currentBase === getBasePath(child.url);
|
|
9346
9361
|
}));
|
|
9347
9362
|
};
|
|
9348
|
-
var ChildLink = React__default.memo(function (
|
|
9349
|
-
var child =
|
|
9350
|
-
isExpanded =
|
|
9363
|
+
var ChildLink = React__default.memo(function (_ref23) {
|
|
9364
|
+
var child = _ref23.child,
|
|
9365
|
+
isExpanded = _ref23.isExpanded;
|
|
9351
9366
|
var themeColors = styled.useTheme();
|
|
9352
9367
|
var location = reactRouterDom.useLocation();
|
|
9353
9368
|
var active = getBasePath(location.pathname) === getBasePath(child.activeUrl) || getBasePath(location.pathname) === getBasePath(child.url);
|
|
9354
|
-
var
|
|
9355
|
-
|
|
9356
|
-
|
|
9369
|
+
var handleClick = React__default.useCallback(function (e) {
|
|
9370
|
+
if (child.url && child.url === location.pathname) {
|
|
9371
|
+
e.preventDefault();
|
|
9372
|
+
}
|
|
9373
|
+
}, [child.url, location.pathname]);
|
|
9357
9374
|
return React__default.createElement(SidebarLink, {
|
|
9358
9375
|
to: child.url || '#',
|
|
9359
9376
|
key: child.id,
|
|
9360
9377
|
"$padding": '0px 10px 0px 0px',
|
|
9361
|
-
onClick:
|
|
9362
|
-
|
|
9363
|
-
e.preventDefault();
|
|
9364
|
-
}
|
|
9365
|
-
},
|
|
9366
|
-
onMouseEnter: function onMouseEnter() {
|
|
9367
|
-
return setIsHovered(true);
|
|
9368
|
-
},
|
|
9369
|
-
onMouseLeave: function onMouseLeave() {
|
|
9370
|
-
return setIsHovered(false);
|
|
9371
|
-
}
|
|
9378
|
+
onClick: handleClick,
|
|
9379
|
+
className: active ? 'active' : ''
|
|
9372
9380
|
}, React__default.createElement(IconWrapper$2, {
|
|
9373
9381
|
"$selected": active
|
|
9374
9382
|
}, React__default.createElement(Icon, {
|
|
9375
9383
|
icon: child.icon,
|
|
9376
9384
|
size: 18,
|
|
9377
9385
|
weight: child.iconWeight,
|
|
9378
|
-
color: active
|
|
9386
|
+
color: active ? themeColors.vms.text.white : themeColors.vms.text.medium
|
|
9379
9387
|
})), React__default.createElement(Container, {
|
|
9380
9388
|
"$width": '100%',
|
|
9381
9389
|
"$justifyContent": 'space-between',
|
|
@@ -9400,25 +9408,23 @@ var Sidebar = function Sidebar(_ref18) {
|
|
|
9400
9408
|
});
|
|
9401
9409
|
}));
|
|
9402
9410
|
};
|
|
9403
|
-
var SidebarItem = function
|
|
9404
|
-
var item =
|
|
9405
|
-
isActive =
|
|
9406
|
-
isOpen =
|
|
9407
|
-
hasChildren =
|
|
9408
|
-
isExpanded =
|
|
9409
|
-
onToggle =
|
|
9410
|
-
renderChildLinks =
|
|
9411
|
+
var SidebarItem = React__default.memo(function (_ref24) {
|
|
9412
|
+
var item = _ref24.item,
|
|
9413
|
+
isActive = _ref24.isActive,
|
|
9414
|
+
isOpen = _ref24.isOpen,
|
|
9415
|
+
hasChildren = _ref24.hasChildren,
|
|
9416
|
+
isExpanded = _ref24.isExpanded,
|
|
9417
|
+
onToggle = _ref24.onToggle,
|
|
9418
|
+
renderChildLinks = _ref24.renderChildLinks;
|
|
9411
9419
|
var themeColors = styled.useTheme();
|
|
9412
|
-
var
|
|
9413
|
-
|
|
9414
|
-
|
|
9415
|
-
|
|
9416
|
-
|
|
9417
|
-
|
|
9418
|
-
|
|
9419
|
-
|
|
9420
|
-
return setIsHovered(false);
|
|
9421
|
-
},
|
|
9420
|
+
var activeClass = isActive ? 'active' : '';
|
|
9421
|
+
var handleClick = React__default.useCallback(function () {
|
|
9422
|
+
if (hasChildren) {
|
|
9423
|
+
onToggle();
|
|
9424
|
+
}
|
|
9425
|
+
}, [hasChildren, onToggle]);
|
|
9426
|
+
var ContentLayout = React__default.createElement(StyledContainer, {
|
|
9427
|
+
className: activeClass,
|
|
9422
9428
|
"$alignItems": 'center',
|
|
9423
9429
|
"$gap": '8px',
|
|
9424
9430
|
"$width": '100%',
|
|
@@ -9426,9 +9432,7 @@ var Sidebar = function Sidebar(_ref18) {
|
|
|
9426
9432
|
"$borderRadius": '4px',
|
|
9427
9433
|
"$justifyContent": 'space-between',
|
|
9428
9434
|
"$hoverBackground": themeColors.vms["default"].primary,
|
|
9429
|
-
onClick:
|
|
9430
|
-
return hasChildren && onToggle();
|
|
9431
|
-
}
|
|
9435
|
+
onClick: handleClick
|
|
9432
9436
|
}, React__default.createElement(Container, {
|
|
9433
9437
|
"$alignItems": 'center',
|
|
9434
9438
|
"$gap": '8px',
|
|
@@ -9443,7 +9447,7 @@ var Sidebar = function Sidebar(_ref18) {
|
|
|
9443
9447
|
icon: item.icon,
|
|
9444
9448
|
size: 20,
|
|
9445
9449
|
weight: item.iconWeight,
|
|
9446
|
-
color:
|
|
9450
|
+
color: isActive ? themeColors.vms.text.white : themeColors.vms.text.medium
|
|
9447
9451
|
})), _getTotalNotifications(item) > 0 && React__default.createElement(NotificationBadge, null, _getTotalNotifications(item) > 99 ? '99+' : _getTotalNotifications(item))), React__default.createElement(TextContainer, {
|
|
9448
9452
|
"$isExpanded": isExpanded,
|
|
9449
9453
|
"$fontSize": '14px'
|
|
@@ -9453,38 +9457,41 @@ var Sidebar = function Sidebar(_ref18) {
|
|
|
9453
9457
|
}, React__default.createElement(Icon, {
|
|
9454
9458
|
icon: isOpen ? 'UpArrow' : 'DownArrow',
|
|
9455
9459
|
size: 10,
|
|
9456
|
-
color:
|
|
9460
|
+
color: isActive ? themeColors.vms.text.white : themeColors.vms.text.medium,
|
|
9457
9461
|
cursor: 'pointer'
|
|
9458
9462
|
})));
|
|
9463
|
+
var handleNavClick = React__default.useCallback(function (e) {
|
|
9464
|
+
if (item.url === location.pathname) {
|
|
9465
|
+
e.preventDefault();
|
|
9466
|
+
}
|
|
9467
|
+
}, [item.url, location.pathname]);
|
|
9459
9468
|
return item.url ? React__default.createElement(SidebarLink, {
|
|
9460
9469
|
to: item.url,
|
|
9461
|
-
onClick:
|
|
9462
|
-
if (item.url === location.pathname) {
|
|
9463
|
-
e.preventDefault();
|
|
9464
|
-
}
|
|
9465
|
-
}
|
|
9470
|
+
onClick: handleNavClick
|
|
9466
9471
|
}, ContentLayout) : React__default.createElement(Container, {
|
|
9467
9472
|
"$flexDirection": 'column',
|
|
9468
9473
|
"$alignItems": 'start',
|
|
9469
9474
|
"$gap": '8px',
|
|
9470
9475
|
"$width": '100%'
|
|
9471
|
-
}, React__default.createElement(
|
|
9476
|
+
}, React__default.createElement(StyledContainer, {
|
|
9472
9477
|
"$color": themeColors.vms.text.medium,
|
|
9473
9478
|
"$hoverColor": themeColors.vms.text.white,
|
|
9474
9479
|
"$width": '100%'
|
|
9475
9480
|
}, ContentLayout), hasChildren && isExpanded && isOpen && renderChildLinks && React__default.createElement(Container, null, renderChildLinks(item.children)));
|
|
9476
|
-
};
|
|
9481
|
+
});
|
|
9482
|
+
var handleSidebarExpansion = React__default.useCallback(function (expanded) {
|
|
9483
|
+
if (isExpandedRef.current !== expanded) {
|
|
9484
|
+
setIsExpanded(expanded);
|
|
9485
|
+
}
|
|
9486
|
+
}, [setIsExpanded]);
|
|
9477
9487
|
return React__default.createElement(SidebarContainer, {
|
|
9478
9488
|
"$background": background,
|
|
9479
9489
|
"$isExpanded": isExpanded,
|
|
9480
9490
|
onMouseEnter: function onMouseEnter() {
|
|
9481
|
-
return
|
|
9491
|
+
return handleSidebarExpansion(true);
|
|
9482
9492
|
},
|
|
9483
9493
|
onMouseLeave: function onMouseLeave() {
|
|
9484
|
-
return
|
|
9485
|
-
},
|
|
9486
|
-
onPointerLeave: function onPointerLeave() {
|
|
9487
|
-
return setIsExpanded(false);
|
|
9494
|
+
return handleSidebarExpansion(false);
|
|
9488
9495
|
}
|
|
9489
9496
|
}, React__default.createElement(Container, {
|
|
9490
9497
|
"$flexDirection": 'column',
|