@geotab/zenith 3.10.0-beta.6 → 3.10.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/README.md +5 -1
- package/dist/index.css +3 -3
- package/dist/list/list.d.ts +1 -0
- package/dist/list/list.js +2 -2
- package/dist/list/listItem/listItem.d.ts +1 -3
- package/dist/list/listItem/listItem.js +2 -4
- package/esm/list/list.d.ts +1 -0
- package/esm/list/list.js +2 -2
- package/esm/list/listItem/listItem.d.ts +1 -3
- package/esm/list/listItem/listItem.js +2 -4
- package/package.json +4 -1
package/README.md
CHANGED
|
@@ -55,7 +55,7 @@ Zenith library provides components defined in Zenith Design System. It includes
|
|
|
55
55
|
- `Nav` empty state support
|
|
56
56
|
- Allow multiple columns to be disabled in `ColumnsList`
|
|
57
57
|
- Flip icons for Arabic (RTL) language
|
|
58
|
-
- `
|
|
58
|
+
- Fix `ColumnsList` keyboard focus skipping disabled items
|
|
59
59
|
- Add `ariaLabel` prop to `CardButton` for accessible name override
|
|
60
60
|
- Fix `GroupsFilter` dropdown scrolling into blank space
|
|
61
61
|
- Fix `Dropdown` ARIA pattern — non-search dropdowns now use `menu` role instead of `dialog`
|
|
@@ -68,6 +68,10 @@ Zenith library provides components defined in Zenith Design System. It includes
|
|
|
68
68
|
- Convert selection and toggle inputs (`Checkbox`, `Radio`, `Toggle`) to rem units
|
|
69
69
|
- Convert text, search, and file inputs to rem units
|
|
70
70
|
- Convert utility and standalone components to rem units
|
|
71
|
+
- Convert feedback and notification components (`Alert`, `Banner`, `EmptyState`, `Notification`, `Toast`) to rem units
|
|
72
|
+
- Convert dropdown and select components (`Dropdown`, `Select`, `Combobox`) to rem units
|
|
73
|
+
- Add `IconPinFilled` icon
|
|
74
|
+
- Updated translations support
|
|
71
75
|
|
|
72
76
|
### 3.9.2
|
|
73
77
|
|
package/dist/index.css
CHANGED
|
@@ -14078,14 +14078,14 @@ html:lang(ar) .zen-list-item__secondary {
|
|
|
14078
14078
|
.zen-list-item--clickable {
|
|
14079
14079
|
cursor: pointer;
|
|
14080
14080
|
}
|
|
14081
|
-
.zen-list
|
|
14082
|
-
.zen-list-item--wrap .zen-list-item__identifier {
|
|
14081
|
+
.zen-list--vertical .zen-list-item .zen-list-item__identifier {
|
|
14083
14082
|
flex-direction: column;
|
|
14084
14083
|
align-items: initial;
|
|
14085
14084
|
row-gap: 4px;
|
|
14086
14085
|
}
|
|
14087
|
-
.zen-list-item
|
|
14086
|
+
.zen-list--vertical .zen-list-item .zen-list-item__secondary {
|
|
14088
14087
|
white-space: normal;
|
|
14088
|
+
text-overflow: clip;
|
|
14089
14089
|
overflow: hidden;
|
|
14090
14090
|
display: -webkit-box;
|
|
14091
14091
|
-webkit-line-clamp: 2;
|
package/dist/list/list.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ type IListBase = {
|
|
|
10
10
|
isLoading?: boolean;
|
|
11
11
|
waitingItems?: number;
|
|
12
12
|
onKeyDown?: (event: React.KeyboardEvent<HTMLUListElement>) => void;
|
|
13
|
+
vertical?: boolean;
|
|
13
14
|
} & IZenComponentProps;
|
|
14
15
|
type IListStandard = IListBase & {
|
|
15
16
|
type?: Omit<TListType, "data">;
|
package/dist/list/list.js
CHANGED
|
@@ -13,7 +13,7 @@ const useLazyLoading_1 = require("./hooks/useLazyLoading");
|
|
|
13
13
|
const getLoadingItems_1 = require("./utils/getLoadingItems");
|
|
14
14
|
const classNames_1 = require("../commonHelpers/classNames/classNames");
|
|
15
15
|
const List = (props) => {
|
|
16
|
-
const { type, children, onChangeOrder, checked, onCheck, onListEnd, onKeyDown, isLoading, waitingItems, className } = props;
|
|
16
|
+
const { type, children, onChangeOrder, checked, onCheck, onListEnd, onKeyDown, isLoading, waitingItems, vertical, className } = props;
|
|
17
17
|
const isTall = type === "data" && "variant" in props ? props.variant === "tall" : undefined;
|
|
18
18
|
const listId = (0, react_1.useId)();
|
|
19
19
|
const listRef = (0, react_1.useRef)(null);
|
|
@@ -56,6 +56,6 @@ const List = (props) => {
|
|
|
56
56
|
const defaultWaitingItems = type === "data" ? 50 : 10;
|
|
57
57
|
return (0, getLoadingItems_1.getLoadingItems)(type || "standard", waitingItems || defaultWaitingItems, listId, isDrive, isMobile, isTall);
|
|
58
58
|
}, [isDrive, isTall, isLoading, isMobile, listId, type, waitingItems]);
|
|
59
|
-
return ((0, jsx_runtime_1.jsx)(viewportProvider_1.ViewportProvider, { isInViewport: isInViewport, children: (0, jsx_runtime_1.jsxs)("ul", { className: (0, classNames_1.classNames)(["zen-list", className || ""]), onKeyDown: onKeyDown, ref: listRef, children: [childrenArray, loadingChildren] }) }));
|
|
59
|
+
return ((0, jsx_runtime_1.jsx)(viewportProvider_1.ViewportProvider, { isInViewport: isInViewport, children: (0, jsx_runtime_1.jsxs)("ul", { className: (0, classNames_1.classNames)(["zen-list", vertical ? "zen-list--vertical" : "", className || ""]), onKeyDown: onKeyDown, ref: listRef, children: [childrenArray, loadingChildren] }) }));
|
|
60
60
|
};
|
|
61
61
|
exports.List = List;
|
|
@@ -13,7 +13,5 @@ export interface IListItem extends IZenComponentProps {
|
|
|
13
13
|
link?: string;
|
|
14
14
|
target?: React.HTMLAttributeAnchorTarget;
|
|
15
15
|
onDragStart?: (e: React.PointerEvent<HTMLElement>) => void;
|
|
16
|
-
wrap?: boolean;
|
|
17
|
-
vertical?: boolean;
|
|
18
16
|
}
|
|
19
|
-
export declare const ListItem: ({ id, className, image, name, secondary, status, actions, onClick, link, target, onDragStart
|
|
17
|
+
export declare const ListItem: ({ id, className, image, name, secondary, status, actions, onClick, link, target, onDragStart }: IListItem) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -87,9 +87,7 @@ const ListItem = ({
|
|
|
87
87
|
onClick,
|
|
88
88
|
link,
|
|
89
89
|
target,
|
|
90
|
-
onDragStart
|
|
91
|
-
wrap,
|
|
92
|
-
vertical
|
|
90
|
+
onDragStart
|
|
93
91
|
}) => {
|
|
94
92
|
const isMobile = (0, useMobile_1.useMobile)();
|
|
95
93
|
const driveClassName = (0, useDriveClassName_1.useDriveClassName)("zen-list-item");
|
|
@@ -179,7 +177,7 @@ const ListItem = ({
|
|
|
179
177
|
const clickableClassName = (0, react_1.useMemo)(() => onClick || link ? "zen-list-item--clickable" : "", [link, onClick]);
|
|
180
178
|
return (0, jsx_runtime_1.jsxs)("li", {
|
|
181
179
|
id: id,
|
|
182
|
-
className: (0, classNames_1.classNames)(["zen-list-item", mobileClassName || driveClassName || "", clickableClassName,
|
|
180
|
+
className: (0, classNames_1.classNames)(["zen-list-item", mobileClassName || driveClassName || "", clickableClassName, className || ""]),
|
|
183
181
|
onClick: handleClick,
|
|
184
182
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
185
183
|
ref: itemRef,
|
package/esm/list/list.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ type IListBase = {
|
|
|
10
10
|
isLoading?: boolean;
|
|
11
11
|
waitingItems?: number;
|
|
12
12
|
onKeyDown?: (event: React.KeyboardEvent<HTMLUListElement>) => void;
|
|
13
|
+
vertical?: boolean;
|
|
13
14
|
} & IZenComponentProps;
|
|
14
15
|
type IListStandard = IListBase & {
|
|
15
16
|
type?: Omit<TListType, "data">;
|
package/esm/list/list.js
CHANGED
|
@@ -10,7 +10,7 @@ import { useLazyLoading } from "./hooks/useLazyLoading";
|
|
|
10
10
|
import { getLoadingItems } from "./utils/getLoadingItems";
|
|
11
11
|
import { classNames } from "../commonHelpers/classNames/classNames";
|
|
12
12
|
export const List = (props) => {
|
|
13
|
-
const { type, children, onChangeOrder, checked, onCheck, onListEnd, onKeyDown, isLoading, waitingItems, className } = props;
|
|
13
|
+
const { type, children, onChangeOrder, checked, onCheck, onListEnd, onKeyDown, isLoading, waitingItems, vertical, className } = props;
|
|
14
14
|
const isTall = type === "data" && "variant" in props ? props.variant === "tall" : undefined;
|
|
15
15
|
const listId = useId();
|
|
16
16
|
const listRef = useRef(null);
|
|
@@ -53,5 +53,5 @@ export const List = (props) => {
|
|
|
53
53
|
const defaultWaitingItems = type === "data" ? 50 : 10;
|
|
54
54
|
return getLoadingItems(type || "standard", waitingItems || defaultWaitingItems, listId, isDrive, isMobile, isTall);
|
|
55
55
|
}, [isDrive, isTall, isLoading, isMobile, listId, type, waitingItems]);
|
|
56
|
-
return (_jsx(ViewportProvider, { isInViewport: isInViewport, children: _jsxs("ul", { className: classNames(["zen-list", className || ""]), onKeyDown: onKeyDown, ref: listRef, children: [childrenArray, loadingChildren] }) }));
|
|
56
|
+
return (_jsx(ViewportProvider, { isInViewport: isInViewport, children: _jsxs("ul", { className: classNames(["zen-list", vertical ? "zen-list--vertical" : "", className || ""]), onKeyDown: onKeyDown, ref: listRef, children: [childrenArray, loadingChildren] }) }));
|
|
57
57
|
};
|
|
@@ -13,7 +13,5 @@ export interface IListItem extends IZenComponentProps {
|
|
|
13
13
|
link?: string;
|
|
14
14
|
target?: React.HTMLAttributeAnchorTarget;
|
|
15
15
|
onDragStart?: (e: React.PointerEvent<HTMLElement>) => void;
|
|
16
|
-
wrap?: boolean;
|
|
17
|
-
vertical?: boolean;
|
|
18
16
|
}
|
|
19
|
-
export declare const ListItem: ({ id, className, image, name, secondary, status, actions, onClick, link, target, onDragStart
|
|
17
|
+
export declare const ListItem: ({ id, className, image, name, secondary, status, actions, onClick, link, target, onDragStart }: IListItem) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -79,9 +79,7 @@ export const ListItem = ({
|
|
|
79
79
|
onClick,
|
|
80
80
|
link,
|
|
81
81
|
target,
|
|
82
|
-
onDragStart
|
|
83
|
-
wrap,
|
|
84
|
-
vertical
|
|
82
|
+
onDragStart
|
|
85
83
|
}) => {
|
|
86
84
|
const isMobile = useMobile();
|
|
87
85
|
const driveClassName = useDriveClassName("zen-list-item");
|
|
@@ -171,7 +169,7 @@ export const ListItem = ({
|
|
|
171
169
|
const clickableClassName = useMemo(() => onClick || link ? "zen-list-item--clickable" : "", [link, onClick]);
|
|
172
170
|
return _jsxs("li", {
|
|
173
171
|
id: id,
|
|
174
|
-
className: classNames(["zen-list-item", mobileClassName || driveClassName || "", clickableClassName,
|
|
172
|
+
className: classNames(["zen-list-item", mobileClassName || driveClassName || "", clickableClassName, className || ""]),
|
|
175
173
|
onClick: handleClick,
|
|
176
174
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
177
175
|
ref: itemRef,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@geotab/zenith",
|
|
3
|
-
"version": "3.10.0
|
|
3
|
+
"version": "3.10.0",
|
|
4
4
|
"description": "Zenith components library on React",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "esm/index.d.ts",
|
|
@@ -118,5 +118,8 @@
|
|
|
118
118
|
"last 1 firefox version",
|
|
119
119
|
"last 1 safari version"
|
|
120
120
|
]
|
|
121
|
+
},
|
|
122
|
+
"publishConfig": {
|
|
123
|
+
"access": "public"
|
|
121
124
|
}
|
|
122
125
|
}
|