@geotab/zenith 3.9.1 → 3.10.0-beta.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.
Files changed (222) hide show
  1. package/README.md +11 -0
  2. package/dist/alertRaw/alertRaw.js +4 -4
  3. package/dist/alertRaw/components/alertAnimation.js +2 -2
  4. package/dist/banner/bannerMultipLine.js +4 -4
  5. package/dist/banner/bannerSingleLine.js +4 -4
  6. package/dist/bookmark/bookmark.d.ts +2 -1
  7. package/dist/bookmark/bookmark.js +4 -2
  8. package/dist/card/components/cardButton/cardButton.d.ts +2 -1
  9. package/dist/card/components/cardButton/cardButton.js +3 -3
  10. package/dist/commonStyles/rangeFieldMixin.less +9 -9
  11. package/dist/dataFeed/hooks/useVisibleColumns.js +1 -1
  12. package/dist/dataGrid/extensions/toBasicColumn.js +2 -1
  13. package/dist/dataGrid/listColumn.d.ts +1 -0
  14. package/dist/dataGrid/withFlexibleColumns/components/columnSettingsList.d.ts +2 -2
  15. package/dist/dataGrid/withFlexibleColumns/components/columnSettingsList.js +5 -5
  16. package/dist/dataGrid/withFlexibleColumns/withFlexibleColumns.js +15 -6
  17. package/dist/dialog/dialogContent.js +4 -4
  18. package/dist/dropdownRaw/dropdownHelper.d.ts +4 -1
  19. package/dist/dropdownRaw/dropdownHelper.js +2 -1
  20. package/dist/dropdownRaw/dropdownRaw.js +2 -2
  21. package/dist/dropdownRaw/dropdownTrigger.d.ts +1 -1
  22. package/dist/dropdownRaw/dropdownTrigger.js +1 -1
  23. package/dist/fileUpload/components/uploadedFilesSection.js +3 -3
  24. package/dist/filters/components/filtersSavedChipComponent.js +3 -3
  25. package/dist/filters/components/filtersSearchItemData.js +3 -3
  26. package/dist/filters/components/filtersSidePanel.js +4 -4
  27. package/dist/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +4 -4
  28. package/dist/formGroup/components/reviewListToggle/reviewListToggle.js +13 -13
  29. package/dist/groupsFilterRaw/groupsFilterInitialState.js +1 -1
  30. package/dist/icons/iconAlignLeft.js +3 -1
  31. package/dist/icons/iconAlignmentLeft.js +3 -1
  32. package/dist/icons/iconAlignmentRight.js +3 -1
  33. package/dist/icons/iconArrowBottomLeft.js +3 -1
  34. package/dist/icons/iconArrowBottomRight.js +3 -1
  35. package/dist/icons/iconArrowLeftPath.js +3 -1
  36. package/dist/icons/iconArrowRight.js +3 -1
  37. package/dist/icons/iconArrowRightCircle.js +3 -1
  38. package/dist/icons/iconArrowRightPath.js +3 -1
  39. package/dist/icons/iconArrowTopLeft.js +3 -1
  40. package/dist/icons/iconArrowTopRight.js +3 -1
  41. package/dist/icons/iconChevronDoubleRight.js +3 -1
  42. package/dist/icons/iconChevronRight.js +3 -1
  43. package/dist/icons/iconChevronRightSmall.js +3 -1
  44. package/dist/icons/iconCornerDownLeft.js +3 -1
  45. package/dist/icons/iconCornerDownRight.js +3 -1
  46. package/dist/icons/iconCornerLeftDown.js +3 -1
  47. package/dist/icons/iconCornerLeftUp.js +3 -1
  48. package/dist/icons/iconCornerRightDown.js +3 -1
  49. package/dist/icons/iconCornerRightUp.js +3 -1
  50. package/dist/icons/iconCornerUpLeft.js +3 -1
  51. package/dist/icons/iconCornerUpRight.js +3 -1
  52. package/dist/icons/iconLayoutSidebar.js +3 -1
  53. package/dist/icons/iconPinFilled.d.ts +3 -0
  54. package/dist/icons/iconPinFilled.js +12 -0
  55. package/dist/icons/iconSidebar.js +3 -1
  56. package/dist/icons/iconUndock.js +3 -1
  57. package/dist/index.css +539 -493
  58. package/dist/index.d.ts +1 -0
  59. package/dist/index.js +8 -6
  60. package/dist/list/listItem/listItem.d.ts +3 -1
  61. package/dist/list/listItem/listItem.js +4 -2
  62. package/dist/mobileSheet/mobileSheet.js +4 -4
  63. package/dist/modal/modal.js +4 -4
  64. package/dist/nav/nav.d.ts +7 -1
  65. package/dist/nav/nav.js +11 -6
  66. package/dist/nav/navEmpty/navEmpty.d.ts +10 -0
  67. package/dist/nav/navEmpty/navEmpty.js +7 -0
  68. package/dist/notification/notification.js +4 -4
  69. package/dist/notification/pushNotification/pushNotification.js +1 -1
  70. package/dist/pill/components/pillNonActionable/pillNonActionable.js +4 -4
  71. package/dist/pillExpandable/pillExpandable.js +4 -4
  72. package/dist/table/detailPanel/detailPanelHeader.js +4 -4
  73. package/dist/table/flexible/columnsList.d.ts +1 -2
  74. package/dist/table/flexible/columnsList.js +6 -5
  75. package/dist/table/flexible/columnsPopup.js +0 -3
  76. package/dist/table/flexible/useFlexibleColumns.d.ts +1 -0
  77. package/dist/table/flexible/useFlexibleColumns.js +4 -3
  78. package/dist/table/loading/useLoading.d.ts +1 -0
  79. package/dist/table/loading/useLoading.js +1 -1
  80. package/dist/table/nested/useNestedRows.d.ts +1 -0
  81. package/dist/table/selectable/useSelectableRows.js +23 -5
  82. package/dist/table/table.d.ts +1 -0
  83. package/dist/table/table.js +7 -2
  84. package/dist/tabs/tabItem/tabItem.d.ts +2 -1
  85. package/dist/tabs/tabItem/tabItem.js +4 -2
  86. package/dist/tabs/tabs.d.ts +1 -0
  87. package/dist/tabs/tabs.js +2 -1
  88. package/dist/toastRaw/components/toastAnimation.js +2 -2
  89. package/dist/toastRaw/toastRaw.js +4 -4
  90. package/dist/toggleButtonRaw/toggleButtonRaw.js +13 -13
  91. package/dist/tooltip/tooltip.js +4 -4
  92. package/dist/utils/localization/flipAlignment.d.ts +2 -0
  93. package/dist/utils/localization/flipAlignment.js +19 -0
  94. package/dist/utils/localization/makeLanguageWrapper.d.ts +8 -0
  95. package/dist/utils/localization/makeLanguageWrapper.js +11 -0
  96. package/dist/utils/localization/translations/cs.json +2 -2
  97. package/dist/utils/localization/translations/da-DK.json +2 -2
  98. package/dist/utils/localization/translations/es.json +2 -2
  99. package/dist/utils/localization/translations/fi-FI.json +1 -1
  100. package/dist/utils/localization/translations/hu-HU.json +2 -2
  101. package/dist/utils/localization/translations/ko-KR.json +2 -2
  102. package/dist/utils/localization/translations/ms.json +1 -1
  103. package/dist/utils/localization/translations/nb-NO.json +1 -1
  104. package/dist/utils/localization/translations/pt-BR.json +2 -2
  105. package/dist/utils/localization/translations/pt-PT.json +3 -3
  106. package/dist/utils/localization/translations/ro-RO.json +5 -5
  107. package/dist/utils/localization/translations/sk-SK.json +1 -1
  108. package/dist/utils/localization/translations/zh-Hans.json +1 -1
  109. package/dist/utils/localization/useIsRTL.d.ts +1 -0
  110. package/dist/utils/localization/useIsRTL.js +6 -0
  111. package/dist/utils/localization/useRTLAlignment.d.ts +2 -0
  112. package/dist/utils/localization/useRTLAlignment.js +10 -0
  113. package/esm/alertRaw/alertRaw.js +4 -4
  114. package/esm/alertRaw/components/alertAnimation.js +2 -2
  115. package/esm/banner/bannerMultipLine.js +4 -4
  116. package/esm/banner/bannerSingleLine.js +4 -4
  117. package/esm/bookmark/bookmark.d.ts +2 -1
  118. package/esm/bookmark/bookmark.js +4 -2
  119. package/esm/card/components/cardButton/cardButton.d.ts +2 -1
  120. package/esm/card/components/cardButton/cardButton.js +3 -3
  121. package/esm/dataFeed/hooks/useVisibleColumns.js +1 -1
  122. package/esm/dataGrid/extensions/toBasicColumn.js +2 -1
  123. package/esm/dataGrid/listColumn.d.ts +1 -0
  124. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsList.d.ts +2 -2
  125. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsList.js +5 -5
  126. package/esm/dataGrid/withFlexibleColumns/withFlexibleColumns.js +15 -6
  127. package/esm/dialog/dialogContent.js +4 -4
  128. package/esm/dropdownRaw/dropdownHelper.d.ts +4 -1
  129. package/esm/dropdownRaw/dropdownHelper.js +2 -1
  130. package/esm/dropdownRaw/dropdownRaw.js +2 -2
  131. package/esm/dropdownRaw/dropdownTrigger.d.ts +1 -1
  132. package/esm/dropdownRaw/dropdownTrigger.js +1 -1
  133. package/esm/fileUpload/components/uploadedFilesSection.js +3 -3
  134. package/esm/filters/components/filtersSavedChipComponent.js +3 -3
  135. package/esm/filters/components/filtersSearchItemData.js +3 -3
  136. package/esm/filters/components/filtersSidePanel.js +4 -4
  137. package/esm/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +4 -4
  138. package/esm/formGroup/components/reviewListToggle/reviewListToggle.js +13 -13
  139. package/esm/groupsFilterRaw/groupsFilterInitialState.js +1 -1
  140. package/esm/icons/iconAlignLeft.js +3 -1
  141. package/esm/icons/iconAlignmentLeft.js +3 -1
  142. package/esm/icons/iconAlignmentRight.js +3 -1
  143. package/esm/icons/iconArrowBottomLeft.js +3 -1
  144. package/esm/icons/iconArrowBottomRight.js +3 -1
  145. package/esm/icons/iconArrowLeftPath.js +3 -1
  146. package/esm/icons/iconArrowRight.js +3 -1
  147. package/esm/icons/iconArrowRightCircle.js +3 -1
  148. package/esm/icons/iconArrowRightPath.js +3 -1
  149. package/esm/icons/iconArrowTopLeft.js +3 -1
  150. package/esm/icons/iconArrowTopRight.js +3 -1
  151. package/esm/icons/iconChevronDoubleRight.js +3 -1
  152. package/esm/icons/iconChevronRight.js +3 -1
  153. package/esm/icons/iconChevronRightSmall.js +3 -1
  154. package/esm/icons/iconCornerDownLeft.js +3 -1
  155. package/esm/icons/iconCornerDownRight.js +3 -1
  156. package/esm/icons/iconCornerLeftDown.js +3 -1
  157. package/esm/icons/iconCornerLeftUp.js +3 -1
  158. package/esm/icons/iconCornerRightDown.js +3 -1
  159. package/esm/icons/iconCornerRightUp.js +3 -1
  160. package/esm/icons/iconCornerUpLeft.js +3 -1
  161. package/esm/icons/iconCornerUpRight.js +3 -1
  162. package/esm/icons/iconLayoutSidebar.js +3 -1
  163. package/esm/icons/iconPinFilled.d.ts +3 -0
  164. package/esm/icons/iconPinFilled.js +8 -0
  165. package/esm/icons/iconSidebar.js +3 -1
  166. package/esm/icons/iconUndock.js +3 -1
  167. package/esm/index.d.ts +1 -0
  168. package/esm/index.js +1 -0
  169. package/esm/list/listItem/listItem.d.ts +3 -1
  170. package/esm/list/listItem/listItem.js +4 -2
  171. package/esm/mobileSheet/mobileSheet.js +4 -4
  172. package/esm/modal/modal.js +4 -4
  173. package/esm/nav/nav.d.ts +7 -1
  174. package/esm/nav/nav.js +11 -6
  175. package/esm/nav/navEmpty/navEmpty.d.ts +10 -0
  176. package/esm/nav/navEmpty/navEmpty.js +3 -0
  177. package/esm/notification/notification.js +4 -4
  178. package/esm/notification/pushNotification/pushNotification.js +1 -1
  179. package/esm/pill/components/pillNonActionable/pillNonActionable.js +4 -4
  180. package/esm/pillExpandable/pillExpandable.js +4 -4
  181. package/esm/table/detailPanel/detailPanelHeader.js +4 -4
  182. package/esm/table/flexible/columnsList.d.ts +1 -2
  183. package/esm/table/flexible/columnsList.js +6 -5
  184. package/esm/table/flexible/columnsPopup.js +0 -3
  185. package/esm/table/flexible/useFlexibleColumns.d.ts +1 -0
  186. package/esm/table/flexible/useFlexibleColumns.js +4 -3
  187. package/esm/table/loading/useLoading.d.ts +1 -0
  188. package/esm/table/loading/useLoading.js +1 -1
  189. package/esm/table/nested/useNestedRows.d.ts +1 -0
  190. package/esm/table/selectable/useSelectableRows.js +23 -5
  191. package/esm/table/table.d.ts +1 -0
  192. package/esm/table/table.js +7 -2
  193. package/esm/tabs/tabItem/tabItem.d.ts +2 -1
  194. package/esm/tabs/tabItem/tabItem.js +4 -2
  195. package/esm/tabs/tabs.d.ts +1 -0
  196. package/esm/tabs/tabs.js +2 -1
  197. package/esm/toastRaw/components/toastAnimation.js +2 -2
  198. package/esm/toastRaw/toastRaw.js +4 -4
  199. package/esm/toggleButtonRaw/toggleButtonRaw.js +13 -13
  200. package/esm/tooltip/tooltip.js +4 -4
  201. package/esm/utils/localization/flipAlignment.d.ts +2 -0
  202. package/esm/utils/localization/flipAlignment.js +15 -0
  203. package/esm/utils/localization/makeLanguageWrapper.d.ts +8 -0
  204. package/esm/utils/localization/makeLanguageWrapper.js +7 -0
  205. package/esm/utils/localization/translations/cs.json +2 -2
  206. package/esm/utils/localization/translations/da-DK.json +2 -2
  207. package/esm/utils/localization/translations/es.json +2 -2
  208. package/esm/utils/localization/translations/fi-FI.json +1 -1
  209. package/esm/utils/localization/translations/hu-HU.json +2 -2
  210. package/esm/utils/localization/translations/ko-KR.json +2 -2
  211. package/esm/utils/localization/translations/ms.json +1 -1
  212. package/esm/utils/localization/translations/nb-NO.json +1 -1
  213. package/esm/utils/localization/translations/pt-BR.json +2 -2
  214. package/esm/utils/localization/translations/pt-PT.json +3 -3
  215. package/esm/utils/localization/translations/ro-RO.json +5 -5
  216. package/esm/utils/localization/translations/sk-SK.json +1 -1
  217. package/esm/utils/localization/translations/zh-Hans.json +1 -1
  218. package/esm/utils/localization/useIsRTL.d.ts +1 -0
  219. package/esm/utils/localization/useIsRTL.js +2 -0
  220. package/esm/utils/localization/useRTLAlignment.d.ts +2 -0
  221. package/esm/utils/localization/useRTLAlignment.js +6 -0
  222. package/package.json +3 -1
