@linzjs/lui 17.36.11 → 17.37.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/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [17.37.0](https://github.com/linz/lui/compare/v17.36.12...v17.37.0) (2023-03-06)
2
+
3
+
4
+ ### Features
5
+
6
+ * added optional help button to modal header ([#872](https://github.com/linz/lui/issues/872)) ([07baded](https://github.com/linz/lui/commit/07baded35af9229f31a5eab65d5dbbc8a8eea63c))
7
+
8
+ ## [17.36.12](https://github.com/linz/lui/compare/v17.36.11...v17.36.12) (2023-03-05)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * fix drawer position issue when LuiHeaderV2 is non-sticky ([#871](https://github.com/linz/lui/issues/871)) ([6105280](https://github.com/linz/lui/commit/61052806e0ae9e455aae8460e2b6e0bbd93a8b53))
14
+
1
15
  ## [17.36.11](https://github.com/linz/lui/compare/v17.36.10...v17.36.11) (2023-03-05)
2
16
 
3
17
 
@@ -37,9 +37,10 @@ declare const LuiDrawerMenuOptionsV2: ({ children, }: ILuiIcon & {
37
37
  children: ReactNode;
38
38
  }) => JSX.Element;
39
39
  declare const LuiDrawerMenuOptionV2: ({ icon, iconColor, label, badge, iconSize, subMenu, onClick, }: ILuiDrawerMenuOptionV2) => JSX.Element;
40
- declare const LuiDrawerMenuV2: ({ children, hasStickyHeader, ...menuPropsCopy }: Omit<ILuiHeaderMenuItem, "onClick"> & {
40
+ declare const LuiDrawerMenuV2: ({ children, hasStickyHeader, size, ...menuPropsCopy }: Omit<ILuiHeaderMenuItem, "onClick"> & {
41
41
  hasStickyHeader?: boolean | undefined;
42
42
  } & {
43
+ size?: "sm" | "md" | "lg" | "xl" | undefined;
43
44
  children: ReactNode;
44
45
  }) => JSX.Element;
45
46
  declare type ILuiDropdownMenuV2 = Omit<ILuiHeaderMenuItem, 'onClick'> & {
@@ -6,6 +6,7 @@ interface ILuiModal {
6
6
  className?: string;
7
7
  maxWidth?: boolean;
8
8
  headingText?: string;
9
+ helpLink?: string;
9
10
  lowContrast?: boolean;
10
11
  preventAutoFocus?: boolean;
11
12
  appendToElement?: () => HTMLElement;
@@ -17,6 +18,7 @@ export declare const LuiAlertModal: React.FC<React.PropsWithChildren<{
17
18
  export declare const LuiAlertModalButtons: React.FC<React.PropsWithChildren<unknown>>;
18
19
  interface IModalHeader {
19
20
  headingText?: string;
21
+ helpLink?: string;
20
22
  onClose?: () => void;
21
23
  }
22
24
  export declare const LuiModalHeader: React.FC<React.PropsWithChildren<IModalHeader>>;
package/dist/index.d.ts CHANGED
@@ -71,3 +71,4 @@ export { CheckboxItemRenderer } from './components/LuiListBox/Renderers/Checkbox
71
71
  export { LuiSideMenu, ILuiSideMenuProps, } from './components/LuiSideMenu/LuiSideMenu';
72
72
  export { LuiSideMenuItem, ILuiSideMenuItemProps, LuiMenuItemClickHandler, } from './components/LuiSideMenu/LuiSideMenuItem';
73
73
  export { Breakpoint, breakpoints, breakpointQuery, useMediaQuery, } from './components/common/UseMediaQuery';
74
+ export { useEscapeFunction, usePageClickFunction, } from './components/common/Hooks';
package/dist/index.js CHANGED
@@ -40505,25 +40505,18 @@ var LuiDrawerMenuOptionV2 = function (_a) {
40505
40505
  badge && (React__default["default"].createElement("div", { className: "LuiHeaderMenuV2-drawer-option-badge" }, badge))));
40506
40506
  };
40507
40507
  var LuiDrawerMenuV2 = function (_a) {
40508
- var children = _a.children, _b = _a.hasStickyHeader, hasStickyHeader = _b === void 0 ? true : _b, menuPropsCopy = __rest$1(_a, ["children", "hasStickyHeader"]);
40509
- var _c = React$1.useState(false), open = _c[0], setOpen = _c[1];
40508
+ var children = _a.children, _b = _a.hasStickyHeader, hasStickyHeader = _b === void 0 ? true : _b, _c = _a.size, size = _c === void 0 ? 'lg' : _c, menuPropsCopy = __rest$1(_a, ["children", "hasStickyHeader", "size"]);
40509
+ var _d = React$1.useState(false), open = _d[0], setOpen = _d[1];
40510
40510
  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; }); } });
40511
40511
  React$1.useEffect(function () {
40512
40512
  // Support for non-sticky headers. Scroll back to top when menu is opened
40513
40513
  if (open && !hasStickyHeader) {
40514
40514
  window.scrollTo({ top: 0, behavior: 'smooth' });
40515
40515
  }
40516
- // Disable page scrolling while menu is open
40517
- if (open) {
40518
- document.body.classList.add('LuiHeaderMenuV2-drawer-open');
40519
- }
40520
- else {
40521
- document.body.classList.remove('LuiHeaderMenuV2-drawer-open');
40522
- }
40523
40516
  }, [open, hasStickyHeader]);
40524
40517
  return (React__default["default"].createElement(LuiCloseableHeaderMenuItemV2, __assign$3({}, closeableMenuProps),
40525
- React__default["default"].createElement("div", { className: clsx$1('LuiHeaderMenuV2-drawer', {
40526
- 'LuiHeaderMenuV2-drawer-closed': !open
40518
+ React__default["default"].createElement("div", { className: clsx$1('LuiHeaderMenuV2-drawer', size, {
40519
+ open: open
40527
40520
  }, { sticky: hasStickyHeader }, { 'non-sticky': !hasStickyHeader }), "data-testid": 'drawer', "aria-hidden": !open }, children)));
40528
40521
  };
40529
40522
  var LuiDropdownMenuV2 = function (_a) {
@@ -40531,17 +40524,8 @@ var LuiDropdownMenuV2 = function (_a) {
40531
40524
  var children = restOfProps.children, _b = restOfProps.anchorOrigin, _c = _b === void 0 ? {
40532
40525
  horizontal: 'left'
40533
40526
  } : _b, _d = _c.horizontal, horizontal = _d === void 0 ? 'left' : _d, _e = restOfProps.size, size = _e === void 0 ? 'md' : _e, menuPropsCopy = __rest$1(restOfProps, ["children", "anchorOrigin", "size"]);
40534
- var _f = React$1.useState(null), open = _f[0], setOpen = _f[1];
40535
- var closeableMenuProps = __assign$3(__assign$3({}, menuPropsCopy), { open: open || false, setOpen: function (currentOpen) {
40536
- setOpen(function (preOpen) {
40537
- if (preOpen !== null) {
40538
- return currentOpen;
40539
- }
40540
- // if the menu was not opened before, then ignore close event,
40541
- // thus apply -closed animation css only if the menu is closed from the open state
40542
- return currentOpen || null;
40543
- });
40544
- } });
40527
+ var _f = React$1.useState(false), open = _f[0], setOpen = _f[1];
40528
+ var closeableMenuProps = __assign$3(__assign$3({}, menuPropsCopy), { open: open, setOpen: setOpen });
40545
40529
  return (React__default["default"].createElement(LuiCloseableHeaderMenuItemV2, __assign$3({}, closeableMenuProps),
40546
40530
  React__default["default"].createElement("div", { className: "LuiHeaderMenuV2-dropdown-container" },
40547
40531
  React__default["default"].createElement("div", { className: clsx$1('LuiHeaderMenuV2-dropdown', 'lui-box-shadow', { 'anchor-horizontal-icon-left': horizontal === 'left' }, {
@@ -40549,9 +40533,7 @@ var LuiDropdownMenuV2 = function (_a) {
40549
40533
  }, {
40550
40534
  'anchor-horizontal-label-right': menuPropsCopy.label && horizontal === 'right'
40551
40535
  }, "dropdown-".concat(size), {
40552
- 'LuiHeaderMenuV2-dropdown-open': open
40553
- }, {
40554
- 'LuiHeaderMenuV2-dropdown-closed': open !== null && !open
40536
+ open: open
40555
40537
  }), "data-testid": 'dropdown', "aria-hidden": !open }, children))));
40556
40538
  };
40557
40539
  var LuiDrawerMenuSectionV2 = function (props) {
@@ -42436,7 +42418,7 @@ var LuiModal = function (props) {
42436
42418
  parentSelector: props.appendToElement
42437
42419
  })),
42438
42420
  React__default["default"].createElement("div", { ref: node, className: clsx$1('lui-modal lui-box-shadow', props.maxWidth && 'lui-max-width', props.headingText && 'lui-modal-no-padding', props.className) },
42439
- props.headingText && (React__default["default"].createElement(LuiModalHeader, { headingText: props.headingText, onClose: props.onClose })),
42421
+ props.headingText && (React__default["default"].createElement(LuiModalHeader, { headingText: props.headingText, helpLink: props.helpLink, onClose: props.onClose })),
42440
42422
  React__default["default"].createElement("div", { className: clsx$1(props.headingText && 'lui-modal-container'), ref: function (element) {
42441
42423
  if (!props.preventAutoFocus &&
42442
42424
  element &&
@@ -42458,8 +42440,11 @@ var LuiAlertModalButtons = function (props) {
42458
42440
  var LuiModalHeader = function (props) {
42459
42441
  return (React__default["default"].createElement("header", { className: "lui-modal-header" }, props.headingText && (React__default["default"].createElement("div", { className: "lui-modal-header-title" },
42460
42442
  React__default["default"].createElement("h1", null, props.headingText),
42461
- props.onClose && (React__default["default"].createElement("button", { className: "lui-modal-header-close-btn", onClick: props.onClose },
42462
- React__default["default"].createElement("i", { className: "material-icons-round lui-modal-header-btn-size" }, "close")))))));
42443
+ React__default["default"].createElement("div", { className: "lui-modal-header-buttons" },
42444
+ props.helpLink && (React__default["default"].createElement("button", { className: "lui-modal-header-help-btn", onClick: function () { return window.open(props.helpLink); } },
42445
+ React__default["default"].createElement("i", { className: "material-icons-round lui-modal-header-btn-size" }, "help_outline"))),
42446
+ props.onClose && (React__default["default"].createElement("button", { className: "lui-modal-header-close-btn", onClick: props.onClose },
42447
+ React__default["default"].createElement("i", { className: "material-icons-round lui-modal-header-btn-size" }, "close"))))))));
42463
42448
  };
42464
42449
 
42465
42450
  var css_248z$6 = "@keyframes react-loading-skeleton {\n 100% {\n transform: translateX(100%);\n }\n}\n\n.react-loading-skeleton {\n --base-color: #ebebeb;\n --highlight-color: #f5f5f5;\n --animation-duration: 1.5s;\n --animation-direction: normal;\n --pseudo-element-display: block; /* Enable animation */\n\n background-color: var(--base-color);\n\n width: 100%;\n border-radius: 0.25rem;\n display: inline-flex;\n line-height: 1;\n\n position: relative;\n overflow: hidden;\n z-index: 1; /* Necessary for overflow: hidden to work correctly in Safari */\n}\n\n.react-loading-skeleton::after {\n content: ' ';\n display: var(--pseudo-element-display);\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 100%;\n background-repeat: no-repeat;\n background-image: linear-gradient(\n 90deg,\n var(--base-color),\n var(--highlight-color),\n var(--base-color)\n );\n transform: translateX(-100%);\n\n animation-name: react-loading-skeleton;\n animation-direction: var(--animation-direction);\n animation-duration: var(--animation-duration);\n animation-timing-function: ease-in-out;\n animation-iteration-count: infinite;\n}\n";
@@ -58675,9 +58660,11 @@ exports.breakpoints = breakpoints;
58675
58660
  exports.getDefaultSearchMenuOptions = getDefaultSearchMenuOptions;
58676
58661
  exports.isChromatic = isChromatic;
58677
58662
  exports.useClickedOutsideElement = useClickedOutsideElement;
58663
+ exports.useEscapeFunction = useEscapeFunction;
58678
58664
  exports.useLOLGlobalClientRefContext = useLOLGlobalClientRefContext;
58679
58665
  exports.useLOLUserContext = useLOLUserContext;
58680
58666
  exports.useLuiFloatingWindow = useFloatingWindow;
58681
58667
  exports.useMediaQuery = useMediaQuery;
58668
+ exports.usePageClickFunction = usePageClickFunction;
58682
58669
  exports.useShowLUIMessage = useShowLUIMessage;
58683
58670
  //# sourceMappingURL=index.js.map