@linzjs/lui 17.36.7 → 17.36.9
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 +14 -0
- package/dist/components/LuiHeaderV2/LuiHeaderV2.d.ts +12 -0
- package/dist/index.js +43 -13
- package/dist/index.js.map +1 -1
- package/dist/lui.css +67 -5
- package/dist/lui.css.map +1 -1
- package/dist/lui.esm.js +43 -13
- package/dist/lui.esm.js.map +1 -1
- package/dist/scss/Components/HeaderV2/header-v2.scss +66 -0
- package/dist/scss/Components/MenuV2/menu-v2.scss +14 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [17.36.9](https://github.com/linz/lui/compare/v17.36.8...v17.36.9) (2023-03-02)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* add toolptip and external selected status in HeaderMenuItemV2 ([#868](https://github.com/linz/lui/issues/868)) ([66478b0](https://github.com/linz/lui/commit/66478b0f2b782ef771defd30355e73a7ca93abcf))
|
|
7
|
+
|
|
8
|
+
## [17.36.8](https://github.com/linz/lui/compare/v17.36.7...v17.36.8) (2023-03-01)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* adjust style for non sticky HeaderV2 and drawer ([#866](https://github.com/linz/lui/issues/866)) ([deeae2e](https://github.com/linz/lui/commit/deeae2e4de4d44a3ee80dcf0e2a7862dec52043c))
|
|
14
|
+
|
|
1
15
|
## [17.36.7](https://github.com/linz/lui/compare/v17.36.6...v17.36.7) (2023-02-28)
|
|
2
16
|
|
|
3
17
|
|
|
@@ -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
|
+
/**
|
|
17
|
+
* allow to control selected status externally,
|
|
18
|
+
* and expect to use onClickOutside and onEscape to handle selected changes
|
|
19
|
+
*/
|
|
20
|
+
isSelected?: boolean | undefined;
|
|
21
|
+
onClickOutside?: (() => void) | undefined;
|
|
22
|
+
onEscape?: (() => void) | undefined;
|
|
23
|
+
tooltip?: {
|
|
24
|
+
text: string;
|
|
25
|
+
anchorOrigin?: "left" | "right" | undefined;
|
|
26
|
+
theme?: "dark" | "light" | undefined;
|
|
27
|
+
} | 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,17 +40329,47 @@ 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,
|
|
40332
|
-
var _d = React$1.useState(false),
|
|
40333
|
-
|
|
40334
|
-
//
|
|
40335
|
-
|
|
40336
|
-
|
|
40337
|
-
|
|
40338
|
-
|
|
40332
|
+
var icon = _a.icon, _b = _a.iconColor, iconColor = _b === void 0 ? '#E2F3F7' : _b, label = _a.label, badge = _a.badge, onClick = _a.onClick, _c = _a["data-testid"], dataTestId = _c === void 0 ? 'menu-item' : _c, externalSelected = _a.isSelected, onClickOutside = _a.onClickOutside, onEscape = _a.onEscape, tooltip = _a.tooltip, children = _a.children;
|
|
40333
|
+
var _d = React$1.useState(false), internalSelected = _d[0], setInternalSelected = _d[1];
|
|
40334
|
+
var useInternalSelectedStatus = externalSelected === undefined;
|
|
40335
|
+
// overwrite internalSelected status when externalSelected is provided
|
|
40336
|
+
var selected = useInternalSelectedStatus
|
|
40337
|
+
? internalSelected
|
|
40338
|
+
: externalSelected;
|
|
40339
|
+
// unselcted when press escape when there is no externalSelected provided
|
|
40340
|
+
useEscapeFunction(function () {
|
|
40341
|
+
if (useInternalSelectedStatus) {
|
|
40342
|
+
setInternalSelected(false);
|
|
40343
|
+
}
|
|
40344
|
+
if (onEscape) {
|
|
40345
|
+
onEscape();
|
|
40346
|
+
}
|
|
40347
|
+
});
|
|
40348
|
+
var innerItemRef = usePageClickFunction(function () {
|
|
40349
|
+
// toggle selected when there is no externalSelected provided
|
|
40350
|
+
if (useInternalSelectedStatus) {
|
|
40351
|
+
setInternalSelected(function (prevSelected) { return !prevSelected; });
|
|
40352
|
+
}
|
|
40353
|
+
}, function () {
|
|
40354
|
+
// unselcted when press outside when there is no externalSelected provided
|
|
40355
|
+
if (useInternalSelectedStatus) {
|
|
40356
|
+
setInternalSelected(false);
|
|
40357
|
+
}
|
|
40358
|
+
if (onClickOutside) {
|
|
40359
|
+
onClickOutside();
|
|
40360
|
+
}
|
|
40361
|
+
});
|
|
40339
40362
|
var resolvedIcon = !icon && !label ? 'ic_menu' : icon;
|
|
40340
|
-
|
|
40363
|
+
var TooltipElement = function () {
|
|
40364
|
+
if (!tooltip) {
|
|
40365
|
+
return null;
|
|
40366
|
+
}
|
|
40367
|
+
var text = tooltip.text, _a = tooltip.anchorOrigin, anchorOrigin = _a === void 0 ? 'left' : _a, _b = tooltip.theme, theme = _b === void 0 ? 'dark' : _b;
|
|
40368
|
+
return React__default["default"].createElement("span", { className: "tooltip ".concat(anchorOrigin, " ").concat(theme) }, text);
|
|
40369
|
+
};
|
|
40370
|
+
return (React__default["default"].createElement("div", { className: "LuiHeaderV2-menu-item", ref: ref },
|
|
40341
40371
|
React__default["default"].createElement("div", { ref: innerItemRef, className: clsx$1('LuiHeaderV2-menu-button', { selected: selected }, { unselected: !selected }) },
|
|
40372
|
+
tooltip && React__default["default"].createElement(TooltipElement, null),
|
|
40342
40373
|
resolvedIcon && (React__default["default"].createElement("div", { className: clsx$1('LuiHeaderV2-menu-icon', {
|
|
40343
40374
|
clickable: !!onClick
|
|
40344
40375
|
}), "data-testid": dataTestId, onClick: onClick },
|
|
@@ -40490,10 +40521,9 @@ var LuiDrawerMenuV2 = function (_a) {
|
|
|
40490
40521
|
}
|
|
40491
40522
|
}, [open, hasStickyHeader]);
|
|
40492
40523
|
return (React__default["default"].createElement(LuiCloseableHeaderMenuItemV2, __assign$3({}, closeableMenuProps),
|
|
40493
|
-
React__default["default"].createElement("div", { className: clsx$1({
|
|
40494
|
-
'LuiHeaderMenuV2-drawer': true,
|
|
40524
|
+
React__default["default"].createElement("div", { className: clsx$1('LuiHeaderMenuV2-drawer', {
|
|
40495
40525
|
'LuiHeaderMenuV2-drawer-closed': !open
|
|
40496
|
-
}), "data-testid": 'drawer', "aria-hidden": !open }, children)));
|
|
40526
|
+
}, { sticky: hasStickyHeader }, { 'non-sticky': !hasStickyHeader }), "data-testid": 'drawer', "aria-hidden": !open }, children)));
|
|
40497
40527
|
};
|
|
40498
40528
|
var LuiDropdownMenuV2 = function (_a) {
|
|
40499
40529
|
var restOfProps = __rest$1(_a, []);
|