@@ -67,7 +67,8 @@ injectString("ar-SA", "Add page to bookmarks", "\u0625\u0636\u0627\u0641\u0629 \
67
67
  export const Bookmark = ({
68
68
  className,
69
69
  bookmarked,
70
- onChange
70
+ onChange,
71
+ dataAnalyticsId
71
72
  }) => {
72
73
  const [isHovered, setIsHovered] = useState(false);
73
74
  const {
@@ -100,7 +101,8 @@ export const Bookmark = ({
100
101
  iconSize: isDrive ? driveIconSize("large") : "large",
101
102
  iconClasses: `zen-page-bookmark__icon zen-page-bookmark__icon${bookmarked ? "--active" : "--inactive"}`,
102
103
  "aria-label": title,
103
- title: title
104
+ title: title,
105
+ dataAnalyticsId: dataAnalyticsId
104
106
  })
105
107
  });
106
108
  };
@@ -11,5 +11,6 @@ export interface ICardButton extends IZenIdComponentProps {
11
11
  link?: string;
12
12
  target?: HTMLAttributeAnchorTarget;
13
13
  dataAnalyticsId?: string;
14
+ ariaLabel?: string;
14
15
  }
15
- export declare const CardButton: ({ children, disabled, icon, name, onClick, link, className, target: linkTarget, dataAnalyticsId }: ICardButton) => import("react/jsx-runtime").JSX.Element;
16
+ export declare const CardButton: ({ children, disabled, icon, name, onClick, link, className, target: linkTarget, dataAnalyticsId, ariaLabel }: ICardButton) => import("react/jsx-runtime").JSX.Element;
@@ -9,7 +9,7 @@ import { Menu } from "../../../menu/menu";
9
9
  import { useDriveClassName } from "../../../utils/theme/useDriveClassName";
