@linzjs/lui 17.36.1 → 17.36.3

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/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [17.36.3](https://github.com/linz/lui/compare/v17.36.2...v17.36.3) (2023-02-20)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * add LuiCloseableHeaderMenuContextV2 and update LuiDrawerMenuOptionsV2 ([#861](https://github.com/linz/lui/issues/861)) ([612c6b4](https://github.com/linz/lui/commit/612c6b47970107023dd9a00c175a3fbfe9a1f742))
7
+
8
+ ## [17.36.2](https://github.com/linz/lui/compare/v17.36.1...v17.36.2) (2023-02-20)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * update LiuHeaderHeaderV2 menuitem selected/hover colors, close … ([#860](https://github.com/linz/lui/issues/860)) ([6ab1023](https://github.com/linz/lui/commit/6ab10232cf8bac5be52575cb509ebfb00e2b25e2))
14
+
1
15
  ## [17.36.1](https://github.com/linz/lui/compare/v17.36.0...v17.36.1) (2023-02-19)
2
16
 
3
17
 
@@ -14,7 +14,13 @@ declare const LuiHeaderMenuItemV2: React.ForwardRefExoticComponent<ILuiHeaderMen
14
14
  children?: ReactNode;
15
15
  iconColor?: string | undefined;
16
16
  } & React.RefAttributes<HTMLDivElement>>;
17
+ interface ILuiCloseableHeaderMenuContextV2 {
18
+ isOpen: () => boolean;
19
+ open: () => void;
20
+ close: () => void;
21
+ }
22
+ declare const LuiCloseableHeaderMenuContextV2: React.Context<ILuiCloseableHeaderMenuContextV2>;
17
23
  declare const LuiCloseableHeaderMenuItemV2: ({ open, setOpen, children, ...props }: ILuiCloseableHeaderMenuItem & {
18
24
  children?: ReactNode;
19
25
  }) => JSX.Element;
20
- export { LuiHeaderV2, LuiHeaderMenuItemV2, LuiCloseableHeaderMenuItemV2 };
26
+ export { LuiHeaderV2, LuiHeaderMenuItemV2, LuiCloseableHeaderMenuItemV2, LuiCloseableHeaderMenuContextV2, };
package/dist/index.js CHANGED
@@ -40329,15 +40329,28 @@ var LuiHeaderV2 = function (_a) {
40329
40329
  };
