@linzjs/lui 17.36.8 → 17.36.10
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 +9 -9
- package/dist/index.js +28 -21
- package/dist/index.js.map +1 -1
- package/dist/lui.css +72 -0
- package/dist/lui.css.map +1 -1
- package/dist/lui.esm.js +28 -21
- package/dist/lui.esm.js.map +1 -1
- package/dist/scss/Components/HeaderV2/header-v2.scss +62 -0
- package/dist/scss/Global/helpers.scss +281 -260
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [17.36.10](https://github.com/linz/lui/compare/v17.36.9...v17.36.10) (2023-03-02)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* add common styles to helpers.scss ([#869](https://github.com/linz/lui/issues/869)) ([b29fcb5](https://github.com/linz/lui/commit/b29fcb5cd32400caf24ff9e020302280de692f2a))
|
|
7
|
+
|
|
8
|
+
## [17.36.9](https://github.com/linz/lui/compare/v17.36.8...v17.36.9) (2023-03-02)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* add toolptip and external selected status in HeaderMenuItemV2 ([#868](https://github.com/linz/lui/issues/868)) ([66478b0](https://github.com/linz/lui/commit/66478b0f2b782ef771defd30355e73a7ca93abcf))
|
|
14
|
+
|
|
1
15
|
## [17.36.8](https://github.com/linz/lui/compare/v17.36.7...v17.36.8) (2023-03-01)
|
|
2
16
|
|
|
3
17
|
|
|
@@ -13,18 +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
16
|
/**
|
|
25
|
-
*
|
|
17
|
+
* allow to control selected status externally,
|
|
18
|
+
* and expect to use onClickOutside and onEscape to handle selected changes
|
|
26
19
|
*/
|
|
27
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;
|
|
28
28
|
} & React.RefAttributes<HTMLDivElement>>;
|
|
29
29
|
interface ILuiCloseableHeaderMenuContextV2 {
|
|
30
30
|
isOpen: () => boolean;
|
package/dist/index.js
CHANGED
|
@@ -40329,40 +40329,47 @@ var LuiHeaderV2 = function (_a) {
|
|
|
40329
40329
|
React__default["default"].createElement("div", { className: "LuiHeaderV2-col" }, children))));
|
|
40330
40330
|
};
|
|
40331
40331
|
var LuiHeaderMenuItemV2 = React$1.forwardRef(function (_a, ref) {
|
|
40332
|
-
var icon = _a.icon, _b = _a.iconColor, iconColor = _b === void 0 ? '#E2F3F7' : _b, label = _a.label, badge = _a.badge,
|
|
40333
|
-
|
|
40334
|
-
|
|
40335
|
-
|
|
40336
|
-
|
|
40337
|
-
|
|
40338
|
-
|
|
40339
|
-
|
|
40340
|
-
setSelected(isSelected);
|
|
40341
|
-
}
|
|
40342
|
-
}, [isSelected]);
|
|
40343
|
-
// clicking toggle selected
|
|
40344
|
-
// escape and click outside unselect
|
|
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
|
|
40345
40340
|
useEscapeFunction(function () {
|
|
40346
|
-
if (
|
|
40347
|
-
|
|
40341
|
+
if (useInternalSelectedStatus) {
|
|
40342
|
+
setInternalSelected(false);
|
|
40348
40343
|
}
|
|
40349
40344
|
if (onEscape) {
|
|
40350
40345
|
onEscape();
|
|
40351
40346
|
}
|
|
40352
40347
|
});
|
|
40353
|
-
var innerItemRef = usePageClickFunction(function () {
|
|
40354
|
-
|
|
40355
|
-
if (
|
|
40356
|
-
|
|
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
40357
|
}
|
|
40358
40358
|
if (onClickOutside) {
|
|
40359
40359
|
onClickOutside();
|
|
40360
40360
|
}
|
|
40361
40361
|
});
|
|
40362
|
-
var menuItemClasses = clsx$1('LuiHeaderV2-menu-item', hide && buildHideClassDict(hide));
|
|
40363
40362
|
var resolvedIcon = !icon && !label ? 'ic_menu' : icon;
|
|
40364
|
-
|
|
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 },
|
|
40365
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),
|
|
40366
40373
|
resolvedIcon && (React__default["default"].createElement("div", { className: clsx$1('LuiHeaderV2-menu-icon', {
|
|
40367
40374
|
clickable: !!onClick
|
|
40368
40375
|
}), "data-testid": dataTestId, onClick: onClick },
|