@geotab/zenith 3.12.3 → 3.13.0-beta.1
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 +13 -1
- package/dist/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +29 -29
- package/dist/calendar/calendar.js +1 -1
- package/dist/chart/lineChart/useSummary.d.ts +2 -1
- package/dist/columnsSelector/columnsSelector.js +1 -1
- package/dist/commonHelpers/arrowNavigation/arrowNavigationHelper.d.ts +1 -1
- package/dist/commonHelpers/arrowNavigation/arrowNavigationHelper.js +29 -12
- package/dist/commonHelpers/arrowNavigation/components/arrowButton/arrowButton.d.ts +2 -1
- package/dist/commonHelpers/arrowNavigation/components/arrowButton/arrowButton.js +2 -2
- package/dist/commonHelpers/arrowNavigation/hooks/useManualScrolling.js +4 -2
- package/dist/commonHelpers/arrowNavigation/hooks/useScrollWhileHolding.js +12 -3
- package/dist/commonHelpers/arrowNavigation/hooks/useScrolling.js +18 -6
- package/dist/commonStyles/caption/caption.less +3 -5
- package/dist/commonStyles/colors/colors.less +4 -19
- package/dist/commonStyles/columnsList.less +1 -0
- package/dist/commonStyles/common.less +1 -2
- package/dist/commonStyles/ellipsis.less +1 -1
- package/dist/commonStyles/fonts/roboto.less +7 -7
- package/dist/commonStyles/link/link.less +1 -1
- package/dist/commonStyles/notSelectable.less +0 -4
- package/dist/commonStyles/pillStyles/pillContent.less +6 -2
- package/dist/commonStyles/pillStyles/pillStyles.less +1 -1
- package/dist/commonStyles/pillStyles/pillTextContent.less +3 -0
- package/dist/commonStyles/pillStyles/pillTypes.less +10 -0
- package/dist/commonStyles/popupMixin.less +2 -2
- package/dist/commonStyles/rangeFieldMixin.less +3 -6
- package/dist/commonStyles/shadows/shadows.less +3 -3
- package/dist/commonStyles/typography/typography.less +24 -24
- package/dist/dataFeed/dataFeed.js +28 -2
- package/dist/dataGrid/columns/actionsColumn/actionsButton.js +1 -1
- package/dist/dataGrid/withFlexibleColumns/withFlexibleColumns.js +1 -1
- package/dist/dataGrid/withSelectableRows/withSelectableRows.js +1 -1
- package/dist/dateInputInner/dateInputInnerControlBlock.js +57 -57
- package/dist/divider/divider.js +1 -1
- package/dist/dropdownRaw/dropdownRaw.js +1 -1
- package/dist/filtersBar/components/filtersBarPeriodPicker/filtersBarPeriodPicker.js +1 -1
- package/dist/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +31 -31
- package/dist/filtersBar/filtersContainer/filtersContainer.js +16 -5
- package/dist/header/components/collapsedItemsControl/collapsedItemsControl.js +1 -1
- package/dist/header/header.js +1 -1
- package/dist/header/headerMenu.js +1 -1
- package/dist/index.css +487 -571
- package/dist/list/itemData/itemDataInternal.js +1 -1
- package/dist/list/listItem/listItem.js +1 -1
- package/dist/menu/menu.js +1 -1
- package/dist/nav/navAddMenu/navAddMenu.js +1 -1
- package/dist/nav/navFooter/navFooter.js +4 -4
- package/dist/nav/navFooter/navFooterAction/navFooterAction.js +1 -1
- package/dist/nav/navHeader/navHeader.js +1 -1
- package/dist/nav/navHeader/navHeaderSearch/navHeaderSearch.js +1 -1
- package/dist/nav/navItem/navItem.js +2 -2
- package/dist/rangeRaw/rangeRaw.js +1 -1
- package/dist/rangeRaw/utils/rangeHelper.js +28 -28
- package/dist/sortControl/sortControl.js +1 -1
- package/dist/summary/summary.d.ts +3 -2
- package/dist/summary/summary.js +6 -2
- package/dist/summaryTileBar/summaryTileBar.js +3 -1
- package/dist/table/actions/actionsMenu.js +2 -2
- package/dist/table/flexible/columnsPopup.js +1 -1
- package/dist/table/table.js +5 -7
- package/dist/tabs/tabs.js +16 -5
- package/dist/toolbar/helpers/getWidthWithMargin.js +2 -2
- package/dist/tooltip/helpers/calculateArrowPosition.js +1 -7
- package/dist/tooltip/tooltip.js +7 -5
- package/dist/utils/localization/translations/ar.json +7 -7
- package/dist/utils/localization/translations/cs.json +7 -7
- package/dist/utils/localization/translations/da-DK.json +7 -7
- package/dist/utils/localization/translations/de.json +7 -7
- package/dist/utils/localization/translations/en.json +7 -7
- package/dist/utils/localization/translations/es.json +7 -7
- package/dist/utils/localization/translations/fi-FI.json +7 -7
- package/dist/utils/localization/translations/fr-FR.json +7 -7
- package/dist/utils/localization/translations/fr.json +7 -7
- package/dist/utils/localization/translations/hu-HU.json +7 -7
- package/dist/utils/localization/translations/id.json +7 -7
- package/dist/utils/localization/translations/it.json +7 -7
- package/dist/utils/localization/translations/ja.json +7 -7
- package/dist/utils/localization/translations/ko-KR.json +7 -7
- package/dist/utils/localization/translations/ms.json +7 -7
- package/dist/utils/localization/translations/nb-NO.json +7 -7
- package/dist/utils/localization/translations/nl.json +7 -7
- package/dist/utils/localization/translations/pl.json +7 -7
- package/dist/utils/localization/translations/pt-BR.json +7 -7
- package/dist/utils/localization/translations/pt-PT.json +7 -7
- package/dist/utils/localization/translations/ro-RO.json +7 -7
- package/dist/utils/localization/translations/sk-SK.json +7 -7
- package/dist/utils/localization/translations/sv.json +7 -7
- package/dist/utils/localization/translations/th.json +7 -7
- package/dist/utils/localization/translations/tr.json +7 -7
- package/dist/utils/localization/translations/zh-Hans.json +7 -7
- package/dist/utils/localization/translations/zh-TW.json +7 -7
- package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +29 -29
- package/esm/calendar/calendar.js +1 -1
- package/esm/chart/lineChart/useSummary.d.ts +2 -1
- package/esm/columnsSelector/columnsSelector.js +1 -1
- package/esm/commonHelpers/arrowNavigation/arrowNavigationHelper.d.ts +1 -1
- package/esm/commonHelpers/arrowNavigation/arrowNavigationHelper.js +29 -12
- package/esm/commonHelpers/arrowNavigation/components/arrowButton/arrowButton.d.ts +2 -1
- package/esm/commonHelpers/arrowNavigation/components/arrowButton/arrowButton.js +2 -2
- package/esm/commonHelpers/arrowNavigation/hooks/useManualScrolling.js +4 -2
- package/esm/commonHelpers/arrowNavigation/hooks/useScrollWhileHolding.js +12 -3
- package/esm/commonHelpers/arrowNavigation/hooks/useScrolling.js +18 -6
- package/esm/dataFeed/dataFeed.js +28 -2
- package/esm/dataGrid/columns/actionsColumn/actionsButton.js +1 -1
- package/esm/dataGrid/withFlexibleColumns/withFlexibleColumns.js +1 -1
- package/esm/dataGrid/withSelectableRows/withSelectableRows.js +1 -1
- package/esm/dateInputInner/dateInputInnerControlBlock.js +57 -57
- package/esm/divider/divider.js +1 -1
- package/esm/dropdownRaw/dropdownRaw.js +1 -1
- package/esm/filtersBar/components/filtersBarPeriodPicker/filtersBarPeriodPicker.js +1 -1
- package/esm/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +31 -31
- package/esm/filtersBar/filtersContainer/filtersContainer.js +16 -5
- package/esm/header/components/collapsedItemsControl/collapsedItemsControl.js +1 -1
- package/esm/header/header.js +1 -1
- package/esm/header/headerMenu.js +1 -1
- package/esm/list/itemData/itemDataInternal.js +1 -1
- package/esm/list/listItem/listItem.js +1 -1
- package/esm/menu/menu.js +1 -1
- package/esm/nav/navAddMenu/navAddMenu.js +1 -1
- package/esm/nav/navFooter/navFooter.js +4 -4
- package/esm/nav/navFooter/navFooterAction/navFooterAction.js +1 -1
- package/esm/nav/navHeader/navHeader.js +1 -1
- package/esm/nav/navHeader/navHeaderSearch/navHeaderSearch.js +1 -1
- package/esm/nav/navItem/navItem.js +2 -2
- package/esm/rangeRaw/rangeRaw.js +1 -1
- package/esm/rangeRaw/utils/rangeHelper.js +28 -28
- package/esm/sortControl/sortControl.js +1 -1
- package/esm/summary/summary.d.ts +3 -2
- package/esm/summary/summary.js +6 -2
- package/esm/summaryTileBar/summaryTileBar.js +3 -1
- package/esm/table/actions/actionsMenu.js +2 -2
- package/esm/table/flexible/columnsPopup.js +1 -1
- package/esm/table/table.js +5 -7
- package/esm/tabs/tabs.js +16 -5
- package/esm/toolbar/helpers/getWidthWithMargin.js +2 -2
- package/esm/tooltip/helpers/calculateArrowPosition.js +1 -7
- package/esm/tooltip/tooltip.js +7 -5
- package/esm/utils/localization/translations/ar.json +7 -7
- package/esm/utils/localization/translations/cs.json +7 -7
- package/esm/utils/localization/translations/da-DK.json +7 -7
- package/esm/utils/localization/translations/de.json +7 -7
- package/esm/utils/localization/translations/en.json +7 -7
- package/esm/utils/localization/translations/es.json +7 -7
- package/esm/utils/localization/translations/fi-FI.json +7 -7
- package/esm/utils/localization/translations/fr-FR.json +7 -7
- package/esm/utils/localization/translations/fr.json +7 -7
- package/esm/utils/localization/translations/hu-HU.json +7 -7
- package/esm/utils/localization/translations/id.json +7 -7
- package/esm/utils/localization/translations/it.json +7 -7
- package/esm/utils/localization/translations/ja.json +7 -7
- package/esm/utils/localization/translations/ko-KR.json +7 -7
- package/esm/utils/localization/translations/ms.json +7 -7
- package/esm/utils/localization/translations/nb-NO.json +7 -7
- package/esm/utils/localization/translations/nl.json +7 -7
- package/esm/utils/localization/translations/pl.json +7 -7
- package/esm/utils/localization/translations/pt-BR.json +7 -7
- package/esm/utils/localization/translations/pt-PT.json +7 -7
- package/esm/utils/localization/translations/ro-RO.json +7 -7
- package/esm/utils/localization/translations/sk-SK.json +7 -7
- package/esm/utils/localization/translations/sv.json +7 -7
- package/esm/utils/localization/translations/th.json +7 -7
- package/esm/utils/localization/translations/tr.json +7 -7
- package/esm/utils/localization/translations/zh-Hans.json +7 -7
- package/esm/utils/localization/translations/zh-TW.json +7 -7
- package/package.json +10 -1
|
@@ -106,7 +106,7 @@ const ItemDataInternalInner = ({
|
|
|
106
106
|
return null;
|
|
107
107
|
}
|
|
108
108
|
return (0, jsx_runtime_1.jsx)(menu_1.Menu, {
|
|
109
|
-
alignment: "bottom-
|
|
109
|
+
alignment: "bottom-end",
|
|
110
110
|
title: translate("More"),
|
|
111
111
|
trigger: (0, jsx_runtime_1.jsx)(button_1.Button, {
|
|
112
112
|
type: "tertiary-black",
|
|
@@ -132,7 +132,7 @@ const ListItem = ({
|
|
|
132
132
|
}, action.name))
|
|
133
133
|
});
|
|
134
134
|
const menu = secondaryActions.length > 0 ? (0, jsx_runtime_1.jsx)(menu_1.Menu, {
|
|
135
|
-
alignment: "bottom-
|
|
135
|
+
alignment: "bottom-end",
|
|
136
136
|
title: translate("More"),
|
|
137
137
|
trigger: (0, jsx_runtime_1.jsx)(button_1.Button, {
|
|
138
138
|
type: "tertiary-black",
|
package/dist/menu/menu.js
CHANGED
|
@@ -9,7 +9,7 @@ const menuItem_1 = require("./components/menuItem");
|
|
|
9
9
|
const menuSeparator_1 = require("./components/menuSeparator");
|
|
10
10
|
const classNames_1 = require("../commonHelpers/classNames/classNames");
|
|
11
11
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
12
|
-
const Menu = ({ children, title, trigger, triggerRef, ariaLabel, ariaLabelledBy, alignment = "bottom-
|
|
12
|
+
const Menu = ({ children, title, trigger, triggerRef, ariaLabel, ariaLabelledBy, alignment = "bottom-start", className }) => {
|
|
13
13
|
var _a;
|
|
14
14
|
const [isOpen, setIsOpen] = (0, react_1.useState)(false);
|
|
15
15
|
const innerRef = (0, react_1.useRef)(null);
|
|
@@ -27,7 +27,7 @@ const NavAddMenu = ({ title, alignment, className, children }) => {
|
|
|
27
27
|
className: (0, classNames_1.classNames)(["zen-nav-item--level-2", child.props.className || ""]),
|
|
28
28
|
collapsed: false
|
|
29
29
|
}));
|
|
30
|
-
return ((0, jsx_runtime_1.jsx)(navItem_1.NavItemContext, { value: { parentLevel: 2 }, children: (0, jsx_runtime_1.jsxs)("div", { className: (0, classNames_1.classNames)(["zen-nav-header__actions", className || ""]), children: [(0, jsx_runtime_1.jsx)(tooltip_1.Tooltip, { trigger: (0, jsx_runtime_1.jsx)(textIconButton_1.TextIconButton, { id: triggerId, title: title, className: (0, classNames_1.classNames)(["zen-nav-footer__actions-icon", className || ""]), icon: isOpen && !isMobile ? iconClose_1.IconClose : iconPlus_1.IconPlus, iconSize: "large", ref: triggerRef, onClick: () => setIsOpen(!isOpen), role: !isMobile ? "menuitem" : undefined }), alignment: isMobile ? "
|
|
30
|
+
return ((0, jsx_runtime_1.jsx)(navItem_1.NavItemContext, { value: { parentLevel: 2 }, children: (0, jsx_runtime_1.jsxs)("div", { className: (0, classNames_1.classNames)(["zen-nav-header__actions", className || ""]), children: [(0, jsx_runtime_1.jsx)(tooltip_1.Tooltip, { trigger: (0, jsx_runtime_1.jsx)(textIconButton_1.TextIconButton, { id: triggerId, title: title, className: (0, classNames_1.classNames)(["zen-nav-footer__actions-icon", className || ""]), icon: isOpen && !isMobile ? iconClose_1.IconClose : iconPlus_1.IconPlus, iconSize: "large", ref: triggerRef, onClick: () => setIsOpen(!isOpen), role: !isMobile ? "menuitem" : undefined }), alignment: isMobile ? "start" : collapsed ? "end" : "top", children: title }), (0, jsx_runtime_1.jsx)(controlledMenu_1.ControlledMenu, { title: title, isOpen: isOpen, setIsOpen: setIsOpen, triggerRef: triggerRef, alignment: alignment, paddingX: 8, paddingY: 8, className: (0, classNames_1.classNames)([
|
|
31
31
|
"zen-nav-popup zen-nav-popup--narrow zen-nav-l2-popup zen-nav-l2-popup--narrow",
|
|
32
32
|
isMobile ? "zen-nav-popup--mobile zen-nav-l2-popup--mobile" : ""
|
|
33
33
|
]), listClassName: (0, classNames_1.classNames)([
|
|
@@ -90,8 +90,8 @@ const NavFooterBottom = ({
|
|
|
90
90
|
return (0, react_1.cloneElement)(childElement, Object.assign(Object.assign({}, childElement.props), {
|
|
91
91
|
collapsed: !isMobile,
|
|
92
92
|
className: (0, classNames_1.classNames)([childElement.props.className || "", "zen-nav-footer__button"]),
|
|
93
|
-
menuAlignment: "
|
|
94
|
-
tooltipAlignment: collapsed ? "
|
|
93
|
+
menuAlignment: "end-bottom",
|
|
94
|
+
tooltipAlignment: collapsed ? "end" : "top"
|
|
95
95
|
}));
|
|
96
96
|
})
|
|
97
97
|
});
|
|
@@ -114,8 +114,8 @@ const NavFooterEditButton = ({
|
|
|
114
114
|
collapsed: !isMobile,
|
|
115
115
|
primaryIcon: iconEdit_1.IconEdit,
|
|
116
116
|
onClick: () => onEditStateToggle === null || onEditStateToggle === void 0 ? void 0 : onEditStateToggle(true),
|
|
117
|
-
menuAlignment: "
|
|
118
|
-
tooltipAlignment: collapsed ? "
|
|
117
|
+
menuAlignment: "end-bottom",
|
|
118
|
+
tooltipAlignment: collapsed ? "end" : "top"
|
|
119
119
|
}, "edit-button");
|
|
120
120
|
};
|
|
121
121
|
NavFooterEditButton.displayName = "NavFooterEditButton";
|
|
@@ -58,7 +58,7 @@ const NavFooterAction = ({
|
|
|
58
58
|
return (0, jsx_runtime_1.jsx)(navItem_1.NavItem, {
|
|
59
59
|
primaryIcon: iconSettings4_1.IconSettings4,
|
|
60
60
|
title: translate("Configure"),
|
|
61
|
-
menuAlignment: "
|
|
61
|
+
menuAlignment: "end-bottom",
|
|
62
62
|
isMenuItem: false,
|
|
63
63
|
children: filteredItems
|
|
64
64
|
});
|
|
@@ -93,7 +93,7 @@ const NavHeaderToggler = ({
|
|
|
93
93
|
collapsed: true,
|
|
94
94
|
isMenuItem: false,
|
|
95
95
|
onClick: () => onCollapseToggle && onCollapseToggle(!collapsed),
|
|
96
|
-
tooltipAlignment: collapsed ? "
|
|
96
|
+
tooltipAlignment: collapsed ? "end" : "bottom"
|
|
97
97
|
}, "collapse-button")
|
|
98
98
|
});
|
|
99
99
|
};
|
|
@@ -122,7 +122,7 @@ const NavHeaderSearch = ({
|
|
|
122
122
|
collapsed: true,
|
|
123
123
|
isMenuItem: false,
|
|
124
124
|
onClick: () => onSearchToggle === null || onSearchToggle === void 0 ? void 0 : onSearchToggle(true),
|
|
125
|
-
tooltipAlignment: collapsed ? "
|
|
125
|
+
tooltipAlignment: collapsed ? "end" : "bottom"
|
|
126
126
|
}) : null, searchOpen || isMobile ? (0, jsx_runtime_1.jsx)(searchInput_1.SearchInput, {
|
|
127
127
|
autoFocus: true,
|
|
128
128
|
ariaLabel: translate("Search"),
|
|
@@ -27,7 +27,7 @@ const useMobile_1 = require("../../commonHelpers/hooks/useMobile");
|
|
|
27
27
|
const ICON_SIZE = "huge";
|
|
28
28
|
const SUBMENU_ICON_SIZE = "large";
|
|
29
29
|
exports.NavItemContext = (0, react_1.createContext)({ parentLevel: 0 });
|
|
30
|
-
const defaultTooltipAlignment = "
|
|
30
|
+
const defaultTooltipAlignment = "end";
|
|
31
31
|
const isLinkNavItem = (item) => !!item.link;
|
|
32
32
|
const NavItemContent = ({ primaryIcon, secondaryIcon, isBeta, counter, collapsed, hasSubmenu, iconClass, level = 1, children }) => {
|
|
33
33
|
const primaryIconRef = (0, react_1.useRef)(null);
|
|
@@ -75,7 +75,7 @@ const LinkNavItem = (_a) => {
|
|
|
75
75
|
};
|
|
76
76
|
LinkNavItem.displayName = "LinkNavItem";
|
|
77
77
|
const ButtonNavItem = (_a) => {
|
|
78
|
-
var { className, title, onClick, collapsed, active, children, tabIndex, menuAlignment = "
|
|
78
|
+
var { className, title, onClick, collapsed, active, children, tabIndex, menuAlignment = "end-top", isMenuItem = true, tooltipAlignment = defaultTooltipAlignment, actionIcon, actionIconTitle, onActionIconClick, onDropdownStateChange } = _a, rest = __rest(_a, ["className", "title", "onClick", "collapsed", "active", "children", "tabIndex", "menuAlignment", "isMenuItem", "tooltipAlignment", "actionIcon", "actionIconTitle", "onActionIconClick", "onDropdownStateChange"]);
|
|
79
79
|
const [menuOpen, setMenuOpen] = (0, react_1.useState)(false);
|
|
80
80
|
const { parentLevel = 0, closeParentMenu } = (0, react_1.useContext)(exports.NavItemContext);
|
|
81
81
|
(0, react_1.useEffect)(() => {
|
|
@@ -549,4 +549,4 @@ const RangeRaw = props => {
|
|
|
549
549
|
});
|
|
550
550
|
};
|
|
551
551
|
exports.RangeRaw = RangeRaw;
|
|
552
|
-
exports.TRANSLATIONS = ["Min", "Max", "Range Filter popup", "Clear", "Cancel", "Apply", "Must be less than the max", "Must be more than the min", "Must be more than {value}", "Must be less than {value}", "Must be in
|
|
552
|
+
exports.TRANSLATIONS = ["Min", "Max", "Range Filter popup", "Clear", "Cancel", "Apply", "Must be less than the max", "Must be more than the min", "Must be more than {value}", "Must be less than {value}", "Must be in the {min} - {max} range", "The min value must be set", "The max value must be set", "{rangeName} values {values}"];
|
|
@@ -3,33 +3,33 @@
|
|
|
3
3
|
const {
|
|
4
4
|
injectString
|
|
5
5
|
} = require("../../utils/localization/translationsDictionary");
|
|
6
|
-
injectString("cs", "Must be in
|
|
7
|
-
injectString("da-DK", "Must be in
|
|
8
|
-
injectString("de", "Must be in
|
|
9
|
-
injectString("en", "Must be in
|
|
10
|
-
injectString("es", "Must be in
|
|
11
|
-
injectString("fi-FI", "Must be in
|
|
12
|
-
injectString("fr", "Must be in
|
|
13
|
-
injectString("fr-FR", "Must be in
|
|
14
|
-
injectString("hu-HU", "Must be in
|
|
15
|
-
injectString("id", "Must be in
|
|
16
|
-
injectString("it", "Must be in
|
|
17
|
-
injectString("ja", "Must be in
|
|
18
|
-
injectString("ko-KR", "Must be in
|
|
19
|
-
injectString("ms", "Must be in
|
|
20
|
-
injectString("nb-NO", "Must be in
|
|
21
|
-
injectString("nl", "Must be in
|
|
22
|
-
injectString("pl", "Must be in
|
|
23
|
-
injectString("pt-BR", "Must be in
|
|
24
|
-
injectString("pt-PT", "Must be in
|
|
25
|
-
injectString("sk-SK", "Must be in
|
|
26
|
-
injectString("sv", "Must be in
|
|
27
|
-
injectString("th", "Must be in
|
|
28
|
-
injectString("tr", "Must be in
|
|
29
|
-
injectString("zh-Hans", "Must be in
|
|
30
|
-
injectString("zh-TW", "Must be in
|
|
31
|
-
injectString("ro-RO", "Must be in
|
|
32
|
-
injectString("ar", "Must be in
|
|
6
|
+
injectString("cs", "Must be in the {min} - {max} range", "Mus\xED b\xFDt v rozsahu {min}\u2013{max}");
|
|
7
|
+
injectString("da-DK", "Must be in the {min} - {max} range", "Skal v\xE6re i omr\xE5det {min} - {max}");
|
|
8
|
+
injectString("de", "Must be in the {min} - {max} range", "Muss zwischen {min} und {max} liegen");
|
|
9
|
+
injectString("en", "Must be in the {min} - {max} range", "Must be in the {min} - {max} range");
|
|
10
|
+
injectString("es", "Must be in the {min} - {max} range", "Debe estar en el rango {min}-{max}");
|
|
11
|
+
injectString("fi-FI", "Must be in the {min} - {max} range", "On oltava v\xE4lill\xE4 {min} - {max}");
|
|
12
|
+
injectString("fr", "Must be in the {min} - {max} range", "Doit \xEAtre compris dans la plage {min} - {max}");
|
|
13
|
+
injectString("fr-FR", "Must be in the {min} - {max} range", "Doit \xEAtre compris entre {min} et {max}");
|
|
14
|
+
injectString("hu-HU", "Must be in the {min} - {max} range", "A(z) {min} \xE9s {max} k\xF6z\xF6tti tartom\xE1nyban kell lennie.");
|
|
15
|
+
injectString("id", "Must be in the {min} - {max} range", "Harus berada dalam rentang {min} - {max}");
|
|
16
|
+
injectString("it", "Must be in the {min} - {max} range", "Deve rientrare nell'intervallo {min} - {max}");
|
|
17
|
+
injectString("ja", "Must be in the {min} - {max} range", "{min} \uFF5E {max} \u306E\u7BC4\u56F2\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059");
|
|
18
|
+
injectString("ko-KR", "Must be in the {min} - {max} range", "{min}~{max} \uBC94\uC704\uC5D0 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4.");
|
|
19
|
+
injectString("ms", "Must be in the {min} - {max} range", "Mesti dalam julat {min} - {max}");
|
|
20
|
+
injectString("nb-NO", "Must be in the {min} - {max} range", "M\xE5 v\xE6re innenfor {min} - {max}");
|
|
21
|
+
injectString("nl", "Must be in the {min} - {max} range", "Moet binnen het bereik {min} - {max} liggen");
|
|
22
|
+
injectString("pl", "Must be in the {min} - {max} range", "Musi znajdowa\u0107 si\u0119 w zakresie {min}\u2013{max}");
|
|
23
|
+
injectString("pt-BR", "Must be in the {min} - {max} range", "Deve estar entre intervalo de {min} a {max}");
|
|
24
|
+
injectString("pt-PT", "Must be in the {min} - {max} range", "Deve estar no intervalo {min} - {max}");
|
|
25
|
+
injectString("sk-SK", "Must be in the {min} - {max} range", "Mus\xED by\u0165 v rozsahu {min} - {max}");
|
|
26
|
+
injectString("sv", "Must be in the {min} - {max} range", "M\xE5ste vara inom intervallet {min}\u2013{max}");
|
|
27
|
+
injectString("th", "Must be in the {min} - {max} range", "\u0E15\u0E49\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E0A\u0E48\u0E27\u0E07 {min} - {max}");
|
|
28
|
+
injectString("tr", "Must be in the {min} - {max} range", "{min} - {max} aral\u0131\u011F\u0131nda olmal\u0131d\u0131r");
|
|
29
|
+
injectString("zh-Hans", "Must be in the {min} - {max} range", "\u5FC5\u987B\u5904\u4E8E {min} \u81F3 {max} \u8303\u56F4\u5185");
|
|
30
|
+
injectString("zh-TW", "Must be in the {min} - {max} range", "\u5FC5\u9808\u5728 {min} - {max} \u7BC4\u570D\u5167");
|
|
31
|
+
injectString("ro-RO", "Must be in the {min} - {max} range", "Trebuie s\u0103 fie \xEEn intervalul {min}-{max}");
|
|
32
|
+
injectString("ar", "Must be in the {min} - {max} range", "\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0641\u064A \u0627\u0644\u0646\u0637\u0627\u0642 {min} - {max}");
|
|
33
33
|
injectString("cs", "Must be more than {value}", "Mus\xED b\xFDt v\u011Bt\u0161\xED ne\u017E {value}");
|
|
34
34
|
injectString("da-DK", "Must be more than {value}", "Skal v\xE6re mere end {value}");
|
|
35
35
|
injectString("de", "Must be more than {value}", "Muss gr\xF6\xDFer sein als {value}");
|
|
@@ -198,7 +198,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
198
198
|
exports.checkErrorType = exports.getErrorString = exports.getRangeError = void 0;
|
|
199
199
|
const getRangeError = (translateFn, currentVal, defMin, defMax) => {
|
|
200
200
|
if (defMin !== undefined && defMax !== undefined && currentVal !== null && (currentVal < defMin || currentVal > defMax)) {
|
|
201
|
-
return translateFn("Must be in
|
|
201
|
+
return translateFn("Must be in the {min} - {max} range").replace("{min}", defMin.toString()).replace("{max}", defMax.toString());
|
|
202
202
|
}
|
|
203
203
|
if (defMin !== undefined && currentVal !== null && currentVal < defMin) {
|
|
204
204
|
return translateFn("Must be more than {value}").replace("{value}", defMin.toString());
|
|
@@ -238,7 +238,7 @@ const SortControl = ({
|
|
|
238
238
|
size: isDrive ? "huge" : "large"
|
|
239
239
|
})
|
|
240
240
|
}),
|
|
241
|
-
alignment: "bottom-
|
|
241
|
+
alignment: "bottom-start",
|
|
242
242
|
onOpenChange: isCurrentlyOpen => onOptionsToggle(isCurrentlyOpen),
|
|
243
243
|
children: (0, jsx_runtime_1.jsx)(selectList_1.SelectList, {
|
|
244
244
|
id: "sortControlSelectList",
|
|
@@ -3,7 +3,8 @@ import "./summary.less";
|
|
|
3
3
|
export interface ISummary {
|
|
4
4
|
color?: string;
|
|
5
5
|
title?: string;
|
|
6
|
-
value: string | number;
|
|
6
|
+
value: string | number | ReactNode;
|
|
7
|
+
prefix?: ReactNode;
|
|
7
8
|
unit?: string;
|
|
8
9
|
tooltip?: ReactNode;
|
|
9
10
|
more?: ReactNode;
|
|
@@ -11,4 +12,4 @@ export interface ISummary {
|
|
|
11
12
|
onToggle?: () => void;
|
|
12
13
|
description?: ReactNode;
|
|
13
14
|
}
|
|
14
|
-
export declare const Summary: ({ color, title, value, unit, tooltip, more, isEnabled, onToggle, description }: ISummary) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare const Summary: ({ color, title, value, prefix, unit, tooltip, more, isEnabled, onToggle, description }: ISummary) => import("react/jsx-runtime").JSX.Element;
|
package/dist/summary/summary.js
CHANGED
|
@@ -71,6 +71,7 @@ const Summary = ({
|
|
|
71
71
|
color,
|
|
72
72
|
title,
|
|
73
73
|
value,
|
|
74
|
+
prefix,
|
|
74
75
|
unit,
|
|
75
76
|
tooltip,
|
|
76
77
|
more,
|
|
@@ -115,9 +116,12 @@ const Summary = ({
|
|
|
115
116
|
})]
|
|
116
117
|
}), (0, jsx_runtime_1.jsxs)("div", {
|
|
117
118
|
className: "zen-summary__data",
|
|
118
|
-
children: [(0, jsx_runtime_1.jsx)("div", {
|
|
119
|
+
children: [prefix && (0, jsx_runtime_1.jsx)("div", {
|
|
120
|
+
className: "zen-summary__prefix",
|
|
121
|
+
children: prefix
|
|
122
|
+
}), (0, jsx_runtime_1.jsx)("div", {
|
|
119
123
|
className: "zen-summary__value zen-ellipsis",
|
|
120
|
-
children: typeof value === "
|
|
124
|
+
children: typeof value === "number" ? value.toFixed(2) : value
|
|
121
125
|
}), unit && (0, jsx_runtime_1.jsx)("div", {
|
|
122
126
|
className: "zen-summary__unit",
|
|
123
127
|
children: unit
|
|
@@ -8,16 +8,18 @@ const arrowButton_1 = require("../commonHelpers/arrowNavigation/components/arrow
|
|
|
8
8
|
const useHoldOnScroll_1 = require("../commonHelpers/arrowNavigation/hooks/useHoldOnScroll");
|
|
9
9
|
const useScrolling_1 = require("../commonHelpers/arrowNavigation/hooks/useScrolling");
|
|
10
10
|
const useManualScrolling_1 = require("../commonHelpers/arrowNavigation/hooks/useManualScrolling");
|
|
11
|
+
const useIsRTL_1 = require("../utils/localization/useIsRTL");
|
|
11
12
|
const deviceType_1 = require("../commonHelpers/hooks/deviceType");
|
|
12
13
|
const useDeviceType_1 = require("../commonHelpers/hooks/useDeviceType");
|
|
13
14
|
const SummaryTileBar = ({ className, children, role, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby }) => {
|
|
14
15
|
const { isScrollable, scrollableElementRef, onMouseDown, onMouseUp } = (0, useHoldOnScroll_1.useHoldOnScroll)();
|
|
15
16
|
const { scroll } = (0, useManualScrolling_1.useManualScrolling)({ elementRef: scrollableElementRef });
|
|
16
17
|
const { onScroll, state } = (0, useScrolling_1.useScrolling)();
|
|
18
|
+
const isRTL = (0, useIsRTL_1.useIsRTL)();
|
|
17
19
|
const [deviceType, setDeviceType] = (0, react_1.useState)(deviceType_1.DeviceType.Mobile);
|
|
18
20
|
const isMobile = deviceType === deviceType_1.DeviceType.Mobile;
|
|
19
21
|
(0, useDeviceType_1.useDeviceType)(setDeviceType);
|
|
20
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classNames_1.classNames)(["zen-card-deck", isMobile ? "zen-card-deck--mobile" : "", className !== null && className !== void 0 ? className : ""]), children: [(0, jsx_runtime_1.jsx)("div", { className: "zen-card-deck__cards-container", ref: scrollableElementRef, onScroll: onScroll, children: (0, jsx_runtime_1.jsx)("ul", { className: "zen-card-deck__cards", role: role !== null && role !== void 0 ? role : "list", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, children: react_1.Children.map(children, child => ((0, jsx_runtime_1.jsx)("li", { role: role === "tablist" ? "presentation" : undefined, children: child }))) }) }), !isScrollable && ((0, jsx_runtime_1.jsxs)("div", { className: "zen-card-deck__arrows", children: [(0, jsx_runtime_1.jsx)(arrowButton_1.ArrowNavButton, { className: "zen-card-deck__arrow-button", value: "left", isHidden: false, disabled: state.scrolledLeft, arrowButtonHandler: scroll, onMouseDown: onMouseDown, onMouseUp: onMouseUp }), (0, jsx_runtime_1.jsx)(arrowButton_1.ArrowNavButton, { className: "zen-card-deck__arrow-button", value: "right", isHidden: false, disabled: state.scrolledRight, arrowButtonHandler: scroll, onMouseDown: onMouseDown, onMouseUp: onMouseUp })] }))] }));
|
|
22
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classNames_1.classNames)(["zen-card-deck", isMobile ? "zen-card-deck--mobile" : "", className !== null && className !== void 0 ? className : ""]), children: [(0, jsx_runtime_1.jsx)("div", { className: "zen-card-deck__cards-container", ref: scrollableElementRef, onScroll: onScroll, children: (0, jsx_runtime_1.jsx)("ul", { className: "zen-card-deck__cards", role: role !== null && role !== void 0 ? role : "list", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, children: react_1.Children.map(children, child => ((0, jsx_runtime_1.jsx)("li", { role: role === "tablist" ? "presentation" : undefined, children: child }))) }) }), !isScrollable && ((0, jsx_runtime_1.jsxs)("div", { className: "zen-card-deck__arrows", children: [(0, jsx_runtime_1.jsx)(arrowButton_1.ArrowNavButton, { className: "zen-card-deck__arrow-button", value: "left", action: isRTL ? "right" : undefined, isHidden: false, disabled: isRTL ? state.scrolledRight : state.scrolledLeft, arrowButtonHandler: scroll, onMouseDown: onMouseDown, onMouseUp: onMouseUp }), (0, jsx_runtime_1.jsx)(arrowButton_1.ArrowNavButton, { className: "zen-card-deck__arrow-button", value: "right", action: isRTL ? "left" : undefined, isHidden: false, disabled: isRTL ? state.scrolledLeft : state.scrolledRight, arrowButtonHandler: scroll, onMouseDown: onMouseDown, onMouseUp: onMouseUp })] }))] }));
|
|
21
23
|
};
|
|
22
24
|
exports.SummaryTileBar = SummaryTileBar;
|
|
23
25
|
exports.SummaryTileBarDisplayName = "SummaryTileBar";
|
|
@@ -176,7 +176,7 @@ const ActionsMenu = ({
|
|
|
176
176
|
ariaLabelledBy: buttonId,
|
|
177
177
|
title: translate("Actions"),
|
|
178
178
|
triggerRef: ref,
|
|
179
|
-
alignment: "bottom-
|
|
179
|
+
alignment: "bottom-end",
|
|
180
180
|
children: menuItemsToRender
|
|
181
181
|
})]
|
|
182
182
|
});
|
|
@@ -187,7 +187,7 @@ const ActionsMenu = ({
|
|
|
187
187
|
return (0, jsx_runtime_1.jsx)(menu_1.Menu, {
|
|
188
188
|
title: translate("Actions"),
|
|
189
189
|
trigger: trigger,
|
|
190
|
-
alignment: "bottom-
|
|
190
|
+
alignment: "bottom-end",
|
|
191
191
|
children: menuItems
|
|
192
192
|
});
|
|
193
193
|
};
|
|
@@ -76,7 +76,7 @@ const ColumnsPopup = ({
|
|
|
76
76
|
return (0, jsx_runtime_1.jsx)(popup_1.Popup, {
|
|
77
77
|
ariaLabel: translate("Column Settings"),
|
|
78
78
|
triggerRef: triggerRef,
|
|
79
|
-
alignment: "bottom-
|
|
79
|
+
alignment: "bottom-end",
|
|
80
80
|
children: (0, jsx_runtime_1.jsx)(columnSettings_1.ColumnSettings, {
|
|
81
81
|
onReset: onResetListener,
|
|
82
82
|
children: listOfColumns
|
package/dist/table/table.js
CHANGED
|
@@ -252,10 +252,8 @@ const TableInner = ({
|
|
|
252
252
|
const handleOnTriggerClick = (0, react_1.useCallback)(() => setSelectMode(prev => !prev), []);
|
|
253
253
|
const hasPostActions = (0, react_1.useMemo)(() => columnsPopup || isMobile && selectable || !isMobile && fullscreenButton || isFeedVisible, [columnsPopup, fullscreenButton, isFeedVisible, isMobile, selectable]);
|
|
254
254
|
const hasToolbar = (0, react_1.useMemo)(() => bulkActions || feedSortControl || pagination && !isMobile || other.length || columnsPopup || !isMobile && fullscreenButton || isFeedVisible, [bulkActions, columnsPopup, feedSortControl, fullscreenButton, isFeedVisible, isMobile, other.length, pagination]);
|
|
255
|
-
const gridAutoHeight = (0, react_1.useMemo)(() => contentHeight ? `${contentHeight}px` : undefined, [contentHeight]);
|
|
256
|
-
const
|
|
257
|
-
const gridHeight = (0, react_1.useMemo)(() => height || gridAutoHeight || minHeight, [gridAutoHeight, height]);
|
|
258
|
-
// TODO: disadvantages?
|
|
255
|
+
const gridAutoHeight = (0, react_1.useMemo)(() => contentHeight !== undefined ? `${contentHeight}px` : undefined, [contentHeight]);
|
|
256
|
+
const gridHeight = (0, react_1.useMemo)(() => height || gridAutoHeight, [gridAutoHeight, height]);
|
|
259
257
|
const {
|
|
260
258
|
gridClasses,
|
|
261
259
|
restClasses
|
|
@@ -263,10 +261,10 @@ const TableInner = ({
|
|
|
263
261
|
return (0, jsx_runtime_1.jsx)(layoutFullScreen_1.LayoutFullScreen, {
|
|
264
262
|
className: (0, classNames_1.classNames)([...gridClasses]),
|
|
265
263
|
children: (0, jsx_runtime_1.jsxs)("div", {
|
|
266
|
-
style: {
|
|
264
|
+
style: gridHeight ? {
|
|
267
265
|
height: gridHeight
|
|
268
|
-
},
|
|
269
|
-
className: (0, classNames_1.classNames)(["zen-table-wrapper", hasToolbar ? "zen-table-wrapper--with-toolbar" : "", ...restClasses]),
|
|
266
|
+
} : undefined,
|
|
267
|
+
className: (0, classNames_1.classNames)(["zen-table-wrapper", gridHeight ? "" : "zen-table-wrapper--fit-content", hasToolbar ? "zen-table-wrapper--with-toolbar" : "", ...restClasses]),
|
|
270
268
|
children: [hasToolbar ? (0, jsx_runtime_1.jsxs)(entitiesListActions_1.EntitiesListActions, {
|
|
271
269
|
gridType: isMobile ? deviceType_1.DeviceType.Mobile : deviceType_1.DeviceType.Desktop,
|
|
272
270
|
children: [(0, jsx_runtime_1.jsxs)(entitiesListActions_1.EntitiesListActions.Actions, {
|
package/dist/tabs/tabs.js
CHANGED
|
@@ -64,6 +64,7 @@ injectString("ro-RO", "Scroll to end", "Derulare la sf\xE2r\u0219it");
|
|
|
64
64
|
const classNames_1 = require("../commonHelpers/classNames/classNames");
|
|
65
65
|
const useDriveClassName_1 = require("../utils/theme/useDriveClassName");
|
|
66
66
|
const useLanguage_1 = require("../utils/localization/useLanguage");
|
|
67
|
+
const useIsRTL_1 = require("../utils/localization/useIsRTL");
|
|
67
68
|
const tabItem_1 = require("./tabItem/tabItem");
|
|
68
69
|
const iconChevronRight_1 = require("../icons/iconChevronRight");
|
|
69
70
|
const iconChevronLeft_1 = require("../icons/iconChevronLeft");
|
|
@@ -74,13 +75,22 @@ const useMobileClassName_1 = require("../utils/theme/useMobileClassName");
|
|
|
74
75
|
require("../utils/globalThisPolyfill");
|
|
75
76
|
const zen_1 = require("../utils/zen");
|
|
76
77
|
exports.TabsDisplayName = "Tabs";
|
|
77
|
-
const getScrollButtonType = element => {
|
|
78
|
+
const getScrollButtonType = (element, isRTL) => {
|
|
78
79
|
const scrollLeft = element.scrollLeft;
|
|
79
80
|
const scrollWidth = element.scrollWidth;
|
|
80
81
|
const clientWidth = element.clientWidth;
|
|
81
82
|
if (scrollLeft === 0 && scrollWidth === clientWidth) {
|
|
82
83
|
return "";
|
|
83
84
|
}
|
|
85
|
+
if (isRTL) {
|
|
86
|
+
if (scrollLeft < -1 && scrollLeft > clientWidth - scrollWidth + 1) {
|
|
87
|
+
return "both";
|
|
88
|
+
}
|
|
89
|
+
if (scrollLeft >= -1) {
|
|
90
|
+
return "start";
|
|
91
|
+
}
|
|
92
|
+
return "end";
|
|
93
|
+
}
|
|
84
94
|
if (scrollLeft > 0 && scrollWidth > clientWidth + scrollLeft + 1) {
|
|
85
95
|
return "both";
|
|
86
96
|
}
|
|
@@ -104,6 +114,7 @@ const Tabs = ({
|
|
|
104
114
|
} = (0, useLanguage_1.useLanguage)();
|
|
105
115
|
const ScrollStartIcon = (0, useDirectionalIcon_1.useDirectionalIcon)(iconChevronLeft_1.IconChevronLeft, iconChevronRight_1.IconChevronRight);
|
|
106
116
|
const ScrollEndIcon = (0, useDirectionalIcon_1.useDirectionalIcon)(iconChevronRight_1.IconChevronRight, iconChevronLeft_1.IconChevronLeft);
|
|
117
|
+
const isRTL = (0, useIsRTL_1.useIsRTL)();
|
|
107
118
|
const driveClassNameScroller = (0, useDriveClassName_1.useDriveClassName)("zen-tabs__scroller");
|
|
108
119
|
const mobileClassNameScroller = (0, useMobileClassName_1.useMobileClassName)("zen-tabs__scroller");
|
|
109
120
|
const driveClassNameGradient = (0, useDriveClassName_1.useDriveClassName)("zen-tabs__gradient");
|
|
@@ -164,7 +175,7 @@ const Tabs = ({
|
|
|
164
175
|
if (scrollableElt) {
|
|
165
176
|
timer && ((_a = zen_1.zen.clearTimeout) === null || _a === void 0 ? void 0 : _a.call(zen_1.zen, timer));
|
|
166
177
|
timer = (_b = zen_1.zen.setTimeout) === null || _b === void 0 ? void 0 : _b.call(zen_1.zen, () => {
|
|
167
|
-
setScrollButtonType(getScrollButtonType(scrollableElt));
|
|
178
|
+
setScrollButtonType(getScrollButtonType(scrollableElt, isRTL));
|
|
168
179
|
}, 200);
|
|
169
180
|
}
|
|
170
181
|
};
|
|
@@ -178,12 +189,12 @@ const Tabs = ({
|
|
|
178
189
|
scrollableElement.removeEventListener("scroll", resizeHandler);
|
|
179
190
|
(_b = zen_1.zen.removeEventListener) === null || _b === void 0 ? void 0 : _b.call(zen_1.zen, "resize", resizeHandler);
|
|
180
191
|
};
|
|
181
|
-
}, [scrollableRef]);
|
|
192
|
+
}, [scrollableRef, isRTL]);
|
|
182
193
|
(0, react_1.useEffect)(() => {
|
|
183
194
|
if (scrollableRef.current) {
|
|
184
|
-
setScrollButtonType(getScrollButtonType(scrollableRef.current));
|
|
195
|
+
setScrollButtonType(getScrollButtonType(scrollableRef.current, isRTL));
|
|
185
196
|
}
|
|
186
|
-
}, [scrollableRef, tabs, activeTabId]);
|
|
197
|
+
}, [scrollableRef, tabs, activeTabId, isRTL]);
|
|
187
198
|
const handleScrollButtonClick = (0, react_1.useCallback)((scrollableElt, delta) => () => {
|
|
188
199
|
var _a;
|
|
189
200
|
if (scrollableElt) {
|
|
@@ -4,8 +4,8 @@ exports.getWidthWithMargin = void 0;
|
|
|
4
4
|
const zen_1 = require("../../utils/zen");
|
|
5
5
|
const getWidthWithMargin = (elem) => {
|
|
6
6
|
var _a;
|
|
7
|
-
const style = ((_a = zen_1.zen.getComputedStyle) === null || _a === void 0 ? void 0 : _a.call(zen_1.zen, elem)) || {
|
|
8
|
-
const margin = parseFloat(style.
|
|
7
|
+
const style = ((_a = zen_1.zen.getComputedStyle) === null || _a === void 0 ? void 0 : _a.call(zen_1.zen, elem)) || { marginInlineStart: "0", marginInlineEnd: "0" };
|
|
8
|
+
const margin = parseFloat(style.marginInlineStart) + parseFloat(style.marginInlineEnd) || 0;
|
|
9
9
|
const width = elem.getBoundingClientRect().width;
|
|
10
10
|
return width + margin;
|
|
11
11
|
};
|
|
@@ -5,13 +5,7 @@ const borderRadius = 4;
|
|
|
5
5
|
const normalizeLeft = (left, tooltipWidth, arrowWidth) => Math.min(tooltipWidth - borderRadius - arrowWidth, Math.max(borderRadius, left));
|
|
6
6
|
const normalizeTop = (top, tooltipHeight, arrowHeight) => Math.min(tooltipHeight - borderRadius - arrowHeight, Math.max(borderRadius, top));
|
|
7
7
|
const calculateArrowPosition = (triggerRef, tooltipRef, arrowRef, alignment) => {
|
|
8
|
-
if (!triggerRef.current) {
|
|
9
|
-
return;
|
|
10
|
-
}
|
|
11
|
-
if (!tooltipRef.current) {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
if (!arrowRef.current) {
|
|
8
|
+
if (!triggerRef.current || !tooltipRef.current || !arrowRef.current) {
|
|
15
9
|
return;
|
|
16
10
|
}
|
|
17
11
|
const triggerElement = triggerRef.current;
|
package/dist/tooltip/tooltip.js
CHANGED
|
@@ -101,6 +101,7 @@ const classNames_1 = require("../commonHelpers/classNames/classNames");
|
|
|
101
101
|
const calculateArrowPosition_1 = require("./helpers/calculateArrowPosition");
|
|
102
102
|
const deviceType_1 = require("../commonHelpers/hooks/deviceType");
|
|
103
103
|
const useDeviceType_1 = require("../commonHelpers/hooks/useDeviceType");
|
|
104
|
+
const normalizeLogicalAlignment_1 = require("../utils/positioningUtils/normalizeLogicalAlignment");
|
|
104
105
|
const themeContext_1 = require("../utils/theme/themeContext");
|
|
105
106
|
const tooltipAlignments_1 = require("../utils/positioningUtils/tooltipAlignments");
|
|
106
107
|
const iconClose_1 = require("../icons/iconClose");
|
|
@@ -201,6 +202,7 @@ const Tooltip = ({
|
|
|
201
202
|
var _a, _b, _c, _d;
|
|
202
203
|
const GAP = 12;
|
|
203
204
|
const isDrive = (0, useDrive_1.useDrive)();
|
|
205
|
+
const direction = (0, useDirection_1.useDirection)();
|
|
204
206
|
const triggerRefNative = trigger ? trigger.props.ref : undefined;
|
|
205
207
|
const triggerLocalRef = (0, react_1.useRef)(null);
|
|
206
208
|
const triggerRef = triggerRefNative || triggerLocalRef;
|
|
@@ -215,14 +217,14 @@ const Tooltip = ({
|
|
|
215
217
|
const {
|
|
216
218
|
translate
|
|
217
219
|
} = (0, useLanguage_1.useLanguage)();
|
|
218
|
-
const direction = (0, useDirection_1.useDirection)();
|
|
219
220
|
const {
|
|
220
221
|
dark
|
|
221
222
|
} = (0, react_1.useContext)(themeContext_1.themeContext);
|
|
222
|
-
const tooltipAlignment = (0, react_1.useMemo)(() => isMobile ? "bottom" : alignment || "right", [isMobile, alignment]);
|
|
223
|
+
const tooltipAlignment = (0, react_1.useMemo)(() => isMobile ? "bottom" : alignment || (direction === "ltr" ? "right" : "left"), [isMobile, alignment, direction]);
|
|
224
|
+
const normalizedTooltipAlignment = (0, react_1.useMemo)(() => (0, normalizeLogicalAlignment_1.normalizeLogicalAlignment)(tooltipAlignment, direction), [tooltipAlignment, direction]);
|
|
223
225
|
const TOOLTIP_ARROW_HEIGHT = (0, react_1.useMemo)(() => isMobile || isDrive ? 0 : 6, [isMobile, isDrive]);
|
|
224
|
-
const tooltipAlignmentRef = (0, react_1.useRef)(
|
|
225
|
-
tooltipAlignmentRef.current =
|
|
226
|
+
const tooltipAlignmentRef = (0, react_1.useRef)(normalizedTooltipAlignment);
|
|
227
|
+
tooltipAlignmentRef.current = normalizedTooltipAlignment;
|
|
226
228
|
const setDeviceTypeStable = (0, react_1.useCallback)(newType => {
|
|
227
229
|
setDeviceType(currentDeviceType => newType !== currentDeviceType ? newType : currentDeviceType);
|
|
228
230
|
}, []);
|
|
@@ -283,7 +285,7 @@ const Tooltip = ({
|
|
|
283
285
|
}, triggerCloneProps))
|
|
284
286
|
});
|
|
285
287
|
// Initial arrow class - will be updated by calculatePosition
|
|
286
|
-
const arrowClass = (0, react_1.useMemo)(() => arrowClasses[
|
|
288
|
+
const arrowClass = (0, react_1.useMemo)(() => arrowClasses[normalizedTooltipAlignment] || "", [normalizedTooltipAlignment]);
|
|
287
289
|
const getOppositeAlignment = main => {
|
|
288
290
|
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
289
291
|
switch (main) {
|
|
@@ -167,21 +167,21 @@
|
|
|
167
167
|
"ShortSaturday": "س",
|
|
168
168
|
"ShortSunday": "ح",
|
|
169
169
|
"Date range": "نطاق التاريخ",
|
|
170
|
-
"Use multiple
|
|
170
|
+
"Use multiple Operators when searching for a specific group. For example, filtering for assets that belong to the Tractor group and the Toronto group displays a list of tractors that belong to the Toronto branch.": "استخدم عوامل تشغيل متعددة عند البحث عن مجموعة معينة. على سبيل المثال، تصفية الأصول التي تنتمي إلى مجموعة الجرارات ومجموعة تورنتو تعرض قائمة الجرارات التي تنتمي إلى فرع تورنتو.",
|
|
171
171
|
"Select columns": "تحديد الأعمدة",
|
|
172
172
|
"Must be less than the max": "يجب أن يكون أقل من الحد الأقصى",
|
|
173
173
|
"Must be more than the min": "يجب أن يكون أكثر من الحد الأدنى",
|
|
174
174
|
"Must be more than {value}": "يجب أن يكون أكثر من {value}",
|
|
175
175
|
"Must be less than {value}": "يجب أن يكون أقل من {value}",
|
|
176
|
-
"Must be in
|
|
176
|
+
"Must be in the {min} - {max} range": "يجب أن يكون في النطاق {min} - {max}",
|
|
177
177
|
"The min value must be set": "يجب تعيين الحد الأدنى",
|
|
178
178
|
"The max value must be set": "يجب تعيين الحد الأقصى",
|
|
179
179
|
"Range Filter popup": "نافذة تصفية النطاق",
|
|
180
180
|
"{rangeName} values {values}": "قيم {rangeName} {values}",
|
|
181
|
-
"The
|
|
182
|
-
"The
|
|
183
|
-
"The date must be set": "يجب تعيين التاريخ.",
|
|
184
|
-
"The time must be set": "يجب تعيين الوقت.",
|
|
181
|
+
"The End date cannot be empty.": "لا يمكن أن يكون تاريخ الانتهاء فارغاً.",
|
|
182
|
+
"The Start date cannot be empty.": "لا يمكن أن يكون تاريخ البدء فارغاً.",
|
|
183
|
+
"The date must be set.": "يجب تعيين التاريخ.",
|
|
184
|
+
"The time must be set.": "يجب تعيين الوقت.",
|
|
185
185
|
"Selecting...": "جارٍ التحديد...",
|
|
186
186
|
"Reset column settings": "إعادة تعيين إعدادات الأعمدة",
|
|
187
187
|
"Filters": "التصفيات",
|
|
@@ -215,7 +215,7 @@
|
|
|
215
215
|
"Open": "فتح",
|
|
216
216
|
"Favorite": "المفضلة",
|
|
217
217
|
"All Filters": "جميع التصفيات",
|
|
218
|
-
"Reset
|
|
218
|
+
"Reset all": "إعادة تعيين الكل",
|
|
219
219
|
"Loading": "جارٍ التحميل",
|
|
220
220
|
"Select option": "اختيار خيار",
|
|
221
221
|
"Value": "القيمة",
|
|
@@ -176,13 +176,13 @@
|
|
|
176
176
|
"ShortFriday": "Pá",
|
|
177
177
|
"ShortSaturday": "So",
|
|
178
178
|
"ShortSunday": "Ne",
|
|
179
|
-
"Use multiple
|
|
179
|
+
"Use multiple Operators when searching for a specific group. For example, filtering for assets that belong to the Tractor group and the Toronto group displays a list of tractors that belong to the Toronto branch.": "Při hledání konkrétní skupiny použijte více operátorů. Například při filtrování prostředků, které spadají do skupiny Traktory, skupina Toronto zobrazí seznam traktorů, které patří do pobočky v Torontu.",
|
|
180
180
|
"Select columns": "Vyberte sloupce",
|
|
181
181
|
"Must be less than the max": "Musí být menší než max.",
|
|
182
182
|
"Must be more than the min": "Musí být větší než min.",
|
|
183
183
|
"Must be more than {value}": "Musí být větší než {value}",
|
|
184
184
|
"Must be less than {value}": "Musí být menší než {value}",
|
|
185
|
-
"Must be in
|
|
185
|
+
"Must be in the {min} - {max} range": "Musí být v rozsahu {min}–{max}",
|
|
186
186
|
"The min value must be set": "Musí být nastavena minimální hodnota",
|
|
187
187
|
"The max value must be set": "Musí být nastavena maximální hodnota",
|
|
188
188
|
"Range Filter popup": "Vyskakovací okno Filtr rozmezí",
|
|
@@ -190,16 +190,16 @@
|
|
|
190
190
|
"Try adjusting your search or filter.": "Zkuste upravit své vyhledávání nebo filtr.",
|
|
191
191
|
"Change date, {date}": "Změňte datum, {date}",
|
|
192
192
|
"Date range": "Rozmezí dat",
|
|
193
|
-
"The
|
|
194
|
-
"The
|
|
193
|
+
"The End date cannot be empty.": "Datum konce nemůže být prázdné.",
|
|
194
|
+
"The Start date cannot be empty.": "Datum začátku nemůže být prázdné.",
|
|
195
195
|
"Pick a date": "Vyberte datum",
|
|
196
196
|
"This year": "Tento rok",
|
|
197
197
|
"Last year": "Minulý rok",
|
|
198
198
|
"This quarter": "Toto čtvrtletí",
|
|
199
199
|
"View all": "Zobrazit vše",
|
|
200
200
|
"Expand": "Rozbalit",
|
|
201
|
-
"The date must be set": "Je třeba nastavit datum.",
|
|
202
|
-
"The time must be set": "Je třeba nastavit čas.",
|
|
201
|
+
"The date must be set.": "Je třeba nastavit datum.",
|
|
202
|
+
"The time must be set.": "Je třeba nastavit čas.",
|
|
203
203
|
"Reset column settings": "Obnovit nastavení sloupce",
|
|
204
204
|
"Filters": "Filtry",
|
|
205
205
|
"Next": "Další",
|
|
@@ -223,7 +223,7 @@
|
|
|
223
223
|
"Choose your date range": "Vyberte rozsah dat",
|
|
224
224
|
"Some of the dates you selected aren't available. Please try a different range.": "Některá z vybraných dat nejsou k dispozici. Zkuste prosím jiný rozsah.",
|
|
225
225
|
"Please select the dates you want to view.": "Vyberte prosím data, která chcete zobrazit.",
|
|
226
|
-
"Reset
|
|
226
|
+
"Reset all": "Obnovit vše",
|
|
227
227
|
"Favorite": "Oblíbené",
|
|
228
228
|
"Summary color": "Barva souhrnu",
|
|
229
229
|
"Chart data": "Data grafu",
|
|
@@ -165,21 +165,21 @@
|
|
|
165
165
|
"ShortSaturday": "L",
|
|
166
166
|
"ShortSunday": "S",
|
|
167
167
|
"Date range": "Datointerval",
|
|
168
|
-
"Use multiple
|
|
168
|
+
"Use multiple Operators when searching for a specific group. For example, filtering for assets that belong to the Tractor group and the Toronto group displays a list of tractors that belong to the Toronto branch.": "Brug flere operatorer, når du søger efter en bestemt gruppe. Hvis du f.eks. filtrerer efter aktiver, der tilhører gruppen Traktor og Toronto-gruppen, vises en liste over traktorer, der tilhører Toronto-grenen.",
|
|
169
169
|
"Select columns": "Vælg kolonner",
|
|
170
170
|
"Must be less than the max": "Skal være mindre end maks.",
|
|
171
171
|
"Must be more than the min": "Skal være mere end minimum.",
|
|
172
172
|
"Must be more than {value}": "Skal være mere end {value}",
|
|
173
173
|
"Must be less than {value}": "Skal være mindre end {value}",
|
|
174
|
-
"Must be in
|
|
174
|
+
"Must be in the {min} - {max} range": "Skal være i området {min} - {max}",
|
|
175
175
|
"The min value must be set": "Den mindste værdi skal indstilles.",
|
|
176
176
|
"The max value must be set": "Den maksimale værdi skal indstilles",
|
|
177
177
|
"Range Filter popup": "Pop op-vindue med områdefilter",
|
|
178
178
|
"{rangeName} values {values}": "{rangeName} værdier {values}",
|
|
179
|
-
"The
|
|
180
|
-
"The
|
|
181
|
-
"The date must be set": "Datoen skal indstilles.",
|
|
182
|
-
"The time must be set": "Tiden skal indstilles.",
|
|
179
|
+
"The End date cannot be empty.": "Slutdatoen kan ikke være tom.",
|
|
180
|
+
"The Start date cannot be empty.": "Startdatoen må ikke være tom.",
|
|
181
|
+
"The date must be set.": "Datoen skal indstilles.",
|
|
182
|
+
"The time must be set.": "Tiden skal indstilles.",
|
|
183
183
|
"Selecting...": "Vælger...",
|
|
184
184
|
"Reset column settings": "Nulstil kolonneindstillinger",
|
|
185
185
|
"Filters": "Filtre",
|
|
@@ -213,7 +213,7 @@
|
|
|
213
213
|
"Open": "Åbn",
|
|
214
214
|
"Favorite": "Favorit",
|
|
215
215
|
"All Filters": "Alle filtre",
|
|
216
|
-
"Reset
|
|
216
|
+
"Reset all": "Nulstil alle",
|
|
217
217
|
"Loading": "Indlæser",
|
|
218
218
|
"Select option": "Vælg mulighed",
|
|
219
219
|
"Previous step": "Forrige trin",
|