@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 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
- - `Dropdown` select-all button shows active state when all items are selected
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-item--vertical .zen-list-item__identifier,
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--wrap .zen-list-item__secondary {
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;
@@ -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, wrap, vertical }: IListItem) => import("react/jsx-runtime").JSX.Element;
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, wrap ? "zen-list-item--wrap" : "", vertical ? "zen-list-item--vertical" : "", className || ""]),
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,
@@ -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, wrap, vertical }: IListItem) => import("react/jsx-runtime").JSX.Element;
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, wrap ? "zen-list-item--wrap" : "", vertical ? "zen-list-item--vertical" : "", className || ""]),
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-beta.6",
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
  }