@linzjs/lui 17.36.7 → 17.36.8

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,10 @@
1
+ ## [17.36.8](https://github.com/linz/lui/compare/v17.36.7...v17.36.8) (2023-03-01)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * adjust style for non sticky HeaderV2 and drawer ([#866](https://github.com/linz/lui/issues/866)) ([deeae2e](https://github.com/linz/lui/commit/deeae2e4de4d44a3ee80dcf0e2a7862dec52043c))
7
+
1
8
  ## [17.36.7](https://github.com/linz/lui/compare/v17.36.6...v17.36.7) (2023-02-28)
2
9
 
3
10
 
@@ -13,6 +13,18 @@ declare const LuiHeaderV2: ({ headingText, size, homeLink, transparent, children
13
13
  declare const LuiHeaderMenuItemV2: React.ForwardRefExoticComponent<ILuiHeaderMenuItem & {
14
14
  children?: ReactNode;
15
15
  iconColor?: string | undefined;
16
+ clickOutsideOptions?: {
17
+ ignoreClickOutside?: boolean | undefined;
18
+ onClickOutside?: (() => void) | undefined;
19
+ } | undefined;
20
+ escapeOptions?: {
21
+ ignoreEscape?: boolean | undefined;
22
+ onEscape?: (() => void) | undefined;
23
+ } | undefined;
24
+ /**
25
+ * used to overwrite internal selected status
26
+ */
27
+ isSelected?: boolean | undefined;
16
28
  } & React.RefAttributes<HTMLDivElement>>;
17
29
  interface ILuiCloseableHeaderMenuContextV2 {
18
30
  isOpen: () => boolean;
package/dist/index.js CHANGED
@@ -40317,7 +40317,8 @@ var LuiHeaderV2 = function (_a) {
40317
40317
  LuiHeaderV2: true,
40318
40318
  'LuiHeaderV2-transparent': transparent,
40319
40319
  'LuiHeaderV2-small': size === 'small',
40320
- 'LuiHeaderV2-sticky': sticky
40320
+ 'LuiHeaderV2-sticky': sticky,
40321
+ 'LuiHeaderV2-non-sticky': !sticky
40321
40322
  }) },
40322
40323
  React__default["default"].createElement("div", { className: "LuiHeaderV2-row" },
40323
40324
  React__default["default"].createElement("div", { className: "LuiHeaderV2-col" },
@@ -40328,13 +40329,36 @@ var LuiHeaderV2 = function (_a) {
40328
40329
  React__default["default"].createElement("div", { className: "LuiHeaderV2-col" }, children))));
40329
40330
  };
40330
40331
  var LuiHeaderMenuItemV2 = React$1.forwardRef(function (_a, ref) {
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];
40332
+ 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, _d = _a.clickOutsideOptions, _e = _d === void 0 ? {
40333
+ ignoreClickOutside: false
40334
+ } : _d, _f = _e.ignoreClickOutside, ignoreClickOutside = _f === void 0 ? false : _f, onClickOutside = _e.onClickOutside, _g = _a.escapeOptions, _h = _g === void 0 ? {
40335
+ ignoreEscape: false
40336
+ } : _g, _j = _h.ignoreEscape, ignoreEscape = _j === void 0 ? false : _j, onEscape = _h.onEscape, isSelected = _a.isSelected, children = _a.children;
40337
+ var _k = React$1.useState(false), selected = _k[0], setSelected = _k[1];
40338
+ React$1.useEffect(function () {
40339
+ if (isSelected !== undefined) {
40340
+ setSelected(isSelected);
40341
+ }
40342
+ }, [isSelected]);
40333
40343
  // clicking toggle selected
40334
40344
  // escape and click outside unselect
40335
- useEscapeFunction(function () { return setSelected(false); });
40345
+ useEscapeFunction(function () {
40346
+ if (!ignoreEscape) {
40347
+ setSelected(false);
40348
+ }
40349
+ if (onEscape) {
40350
+ onEscape();
40351
+ }
40352
+ });
40336
40353
  var innerItemRef = usePageClickFunction(function () { return setSelected(function (prevSelected) { return !prevSelected; }); }, // toggle selcted
40337
- function () { return setSelected(false); });
40354
+ function () {
40355
+ if (!ignoreClickOutside) {
40356
+ setSelected(false);
40357
+ }
40358
+ if (onClickOutside) {
40359
+ onClickOutside();
40360
+ }
40361
+ });
40338
40362
  var menuItemClasses = clsx$1('LuiHeaderV2-menu-item', hide && buildHideClassDict(hide));
40339
40363
  var resolvedIcon = !icon && !label ? 'ic_menu' : icon;
40340
40364
  return (React__default["default"].createElement("div", { className: menuItemClasses, ref: ref },
@@ -40490,10 +40514,9 @@ var LuiDrawerMenuV2 = function (_a) {
40490
40514
  }
40491
40515
  }, [open, hasStickyHeader]);
40492
40516
  return (React__default["default"].createElement(LuiCloseableHeaderMenuItemV2, __assign$3({}, closeableMenuProps),
40493
- React__default["default"].createElement("div", { className: clsx$1({
40494
- 'LuiHeaderMenuV2-drawer': true,
40517
+ React__default["default"].createElement("div", { className: clsx$1('LuiHeaderMenuV2-drawer', {
40495
40518
  'LuiHeaderMenuV2-drawer-closed': !open
40496
- }), "data-testid": 'drawer', "aria-hidden": !open }, children)));
40519
+ }, { sticky: hasStickyHeader }, { 'non-sticky': !hasStickyHeader }), "data-testid": 'drawer', "aria-hidden": !open }, children)));
40497
40520
  };
40498
40521
  var LuiDropdownMenuV2 = function (_a) {
40499
40522
  var restOfProps = __rest$1(_a, []);