@superdispatch/ui-lab 0.20.3 → 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.
- package/dist-node/index.js +60 -58
- package/dist-node/index.js.map +1 -1
- package/dist-src/navbar/Navbar.js +6 -5
- package/dist-src/navbar/NavbarAccordion.js +18 -17
- package/dist-src/navbar/NavbarAvatar.js +26 -27
- package/dist-src/navbar/NavbarContext.js +3 -2
- package/dist-src/navbar/NavbarItem.js +1 -1
- package/dist-src/navbar/NavbarList.js +6 -6
- package/dist-types/index.d.ts +5 -4
- package/dist-web/index.js +60 -58
- package/dist-web/index.js.map +1 -1
- package/package.json +3 -3
package/dist-node/index.js
CHANGED
|
@@ -1061,8 +1061,9 @@ MultilineText.displayName = 'MultilineText';
|
|
|
1061
1061
|
|
|
1062
1062
|
var NavbarContext = /*#__PURE__*/react.createContext({
|
|
1063
1063
|
isDrawerOpen: false,
|
|
1064
|
-
|
|
1065
|
-
|
|
1064
|
+
isMenuExpanded: false,
|
|
1065
|
+
isNavbarExpanded: false,
|
|
1066
|
+
setMenuExpanded: lodash.noop,
|
|
1066
1067
|
setDrawerOpen: lodash.noop
|
|
1067
1068
|
});
|
|
1068
1069
|
function useNavbarContext() {
|
|
@@ -1137,7 +1138,7 @@ var NavbarLabel = /*#__PURE__*/styled__default.span.withConfig({
|
|
|
1137
1138
|
var NavbarItemRoot = /*#__PURE__*/styled__default.div.withConfig({
|
|
1138
1139
|
displayName: "NavbarItem__NavbarItemRoot",
|
|
1139
1140
|
componentId: "SD__sc-1pvzq3w-2"
|
|
1140
|
-
})(["width:100%;display:flex;align-items:center;color:#c2c4c9;font-size:14px;font-weight:400;line-height:20px;text-decoration:none;outline:none;cursor:pointer;padding:8px 16px;border-left:4px solid transparent;&:hover,&[aria-current]
|
|
1141
|
+
})(["width:100%;display:flex;align-items:center;color:#c2c4c9;font-size:14px;font-weight:400;line-height:20px;text-decoration:none;outline:none;cursor:pointer;padding:8px 16px;border-left:4px solid transparent;&:hover,&[aria-current],&[data-active='true']{color:", ";background-color:#2f394a;border-left-color:", ";}"], ui.Color.White, ui.Color.Blue300);
|
|
1141
1142
|
var IconWrapper$1 = /*#__PURE__*/styled__default.div.withConfig({
|
|
1142
1143
|
displayName: "NavbarItem__IconWrapper",
|
|
1143
1144
|
componentId: "SD__sc-1pvzq3w-3"
|
|
@@ -1192,7 +1193,7 @@ var NavbarAccordionRoot = /*#__PURE__*/styled__default(core.Accordion).withConfi
|
|
|
1192
1193
|
var NavbarAccordionSummary = /*#__PURE__*/styled__default(core.AccordionSummary).withConfig({
|
|
1193
1194
|
displayName: "NavbarAccordion__NavbarAccordionSummary",
|
|
1194
1195
|
componentId: "SD__sc-1s7g3kw-2"
|
|
1195
|
-
})(["border-left:4px solid transparent;padding-left:20px;&.MuiAccordionSummary-root{max-height:40px;min-height:40px;}&:hover,&[data-active='true']{background-color:#2f394a;border-left-color:", ";}&[data-expanded='false']{.MuiAccordionSummary-expandIcon{display:none;}}"], ui.Color.Blue300);
|
|
1196
|
+
})(["border-left:4px solid transparent;padding-left:20px;&.MuiAccordionSummary-root{max-height:40px;min-height:40px;}&.MuiAccordionSummary-content{align-items:center;}&:hover,&[aria-current],&[data-active='true']{color:", ";background-color:#2f394a;border-left-color:", ";}&[data-expanded='false']{.MuiAccordionSummary-expandIcon{display:none;}}"], ui.Color.White, ui.Color.Blue300);
|
|
1196
1197
|
var IconWrapper$2 = /*#__PURE__*/styled__default.div.withConfig({
|
|
1197
1198
|
displayName: "NavbarAccordion__IconWrapper",
|
|
1198
1199
|
componentId: "SD__sc-1s7g3kw-3"
|
|
@@ -1207,45 +1208,46 @@ function NavbarAccordion(_ref2) {
|
|
|
1207
1208
|
} = _ref2;
|
|
1208
1209
|
var uid = ui.useUID();
|
|
1209
1210
|
var {
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
setDrawerOpen
|
|
1211
|
+
setDrawerOpen,
|
|
1212
|
+
isNavbarExpanded
|
|
1213
1213
|
} = useNavbarContext();
|
|
1214
|
-
var [isExpanded, setExpanded] = react.useState(
|
|
1214
|
+
var [isExpanded, setExpanded] = react.useState(true); // sync accordion state with Desktop menu state
|
|
1215
|
+
|
|
1215
1216
|
react.useEffect(() => {
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
}
|
|
1219
|
-
}, [isMenuExpanded]);
|
|
1217
|
+
setExpanded(isNavbarExpanded);
|
|
1218
|
+
}, [isNavbarExpanded]);
|
|
1220
1219
|
return /*#__PURE__*/jsxRuntime.jsxs(NavbarAccordionRoot, {
|
|
1221
|
-
|
|
1220
|
+
square: true,
|
|
1222
1221
|
gutter: !!gutter,
|
|
1222
|
+
"aria-labelledby": uid,
|
|
1223
1223
|
expanded: isExpanded,
|
|
1224
1224
|
onClick: event => {
|
|
1225
|
-
|
|
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":
|
|
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":
|
|
1239
|
+
"data-expanded": isNavbarExpanded,
|
|
1241
1240
|
children: label
|
|
1242
1241
|
})]
|
|
1243
1242
|
}), items.map(item => {
|
|
1244
1243
|
var index = items.indexOf(item);
|
|
1245
1244
|
var prev = items[index - 1];
|
|
1245
|
+
var {
|
|
1246
|
+
ident = 0
|
|
1247
|
+
} = item;
|
|
1246
1248
|
return /*#__PURE__*/react.createElement(NavbarItem, _objectSpread(_objectSpread({}, item), {}, {
|
|
1247
1249
|
key: item.key,
|
|
1248
|
-
ident:
|
|
1250
|
+
ident: ident,
|
|
1249
1251
|
active: item.active,
|
|
1250
1252
|
gutter: prev && prev.groupKey !== item.groupKey,
|
|
1251
1253
|
onClick: event => {
|
|
@@ -1330,12 +1332,12 @@ function NavbarList(_ref5) {
|
|
|
1330
1332
|
var platform = ui.useResponsiveValue('mobile', 'tablet', 'desktop');
|
|
1331
1333
|
var isMobile = platform === 'mobile';
|
|
1332
1334
|
var {
|
|
1333
|
-
|
|
1335
|
+
isMenuExpanded,
|
|
1334
1336
|
isDrawerOpen,
|
|
1335
1337
|
setDrawerOpen,
|
|
1336
|
-
|
|
1338
|
+
setMenuExpanded
|
|
1337
1339
|
} = useNavbarContext();
|
|
1338
|
-
var isSidebarOpened = isMobile ? isDrawerOpen :
|
|
1340
|
+
var isSidebarOpened = isMobile ? isDrawerOpen : isMenuExpanded;
|
|
1339
1341
|
var filteredItems = react.useMemo(() => items.filter(item => {
|
|
1340
1342
|
return !item.hide && (isSidebarOpened || !!item.icon);
|
|
1341
1343
|
}).map(item => _objectSpread(_objectSpread({}, item), {}, {
|
|
@@ -1347,13 +1349,13 @@ function NavbarList(_ref5) {
|
|
|
1347
1349
|
children: [/*#__PURE__*/jsxRuntime.jsxs(Header, {
|
|
1348
1350
|
children: [isSidebarOpened && header, !isMobile && /*#__PURE__*/jsxRuntime.jsx(ExpandIconButton, {
|
|
1349
1351
|
disableRipple: true,
|
|
1350
|
-
style:
|
|
1352
|
+
style: isMenuExpanded ? {
|
|
1351
1353
|
paddingRight: 0
|
|
1352
1354
|
} : {},
|
|
1353
1355
|
onClick: () => {
|
|
1354
|
-
|
|
1356
|
+
setMenuExpanded(!isMenuExpanded);
|
|
1355
1357
|
},
|
|
1356
|
-
children:
|
|
1358
|
+
children: isMenuExpanded ? /*#__PURE__*/jsxRuntime.jsx(icons.MenuOpen, {}) : /*#__PURE__*/jsxRuntime.jsx(icons.Menu, {})
|
|
1357
1359
|
})]
|
|
1358
1360
|
}), /*#__PURE__*/jsxRuntime.jsx(Content, {
|
|
1359
1361
|
"aria-expanded": isSidebarOpened,
|
|
@@ -1414,14 +1416,15 @@ function Navbar(_ref) {
|
|
|
1414
1416
|
var matches = core.useMediaQuery(theme.breakpoints.up('md'), {
|
|
1415
1417
|
noSsr: true
|
|
1416
1418
|
});
|
|
1417
|
-
var [
|
|
1419
|
+
var [isMenuExpanded, setMenuExpanded] = react.useState(matches);
|
|
1418
1420
|
var hasBadge = hasExtraBadge || items.some(item => item.badge);
|
|
1419
1421
|
var ctx = react.useMemo(() => ({
|
|
1420
1422
|
isDrawerOpen,
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1423
|
+
isMenuExpanded,
|
|
1424
|
+
setDrawerOpen,
|
|
1425
|
+
setMenuExpanded,
|
|
1426
|
+
isNavbarExpanded: isMenuExpanded || isDrawerOpen
|
|
1427
|
+
}), [isDrawerOpen, isMenuExpanded, setMenuExpanded, setDrawerOpen]);
|
|
1425
1428
|
return /*#__PURE__*/jsxRuntime.jsx(NavbarContext.Provider, {
|
|
1426
1429
|
value: ctx,
|
|
1427
1430
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -1477,37 +1480,36 @@ function NavbarAvatar(_ref) {
|
|
|
1477
1480
|
props = _objectWithoutProperties(_ref, _excluded$7);
|
|
1478
1481
|
|
|
1479
1482
|
var {
|
|
1480
|
-
|
|
1481
|
-
isDrawerOpen
|
|
1483
|
+
isNavbarExpanded
|
|
1482
1484
|
} = useNavbarContext();
|
|
1483
1485
|
|
|
1484
|
-
if (
|
|
1485
|
-
return /*#__PURE__*/jsxRuntime.
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(ui.Column, {
|
|
1489
|
-
width: "content",
|
|
1490
|
-
children: /*#__PURE__*/jsxRuntime.jsx(core.Avatar, _objectSpread(_objectSpread({}, props), {}, {
|
|
1491
|
-
children: children
|
|
1492
|
-
}))
|
|
1493
|
-
}), /*#__PURE__*/jsxRuntime.jsx(ui.Column, {
|
|
1494
|
-
children: /*#__PURE__*/jsxRuntime.jsxs(ui.Stack, {
|
|
1495
|
-
space: "none",
|
|
1496
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(StyledTypography, {
|
|
1497
|
-
variant: "caption",
|
|
1498
|
-
children: title
|
|
1499
|
-
}), /*#__PURE__*/jsxRuntime.jsx(StyledTypography, {
|
|
1500
|
-
variant: "caption",
|
|
1501
|
-
children: subtitle
|
|
1502
|
-
})]
|
|
1503
|
-
})
|
|
1504
|
-
})]
|
|
1505
|
-
});
|
|
1486
|
+
if (!isNavbarExpanded) {
|
|
1487
|
+
return /*#__PURE__*/jsxRuntime.jsx(core.Avatar, _objectSpread(_objectSpread({}, props), {}, {
|
|
1488
|
+
children: children
|
|
1489
|
+
}));
|
|
1506
1490
|
}
|
|
1507
1491
|
|
|
1508
|
-
return /*#__PURE__*/jsxRuntime.
|
|
1509
|
-
|
|
1510
|
-
|
|
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
|
+
});
|
|
1511
1513
|
}
|
|
1512
1514
|
|
|
1513
1515
|
var Divider = /*#__PURE__*/styled__default.div.withConfig({
|