@superdispatch/ui-lab 0.20.5 → 0.21.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.
@@ -1061,8 +1061,9 @@ MultilineText.displayName = 'MultilineText';
1061
1061
 
1062
1062
  var NavbarContext = /*#__PURE__*/react.createContext({
1063
1063
  isDrawerOpen: false,
1064
- isExpanded: false,
1065
- setIsExpanded: lodash.noop,
1064
+ isMenuExpanded: false,
1065
+ isNavbarExpanded: false,
1066
+ setMenuExpanded: lodash.noop,
1066
1067
  setDrawerOpen: lodash.noop
1067
1068
  });
1068
1069
  function useNavbarContext() {
@@ -1207,37 +1208,35 @@ function NavbarAccordion(_ref2) {
1207
1208
  } = _ref2;
1208
1209
  var uid = ui.useUID();
1209
1210
  var {
1210
- isExpanded: isMenuExpanded,
1211
- isDrawerOpen,
1212
- setDrawerOpen
1211
+ setDrawerOpen,
1212
+ isNavbarExpanded
1213
1213
  } = useNavbarContext();
1214
- var [isExpanded, setExpanded] = react.useState(false);
1214
+ var [isExpanded, setExpanded] = react.useState(true); // sync accordion state with Desktop menu state
1215
+
1215
1216
  react.useEffect(() => {
1216
- if (!isMenuExpanded) {
1217
- setExpanded(false);
1218
- }
1219
- }, [isMenuExpanded]);
1217
+ setExpanded(isNavbarExpanded);
1218
+ }, [isNavbarExpanded]);
1220
1219
  return /*#__PURE__*/jsxRuntime.jsxs(NavbarAccordionRoot, {
1221
- "aria-labelledby": uid,
1220
+ square: true,
1222
1221
  gutter: !!gutter,
1222
+ "aria-labelledby": uid,
1223
1223
  expanded: isExpanded,
1224
1224
  onClick: event => {
1225
- if (isMenuExpanded || isDrawerOpen) {
1225
+ _onClick === null || _onClick === void 0 ? void 0 : _onClick(event);
1226
+
1227
+ if (isNavbarExpanded) {
1226
1228
  setExpanded(!isExpanded);
1227
1229
  }
1228
-
1229
- _onClick(event);
1230
1230
  },
1231
- square: true,
1232
1231
  children: [/*#__PURE__*/jsxRuntime.jsxs(NavbarAccordionSummary, {
1233
1232
  "data-active": !isExpanded && items.some(item => item.active),
1234
- "data-expanded": isMenuExpanded || isDrawerOpen,
1233
+ "data-expanded": isNavbarExpanded,
1235
1234
  expandIcon: /*#__PURE__*/jsxRuntime.jsx(icons.ExpandMore, {}),
1236
1235
  children: [/*#__PURE__*/jsxRuntime.jsx(IconWrapper$2, {
1237
1236
  children: icon
1238
1237
  }), /*#__PURE__*/jsxRuntime.jsx(NavbarAccordionLabel, {
1239
1238
  id: uid,
1240
- "data-expanded": isMenuExpanded || isDrawerOpen,
1239
+ "data-expanded": isNavbarExpanded,
1241
1240
  children: label
1242
1241
  })]
1243
1242
  }), items.map(item => {
@@ -1333,12 +1332,12 @@ function NavbarList(_ref5) {
1333
1332
  var platform = ui.useResponsiveValue('mobile', 'tablet', 'desktop');
1334
1333
  var isMobile = platform === 'mobile';
1335
1334
  var {
1336
- isExpanded,
1335
+ isMenuExpanded,
1337
1336
  isDrawerOpen,
1338
1337
  setDrawerOpen,
1339
- setIsExpanded
1338
+ setMenuExpanded
1340
1339
  } = useNavbarContext();
1341
- var isSidebarOpened = isMobile ? isDrawerOpen : isExpanded;
1340
+ var isSidebarOpened = isMobile ? isDrawerOpen : isMenuExpanded;
1342
1341
  var filteredItems = react.useMemo(() => items.filter(item => {
1343
1342
  return !item.hide && (isSidebarOpened || !!item.icon);
1344
1343
  }).map(item => _objectSpread(_objectSpread({}, item), {}, {
@@ -1350,13 +1349,13 @@ function NavbarList(_ref5) {
1350
1349
  children: [/*#__PURE__*/jsxRuntime.jsxs(Header, {
1351
1350
  children: [isSidebarOpened && header, !isMobile && /*#__PURE__*/jsxRuntime.jsx(ExpandIconButton, {
1352
1351
  disableRipple: true,
1353
- style: isExpanded ? {
1352
+ style: isMenuExpanded ? {
1354
1353
  paddingRight: 0
1355
1354
  } : {},
1356
1355
  onClick: () => {
1357
- setIsExpanded(!isExpanded);
1356
+ setMenuExpanded(!isMenuExpanded);
1358
1357
  },
1359
- children: isExpanded ? /*#__PURE__*/jsxRuntime.jsx(icons.MenuOpen, {}) : /*#__PURE__*/jsxRuntime.jsx(icons.Menu, {})
1358
+ children: isMenuExpanded ? /*#__PURE__*/jsxRuntime.jsx(icons.MenuOpen, {}) : /*#__PURE__*/jsxRuntime.jsx(icons.Menu, {})
1360
1359
  })]
1361
1360
  }), /*#__PURE__*/jsxRuntime.jsx(Content, {
1362
1361
  "aria-expanded": isSidebarOpened,
@@ -1417,14 +1416,15 @@ function Navbar(_ref) {
1417
1416
  var matches = core.useMediaQuery(theme.breakpoints.up('md'), {
1418
1417
  noSsr: true
1419
1418
  });
1420
- var [isExpanded, setIsExpanded] = react.useState(matches);
1419
+ var [isMenuExpanded, setMenuExpanded] = react.useState(matches);
1421
1420
  var hasBadge = hasExtraBadge || items.some(item => item.badge);
1422
1421
  var ctx = react.useMemo(() => ({
1423
1422
  isDrawerOpen,
1424
- isExpanded,
1425
- setIsExpanded,
1426
- setDrawerOpen
1427
- }), [isDrawerOpen, isExpanded, setIsExpanded, setDrawerOpen]);
1423
+ isMenuExpanded,
1424
+ setDrawerOpen,
1425
+ setMenuExpanded,
1426
+ isNavbarExpanded: isMenuExpanded || isDrawerOpen
1427
+ }), [isDrawerOpen, isMenuExpanded, setMenuExpanded, setDrawerOpen]);
1428
1428
  return /*#__PURE__*/jsxRuntime.jsx(NavbarContext.Provider, {
1429
1429
  value: ctx,
1430
1430
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
@@ -1480,37 +1480,36 @@ function NavbarAvatar(_ref) {
1480
1480
  props = _objectWithoutProperties(_ref, _excluded$7);
1481
1481
 
1482
1482
  var {
1483
- isExpanded,
1484
- isDrawerOpen
1483
+ isNavbarExpanded
1485
1484
  } = useNavbarContext();
1486
1485
 
1487
- if (isExpanded || isDrawerOpen) {
1488
- return /*#__PURE__*/jsxRuntime.jsxs(ui.Columns, {
1489
- space: "xsmall",
1490
- align: "center",
1491
- children: [/*#__PURE__*/jsxRuntime.jsx(ui.Column, {
1492
- width: "content",
1493
- children: /*#__PURE__*/jsxRuntime.jsx(core.Avatar, _objectSpread(_objectSpread({}, props), {}, {
1494
- children: children
1495
- }))
1496
- }), /*#__PURE__*/jsxRuntime.jsx(ui.Column, {
1497
- children: /*#__PURE__*/jsxRuntime.jsxs(ui.Stack, {
1498
- space: "none",
1499
- children: [/*#__PURE__*/jsxRuntime.jsx(StyledTypography, {
1500
- variant: "caption",
1501
- children: title
1502
- }), /*#__PURE__*/jsxRuntime.jsx(StyledTypography, {
1503
- variant: "caption",
1504
- children: subtitle
1505
- })]
1506
- })
1507
- })]
1508
- });
1486
+ if (!isNavbarExpanded) {
1487
+ return /*#__PURE__*/jsxRuntime.jsx(core.Avatar, _objectSpread(_objectSpread({}, props), {}, {
1488
+ children: children
1489
+ }));
1509
1490
  }
1510
1491
 
1511
- return /*#__PURE__*/jsxRuntime.jsx(core.Avatar, _objectSpread(_objectSpread({}, props), {}, {
1512
- children: children
1513
- }));
1492
+ return /*#__PURE__*/jsxRuntime.jsxs(ui.Columns, {
1493
+ space: "xsmall",
1494
+ align: "center",
1495
+ children: [/*#__PURE__*/jsxRuntime.jsx(ui.Column, {
1496
+ width: "content",
1497
+ children: /*#__PURE__*/jsxRuntime.jsx(core.Avatar, _objectSpread(_objectSpread({}, props), {}, {
1498
+ children: children
1499
+ }))
1500
+ }), /*#__PURE__*/jsxRuntime.jsx(ui.Column, {
1501
+ children: /*#__PURE__*/jsxRuntime.jsxs(ui.Stack, {
1502
+ space: "none",
1503
+ children: [/*#__PURE__*/jsxRuntime.jsx(StyledTypography, {
1504
+ variant: "caption",
1505
+ children: title
1506
+ }), /*#__PURE__*/jsxRuntime.jsx(StyledTypography, {
1507
+ variant: "caption",
1508
+ children: subtitle
1509
+ })]
1510
+ })
1511
+ })]
1512
+ });
1514
1513
  }
1515
1514
 
1516
1515
  var Divider = /*#__PURE__*/styled__default.div.withConfig({