40330
40330
  var LuiHeaderMenuItemV2 = React$1.forwardRef(function (_a, ref) {
40331
40331
  var icon = _a.icon, _b = _a.iconColor, iconColor = _b === void 0 ? '#E2F3F7' : _b, label = _a.label, badge = _a.badge, hide = _a.hide, onClick = _a.onClick, _c = _a["data-testid"], dataTestId = _c === void 0 ? 'menu-item' : _c, children = _a.children;
40332
+ var _d = React$1.useState(false), selected = _d[0], setSelected = _d[1];
40333
+ // clicking toggle selected
40334
+ // escape and click outside unselect
40335
+ useEscapeFunction(function () { return setSelected(false); });
40336
+ var innerItemRef = usePageClickFunction(function () { return setSelected(function (prevSelected) { return !prevSelected; }); }, // toggle selcted
40337
+ function () { return setSelected(false); });
40332
40338
  var menuItemClasses = clsx$1('LuiHeaderV2-menu-item', hide && buildHideClassDict(hide));
40333
40339
  var resolvedIcon = !icon && !label ? 'ic_menu' : icon;
40334
40340
  return (React__default["default"].createElement("div", { className: menuItemClasses, ref: ref },
40335
- React__default["default"].createElement("div", { className: "LuiHeaderV2-menu-button" },
40336
- resolvedIcon && (React__default["default"].createElement("div", { className: clsx$1('LuiHeaderV2-menu-icon', onClick && 'clickable'), "data-testid": dataTestId, onClick: onClick },
40341
+ React__default["default"].createElement("div", { ref: innerItemRef, className: clsx$1('LuiHeaderV2-menu-button', { selected: selected }, { unselected: !selected }) },
40342
+ resolvedIcon && (React__default["default"].createElement("div", { className: clsx$1('LuiHeaderV2-menu-icon', {
40343
+ clickable: !!onClick
40344
+ }), "data-testid": dataTestId, onClick: onClick },
40337
40345
  React__default["default"].createElement(LuiIcon, { size: "lg", name: resolvedIcon, alt: '', color: iconColor }))),
40338
40346
  label && (React__default["default"].createElement("div", { className: clsx$1(onClick && 'clickable', { 'LuiHeaderV2-menu-label': !!resolvedIcon }, { 'LuiHeaderV2-menu-label-only': !resolvedIcon }), onClick: onClick }, label)),
40339
40347
  badge && React__default["default"].createElement("div", { className: "LuiHeaderV2-badge" }, badge)),
40340
- !!children && children));
40348
+ !!children && React__default["default"].createElement("div", { onClick: onClick }, children)));
40349
+ });
40350
+ var LuiCloseableHeaderMenuContextV2 = React$1.createContext({
40351
+ isOpen: function () { return false; },
40352
+ open: function () { },
40353
+ close: function () { }
40341
40354
  });
40342
40355
  var LuiCloseableHeaderMenuItemV2 = function (_a) {
40343
40356
  var open = _a.open, setOpen = _a.setOpen, children = _a.children, props = __rest$1(_a, ["open", "setOpen", "children"]);
@@ -40447,7 +40460,7 @@ var LuiDrawerMenuOptionsV2 = function (_a) {
40447
40460
  };
40448
40461
  var LuiDrawerMenuOptionV2 = function (_a) {
40449
40462
  var icon = _a.icon, iconColor = _a.iconColor, label = _a.label, badge = _a.badge, _b = _a.iconSize, iconSize = _b === void 0 ? 'md' : _b, _c = _a.subMenu, subMenu = _c === void 0 ? false : _c, _d = _a.onClick, onClick = _d === void 0 ? function () { } : _d;
40450
- var menu = React$1.useContext(LuiCloseableHeaderMenuContext);
40463
+ var menu = React$1.useContext(LuiCloseableHeaderMenuContextV2);
40451
40464
  return (React__default["default"].createElement("div", { className: "LuiHeaderMenuV2-drawer-option", onClick: function () {
40452
40465
  if (!subMenu) {
40453
40466
  menu.close();
@@ -40462,7 +40475,7 @@ var LuiDrawerMenuOptionV2 = function (_a) {
40462
40475
  var LuiDrawerMenuV2 = function (_a) {
40463
40476
  var children = _a.children, _b = _a.hasStickyHeader, hasStickyHeader = _b === void 0 ? true : _b, menuPropsCopy = __rest$1(_a, ["children", "hasStickyHeader"]);
40464
40477
  var _c = React$1.useState(false), open = _c[0], setOpen = _c[1];
40465
- var closeableMenuProps = __assign$3(__assign$3({}, menuPropsCopy), { open: open, setOpen: setOpen, icon: open ? 'ic_clear' : 'ic_menu', onClick: function () { return setOpen(!open); } });
40478
+ var closeableMenuProps = __assign$3(__assign$3({}, menuPropsCopy), { open: open, setOpen: setOpen, icon: open ? 'ic_clear' : 'ic_menu', onClick: function () { return setOpen(function (preOpen) { return !preOpen; }); } });
40466
40479
  React$1.useEffect(function () {
40467
40480
  // Support for non-sticky headers. Scroll back to top when menu is opened
40468
40481
  if (open && !hasStickyHeader) {
@@ -40508,15 +40521,20 @@ var LuiDropdownMenuV2 = function (_a) {
40508
40521
  'LuiHeaderMenuV2-dropdown-open': open
40509
40522
  }, {
40510
40523
  'LuiHeaderMenuV2-dropdown-closed': open !== null && !open
40511
- }), "data-testid": 'dropdown', "aria-hidden": !open },
40512
- children,
40513
- ' '))));
40524
+ }), "data-testid": 'dropdown', "aria-hidden": !open }, children))));
40514
40525
  };
40515
40526
  var LuiDrawerMenuSectionV2 = function (props) {
40516
- return React__default["default"].createElement(LuiDrawerMenuSection, __assign$3({}, props));
40527
+ var children = props.children, title = props.title, collapsible = props.collapsible;
40528
+ return (React__default["default"].createElement("div", null,
40529
+ collapsible && (React__default["default"].createElement(LuiExpandableBanner, { label: title || '', className: "LuiDrawerMenuSectionV2-header" }, children)),
40530
+ !collapsible && (React__default["default"].createElement(React__default["default"].Fragment, null,
40531
+ title && (React__default["default"].createElement("div", { className: "LuiDrawerMenuSectionV2-header" },
40532
+ React__default["default"].createElement("div", { className: 'lui-expand-header', style: { cursor: 'default' } },
40533
+ React__default["default"].createElement("h3", null, title)))),
40534
+ children))));
40517
40535
  };
40518
40536
  var LuiDrawerMenuDividerV2 = function () {
40519
- return React__default["default"].createElement(LuiDrawerMenuDivider, null);
40537
+ return React__default["default"].createElement("hr", { className: "LuiDrawerMenuDividerV2" });
40520
40538
  };
40521
40539
 
40522
40540
  var lib = {exports: {}};
@@ -58550,6 +58568,7 @@ exports.LuiButton = LuiButton;
58550
58568
  exports.LuiButtonGroup = LuiButtonGroup;
58551
58569
  exports.LuiCheckboxInput = LuiCheckboxInput;
58552
58570
  exports.LuiCloseableHeaderMenuContext = LuiCloseableHeaderMenuContext;
58571
+ exports.LuiCloseableHeaderMenuContextV2 = LuiCloseableHeaderMenuContextV2;
58553
58572
  exports.LuiCloseableHeaderMenuItem = LuiCloseableHeaderMenuItem;
58554
58573
  exports.LuiCloseableHeaderMenuItemV2 = LuiCloseableHeaderMenuItemV2;
58555
58574
  exports.LuiComboSelect = LuiComboSelect;