10
10
  import { useDrive } from "../../../utils/theme/useDrive";
11
11
  import { toKebabCase } from "../../../utils/toKebabCase";
12
- export const CardButton = ({ children, disabled = false, icon, name, onClick, link, className, target: linkTarget, dataAnalyticsId }) => {
12
+ export const CardButton = ({ children, disabled = false, icon, name, onClick, link, className, target: linkTarget, dataAnalyticsId, ariaLabel }) => {
13
13
  const [isOpen, setIsOpen] = useState(false);
14
14
  const triggerRef = useRef(null);
15
15
  const content = [];
@@ -29,9 +29,9 @@ export const CardButton = ({ children, disabled = false, icon, name, onClick, li
29
29
  }
30
30
  onClick === null || onClick === void 0 ? void 0 : onClick(...args);
31
31
  };
32
- const renderLink = () => (_jsxs(Button, { disabled: disabled, type: "tertiary", link: link, target: linkTarget, title: name, dataAnalyticsId: analyticsId, className: classNames([className || "", "zen-card-button", "zen-caption", cardButtonDriveClasses || ""]), children: [icon && createElement(icon, { size: isDrive ? "huge" : "large", className: "zen-caption__pre-content" }), _jsx("span", { className: "zen-caption__content", children: name })] }));
32
+ const renderLink = () => (_jsxs(Button, { disabled: disabled, type: "tertiary", link: link, target: linkTarget, title: name, ariaLabel: ariaLabel, dataAnalyticsId: analyticsId, className: classNames([className || "", "zen-card-button", "zen-caption", cardButtonDriveClasses || ""]), children: [icon && createElement(icon, { size: isDrive ? "huge" : "large", className: "zen-caption__pre-content" }), _jsx("span", { className: "zen-caption__content", children: name })] }));
33
33
  const renderButton = () => {
34
- const trigger = (_jsxs(Button, { htmlType: "button", ref: triggerRef, disabled: disabled, type: "tertiary", onClick: onButtonClickHandler, title: name, dataAnalyticsId: analyticsId, className: classNames([className || "", "zen-card-button", "zen-caption", cardButtonDriveClasses || ""]), children: [icon && createElement(icon, { size: isDrive ? "huge" : "large", className: "zen-caption__pre-content" }), _jsx("span", { className: "zen-caption__content", children: name }), !!content.length &&
34
+ const trigger = (_jsxs(Button, { htmlType: "button", ref: triggerRef, disabled: disabled, type: "tertiary", onClick: onButtonClickHandler, title: name, ariaLabel: ariaLabel, dataAnalyticsId: analyticsId, className: classNames([className || "", "zen-card-button", "zen-caption", cardButtonDriveClasses || ""]), children: [icon && createElement(icon, { size: isDrive ? "huge" : "large", className: "zen-caption__pre-content" }), _jsx("span", { className: "zen-caption__content", children: name }), !!content.length &&
35
35
  (isOpen ? (_jsx(IconChevronTopSmall, { size: isDrive ? "huge" : "large", className: "zen-caption__post-content" })) : (_jsx(IconChevronDownSmall, { size: isDrive ? "huge" : "large", className: "zen-caption__post-content" })))] }));
36
36
  return content.length ? (_jsxs(_Fragment, { children: [trigger, _jsx(ControlledMenu, { title: name, isOpen: isOpen, setIsOpen: setIsOpen, triggerRef: triggerRef, children: content })] })) : (trigger);
37
37
  };
@@ -7,7 +7,7 @@ export const useVisibleColumns = (columnsList, expanded, options) => {
7
7
  secondaryColumns = expanded ? columnsList.slice(visibleColumns) : [];
8
8
  return { mainColumns, secondaryColumns };
9
9
  }
10
- mainColumns = columnsList.slice(0, columnsList.length - collapsedColumnsQty);
10
+ mainColumns = columnsList.slice(0, Math.max(1, columnsList.length - collapsedColumnsQty));
11
11
  secondaryColumns = expanded ? columnsList.slice(mainColumns.length) : [];
12
12
  return { mainColumns, secondaryColumns };
13
13
  };
@@ -6,7 +6,8 @@ const DEFAULT_META = {
6
6
  visibleOnHover: false
7
7
  };
8
8
  export const toBasicColumn = (column) => {
9
+ var _a;
9
10
  const defaultColumn = defaultColumnComponent(column.id);
10
11
  const columnComponent = column.columnComponent || defaultColumn;
11
- return Object.assign(Object.assign({}, column), { name: column.name || column.id || "", meta: Object.assign(Object.assign({}, DEFAULT_META), (column.meta || {})), columnComponent: columnComponent, wrappers: column.wrappers || [], colspan: column.colspan || 1 });
12
+ return Object.assign(Object.assign({}, column), { name: column.name || column.id || "", meta: Object.assign(Object.assign({}, DEFAULT_META), (column.meta || {})), columnComponent: columnComponent, wrappers: column.wrappers || [], alwaysVisible: (_a = column.alwaysVisible) !== null && _a !== void 0 ? _a : false, colspan: column.colspan || 1 });
12
13
  };
@@ -17,6 +17,7 @@ export interface IListColumn<T, N = T> {
17
17
  meta?: IListColumnMeta<T, N>;
18
18
  columnComponent?: IColumnComponent<T, N>;
19
19
  wrappers?: IListColumnWrapper<T, N>[];
20
+ alwaysVisible?: boolean;
20
21
  colspan?: undefined | number | ((entity: T | N) => number | undefined);
21
22
  }
22
23
  export type TRenderResult = ReactNode | PromiseLike<ReactNode | undefined> | undefined;
@@ -6,10 +6,10 @@ import { IRowEntity } from "../../row/row";
6
6
  interface IColumnSettingsList<T extends IRowEntity<T>> extends IZenComponentProps {
7
7
  columns: IListFlexibleColumnStrict<T, T>[];
8
8
  settings: Map<string, boolean>;
9
- firstColumn: string;
9
+ disabledColumns?: string[];
10
10
  onChange?: (newState: Map<string, boolean>) => void;
11
11
  sortGroups?: (a: string, b: string) => number;
12
12
  sortColumns?: (a: string, b: string) => number;
13
13
  }
14
- export declare function ColumnSettingsList<T extends IRowEntity<T> & IColumnsGroup>({ columns, settings, firstColumn, onChange, sortGroups, sortColumns }: IColumnSettingsList<T>): import("react/jsx-runtime").JSX.Element[];
14
+ export declare function ColumnSettingsList<T extends IRowEntity<T> & IColumnsGroup>({ columns, settings, disabledColumns, onChange, sortGroups, sortColumns }: IColumnSettingsList<T>): import("react/jsx-runtime").JSX.Element[];
15
15
  export {};
@@ -3,7 +3,7 @@ import { useCallback, useId, useMemo } from "react";
3
3
  import { groupColumns } from "../../extensions/groupColumns";
4
4
  import { SelectList } from "../../../selectList/selectList";
5
5
  import { CheckboxState } from "../../../checkbox/checkboxState";
6
- const SubColumnsList = ({ title, columns, settings, firstColumn, onChange, sortColumns }) => {
6
+ const SubColumnsList = ({ title, columns, settings, disabledColumns, onChange, sortColumns }) => {
7
7
  const id = useId();
8
8
  const sortColumnsInt = useCallback((a, b) => {
9
9
  if (sortColumns) {
@@ -14,10 +14,10 @@ const SubColumnsList = ({ title, columns, settings, firstColumn, onChange, sortC
14
14
  const items = useMemo(() => columns.sort(sortColumnsInt).map(c => ({
15
15
  id: c.id,
16
16
  title: c.title,
17
- disabled: c.name === firstColumn,
17
+ disabled: (disabledColumns === null || disabledColumns === void 0 ? void 0 : disabledColumns.includes(c.name)) || false,
18
18
  showCheckbox: true,
19
19
  children: c.title
20
- })), [columns, firstColumn, sortColumnsInt]);
20
+ })), [columns, disabledColumns, sortColumnsInt]);
21
21
  const state = columns.reduce((res, c) => {
22
22
  res.set(c.id, settings.get(c.name) !== false ? CheckboxState.On : CheckboxState.Off);
23
23
  return res;
@@ -36,7 +36,7 @@ const SubColumnsList = ({ title, columns, settings, firstColumn, onChange, sortC
36
36
  }
37
37
  return (_jsxs("div", { className: "zen-columns-list__sub-section", children: [_jsx("div", { className: "zen-columns-list__title zen-ellipsis", children: title }), list] }));
38
38
  };
39
- export function ColumnSettingsList({ columns, settings, firstColumn, onChange, sortGroups, sortColumns }) {
39
+ export function ColumnSettingsList({ columns, settings, disabledColumns, onChange, sortGroups, sortColumns }) {
40
40
  const groupped = groupColumns(columns);
41
41
  const sortGroupsInt = useCallback((a, b) => {
42
42
  if (sortGroups) {
@@ -46,5 +46,5 @@ export function ColumnSettingsList({ columns, settings, firstColumn, onChange, s
46
46
  }, [sortGroups]);
47
47
  return Array.from(groupped.entries())
48
48
  .sort(sortGroupsInt)
49
- .map(([title, cs]) => (_jsx(SubColumnsList, { title: title, columns: cs, settings: settings, firstColumn: firstColumn, onChange: onChange, sortColumns: sortColumns }, cs.map(c => c.id).join("-"))));
49
+ .map(([title, cs]) => (_jsx(SubColumnsList, { title: title, columns: cs, settings: settings, disabledColumns: disabledColumns, onChange: onChange, sortColumns: sortColumns }, cs.map(c => c.id).join("-"))));
50
50
  }
@@ -10,6 +10,7 @@ import { FlexibleColumnWrapper } from "./columns/flexibleColumnWrapper";
10
10
  import { ColumnSettings } from "./components/columnSettings";
11
11
  import { ColumnSettingsList } from "./components/columnSettingsList";
12
12
  import { ColumnSettingsSidePanel } from "./components/columnSettingsSidePanel";
13
+ import { EmptySearchList } from "../emptySearchList/emptySearchList";
13
14
  import { zen } from "../../utils/zen";
14
15
  // T - type of entity
15
16
  // P - props of wrapped component
@@ -22,6 +23,7 @@ export const withFlexibleColumns = (DataGridComponent) => {
22
23
  const [isPanelOpen, setIsPanelOpen] = useState(false);
23
24
  const allColumns = useMemo(() => columns.map(column => (Object.assign(Object.assign({}, toBasicColumn(Object.assign({}, column))), { visible: column.visible !== false, group: column.group || "" }))), [columns]);
24
25
  const columnsSettings = useMemo(() => mergeColumnsSettings(allColumns, options.columnsSettings || settingsStore.getItem()), [allColumns, options.columnsSettings, settingsStore]);
26
+ const hasConfigurableColumns = useMemo(() => allColumns.filter(c => c.title).some(c => !c.alwaysVisible), [allColumns]);
25
27
  const visibleColumns = useMemo(() => {
26
28
  const visibleColumnsMap = new Map(allColumns.map(c => [c.name, c]));
27
29
  return columnsSettings
@@ -63,10 +65,12 @@ export const withFlexibleColumns = (DataGridComponent) => {
63
65
  }, 0);
64
66
  }), [settingsStore]);
65
67
  const listOfColumns = useMemo(() => {
66
- var _a;
67
- const firstColumn = (((_a = visibleColumns[0]) === null || _a === void 0 ? void 0 : _a.name) || "");
68
+ const configurableColumnNames = new Set(allColumns.filter(c => c.title).map(c => c.name));
69
+ const visibleConfigurableSettings = columnsSettings.filter(s => s.visible && configurableColumnNames.has(s.name));
70
+ const lastVisibleColumn = visibleConfigurableSettings.length === 1 ? [visibleConfigurableSettings[0].name] : [];
71
+ const disabledColumns = [...allColumns.filter(c => c.alwaysVisible).map(c => c.name), ...lastVisibleColumn];
68
72
  const columnSettingsMap = new Map(columnsSettings.map(s => [s.name, s.visible]));
69
- return (_jsx(ColumnSettingsList, { columns: allColumns.filter(c => c.title), settings: columnSettingsMap, firstColumn: firstColumn, onChange: async (newSettings) => {
73
+ return (_jsx(ColumnSettingsList, { columns: allColumns.filter(c => c.title), settings: columnSettingsMap, disabledColumns: disabledColumns, onChange: async (newSettings) => {
70
74
  const settings = columnsSettings.map(s => {
71
75
  const visible = newSettings.get(s.name) !== false;
72
76
  return Object.assign(Object.assign({}, s), { visible });
@@ -74,7 +78,7 @@ export const withFlexibleColumns = (DataGridComponent) => {
74
78
  await saveSettingsToTheStore(settings);
75
79
  onChangeSettings(settings);
76
80
  }, sortGroups: sortGroups, sortColumns: sortColumns }));
77
- }, [columnsSettings, allColumns, saveSettingsToTheStore, onChangeSettings, visibleColumns, sortGroups, sortColumns]);
81
+ }, [columnsSettings, allColumns, saveSettingsToTheStore, onChangeSettings, sortGroups, sortColumns]);
78
82
  const onReorderListener = useCallback(async ([from, to]) => {
79
83
  if (from === to) {
80
84
  return;
@@ -134,9 +138,14 @@ export const withFlexibleColumns = (DataGridComponent) => {
134
138
  onResetSettings();
135
139
  setIsPanelOpen(false);
136
140
  }, [onResetSettings, saveSettingsToTheStore]);
137
- return (_jsxs(_Fragment, { children: [popupTriggerRef && visibleColumns.length > 0 ? (options.isFeed ? (_jsx(ColumnSettingsSidePanel, { triggerRef: popupTriggerRef, isOpen: isPanelOpen, onOpen: () => setIsPanelOpen(true), onClose: () => setIsPanelOpen(false), onReset: onResetListener, children: _jsx(ColumnSettings, { onReset: onResetListener, showFooter: false, children: listOfColumns }) })) : (_jsx(Popup, { triggerRef: popupTriggerRef, alignment: "bottom-right", children: _jsx(ColumnSettings, { onReset: onResetListener, children: listOfColumns }) }, "flexible-popup"))) : null, _jsx(DataGridComponent, Object.assign({}, props, { columns: [...visibleColumns], ref: gridRef }), "grid")] }));
141
+ useEffect(() => {
142
+ if (popupTriggerRef === null || popupTriggerRef === void 0 ? void 0 : popupTriggerRef.current) {
143
+ popupTriggerRef.current.style.display = hasConfigurableColumns ? "" : "none";
144
+ }
145
+ }, [popupTriggerRef, hasConfigurableColumns]);
146
+ return (_jsxs(_Fragment, { children: [popupTriggerRef && hasConfigurableColumns ? (options.isFeed ? (_jsx(ColumnSettingsSidePanel, { triggerRef: popupTriggerRef, isOpen: isPanelOpen, onOpen: () => setIsPanelOpen(true), onClose: () => setIsPanelOpen(false), onReset: onResetListener, children: _jsx(ColumnSettings, { onReset: onResetListener, showFooter: false, children: listOfColumns }) })) : (_jsx(Popup, { triggerRef: popupTriggerRef, alignment: "bottom-right", children: _jsx(ColumnSettings, { onReset: onResetListener, children: listOfColumns }) }, "flexible-popup"))) : null, visibleColumns.length === 0 && hasConfigurableColumns ? (_jsx("div", { className: "zen-data-grid__empty", children: _jsx(EmptySearchList, {}) })) : (_jsx(DataGridComponent, Object.assign({}, props, { columns: [...visibleColumns], ref: gridRef }), "grid"))] }));
138
147
  };
139
148
  FlexibleColumnsComponent.displayName = `withFlexibleColumns(${DataGridComponent.displayName || DataGridComponent.name || "Component"})`;
140
149
  return FlexibleColumnsComponent;
141
150
  };
142
- withFlexibleColumns.translations = [...ColumnSettings.translations, ...ColumnSettingsSidePanel.translations];
151
+ withFlexibleColumns.translations = [...ColumnSettings.translations, ...ColumnSettingsSidePanel.translations, ...EmptySearchList.translations];
@@ -19,10 +19,10 @@ injectString("da-DK", "Close", "Luk");
19
19
  injectString("de", "Close", "Schlie\xDFen");
20
20
  injectString("en", "Close", "Close");
21
21
  injectString("es", "Close", "Cerrar");
22
- injectString("fi-FI", "Close", "Sulje");
22
+ injectString("fi-FI", "Close", "Sulkea");
23
23
  injectString("fr", "Close", "Fermer");
24
24
  injectString("fr-FR", "Close", "Fermer");
25
- injectString("hu-HU", "Close", "Z\xE1rd be.");
25
+ injectString("hu-HU", "Close", "Bez\xE1r\xE1s");
26
26
  injectString("id", "Close", "Tutup");
27
27
  injectString("it", "Close", "Chiudere");
28
28
  injectString("ja", "Close", "\u9589\u3058\u308B");
@@ -33,13 +33,13 @@ injectString("nl", "Close", "Sluiten");
33
33
  injectString("pl", "Close", "Zamknij");
34
34
  injectString("pt-BR", "Close", "Fechar");
35
35
  injectString("pt-PT", "Close", "Fechar");
36
- injectString("sk-SK", "Close", "Zatvor");
36
+ injectString("sk-SK", "Close", "Zatvori\u0165");
37
37
  injectString("sv", "Close", "St\xE4ng");
38
38
  injectString("th", "Close", "\u0E1B\u0E34\u0E14");
39
39
  injectString("tr", "Close", "Kapat");
40
40
  injectString("zh-Hans", "Close", "\u5173\u95ED");
41
41
  injectString("zh-TW", "Close", "\u95DC\u9589");
42
- injectString("ro-RO", "Close", "\xCEnchide\u021Bi");
42
+ injectString("ro-RO", "Close", "\xCEnchide");
43
43
  injectString("ar-SA", "Close", "\u0625\u063A\u0644\u0627\u0642");
44
44
  export const DialogContent = ({
45
45
  onClose,
@@ -31,7 +31,7 @@ export declare const checkIsDataProblem: (selectedIds: string[], groupsMap: IDro
31
31
  export declare const getStringFromSelected: (selectedIds: string[], groupsMapSelected: IDropdownState["groupsMapSelected"], translate: (s: string) => string, rootId: string) => string;
32
32
  export declare const getStringFromAllSelected: (groupsMap: IDropdownState["groupsMap"], translate: (s: string) => string, rootId: string) => string;
33
33
  export declare const getSelectedCount: (selectedIds: string[]) => number;
34
- export declare const getAllyTriggerProps: (allyPattern: "selectOnlyCombobox" | "comboboxWithDialog" | "buttonWithDialog") => {
34
+ export declare const getAllyTriggerProps: (allyPattern: "selectOnlyCombobox" | "comboboxWithDialog" | "buttonWithDialog" | "buttonWithMenu") => {
35
35
  readonly role: "combobox";
36
36
  readonly "aria-haspopup": "listbox";
37
37
  } | {
@@ -40,4 +40,7 @@ export declare const getAllyTriggerProps: (allyPattern: "selectOnlyCombobox" | "
40
40
  } | {
41
41
  readonly role: "button";
42
42
  readonly "aria-haspopup": "dialog";
43
+ } | {
44
+ readonly role: "button";
45
+ readonly "aria-haspopup": "menu";
43
46
  };
@@ -146,6 +146,7 @@ export const getSelectedCount = (selectedIds) => selectedIds.length;
146
146
  const ALLY_TRIGGER_PROPS = {
147
147
  selectOnlyCombobox: { role: "combobox", "aria-haspopup": "listbox" },
148
148
  comboboxWithDialog: { role: "combobox", "aria-haspopup": "dialog" },
149
- buttonWithDialog: { role: "button", "aria-haspopup": "dialog" }
149
+ buttonWithDialog: { role: "button", "aria-haspopup": "dialog" },
150
+ buttonWithMenu: { role: "button", "aria-haspopup": "menu" }
150
151
  };
151
152
  export const getAllyTriggerProps = (allyPattern) => ALLY_TRIGGER_PROPS[allyPattern];
@@ -902,7 +902,7 @@ export const DropdownRaw = props => {
902
902
  if (searchField) {
903
903
  return "comboboxWithDialog";
904
904
  }
905
- return "buttonWithDialog";
905
+ return "buttonWithMenu";
906
906
  }, [searchField, multiselect]);
907
907
  if (isReadOnly) {
908
908
  // TODO: how many items should we show?
@@ -982,7 +982,7 @@ export const DropdownRaw = props => {
982
982
  isSearchInPopup: chip,
983
983
  mobileSheetStackingClassName: mobileSheetStackingClassName,
984
984
  handleFocusOnSentinelItem: handleFocusOnSentinelItem,
985
- role: memoizedAllyPattern === "selectOnlyCombobox" ? false : "dialog",
985
+ role: memoizedAllyPattern === "selectOnlyCombobox" || memoizedAllyPattern === "buttonWithMenu" ? false : "dialog",
986
986
  children: getPopupContent
987
987
  })]
988
988
  });
@@ -24,7 +24,7 @@ export interface IDropdownTrigger extends IZenComponentProps {
24
24
  onBlur?: () => void;
25
25
  popupId?: string;
26
26
  handleFocusOnPopup?: () => void;
27
- allyPattern?: "selectOnlyCombobox" | "comboboxWithDialog" | "buttonWithDialog";
27
+ allyPattern?: "selectOnlyCombobox" | "comboboxWithDialog" | "buttonWithDialog" | "buttonWithMenu";
28
28
  }
29
29
  export declare const DropdownTrigger: ({ name, onBlur, isActive, id, triggerRef, searchField, placeholder, disabled, fullWidth, currentSelection, handleClick, inputValue, className, onSearchChange, width, title, triggerAriaLabel, count, inputRef, buttonType, isError, popupId, handleFocusOnPopup, allyPattern, ...otherProps }: IDropdownTrigger) => import("react/jsx-runtime").JSX.Element;
30
30
  export declare const TRANSLATIONS: string[];
@@ -22,7 +22,7 @@ export const DropdownTrigger = (_a) => {
22
22
  handleClick(!isActive);
23
23
  };
24
24
  const allyTriggerProps = useMemo(() => getAllyTriggerProps(allyPattern), [allyPattern]);
25
- return (_jsx(_Fragment, { children: searchField ? (_jsx(DropdownSearchableTrigger, Object.assign({ value: inputValue || "", name: name, onChange: onSearchChange, isOpenPopup: isActive, inputRef: inputRef || elInpRef, handleClick: handleClick, handleFocusOnPopup: handleFocusOnPopup, ref: triggerRef, width: width, placeholder: placeholder, disabled: disabled, id: id, title: title, count: count, currentSelection: currentSelection, className: className, isError: isError, fullWidth: fullWidth, popupId: popupId }, otherProps))) : (_jsx(FilterButton, Object.assign({ ref: triggerRef, id: id, name: name, onBlur: onBlur, className: classNames(["zen-dropdown__trigger-button", isError ? "zen-dropdown__trigger-button--error" : "", className || ""]), onClick: handleButtonClick, disabled: disabled, isActive: isActive, fullWidth: width ? true : fullWidth, maxWidth: width, minWidth: width, quantity: count || undefined, type: buttonType, title: title, ariaLabel: triggerAriaLabel || placeholder, "aria-expanded": isActive, "aria-controls": popupId }, allyTriggerProps, otherProps, { children: currentSelection ? (_jsx("span", { className: classNames([
25
+ return (_jsx(_Fragment, { children: searchField ? (_jsx(DropdownSearchableTrigger, Object.assign({ value: inputValue || "", name: name, onChange: onSearchChange, isOpenPopup: isActive, inputRef: inputRef || elInpRef, handleClick: handleClick, handleFocusOnPopup: handleFocusOnPopup, ref: triggerRef, width: width, placeholder: placeholder, disabled: disabled, id: id, title: title, count: count, currentSelection: currentSelection, className: className, isError: isError, fullWidth: fullWidth, popupId: popupId }, otherProps))) : (_jsx(FilterButton, Object.assign({ ref: triggerRef, id: id, name: name, onBlur: onBlur, className: classNames(["zen-dropdown__trigger-button", isError ? "zen-dropdown__trigger-button--error" : "", className || ""]), onClick: handleButtonClick, disabled: disabled, isActive: isActive, fullWidth: width ? true : fullWidth, maxWidth: width, minWidth: width, quantity: count || undefined, type: buttonType, title: title, ariaLabel: triggerAriaLabel || currentSelection || placeholder, "aria-expanded": isActive, "aria-controls": popupId }, allyTriggerProps, otherProps, { children: currentSelection ? (_jsx("span", { className: classNames([
26
26
  "zen-dropdown__trigger-button-text",
27
27
  buttonType ? `zen-dropdown__trigger-button-text--${buttonType.toString()}` : ""
28
28
  ]), children: currentSelection })) : (placeholder) }))) }));
@@ -38,7 +38,7 @@ injectString("zh-TW", "Uploaded", "Uploaded");
38
38
  injectString("ro-RO", "Uploaded", "Uploaded");
39
39
  injectString("ar-SA", "Uploaded", "\u062A\u0645 \u0627\u0644\u0631\u0641\u0639");
40
40
  injectString("cs", "Remove", "Odebrat");
41
- injectString("da-DK", "Remove", "Fjerne");
41
+ injectString("da-DK", "Remove", "Fjern");
42
42
  injectString("de", "Remove", "Entfernen");
43
43
  injectString("en", "Remove", "Remove");
44
44
  injectString("es", "Remove", "Eliminar");
@@ -60,9 +60,9 @@ injectString("sk-SK", "Remove", "Odstr\xE1ni\u0165");
60
60
  injectString("sv", "Remove", "Ta bort");
61
61
  injectString("th", "Remove", "\u0E25\u0E1A");
62
62
  injectString("tr", "Remove", "Kald\u0131r");
63
- injectString("zh-Hans", "Remove", "\u5220\u9664");
63
+ injectString("zh-Hans", "Remove", "\u79FB\u9664");
64
64
  injectString("zh-TW", "Remove", "\u79FB\u9664");
65
- injectString("ro-RO", "Remove", "Elimina\u021Bi");
65
+ injectString("ro-RO", "Remove", "Elimin\u0103");
66
66
  injectString("ar-SA", "Remove", "\u0625\u0632\u0627\u0644\u0629");
67
67
  const getFileIcon = file => {
68
68
  var _a;
@@ -152,7 +152,7 @@ injectString("zh-TW", "This filter is currently applied.", "This filter is curre
152
152
  injectString("ro-RO", "This filter is currently applied.", "This filter is currently applied.");
153
153
  injectString("ar-SA", "This filter is currently applied.", "\u0647\u0630\u0647 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u0645\u0637\u0628\u0642\u0629 \u062D\u0627\u0644\u064A\u0627\u064B.");
154
154
  injectString("cs", "Remove", "Odebrat");
155
- injectString("da-DK", "Remove", "Fjerne");
155
+ injectString("da-DK", "Remove", "Fjern");
156
156
  injectString("de", "Remove", "Entfernen");
157
157
  injectString("en", "Remove", "Remove");
158
158
  injectString("es", "Remove", "Eliminar");
@@ -174,9 +174,9 @@ injectString("sk-SK", "Remove", "Odstr\xE1ni\u0165");
174
174
  injectString("sv", "Remove", "Ta bort");
175
175
  injectString("th", "Remove", "\u0E25\u0E1A");
176
176
  injectString("tr", "Remove", "Kald\u0131r");
177
- injectString("zh-Hans", "Remove", "\u5220\u9664");
177
+ injectString("zh-Hans", "Remove", "\u79FB\u9664");
178
178
  injectString("zh-TW", "Remove", "\u79FB\u9664");
179
- injectString("ro-RO", "Remove", "Elimina\u021Bi");
179
+ injectString("ro-RO", "Remove", "Elimin\u0103");
180
180
  injectString("ar-SA", "Remove", "\u0625\u0632\u0627\u0644\u0629");
181
181
  injectString("cs", "Remove filter", "Odebrat filtr");
182
182
  injectString("da-DK", "Remove filter", "Fjern filter");
@@ -6,7 +6,7 @@ import { Button } from "../../button/button";
6
6
  import { classNames } from "../../commonHelpers/classNames/classNames";
7
7
  import { IconClose } from "../../icons/iconClose";
8
8
  injectString("cs", "Remove", "Odebrat");
9
- injectString("da-DK", "Remove", "Fjerne");
9
+ injectString("da-DK", "Remove", "Fjern");
10
10
  injectString("de", "Remove", "Entfernen");
11
11
  injectString("en", "Remove", "Remove");
12
12
  injectString("es", "Remove", "Eliminar");
@@ -28,9 +28,9 @@ injectString("sk-SK", "Remove", "Odstr\xE1ni\u0165");
28
28
  injectString("sv", "Remove", "Ta bort");
29
29
  injectString("th", "Remove", "\u0E25\u0E1A");
30
30
  injectString("tr", "Remove", "Kald\u0131r");
31
- injectString("zh-Hans", "Remove", "\u5220\u9664");
31
+ injectString("zh-Hans", "Remove", "\u79FB\u9664");
32
32
  injectString("zh-TW", "Remove", "\u79FB\u9664");
33
- injectString("ro-RO", "Remove", "Elimina\u021Bi");
33
+ injectString("ro-RO", "Remove", "Elimin\u0103");
34
34
  injectString("ar-SA", "Remove", "\u0625\u0632\u0627\u0644\u0629");
35
35
  const SearchItemContent = ({
36
36
  icon,
@@ -222,10 +222,10 @@ injectString("da-DK", "Close", "Luk");
222
222
  injectString("de", "Close", "Schlie\xDFen");
223
223
  injectString("en", "Close", "Close");
224
224
  injectString("es", "Close", "Cerrar");
225
- injectString("fi-FI", "Close", "Sulje");
225
+ injectString("fi-FI", "Close", "Sulkea");
226
226
  injectString("fr", "Close", "Fermer");
227
227
  injectString("fr-FR", "Close", "Fermer");
228
- injectString("hu-HU", "Close", "Z\xE1rd be.");
228
+ injectString("hu-HU", "Close", "Bez\xE1r\xE1s");
229
229
  injectString("id", "Close", "Tutup");
230
230
  injectString("it", "Close", "Chiudere");
231
231
  injectString("ja", "Close", "\u9589\u3058\u308B");
@@ -236,13 +236,13 @@ injectString("nl", "Close", "Sluiten");
236
236
  injectString("pl", "Close", "Zamknij");
237
237
  injectString("pt-BR", "Close", "Fechar");
238
238
  injectString("pt-PT", "Close", "Fechar");
239
- injectString("sk-SK", "Close", "Zatvor");
239
+ injectString("sk-SK", "Close", "Zatvori\u0165");
240
240
  injectString("sv", "Close", "St\xE4ng");
241
241
  injectString("th", "Close", "\u0E1B\u0E34\u0E14");
242
242
  injectString("tr", "Close", "Kapat");
243
243
  injectString("zh-Hans", "Close", "\u5173\u95ED");
244
244
  injectString("zh-TW", "Close", "\u95DC\u9589");
245
- injectString("ro-RO", "Close", "\xCEnchide\u021Bi");
245
+ injectString("ro-RO", "Close", "\xCEnchide");
246
246
  injectString("ar-SA", "Close", "\u0625\u063A\u0644\u0627\u0642");
247
247
  const SELECTED_TAB_ID = "Selected";
248
248
  const getSelectedOption = translate => ({
@@ -136,10 +136,10 @@ injectString("da-DK", "Close", "Luk");
136
136
  injectString("de", "Close", "Schlie\xDFen");
137
137
  injectString("en", "Close", "Close");
138
138
  injectString("es", "Close", "Cerrar");
139
- injectString("fi-FI", "Close", "Sulje");
139
+ injectString("fi-FI", "Close", "Sulkea");
140
140
  injectString("fr", "Close", "Fermer");
141
141
  injectString("fr-FR", "Close", "Fermer");
142
- injectString("hu-HU", "Close", "Z\xE1rd be.");
142
+ injectString("hu-HU", "Close", "Bez\xE1r\xE1s");
143
143
  injectString("id", "Close", "Tutup");
144
144
  injectString("it", "Close", "Chiudere");
145
145
  injectString("ja", "Close", "\u9589\u3058\u308B");
@@ -150,13 +150,13 @@ injectString("nl", "Close", "Sluiten");
150
150
  injectString("pl", "Close", "Zamknij");
151
151
  injectString("pt-BR", "Close", "Fechar");
152
152
  injectString("pt-PT", "Close", "Fechar");
153
- injectString("sk-SK", "Close", "Zatvor");
153
+ injectString("sk-SK", "Close", "Zatvori\u0165");
154
154
  injectString("sv", "Close", "St\xE4ng");
155
155
  injectString("th", "Close", "\u0E1B\u0E34\u0E14");
156
156
  injectString("tr", "Close", "Kapat");
157
157
  injectString("zh-Hans", "Close", "\u5173\u95ED");
158
158
  injectString("zh-TW", "Close", "\u95DC\u9589");
159
- injectString("ro-RO", "Close", "\xCEnchide\u021Bi");
159
+ injectString("ro-RO", "Close", "\xCEnchide");
160
160
  injectString("ar-SA", "Close", "\u0625\u063A\u0644\u0627\u0642");
161
161
  const getChangeHandlers = children => {
162
162
  const handlers = {};
@@ -5,11 +5,11 @@ import { IconCheckRadio } from "../../../icons/iconCheckRadio";
5
5
  import { IconCloseCircle } from "../../../icons/iconCloseCircle";
6
6
  import { Pill } from "../../../pill/pill";
7
7
  import { useLanguage } from "../../../utils/localization/useLanguage";
8
- injectString("cs", "On", "Zapnout");
9
- injectString("da-DK", "On", "P\xE5");
8
+ injectString("cs", "On", "Zapnuto");
9
+ injectString("da-DK", "On", "T\xE6ndt");
10
10
  injectString("de", "On", "Ein");
11
11
  injectString("en", "On", "On");
12
- injectString("es", "On", "Activar");
12
+ injectString("es", "On", "Activado");
13
13
  injectString("fi-FI", "On", "P\xE4\xE4lle");
14
14
  injectString("fr", "On", "Activ\xE9");
15
15
  injectString("fr-FR", "On", "On");
@@ -17,26 +17,26 @@ injectString("hu-HU", "On", "Bekapcsolva");
17
17
  injectString("id", "On", "Aktif");
18
18
  injectString("it", "On", "On");
19
19
  injectString("ja", "On", "\u30AA\u30F3");
20
- injectString("ko-KR", "On", "~\uC5D0");
20
+ injectString("ko-KR", "On", "\uCF1C\uC9D0");
21
21
  injectString("ms", "On", "Hidup");
22
22
  injectString("nb-NO", "On", "P\xE5");
23
23
  injectString("nl", "On", "Aan");
24
24
  injectString("pl", "On", "W\u0142.");
25
- injectString("pt-BR", "On", "Ativado");
26
- injectString("pt-PT", "On", "Ativado");
25
+ injectString("pt-BR", "On", "Ativar");
26
+ injectString("pt-PT", "On", "Ligado");
27
27
  injectString("sk-SK", "On", "Zapnut\xE9");
28
28
  injectString("sv", "On", "P\xE5");
29
29
  injectString("th", "On", "\u0E40\u0E1B\u0E34\u0E14");
30
30
  injectString("tr", "On", "A\xE7\u0131k");
31
31
  injectString("zh-Hans", "On", "\u5F00\u542F");
32
32
  injectString("zh-TW", "On", "\u958B\u555F");
33
- injectString("ro-RO", "On", "Activat");
33
+ injectString("ro-RO", "On", "Pe");
34
34
  injectString("ar-SA", "On", "\u062A\u0634\u063A\u064A\u0644");
35
- injectString("cs", "Off", "Vypnout");
35
+ injectString("cs", "Off", "Vypnuto");
36
36
  injectString("da-DK", "Off", "Slukket");
37
37
  injectString("de", "Off", "Aus");
38
38
  injectString("en", "Off", "Off");
39
- injectString("es", "Off", "Desactivar");
39
+ injectString("es", "Off", "Deshabilitado");
40
40
  injectString("fi-FI", "Off", "Pois");
41
41
  injectString("fr", "Off", "D\xE9sactiv\xE9");
42
42
  injectString("fr-FR", "Off", "Off");
@@ -44,20 +44,20 @@ injectString("hu-HU", "Off", "Kikapcsolva");
44
44
  injectString("id", "Off", "Nonaktif");
45
45
  injectString("it", "Off", "Off");
46
46
  injectString("ja", "Off", "\u30AA\u30D5");
47
- injectString("ko-KR", "Off", "\uB044\uB2E4");
47
+ injectString("ko-KR", "Off", "\uAEBC\uC9D0");
48
48
  injectString("ms", "Off", "Mati");
49
49
  injectString("nb-NO", "Off", "Av");
50
50
  injectString("nl", "Off", "Uit");
51
51
  injectString("pl", "Off", "Wy\u0142.");
52
- injectString("pt-BR", "Off", "Desativado");
53
- injectString("pt-PT", "Off", "Desativado");
52
+ injectString("pt-BR", "Off", "Desativar");
53
+ injectString("pt-PT", "Off", "Desligado");
54
54
  injectString("sk-SK", "Off", "Vypnut\xE9");
55
55
  injectString("sv", "Off", "Av");
56
56
  injectString("th", "Off", "\u0E1B\u0E34\u0E14");
57
57
  injectString("tr", "Off", "Kapal\u0131");
58
58
  injectString("zh-Hans", "Off", "\u5173\u95ED");
59
59
  injectString("zh-TW", "Off", "\u95DC\u9589");
60
- injectString("ro-RO", "Off", "Dezactivat");
60
+ injectString("ro-RO", "Off", "Off");
61
61
  injectString("ar-SA", "Off", "\u0625\u064A\u0642\u0627\u0641");
62
62
  export const ReviewListToggle = ({
63
63
  value,
@@ -210,7 +210,7 @@ injectString("id", "Results", "Hasil");
210
210
  injectString("it", "Results", "Risultati");
211
211
  injectString("ja", "Results", "\u7D50\u679C");
212
212
  injectString("ko-KR", "Results", "\uACB0\uACFC");
213
- injectString("ms", "Results", "Keputusan");
213
+ injectString("ms", "Results", "Hasil");
214
214
  injectString("nb-NO", "Results", "Resultater");
215
215
  injectString("nl", "Results", "Resultaten");
216
216
  injectString("pl", "Results", "Wyniki");
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useMemo, useId } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconAlignLeft = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconAlignLeft", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M3 4.87a1 1 0 011-1h16a1 1 0 011 1v16a1 1 0 01-1 1H4a1 1 0 01-1-1v-16zm2 1v14h14v-14H5zm3 2a1 1 0 011 1v8a1 1 0 11-2 0v-8a1 1 0 011-1z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useMemo, useId } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconAlignmentLeft = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconAlignmentLeft", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M3 5.87a1 1 0 011-1h16a1 1 0 110 2H4a1 1 0 01-1-1zm0 7a1 1 0 011-1h8a1 1 0 110 2H4a1 1 0 01-1-1zm0 7a1 1 0 011-1h16a1 1 0 110 2H4a1 1 0 01-1-1z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconAlignmentRight = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconAlignmentRight", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M3 5.87a1 1 0 011-1h16a1 1 0 110 2H4a1 1 0 01-1-1zm8 7a1 1 0 011-1h8a1 1 0 110 2h-8a1 1 0 01-1-1zm-8 7a1 1 0 011-1h16a1 1 0 110 2H4a1 1 0 01-1-1z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconArrowBottomLeft = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconArrowBottomLeft", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M16 18.87a1 1 0 01-1 1H6a1 1 0 01-1-1v-9a1 1 0 112 0v6.585l9.793-9.792a1 1 0 111.414 1.414L8.414 17.87H15a1 1 0 011 1z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconArrowBottomRight = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconArrowBottomRight", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M18 8.87a1 1 0 011 1v9a1 1 0 01-1 1H9a1 1 0 110-2h6.586L5.793 8.077a1 1 0 011.414-1.414L17 16.455V9.87a1 1 0 011-1z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconArrowLeftPath = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconArrowLeftPath", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10.413 4.959a1 1 0 01.587.91v3h10a1 1 0 011 1v6a1 1 0 01-1 1H11v3a1 1 0 01-1.659.753l-8-7a1 1 0 010-1.505l8-7a1 1 0 011.072-.158zm-6.894 7.91L9 17.667V15.87a1 1 0 011-1h10v-4H10a1 1 0 01-1-1V8.073L3.519 12.87z" })] }));
8
10
  };