@geotab/zenith 3.0.1 → 3.1.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.
- package/README.md +17 -0
- package/dist/advancedGroupsFilter/advancedGroupsFilter.d.ts +1 -0
- package/dist/advancedGroupsFilter/advancedGroupsFilter.js +2 -2
- package/dist/advancedGroupsFilter/advancedGroupsFilterFormSection.js +3 -1
- package/dist/chip/chip.js +5 -5
- package/dist/commonStyles/zIndex.less +5 -0
- package/dist/dateInput/dateInput.d.ts +2 -1
- package/dist/dateInput/dateInput.js +11 -2
- package/dist/dateRange/dateRange.js +9 -8
- package/dist/dropdown/dropdown.d.ts +2 -0
- package/dist/dropdown/dropdown.js +6 -5
- package/dist/dropdown/dropdownHelper.d.ts +4 -4
- package/dist/dropdown/dropdownHelper.js +2 -1
- package/dist/dropdown/dropdownList.js +2 -2
- package/dist/dropdown/dropdownPopup.d.ts +1 -0
- package/dist/dropdown/dropdownPopup.js +2 -2
- package/dist/dropdown/dropdownSearchableTrigger.js +1 -1
- package/dist/dropdown/stateReducer/stateReducer.d.ts +6 -2
- package/dist/dropdown/stateReducer/stateReducer.js +28 -42
- package/dist/dropdown/stateReducer/stateReducerHelper.d.ts +2 -0
- package/dist/dropdown/stateReducer/stateReducerHelper.js +12 -1
- package/dist/dropdown/useDropdownState.d.ts +1 -1
- package/dist/dropdown/useDropdownState.js +5 -2
- package/dist/filters/components/filtersContainer.d.ts +1 -0
- package/dist/filters/components/filtersContainer.js +10 -11
- package/dist/filters/components/filtersDateInput.d.ts +10 -0
- package/dist/filters/components/filtersDateInput.js +27 -0
- package/dist/filters/components/filtersDropdown.d.ts +5 -4
- package/dist/filters/components/filtersDropdown.js +3 -3
- package/dist/filters/components/filtersEmptySelectedList.d.ts +2 -0
- package/dist/filters/components/filtersEmptySelectedList.js +11 -0
- package/dist/filters/components/filtersItem.d.ts +5 -4
- package/dist/filters/components/filtersItem.js +2 -1
- package/dist/filters/components/filtersSaveModal.d.ts +3 -1
- package/dist/filters/components/filtersSaveModal.js +2 -2
- package/dist/filters/components/filtersSavedChipComponent.js +68 -6
- package/dist/filters/components/filtersSearch.d.ts +4 -4
- package/dist/filters/components/filtersSearch.js +20 -9
- package/dist/filters/components/filtersSearchItemData.js +18 -1
- package/dist/filters/components/filtersSearchList.d.ts +5 -1
- package/dist/filters/components/filtersSearchList.js +155 -27
- package/dist/filters/components/filtersSelect.d.ts +1 -0
- package/dist/filters/components/filtersSelect.js +35 -7
- package/dist/filters/components/filtersSelectListItem.d.ts +21 -15
- package/dist/filters/components/filtersSelectListItem.js +13 -3
- package/dist/filters/components/filtersSidePanel.d.ts +15 -0
- package/dist/filters/components/filtersSidePanel.js +212 -0
- package/dist/filters/components/filtersSidePanelChip.d.ts +9 -0
- package/dist/filters/components/filtersSidePanelChip.js +13 -0
- package/dist/filters/components/filtersSidePanelDropdown.d.ts +6 -0
- package/dist/filters/components/filtersSidePanelDropdown.js +85 -0
- package/dist/filters/components/filtersSidePanelItem.d.ts +16 -0
- package/dist/filters/components/filtersSidePanelItem.js +67 -0
- package/dist/filters/components/filtersSidePanelRange.d.ts +6 -0
- package/dist/filters/components/filtersSidePanelRange.js +28 -0
- package/dist/filters/filters.d.ts +5 -0
- package/dist/filters/filters.js +101 -38
- package/dist/filters/filtersHelper.d.ts +4 -2
- package/dist/filters/filtersHelper.js +40 -1
- package/dist/filters/filtersHooks.d.ts +12 -2
- package/dist/filters/filtersHooks.js +21 -3
- package/dist/formStepper/formStepper.d.ts +1 -1
- package/dist/formStepper/formStepper.js +5 -2
- package/dist/groupsFilter/groupsFilter.js +72 -37
- package/dist/groupsFilter/groupsFilterMenu.d.ts +1 -0
- package/dist/groupsFilter/groupsFilterMenu.js +2 -2
- package/dist/groupsFilter/groupsFilterTrigger.js +1 -1
- package/dist/images/imageLooking.d.ts +4 -0
- package/dist/images/imageLooking.js +16 -0
- package/dist/index.css +407 -83
- package/dist/index.d.ts +7 -4
- package/dist/index.js +26 -15
- package/dist/list/list.d.ts +3 -1
- package/dist/list/list.js +2 -2
- package/dist/mobileSheet/mobileSheet.d.ts +2 -0
- package/dist/mobileSheet/mobileSheet.js +4 -4
- package/dist/modal/modal.d.ts +1 -0
- package/dist/modal/modal.js +2 -2
- package/dist/radioGroup/radioGroup.d.ts +1 -0
- package/dist/radioGroup/radioGroup.js +3 -2
- package/dist/range/range.js +29 -10
- package/dist/searchInputRaw/searchInputRaw.js +1 -1
- package/dist/sidePanel/sidePanel.d.ts +1 -0
- package/dist/sidePanel/sidePanel.js +3 -3
- package/dist/tabs/tabItem/tabItem.d.ts +1 -0
- package/dist/tabs/tabItem/tabItem.js +2 -2
- package/dist/tabs/tabs.d.ts +1 -0
- package/dist/tabs/tabs.js +1 -1
- package/dist/utils/keyboardHelpers.d.ts +2 -0
- package/dist/utils/keyboardHelpers.js +49 -0
- package/dist/utils/localization/translations/cs-json.d.ts +1 -0
- package/dist/utils/localization/translations/cs-json.js +2 -1
- package/dist/utils/localization/translations/de-json.d.ts +1 -0
- package/dist/utils/localization/translations/de-json.js +2 -1
- package/dist/utils/localization/translations/en-json.d.ts +7 -0
- package/dist/utils/localization/translations/en-json.js +8 -1
- package/dist/utils/localization/translations/es-json.d.ts +1 -0
- package/dist/utils/localization/translations/es-json.js +2 -1
- package/dist/utils/localization/translations/fr-FR-json.d.ts +1 -0
- package/dist/utils/localization/translations/fr-FR-json.js +2 -1
- package/dist/utils/localization/translations/fr-json.d.ts +1 -0
- package/dist/utils/localization/translations/fr-json.js +2 -1
- package/dist/utils/localization/translations/id-json.d.ts +1 -0
- package/dist/utils/localization/translations/id-json.js +2 -1
- package/dist/utils/localization/translations/it-json.d.ts +1 -0
- package/dist/utils/localization/translations/it-json.js +2 -1
- package/dist/utils/localization/translations/ja-json.d.ts +1 -0
- package/dist/utils/localization/translations/ja-json.js +2 -1
- package/dist/utils/localization/translations/ko-KR-json.d.ts +1 -0
- package/dist/utils/localization/translations/ko-KR-json.js +2 -1
- package/dist/utils/localization/translations/ms-json.d.ts +1 -0
- package/dist/utils/localization/translations/ms-json.js +2 -1
- package/dist/utils/localization/translations/nl-json.d.ts +1 -0
- package/dist/utils/localization/translations/nl-json.js +2 -1
- package/dist/utils/localization/translations/pl-json.d.ts +1 -0
- package/dist/utils/localization/translations/pl-json.js +2 -1
- package/dist/utils/localization/translations/pt-BR-json.d.ts +1 -0
- package/dist/utils/localization/translations/pt-BR-json.js +2 -1
- package/dist/utils/localization/translations/sv-json.d.ts +1 -0
- package/dist/utils/localization/translations/sv-json.js +2 -1
- package/dist/utils/localization/translations/th-json.d.ts +1 -0
- package/dist/utils/localization/translations/th-json.js +2 -1
- package/dist/utils/localization/translations/tr-json.d.ts +1 -0
- package/dist/utils/localization/translations/tr-json.js +2 -1
- package/dist/utils/localization/translations/zh-Hans-json.d.ts +1 -0
- package/dist/utils/localization/translations/zh-Hans-json.js +2 -1
- package/dist/utils/localization/translations/zh-TW-json.d.ts +1 -0
- package/dist/utils/localization/translations/zh-TW-json.js +2 -1
- package/esm/advancedGroupsFilter/advancedGroupsFilter.d.ts +1 -0
- package/esm/advancedGroupsFilter/advancedGroupsFilter.js +2 -2
- package/esm/advancedGroupsFilter/advancedGroupsFilterFormSection.js +3 -1
- package/esm/chip/chip.js +5 -5
- package/esm/dateInput/dateInput.d.ts +2 -1
- package/esm/dateInput/dateInput.js +11 -2
- package/esm/dateRange/dateRange.js +9 -8
- package/esm/dropdown/dropdown.d.ts +2 -0
- package/esm/dropdown/dropdown.js +5 -4
- package/esm/dropdown/dropdownHelper.d.ts +4 -4
- package/esm/dropdown/dropdownHelper.js +2 -1
- package/esm/dropdown/dropdownList.js +2 -2
- package/esm/dropdown/dropdownPopup.d.ts +1 -0
- package/esm/dropdown/dropdownPopup.js +2 -2
- package/esm/dropdown/dropdownSearchableTrigger.js +1 -1
- package/esm/dropdown/stateReducer/stateReducer.d.ts +6 -2
- package/esm/dropdown/stateReducer/stateReducer.js +29 -43
- package/esm/dropdown/stateReducer/stateReducerHelper.d.ts +2 -0
- package/esm/dropdown/stateReducer/stateReducerHelper.js +10 -0
- package/esm/dropdown/useDropdownState.d.ts +1 -1
- package/esm/dropdown/useDropdownState.js +5 -2
- package/esm/filters/components/filtersContainer.d.ts +1 -0
- package/esm/filters/components/filtersContainer.js +12 -13
- package/esm/filters/components/filtersDateInput.d.ts +10 -0
- package/esm/filters/components/filtersDateInput.js +23 -0
- package/esm/filters/components/filtersDropdown.d.ts +5 -4
- package/esm/filters/components/filtersDropdown.js +3 -3
- package/esm/filters/components/filtersEmptySelectedList.d.ts +2 -0
- package/esm/filters/components/filtersEmptySelectedList.js +7 -0
- package/esm/filters/components/filtersItem.d.ts +5 -4
- package/esm/filters/components/filtersItem.js +2 -1
- package/esm/filters/components/filtersSaveModal.d.ts +3 -1
- package/esm/filters/components/filtersSaveModal.js +2 -2
- package/esm/filters/components/filtersSavedChipComponent.js +68 -6
- package/esm/filters/components/filtersSearch.d.ts +4 -4
- package/esm/filters/components/filtersSearch.js +20 -9
- package/esm/filters/components/filtersSearchItemData.js +18 -1
- package/esm/filters/components/filtersSearchList.d.ts +5 -1
- package/esm/filters/components/filtersSearchList.js +156 -28
- package/esm/filters/components/filtersSelect.d.ts +1 -0
- package/esm/filters/components/filtersSelect.js +36 -8
- package/esm/filters/components/filtersSelectListItem.d.ts +21 -15
- package/esm/filters/components/filtersSelectListItem.js +13 -3
- package/esm/filters/components/filtersSidePanel.d.ts +15 -0
- package/esm/filters/components/filtersSidePanel.js +208 -0
- package/esm/filters/components/filtersSidePanelChip.d.ts +9 -0
- package/esm/filters/components/filtersSidePanelChip.js +9 -0
- package/esm/filters/components/filtersSidePanelDropdown.d.ts +6 -0
- package/esm/filters/components/filtersSidePanelDropdown.js +81 -0
- package/esm/filters/components/filtersSidePanelItem.d.ts +16 -0
- package/esm/filters/components/filtersSidePanelItem.js +63 -0
- package/esm/filters/components/filtersSidePanelRange.d.ts +6 -0
- package/esm/filters/components/filtersSidePanelRange.js +24 -0
- package/esm/filters/filters.d.ts +5 -0
- package/esm/filters/filters.js +101 -38
- package/esm/filters/filtersHelper.d.ts +4 -2
- package/esm/filters/filtersHelper.js +37 -0
- package/esm/filters/filtersHooks.d.ts +12 -2
- package/esm/filters/filtersHooks.js +19 -2
- package/esm/formStepper/formStepper.d.ts +1 -1
- package/esm/formStepper/formStepper.js +5 -2
- package/esm/groupsFilter/groupsFilter.js +72 -37
- package/esm/groupsFilter/groupsFilterMenu.d.ts +1 -0
- package/esm/groupsFilter/groupsFilterMenu.js +2 -2
- package/esm/groupsFilter/groupsFilterTrigger.js +1 -1
- package/esm/images/imageLooking.d.ts +4 -0
- package/esm/images/imageLooking.js +12 -0
- package/esm/index.d.ts +7 -4
- package/esm/index.js +6 -3
- package/esm/list/list.d.ts +3 -1
- package/esm/list/list.js +2 -2
- package/esm/mobileSheet/mobileSheet.d.ts +2 -0
- package/esm/mobileSheet/mobileSheet.js +4 -4
- package/esm/modal/modal.d.ts +1 -0
- package/esm/modal/modal.js +2 -2
- package/esm/radioGroup/radioGroup.d.ts +1 -0
- package/esm/radioGroup/radioGroup.js +3 -2
- package/esm/range/range.js +29 -10
- package/esm/searchInputRaw/searchInputRaw.js +1 -1
- package/esm/sidePanel/sidePanel.d.ts +1 -0
- package/esm/sidePanel/sidePanel.js +3 -3
- package/esm/tabs/tabItem/tabItem.d.ts +1 -0
- package/esm/tabs/tabItem/tabItem.js +2 -2
- package/esm/tabs/tabs.d.ts +1 -0
- package/esm/tabs/tabs.js +1 -1
- package/esm/utils/keyboardHelpers.d.ts +2 -0
- package/esm/utils/keyboardHelpers.js +44 -0
- package/esm/utils/localization/translations/cs-json.d.ts +1 -0
- package/esm/utils/localization/translations/cs-json.js +2 -1
- package/esm/utils/localization/translations/de-json.d.ts +1 -0
- package/esm/utils/localization/translations/de-json.js +2 -1
- package/esm/utils/localization/translations/en-json.d.ts +7 -0
- package/esm/utils/localization/translations/en-json.js +8 -1
- package/esm/utils/localization/translations/es-json.d.ts +1 -0
- package/esm/utils/localization/translations/es-json.js +2 -1
- package/esm/utils/localization/translations/fr-FR-json.d.ts +1 -0
- package/esm/utils/localization/translations/fr-FR-json.js +2 -1
- package/esm/utils/localization/translations/fr-json.d.ts +1 -0
- package/esm/utils/localization/translations/fr-json.js +2 -1
- package/esm/utils/localization/translations/id-json.d.ts +1 -0
- package/esm/utils/localization/translations/id-json.js +2 -1
- package/esm/utils/localization/translations/it-json.d.ts +1 -0
- package/esm/utils/localization/translations/it-json.js +2 -1
- package/esm/utils/localization/translations/ja-json.d.ts +1 -0
- package/esm/utils/localization/translations/ja-json.js +2 -1
- package/esm/utils/localization/translations/ko-KR-json.d.ts +1 -0
- package/esm/utils/localization/translations/ko-KR-json.js +2 -1
- package/esm/utils/localization/translations/ms-json.d.ts +1 -0
- package/esm/utils/localization/translations/ms-json.js +2 -1
- package/esm/utils/localization/translations/nl-json.d.ts +1 -0
- package/esm/utils/localization/translations/nl-json.js +2 -1
- package/esm/utils/localization/translations/pl-json.d.ts +1 -0
- package/esm/utils/localization/translations/pl-json.js +2 -1
- package/esm/utils/localization/translations/pt-BR-json.d.ts +1 -0
- package/esm/utils/localization/translations/pt-BR-json.js +2 -1
- package/esm/utils/localization/translations/sv-json.d.ts +1 -0
- package/esm/utils/localization/translations/sv-json.js +2 -1
- package/esm/utils/localization/translations/th-json.d.ts +1 -0
- package/esm/utils/localization/translations/th-json.js +2 -1
- package/esm/utils/localization/translations/tr-json.d.ts +1 -0
- package/esm/utils/localization/translations/tr-json.js +2 -1
- package/esm/utils/localization/translations/zh-Hans-json.d.ts +1 -0
- package/esm/utils/localization/translations/zh-Hans-json.js +2 -1
- package/esm/utils/localization/translations/zh-TW-json.d.ts +1 -0
- package/esm/utils/localization/translations/zh-TW-json.js +2 -1
- package/package.json +1 -1
- package/dist/filters/components/filtersModal.d.ts +0 -17
- package/dist/filters/components/filtersModal.js +0 -107
- package/dist/filters/components/filtersModalItem.d.ts +0 -9
- package/dist/filters/components/filtersModalItem.js +0 -74
- package/esm/filters/components/filtersModal.d.ts +0 -17
- package/esm/filters/components/filtersModal.js +0 -103
- package/esm/filters/components/filtersModalItem.d.ts +0 -9
- package/esm/filters/components/filtersModalItem.js +0 -70
package/esm/range/range.js
CHANGED
|
@@ -12,8 +12,12 @@ import { FormFieldError } from "../formFieldError/formFieldError";
|
|
|
12
12
|
import { useDirection } from "../filtersBar/filtersBarSidePanel/hooks/useDirection";
|
|
13
13
|
import { Chip } from "../chip/chip";
|
|
14
14
|
import { useChipStatus } from "../chip/chipStatusProvider";
|
|
15
|
+
import { useMobile } from "../commonHelpers/hooks/useMobile";
|
|
16
|
+
import { MobileSheet } from "../mobileSheet/mobileSheet";
|
|
17
|
+
import { FooterButtons } from "../footerButtons/footerButtons";
|
|
15
18
|
export const Range = ({ className, onChange, value, labelMin, labelMax, unit, defaultValue, disabled, label, min, max, id, fullWidthTriggerButton, fullBounded, allowEqualMinMax, error, triggerAriaLabel, chip, chipIcon, chipId, chipName }) => {
|
|
16
19
|
const [isOpen, setIsOpen] = useState(false);
|
|
20
|
+
const isMobile = useMobile();
|
|
17
21
|
const [currentValue, setCurrentValue] = useState(value);
|
|
18
22
|
const [errorType, setErrorType] = useState(undefined);
|
|
19
23
|
const triggerId = useId();
|
|
@@ -30,6 +34,10 @@ export const Range = ({ className, onChange, value, labelMin, labelMax, unit, de
|
|
|
30
34
|
const setFieldsContainerRef = useCallback((node) => {
|
|
31
35
|
setContainerNode(node);
|
|
32
36
|
}, [setContainerNode]);
|
|
37
|
+
const checkError = useCallback((val) => {
|
|
38
|
+
const isHasError = checkErrorType(val.min, val.max, fullBounded, allowEqualMinMax, min, max);
|
|
39
|
+
setErrorType(isHasError);
|
|
40
|
+
}, [allowEqualMinMax, fullBounded, max, min]);
|
|
33
41
|
const getSelection = useCallback(() => {
|
|
34
42
|
let selection = value.min !== null && value.max !== null ? `${value.min} - ${value.max}` : "";
|
|
35
43
|
if (!selection && value.min !== null) {
|
|
@@ -41,8 +49,10 @@ export const Range = ({ className, onChange, value, labelMin, labelMax, unit, de
|
|
|
41
49
|
return selection;
|
|
42
50
|
}, [labelMax, labelMin, translate, value.max, value.min]);
|
|
43
51
|
const handleTriggerClick = useCallback(() => {
|
|
52
|
+
var _a;
|
|
44
53
|
setIsOpen(curr => !curr);
|
|
45
|
-
|
|
54
|
+
isOpen && ((_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus());
|
|
55
|
+
}, [isOpen]);
|
|
46
56
|
const handleClearClick = useCallback(() => {
|
|
47
57
|
if (blurTimeoutRef.current) {
|
|
48
58
|
clearTimeout(blurTimeoutRef.current);
|
|
@@ -51,7 +61,8 @@ export const Range = ({ className, onChange, value, labelMin, labelMax, unit, de
|
|
|
51
61
|
const isHasError = checkErrorType((defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.min) || null, (defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.max) || null, fullBounded, allowEqualMinMax, min, max);
|
|
52
62
|
setErrorType(isHasError);
|
|
53
63
|
}, [allowEqualMinMax, defaultValue, fullBounded, max, min]);
|
|
54
|
-
const handleCancelClick = () => {
|
|
64
|
+
const handleCancelClick = useCallback(() => {
|
|
65
|
+
var _a;
|
|
55
66
|
if (blurTimeoutRef.current) {
|
|
56
67
|
clearTimeout(blurTimeoutRef.current);
|
|
57
68
|
}
|
|
@@ -59,8 +70,10 @@ export const Range = ({ className, onChange, value, labelMin, labelMax, unit, de
|
|
|
59
70
|
const isHasError = checkErrorType(value.min, value.max, fullBounded, allowEqualMinMax, min, max);
|
|
60
71
|
setErrorType(isHasError);
|
|
61
72
|
setIsOpen(false);
|
|
62
|
-
|
|
63
|
-
|
|
73
|
+
(_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
74
|
+
}, [allowEqualMinMax, fullBounded, max, min, value]);
|
|
75
|
+
const handleApplyClick = useCallback(() => {
|
|
76
|
+
var _a;
|
|
64
77
|
if (blurTimeoutRef.current) {
|
|
65
78
|
clearTimeout(blurTimeoutRef.current);
|
|
66
79
|
}
|
|
@@ -71,7 +84,8 @@ export const Range = ({ className, onChange, value, labelMin, labelMax, unit, de
|
|
|
71
84
|
}
|
|
72
85
|
onChange(currentValue);
|
|
73
86
|
setIsOpen(false);
|
|
74
|
-
|
|
87
|
+
(_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
88
|
+
}, [allowEqualMinMax, currentValue, fullBounded, max, min, onChange]);
|
|
75
89
|
const handleClearChipClick = useCallback(() => {
|
|
76
90
|
handleClearClick();
|
|
77
91
|
defaultValue && onChange(defaultValue);
|
|
@@ -81,8 +95,8 @@ export const Range = ({ className, onChange, value, labelMin, labelMax, unit, de
|
|
|
81
95
|
const newValues = { min: targetId === "min" ? newValue : currentValue.min, max: targetId === "max" ? newValue : currentValue.max };
|
|
82
96
|
setCurrentValue(newValues);
|
|
83
97
|
}, [currentValue.min, currentValue.max]);
|
|
84
|
-
const isClearDisabled = () => defaultValue ? defaultValue.min === currentValue.min && defaultValue.max === currentValue.max : currentValue.min === null && currentValue.max === null;
|
|
85
|
-
const isApplyDisabled = () => currentValue.min === value.min && currentValue.max === value.max;
|
|
98
|
+
const isClearDisabled = useCallback(() => defaultValue ? defaultValue.min === currentValue.min && defaultValue.max === currentValue.max : currentValue.min === null && currentValue.max === null, [defaultValue, currentValue.min, currentValue.max]);
|
|
99
|
+
const isApplyDisabled = useCallback(() => currentValue.min === value.min && currentValue.max === value.max, [currentValue.min, currentValue.max, value.min, value.max]);
|
|
86
100
|
const handleBlur = useCallback((e) => {
|
|
87
101
|
if (e.relatedTarget && e.relatedTarget.getAttribute("data-validated-button")) {
|
|
88
102
|
blurTimeoutRef.current = setTimeout(() => {
|
|
@@ -100,15 +114,20 @@ export const Range = ({ className, onChange, value, labelMin, labelMax, unit, de
|
|
|
100
114
|
}
|
|
101
115
|
prevValueRef.current = value;
|
|
102
116
|
if (value.min !== currentValue.min || value.max !== currentValue.max) {
|
|
117
|
+
checkError(value);
|
|
103
118
|
setCurrentValue(value);
|
|
104
119
|
}
|
|
105
|
-
}, [currentValue.min, currentValue.max, value]);
|
|
120
|
+
}, [currentValue.min, currentValue.max, value, checkError]);
|
|
106
121
|
const memoizedMinRangeField = useMemo(() => _jsx(RangeField, { className: "zen-range__min-field", label: labelMin || translate("Min"), unit: unit, value: currentValue.min, id: "min", inputRef: minRef, errorString: getErrorString("min", currentValue.min, translate, errorType, min, max), onChange: handleChange, onBlur: handleBlur, max: max, min: min, isMinField: true, direction: directionState }), [labelMin, translate, unit, currentValue.min, errorType, min, max, handleChange, handleBlur, directionState]);
|
|
107
122
|
const memoizedMaxRangeField = useMemo(() => _jsx(RangeField, { className: "zen-range__max-field", label: labelMax || translate("Max"), unit: unit, value: currentValue.max, id: "max", inputRef: maxRef, errorString: getErrorString("max", currentValue.max, translate, errorType, min, max), onChange: handleChange, onBlur: handleBlur, max: max, min: min, isMinField: false, direction: directionState }), [max, min, labelMax, handleChange, handleBlur, currentValue.max, translate, unit, errorType, directionState]);
|
|
108
123
|
const selection = useMemo(() => getSelection(), [getSelection]);
|
|
124
|
+
const memoizedContent = useMemo(() => _jsxs("div", { className: "zen-range__fields-wrapper", children: [_jsxs("div", { ref: setFieldsContainerRef, className: classNames(["zen-range__fields-container", directionState === "row" ? "zen-range__fields-container--row" : "zen-range__fields-container--column"]), children: [memoizedMinRangeField, memoizedMaxRangeField] }), errorType !== undefined && directionState === "row" ? _jsx(FormFieldError, { className: "zen-range__error", error: [getErrorString("min", currentValue.min, translate, errorType, min, max) || "", getErrorString("max", currentValue.max, translate, errorType, min, max) || ""] })
|
|
125
|
+
: null] }), [setFieldsContainerRef, directionState, memoizedMinRangeField, memoizedMaxRangeField, errorType, currentValue.min, currentValue.max, translate, min, max]);
|
|
126
|
+
const memoizedDesktopView = useMemo(() => _jsx(ControlledPopup, { isOpen: isOpen, className: classNames(["zen-range-popup zen-shadow-dropdown-default", className ? className : ""]), onOpenChange: handleTriggerClick, useTrapFocusWithTrigger: "on", alignment: "bottom-left", shouldHoldScroll: true, triggerRef: triggerRef, ariaLabel: translate("Range Filter popup"), recalculateOnScroll: true, children: _jsxs("div", { ref: contentRef, className: "zen-range__content", children: [_jsx("div", { className: "zen-range__label zen-ellipsis", children: label }), memoizedContent, _jsxs("div", { className: "zen-range__footer", children: [_jsx(Button, { onClick: handleClearClick, disabled: isClearDisabled(), className: "zen-range__clear-button", type: ButtonType.Tertiary, title: translate("Clear"), "data-validated-button": true, children: translate("Clear") }), _jsxs("div", { className: "zen-range__button-group", children: [_jsx(Button, { onClick: handleCancelClick, className: "zen-range__cancel-button", title: translate("Cancel"), "data-validated-button": true, children: translate("Cancel") }), _jsx(Button, { onClick: handleApplyClick, type: ButtonType.Primary, disabled: isApplyDisabled(), className: "zen-range__apply-button", title: translate("Apply"), "data-validated-button": true, children: translate("Apply") })] })] })] }) }), [className, handleApplyClick, handleCancelClick, handleClearClick, handleTriggerClick, isApplyDisabled, isClearDisabled, isOpen, label, memoizedContent, translate]);
|
|
127
|
+
const memoizedMobileFooter = useMemo(() => _jsxs(FooterButtons, { children: [_jsx(Button, { onClick: handleApplyClick, type: ButtonType.Primary, disabled: isApplyDisabled(), className: "zen-range__apply-button", title: translate("Apply"), "data-validated-button": true, children: translate("Apply") }), _jsx(Button, { onClick: handleCancelClick, className: "zen-range__cancel-button", title: translate("Cancel"), "data-validated-button": true, children: translate("Cancel") }), _jsx(Button, { type: ButtonType.Tertiary, disabled: isClearDisabled(), onClick: handleClearClick, children: translate("Clear") })] }), [handleApplyClick, handleCancelClick, handleClearClick, isApplyDisabled, isClearDisabled, translate]);
|
|
128
|
+
const memoizedMobileView = useMemo(() => _jsxs(MobileSheet, { label: translate("Range Filter popup"), triggerRef: triggerRef, isOpen: isOpen, onHidePanel: handleTriggerClick, onCloseClick: handleTriggerClick, useTrapFocusWithTrigger: false, children: [_jsx(MobileSheet.Title, { children: label }), _jsx(MobileSheet.Content, { children: memoizedContent }), _jsx(MobileSheet.Footer, { children: memoizedMobileFooter })] }), [handleTriggerClick, isOpen, label, memoizedContent, memoizedMobileFooter, translate]);
|
|
109
129
|
return _jsxs("div", { className: classNames(["zen-range", error ? "zen-range--error" : "", className || ""]), children: [chip ? _jsx(Chip, { id: chipId, status: isClearDisabled() ? undefined : chipStatus || "active", isOpen: isOpen, disabled: disabled, onClick: handleTriggerClick, onClose: isClearDisabled() ? undefined : handleClearChipClick, triggerRef: triggerRef, icon: chipIcon, children: selection ? selection : chipName }) :
|
|
110
|
-
_jsx(FilterButton, { ariaLabel: triggerAriaLabel, ref: triggerRef, id: id || triggerId, className: "zen-range__trigger-button", onClick: handleTriggerClick, disabled: disabled, isActive: isOpen, fullWidth: fullWidthTriggerButton, title: selection ? translate("{rangeName} values {values}").replace("{rangeName}", label).replace("{values}", selection) : "", children: selection ? _jsx("span", { className: "zen-range__trigger-button-text", children: selection }) : label }), _jsx(FormFieldError, { error: error }),
|
|
111
|
-
: null] }), _jsxs("div", { className: "zen-range__footer", children: [_jsx(Button, { onClick: handleClearClick, disabled: isClearDisabled(), className: "zen-range__clear-button", type: ButtonType.Tertiary, title: translate("Clear"), "data-validated-button": true, children: translate("Clear") }), _jsxs("div", { className: "zen-range__button-group", children: [_jsx(Button, { onClick: handleCancelClick, className: "zen-range__cancel-button", title: translate("Cancel"), "data-validated-button": true, children: translate("Cancel") }), _jsx(Button, { onClick: handleApplyClick, type: ButtonType.Primary, disabled: isApplyDisabled(), className: "zen-range__apply-button", title: translate("Apply"), "data-validated-button": true, children: translate("Apply") })] })] })] }) })] });
|
|
130
|
+
_jsx(FilterButton, { ariaLabel: triggerAriaLabel, ref: triggerRef, id: id || triggerId, className: "zen-range__trigger-button", onClick: handleTriggerClick, disabled: disabled, isActive: isOpen, fullWidth: fullWidthTriggerButton, title: selection ? translate("{rangeName} values {values}").replace("{rangeName}", label).replace("{values}", selection) : "", children: selection ? _jsx("span", { className: "zen-range__trigger-button-text", children: selection }) : label }), _jsx(FormFieldError, { error: error }), isMobile ? memoizedMobileView : memoizedDesktopView] });
|
|
112
131
|
};
|
|
113
132
|
export const TRANSLATIONS = [
|
|
114
133
|
"Min",
|
|
@@ -30,7 +30,7 @@ export const SearchInputRaw = ({ value, className = "", disabled, onChange, onKe
|
|
|
30
30
|
const onClick = () => {
|
|
31
31
|
onChange === null || onChange === void 0 ? void 0 : onChange("");
|
|
32
32
|
};
|
|
33
|
-
closeButton = (_jsx("button", { type: "button", className: closeButtonClassName, onClick: onClick, title: closeButtonTitleValue, children: _jsx(IconClose, { className: "zen-search-input__close-icon", size: isDrive ? "huge" : "large" }) }));
|
|
33
|
+
closeButton = (_jsx("button", { type: "button", tabIndex: value.length ? 0 : -1, className: closeButtonClassName, onClick: onClick, title: closeButtonTitleValue, children: _jsx(IconClose, { className: "zen-search-input__close-icon", size: isDrive ? "huge" : "large" }) }));
|
|
34
34
|
}
|
|
35
35
|
const innerRef = React.useRef(null);
|
|
36
36
|
const onClickHandler = useCallback(() => {
|
|
@@ -20,6 +20,7 @@ export interface ISidePanel extends IZenComponentProps {
|
|
|
20
20
|
isOpen: boolean;
|
|
21
21
|
label: string;
|
|
22
22
|
useTrapFocusWithTrigger?: boolean;
|
|
23
|
+
preventFirstFocus?: boolean;
|
|
23
24
|
onTransitionEnd?: (isCurrentOpen: boolean) => void;
|
|
24
25
|
onHidePanel: (reason: SidePanelCloseReason, dataShieldId?: string) => void;
|
|
25
26
|
width?: number | string;
|
|
@@ -47,7 +47,7 @@ export var SidePanelCloseReason;
|
|
|
47
47
|
SidePanelCloseReason["ClickOutside"] = "ClickOutside";
|
|
48
48
|
})(SidePanelCloseReason || (SidePanelCloseReason = {}));
|
|
49
49
|
export const CUSTOM_POPUP_COMPONENT_CLASSNAME = "zen-custom-component-popup";
|
|
50
|
-
export const SidePanel = ({ label, className, id, isOpen, onHidePanel, children, triggerRef, panelPosition = "right", useTrapFocusWithTrigger, width, onTransitionEnd }) => {
|
|
50
|
+
export const SidePanel = ({ label, className, id, isOpen, onHidePanel, children, triggerRef, panelPosition = "right", useTrapFocusWithTrigger, preventFirstFocus, width, onTransitionEnd }) => {
|
|
51
51
|
const { renderComponent, showContent, readyForFocus, setIsOpen, handleTransitionEnd } = useFadeComponent(isOpen, onTransitionEnd);
|
|
52
52
|
const { dark } = useContext(themeContext);
|
|
53
53
|
const isMobile = useMobile();
|
|
@@ -119,7 +119,7 @@ export const SidePanel = ({ label, className, id, isOpen, onHidePanel, children,
|
|
|
119
119
|
if (renderComponent && readyForFocus && !prevReadyForFocus.current) {
|
|
120
120
|
const firstFocusable = (_a = sidePanelRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(FOCUSABLE_SELECTOR);
|
|
121
121
|
prevReadyForFocus.current = readyForFocus;
|
|
122
|
-
if (!useTrapFocusWithTrigger) {
|
|
122
|
+
if (!useTrapFocusWithTrigger && !preventFirstFocus) {
|
|
123
123
|
firstFocusable ? firstFocusable.focus() : (_b = sidePanelRef.current) === null || _b === void 0 ? void 0 : _b.focus();
|
|
124
124
|
}
|
|
125
125
|
}
|
|
@@ -130,7 +130,7 @@ export const SidePanel = ({ label, className, id, isOpen, onHidePanel, children,
|
|
|
130
130
|
prevReadyForFocus.current = false;
|
|
131
131
|
}
|
|
132
132
|
return () => document.body.removeEventListener("click", closeOnClickOutside, true);
|
|
133
|
-
}, [renderComponent, readyForFocus, onHidePanel, triggerRef, useTrapFocusWithTrigger]);
|
|
133
|
+
}, [renderComponent, readyForFocus, onHidePanel, triggerRef, useTrapFocusWithTrigger, preventFirstFocus]);
|
|
134
134
|
useEffect(() => {
|
|
135
135
|
setIsOpen(isOpen);
|
|
136
136
|
}, [isOpen, setIsOpen]);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { classNames } from "../../commonHelpers/classNames/classNames";
|
|
3
3
|
import { useDriveClassName } from "../../utils/theme/useDriveClassName";
|
|
4
|
-
export const TabItem = ({ tabId, tabName, icon, active, handleButtonClick, ariaControl }) => {
|
|
4
|
+
export const TabItem = ({ tabId, tabName, icon, active, handleButtonClick, ariaControl, quantity }) => {
|
|
5
5
|
const driveClassname = useDriveClassName("zen-tab-item");
|
|
6
|
-
return _jsx("button", { id: tabId, type: "button", className: classNames(["zen-tab-item", driveClassname || "", active ? "zen-tab-item--active" : ""]), role: "tab", "aria-controls": ariaControl, "aria-selected": active ? "true" : "false", "aria-label": tabName, title: tabName, onClick: handleButtonClick, children: _jsxs("div", { className: "zen-tab-item__content", children: [icon && _jsx("span", { className: classNames(["zen-tab-item__content-icon", active ? "zen-tab-item__content-icon--active" : ""]), children: icon }), _jsx("span", { className: "zen-tab-item__content-text", children: tabName })] }) });
|
|
6
|
+
return _jsx("button", { id: tabId, type: "button", className: classNames(["zen-tab-item", driveClassname || "", active ? "zen-tab-item--active" : ""]), role: "tab", "aria-controls": ariaControl, "aria-selected": active ? "true" : "false", "aria-label": tabName, title: tabName, onClick: handleButtonClick, children: _jsxs("div", { className: "zen-tab-item__content", children: [icon && _jsx("span", { className: classNames(["zen-tab-item__content-icon", active ? "zen-tab-item__content-icon--active" : ""]), children: icon }), _jsx("span", { className: "zen-tab-item__content-text", children: tabName }), quantity && _jsx("div", { className: "zen-tab-item__content-quantity", children: quantity })] }) });
|
|
7
7
|
};
|
package/esm/tabs/tabs.d.ts
CHANGED
package/esm/tabs/tabs.js
CHANGED
|
@@ -129,6 +129,6 @@ export const Tabs = ({ className, tabs = [], activeTabId, onTabChange }) => {
|
|
|
129
129
|
// activeTab.focus();
|
|
130
130
|
}
|
|
131
131
|
}, [activeTabId]);
|
|
132
|
-
return _jsx("div", { className: classNames(["zen-tabs", driveClassname || "", className !== null && className !== void 0 ? className : ""]), children: _jsxs("div", { className: classNames(["zen-tabs__tabs-container", className !== null && className !== void 0 ? className : "", scrollButtonType]), children: [scrollButtonType === "start" || scrollButtonType === "both" ? _jsxs(_Fragment, { children: [_jsx("div", { className: classNames(["zen-tabs__gradient", driveClassNameGradient || "", "zen-tabs__gradient--left"]) }), _jsx(TextIconButton, { title: translate("Scroll left"), className: classNames(["zen-tabs__scroller", driveClassNameScroller || "", "zen-tabs__start"]), icon: IconChevronRight, type: "tertiary", iconPosition: ButtonIconPosition.Start, onClick: handleScrollButtonClick(scrollableRef.current, -scrollableStep), iconClasses: "zen-tabs__start-icon" })] }) : null, _jsx("div", { ref: scrollableRef, onKeyDown: keyDownHandler, className: "zen-tabs__scrollable", children: _jsx("div", { className: "zen-tabs__tabs", role: "tablist", children: tabs.map(tab => (_jsx(TabItem, { className: "zen-tabs__tab-item", tabId: tab.id, tabName: tab.name, icon: typeof tab.icon === "function" ? createElement(tab.icon, { size: "large" }) : tab.icon, active: activeTabId === tab.id, ariaControl: `panel-${tab.id}`, handleButtonClick: handleButtonClick }, tab.id))) }) }), scrollButtonType === "end" || scrollButtonType === "both" ? _jsxs(_Fragment, { children: [_jsx("div", { className: classNames(["zen-tabs__gradient", driveClassNameGradient || "", "zen-tabs__gradient--right"]) }), _jsx(TextIconButton, { title: translate("Scroll right"), className: classNames(["zen-tabs__scroller", driveClassNameScroller || "", "zen-tabs__end"]), icon: IconChevronRight, type: "tertiary", onClick: handleScrollButtonClick(scrollableRef.current, scrollableStep), iconPosition: ButtonIconPosition.End })] }) : null] }) });
|
|
132
|
+
return _jsx("div", { className: classNames(["zen-tabs", driveClassname || "", className !== null && className !== void 0 ? className : ""]), children: _jsxs("div", { className: classNames(["zen-tabs__tabs-container", className !== null && className !== void 0 ? className : "", scrollButtonType]), children: [scrollButtonType === "start" || scrollButtonType === "both" ? _jsxs(_Fragment, { children: [_jsx("div", { className: classNames(["zen-tabs__gradient", driveClassNameGradient || "", "zen-tabs__gradient--left"]) }), _jsx(TextIconButton, { title: translate("Scroll left"), className: classNames(["zen-tabs__scroller", driveClassNameScroller || "", "zen-tabs__start"]), icon: IconChevronRight, type: "tertiary", iconPosition: ButtonIconPosition.Start, onClick: handleScrollButtonClick(scrollableRef.current, -scrollableStep), iconClasses: "zen-tabs__start-icon" })] }) : null, _jsx("div", { ref: scrollableRef, onKeyDown: keyDownHandler, className: "zen-tabs__scrollable", children: _jsx("div", { className: "zen-tabs__tabs", role: "tablist", children: tabs.map(tab => (_jsx(TabItem, { className: "zen-tabs__tab-item", tabId: tab.id, tabName: tab.name, icon: typeof tab.icon === "function" ? createElement(tab.icon, { size: "large" }) : tab.icon, quantity: tab.quantity, active: activeTabId === tab.id, ariaControl: `panel-${tab.id}`, handleButtonClick: handleButtonClick }, tab.id))) }) }), scrollButtonType === "end" || scrollButtonType === "both" ? _jsxs(_Fragment, { children: [_jsx("div", { className: classNames(["zen-tabs__gradient", driveClassNameGradient || "", "zen-tabs__gradient--right"]) }), _jsx(TextIconButton, { title: translate("Scroll right"), className: classNames(["zen-tabs__scroller", driveClassNameScroller || "", "zen-tabs__end"]), icon: IconChevronRight, type: "tertiary", onClick: handleScrollButtonClick(scrollableRef.current, scrollableStep), iconPosition: ButtonIconPosition.End })] }) : null] }) });
|
|
133
133
|
};
|
|
134
134
|
Tabs.displayName = TabsDisplayName;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { FOCUSABLE_SELECTOR } from "./focusableSelector";
|
|
2
|
+
export const getNewFocusableItem = (step, container, specificSelector) => {
|
|
3
|
+
if (!container) {
|
|
4
|
+
return undefined;
|
|
5
|
+
}
|
|
6
|
+
const allFocusables = Array.from(container.querySelectorAll(FOCUSABLE_SELECTOR));
|
|
7
|
+
const currentElement = document.activeElement;
|
|
8
|
+
if (allFocusables.length === 0) {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
if (specificSelector) {
|
|
12
|
+
const matchingItems = allFocusables.filter(el => el.matches(specificSelector));
|
|
13
|
+
const currentSpecificIndex = matchingItems.indexOf(currentElement);
|
|
14
|
+
if (currentSpecificIndex !== -1 && matchingItems.length > 1) {
|
|
15
|
+
let nextIndex = currentSpecificIndex + step;
|
|
16
|
+
if (nextIndex >= matchingItems.length) {
|
|
17
|
+
nextIndex = 0;
|
|
18
|
+
}
|
|
19
|
+
if (nextIndex < 0) {
|
|
20
|
+
nextIndex = matchingItems.length - 1;
|
|
21
|
+
}
|
|
22
|
+
return matchingItems[nextIndex];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const currentIndex = allFocusables.indexOf(currentElement);
|
|
26
|
+
if (currentIndex === -1) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
const nextIndex = currentIndex + step;
|
|
30
|
+
if (nextIndex >= allFocusables.length) {
|
|
31
|
+
return allFocusables[0];
|
|
32
|
+
}
|
|
33
|
+
if (nextIndex < 0) {
|
|
34
|
+
return allFocusables[allFocusables.length - 1];
|
|
35
|
+
}
|
|
36
|
+
return allFocusables[nextIndex];
|
|
37
|
+
};
|
|
38
|
+
export const getFirstFocusableItem = (container) => {
|
|
39
|
+
if (!container) {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
const allFocusables = Array.from(container.querySelectorAll(FOCUSABLE_SELECTOR));
|
|
43
|
+
return allFocusables[0];
|
|
44
|
+
};
|
|
@@ -243,5 +243,6 @@ export const translations = {
|
|
|
243
243
|
"Close filter": "Zavřít filtr",
|
|
244
244
|
"Column Settings": "Nastavení sloupců",
|
|
245
245
|
"Category": "Kategorie",
|
|
246
|
-
"Select visible columns": "Vyberte viditelné sloupce"
|
|
246
|
+
"Select visible columns": "Vyberte viditelné sloupce",
|
|
247
|
+
"Selected": "Vybráno"
|
|
247
248
|
};
|
|
@@ -243,5 +243,6 @@ export const translations = {
|
|
|
243
243
|
"Close filter": "Filter schließen",
|
|
244
244
|
"Column Settings": "Spalteneinstellungen",
|
|
245
245
|
"Category": "Kategorie",
|
|
246
|
-
"Select visible columns": "Sichtbare Spalten auswählen"
|
|
246
|
+
"Select visible columns": "Sichtbare Spalten auswählen",
|
|
247
|
+
"Selected": "Ausgewählt"
|
|
247
248
|
};
|
|
@@ -292,4 +292,11 @@ export declare const translations: {
|
|
|
292
292
|
"Date range filter:": string;
|
|
293
293
|
"Date filter:": string;
|
|
294
294
|
"Select visible columns": string;
|
|
295
|
+
Selected: string;
|
|
296
|
+
"No Filters Selected": string;
|
|
297
|
+
"Selected filters will appear here.": string;
|
|
298
|
+
"Currently selected": string;
|
|
299
|
+
"Top results": string;
|
|
300
|
+
"Open setting conditions popup": string;
|
|
301
|
+
"Close setting conditions popup": string;
|
|
295
302
|
};
|
|
@@ -291,5 +291,12 @@ export const translations = {
|
|
|
291
291
|
"Category": "Category",
|
|
292
292
|
"Date range filter:": "Date range filter:",
|
|
293
293
|
"Date filter:": "Date filter:",
|
|
294
|
-
"Select visible columns": "Select visible columns"
|
|
294
|
+
"Select visible columns": "Select visible columns",
|
|
295
|
+
"Selected": "Selected",
|
|
296
|
+
"No Filters Selected": "No Filters Selected",
|
|
297
|
+
"Selected filters will appear here.": "Selected filters will appear here.",
|
|
298
|
+
"Currently selected": "Currently selected",
|
|
299
|
+
"Top results": "Top results",
|
|
300
|
+
"Open setting conditions popup": "Open setting conditions popup",
|
|
301
|
+
"Close setting conditions popup": "Close setting conditions popup"
|
|
295
302
|
};
|
|
@@ -243,5 +243,6 @@ export const translations = {
|
|
|
243
243
|
"Close filter": "Cerrar filtro",
|
|
244
244
|
"Column Settings": "Configuración de columnas",
|
|
245
245
|
"Category": "Categoría",
|
|
246
|
-
"Select visible columns": "Seleccionar columnas visibles"
|
|
246
|
+
"Select visible columns": "Seleccionar columnas visibles",
|
|
247
|
+
"Selected": "Seleccionado"
|
|
247
248
|
};
|
|
@@ -242,5 +242,6 @@ export const translations = {
|
|
|
242
242
|
"Close filter": "Fermer le filtre",
|
|
243
243
|
"Column Settings": "Paramètres des colonnes",
|
|
244
244
|
"Category": "Catégorie",
|
|
245
|
-
"Select visible columns": "Sélectionner les colonnes visibles"
|
|
245
|
+
"Select visible columns": "Sélectionner les colonnes visibles",
|
|
246
|
+
"Selected": "Sélectionné"
|
|
246
247
|
};
|
|
@@ -243,5 +243,6 @@ export const translations = {
|
|
|
243
243
|
"Close filter": "Fermer le filtre",
|
|
244
244
|
"Column Settings": "Paramètres des colonnes",
|
|
245
245
|
"Category": "Catégorie",
|
|
246
|
-
"Select visible columns": "Sélectionner les colonnes visibles"
|
|
246
|
+
"Select visible columns": "Sélectionner les colonnes visibles",
|
|
247
|
+
"Selected": "Sélectionné"
|
|
247
248
|
};
|
|
@@ -244,5 +244,6 @@ export const translations = {
|
|
|
244
244
|
"Close filter": "Tutup filter",
|
|
245
245
|
"Column Settings": "Pengaturan Kolom",
|
|
246
246
|
"Category": "Kategori",
|
|
247
|
-
"Select visible columns": "Pilih kolom yang terlihat"
|
|
247
|
+
"Select visible columns": "Pilih kolom yang terlihat",
|
|
248
|
+
"Selected": "Dipilih"
|
|
248
249
|
};
|
|
@@ -243,5 +243,6 @@ export const translations = {
|
|
|
243
243
|
"Close filter": "Chiudi filtro",
|
|
244
244
|
"Column Settings": "Impostazioni colonna",
|
|
245
245
|
"Category": "Categoria",
|
|
246
|
-
"Select visible columns": "Selezionare colonne visibili"
|
|
246
|
+
"Select visible columns": "Selezionare colonne visibili",
|
|
247
|
+
"Selected": "Selezionato"
|
|
247
248
|
};
|
|
@@ -243,5 +243,6 @@ export const translations = {
|
|
|
243
243
|
"Close filter": "Tutup penyaring",
|
|
244
244
|
"Column Settings": "Tetapan Lajur",
|
|
245
245
|
"Category": "Kategori",
|
|
246
|
-
"Select visible columns": "Pilih lajur yang boleh dilihat"
|
|
246
|
+
"Select visible columns": "Pilih lajur yang boleh dilihat",
|
|
247
|
+
"Selected": "Dipilih"
|
|
247
248
|
};
|
|
@@ -243,5 +243,6 @@ export const translations = {
|
|
|
243
243
|
"Close filter": "Filter sluiten",
|
|
244
244
|
"Column Settings": "Kolominstellingen",
|
|
245
245
|
"Category": "Categorie",
|
|
246
|
-
"Select visible columns": "Zichtbare kolommen selecteren"
|
|
246
|
+
"Select visible columns": "Zichtbare kolommen selecteren",
|
|
247
|
+
"Selected": "Geselecteerd"
|
|
247
248
|
};
|
|
@@ -243,5 +243,6 @@ export const translations = {
|
|
|
243
243
|
"Close filter": "Zamknij filtr",
|
|
244
244
|
"Column Settings": "Ustawienia kolumn",
|
|
245
245
|
"Category": "Kategoria",
|
|
246
|
-
"Select visible columns": "Wybierz widoczne kolumny"
|
|
246
|
+
"Select visible columns": "Wybierz widoczne kolumny",
|
|
247
|
+
"Selected": "Wybrano"
|
|
247
248
|
};
|
|
@@ -243,5 +243,6 @@ export const translations = {
|
|
|
243
243
|
"Close filter": "Fechar filtro",
|
|
244
244
|
"Column Settings": "Configurações da coluna",
|
|
245
245
|
"Category": "Categoria",
|
|
246
|
-
"Select visible columns": "Selecionar colunas visíveis"
|
|
246
|
+
"Select visible columns": "Selecionar colunas visíveis",
|
|
247
|
+
"Selected": "Selecionado"
|
|
247
248
|
};
|
|
@@ -243,5 +243,6 @@ export const translations = {
|
|
|
243
243
|
"Close filter": "Stäng filter",
|
|
244
244
|
"Column Settings": "Kolumninställningar",
|
|
245
245
|
"Category": "Kategori",
|
|
246
|
-
"Select visible columns": "Välj synbara kolumner"
|
|
246
|
+
"Select visible columns": "Välj synbara kolumner",
|
|
247
|
+
"Selected": "Valda"
|
|
247
248
|
};
|
|
@@ -243,5 +243,6 @@ export const translations = {
|
|
|
243
243
|
"Close filter": "ปิดตัวกรอง",
|
|
244
244
|
"Column Settings": "การตั้งค่าคอลัมน์",
|
|
245
245
|
"Category": "หมวดหมู่",
|
|
246
|
-
"Select visible columns": "เลือกคอลัมน์ที่มองเห็นได้"
|
|
246
|
+
"Select visible columns": "เลือกคอลัมน์ที่มองเห็นได้",
|
|
247
|
+
"Selected": "เลือกแล้ว"
|
|
247
248
|
};
|
|
@@ -243,5 +243,6 @@ export const translations = {
|
|
|
243
243
|
"Close filter": "Filtreyi kapat",
|
|
244
244
|
"Column Settings": "Sütun Ayarları",
|
|
245
245
|
"Category": "Kategori",
|
|
246
|
-
"Select visible columns": "Görünür sütunları seç"
|
|
246
|
+
"Select visible columns": "Görünür sütunları seç",
|
|
247
|
+
"Selected": "Seçildi"
|
|
247
248
|
};
|
package/package.json
CHANGED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ReactElement } from "react";
|
|
2
|
-
import { IZenComponentProps } from "../../commonHelpers/zenComponent";
|
|
3
|
-
import { ITabElement } from "../../tabs/tabs";
|
|
4
|
-
import { TFiltersComponentsItemState, TFiltersComponentsProps } from "./filtersItem";
|
|
5
|
-
import "./filtersModal.less";
|
|
6
|
-
export interface IFiltersModal extends IZenComponentProps {
|
|
7
|
-
isOpen: boolean;
|
|
8
|
-
onClose: () => void;
|
|
9
|
-
onApply: (state: Record<string, TFiltersComponentsItemState>) => void;
|
|
10
|
-
onPin?: () => void;
|
|
11
|
-
isPinned?: boolean;
|
|
12
|
-
tabItems: ITabElement[];
|
|
13
|
-
filters: ReactElement<TFiltersComponentsProps>[];
|
|
14
|
-
externalModalState?: Record<string, TFiltersComponentsItemState>;
|
|
15
|
-
setExternalModalState?: (newState: Partial<Record<string, TFiltersComponentsItemState>>) => void;
|
|
16
|
-
}
|
|
17
|
-
export declare const FiltersModal: ({ isOpen, onClose, onApply, onPin, tabItems, filters, externalModalState, setExternalModalState, isPinned }: IFiltersModal) => import("react/jsx-runtime").JSX.Element;
|