@geotab/zenith 3.0.1-beta.4 → 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.
Files changed (262) hide show
  1. package/README.md +17 -0
  2. package/dist/advancedGroupsFilter/advancedGroupsFilter.d.ts +1 -0
  3. package/dist/advancedGroupsFilter/advancedGroupsFilter.js +2 -2
  4. package/dist/advancedGroupsFilter/advancedGroupsFilterFormSection.js +3 -1
  5. package/dist/chip/chip.js +5 -5
  6. package/dist/commonStyles/zIndex.less +5 -0
  7. package/dist/dateInput/dateInput.d.ts +2 -1
  8. package/dist/dateInput/dateInput.js +11 -2
  9. package/dist/dateRange/dateRange.js +9 -8
  10. package/dist/dropdown/dropdown.d.ts +2 -0
  11. package/dist/dropdown/dropdown.js +6 -5
  12. package/dist/dropdown/dropdownHelper.d.ts +4 -4
  13. package/dist/dropdown/dropdownHelper.js +2 -1
  14. package/dist/dropdown/dropdownList.js +2 -2
  15. package/dist/dropdown/dropdownPopup.d.ts +1 -0
  16. package/dist/dropdown/dropdownPopup.js +2 -2
  17. package/dist/dropdown/dropdownSearchableTrigger.js +1 -1
  18. package/dist/dropdown/stateReducer/stateReducer.d.ts +6 -2
  19. package/dist/dropdown/stateReducer/stateReducer.js +28 -42
  20. package/dist/dropdown/stateReducer/stateReducerHelper.d.ts +2 -0
  21. package/dist/dropdown/stateReducer/stateReducerHelper.js +12 -1
  22. package/dist/dropdown/useDropdownState.d.ts +1 -1
  23. package/dist/dropdown/useDropdownState.js +5 -2
  24. package/dist/filters/components/filtersContainer.d.ts +1 -0
  25. package/dist/filters/components/filtersContainer.js +10 -11
  26. package/dist/filters/components/filtersDateInput.d.ts +10 -0
  27. package/dist/filters/components/filtersDateInput.js +27 -0
  28. package/dist/filters/components/filtersDropdown.d.ts +5 -4
  29. package/dist/filters/components/filtersDropdown.js +3 -3
  30. package/dist/filters/components/filtersEmptySelectedList.d.ts +2 -0
  31. package/dist/filters/components/filtersEmptySelectedList.js +11 -0
  32. package/dist/filters/components/filtersItem.d.ts +5 -4
  33. package/dist/filters/components/filtersItem.js +2 -1
  34. package/dist/filters/components/filtersSaveModal.d.ts +3 -1
  35. package/dist/filters/components/filtersSaveModal.js +2 -2
  36. package/dist/filters/components/filtersSavedChipComponent.js +68 -6
  37. package/dist/filters/components/filtersSearch.d.ts +4 -4
  38. package/dist/filters/components/filtersSearch.js +20 -9
  39. package/dist/filters/components/filtersSearchItemData.js +18 -1
  40. package/dist/filters/components/filtersSearchList.d.ts +5 -1
  41. package/dist/filters/components/filtersSearchList.js +155 -27
  42. package/dist/filters/components/filtersSelect.d.ts +1 -0
  43. package/dist/filters/components/filtersSelect.js +35 -7
  44. package/dist/filters/components/filtersSelectListItem.d.ts +21 -15
  45. package/dist/filters/components/filtersSelectListItem.js +13 -3
  46. package/dist/filters/components/filtersSidePanel.d.ts +15 -0
  47. package/dist/filters/components/filtersSidePanel.js +212 -0
  48. package/dist/filters/components/filtersSidePanelChip.d.ts +9 -0
  49. package/dist/filters/components/filtersSidePanelChip.js +13 -0
  50. package/dist/filters/components/filtersSidePanelDropdown.d.ts +6 -0
  51. package/dist/filters/components/filtersSidePanelDropdown.js +85 -0
  52. package/dist/filters/components/filtersSidePanelItem.d.ts +16 -0
  53. package/dist/filters/components/filtersSidePanelItem.js +67 -0
  54. package/dist/filters/components/filtersSidePanelRange.d.ts +6 -0
  55. package/dist/filters/components/filtersSidePanelRange.js +28 -0
  56. package/dist/filters/filters.d.ts +5 -0
  57. package/dist/filters/filters.js +101 -38
  58. package/dist/filters/filtersHelper.d.ts +4 -2
  59. package/dist/filters/filtersHelper.js +40 -1
  60. package/dist/filters/filtersHooks.d.ts +12 -2
  61. package/dist/filters/filtersHooks.js +21 -3
  62. package/dist/formStepper/formStepper.d.ts +1 -1
  63. package/dist/formStepper/formStepper.js +5 -2
  64. package/dist/groupsFilter/groupsFilter.js +72 -37
  65. package/dist/groupsFilter/groupsFilterMenu.d.ts +1 -0
  66. package/dist/groupsFilter/groupsFilterMenu.js +2 -2
  67. package/dist/groupsFilter/groupsFilterTrigger.js +1 -1
  68. package/dist/images/imageLooking.d.ts +4 -0
  69. package/dist/images/imageLooking.js +16 -0
  70. package/dist/index.css +407 -83
  71. package/dist/index.d.ts +7 -4
  72. package/dist/index.js +26 -15
  73. package/dist/list/list.d.ts +3 -1
  74. package/dist/list/list.js +2 -2
  75. package/dist/mobileSheet/mobileSheet.d.ts +2 -0
  76. package/dist/mobileSheet/mobileSheet.js +4 -4
  77. package/dist/modal/modal.d.ts +1 -0
  78. package/dist/modal/modal.js +2 -2
  79. package/dist/radioGroup/radioGroup.d.ts +1 -0
  80. package/dist/radioGroup/radioGroup.js +3 -2
  81. package/dist/range/range.js +29 -10
  82. package/dist/searchInputRaw/searchInputRaw.js +1 -1
  83. package/dist/sidePanel/sidePanel.d.ts +1 -0
  84. package/dist/sidePanel/sidePanel.js +3 -3
  85. package/dist/tabs/tabItem/tabItem.d.ts +1 -0
  86. package/dist/tabs/tabItem/tabItem.js +2 -2
  87. package/dist/tabs/tabs.d.ts +1 -0
  88. package/dist/tabs/tabs.js +1 -1
  89. package/dist/utils/keyboardHelpers.d.ts +2 -0
  90. package/dist/utils/keyboardHelpers.js +49 -0
  91. package/dist/utils/localization/translations/cs-json.d.ts +1 -0
  92. package/dist/utils/localization/translations/cs-json.js +2 -1
  93. package/dist/utils/localization/translations/de-json.d.ts +1 -0
  94. package/dist/utils/localization/translations/de-json.js +2 -1
  95. package/dist/utils/localization/translations/en-json.d.ts +7 -0
  96. package/dist/utils/localization/translations/en-json.js +8 -1
  97. package/dist/utils/localization/translations/es-json.d.ts +1 -0
  98. package/dist/utils/localization/translations/es-json.js +2 -1
  99. package/dist/utils/localization/translations/fr-FR-json.d.ts +1 -0
  100. package/dist/utils/localization/translations/fr-FR-json.js +2 -1
  101. package/dist/utils/localization/translations/fr-json.d.ts +1 -0
  102. package/dist/utils/localization/translations/fr-json.js +2 -1
  103. package/dist/utils/localization/translations/id-json.d.ts +1 -0
  104. package/dist/utils/localization/translations/id-json.js +2 -1
  105. package/dist/utils/localization/translations/it-json.d.ts +1 -0
  106. package/dist/utils/localization/translations/it-json.js +2 -1
  107. package/dist/utils/localization/translations/ja-json.d.ts +1 -0
  108. package/dist/utils/localization/translations/ja-json.js +2 -1
  109. package/dist/utils/localization/translations/ko-KR-json.d.ts +1 -0
  110. package/dist/utils/localization/translations/ko-KR-json.js +2 -1
  111. package/dist/utils/localization/translations/ms-json.d.ts +1 -0
  112. package/dist/utils/localization/translations/ms-json.js +2 -1
  113. package/dist/utils/localization/translations/nl-json.d.ts +1 -0
  114. package/dist/utils/localization/translations/nl-json.js +2 -1
  115. package/dist/utils/localization/translations/pl-json.d.ts +1 -0
  116. package/dist/utils/localization/translations/pl-json.js +2 -1
  117. package/dist/utils/localization/translations/pt-BR-json.d.ts +1 -0
  118. package/dist/utils/localization/translations/pt-BR-json.js +2 -1
  119. package/dist/utils/localization/translations/sv-json.d.ts +1 -0
  120. package/dist/utils/localization/translations/sv-json.js +2 -1
  121. package/dist/utils/localization/translations/th-json.d.ts +1 -0
  122. package/dist/utils/localization/translations/th-json.js +2 -1
  123. package/dist/utils/localization/translations/tr-json.d.ts +1 -0
  124. package/dist/utils/localization/translations/tr-json.js +2 -1
  125. package/dist/utils/localization/translations/zh-Hans-json.d.ts +1 -0
  126. package/dist/utils/localization/translations/zh-Hans-json.js +2 -1
  127. package/dist/utils/localization/translations/zh-TW-json.d.ts +1 -0
  128. package/dist/utils/localization/translations/zh-TW-json.js +2 -1
  129. package/esm/advancedGroupsFilter/advancedGroupsFilter.d.ts +1 -0
  130. package/esm/advancedGroupsFilter/advancedGroupsFilter.js +2 -2
  131. package/esm/advancedGroupsFilter/advancedGroupsFilterFormSection.js +3 -1
  132. package/esm/chip/chip.js +5 -5
  133. package/esm/dateInput/dateInput.d.ts +2 -1
  134. package/esm/dateInput/dateInput.js +11 -2
  135. package/esm/dateRange/dateRange.js +9 -8
  136. package/esm/dropdown/dropdown.d.ts +2 -0
  137. package/esm/dropdown/dropdown.js +5 -4
  138. package/esm/dropdown/dropdownHelper.d.ts +4 -4
  139. package/esm/dropdown/dropdownHelper.js +2 -1
  140. package/esm/dropdown/dropdownList.js +2 -2
  141. package/esm/dropdown/dropdownPopup.d.ts +1 -0
  142. package/esm/dropdown/dropdownPopup.js +2 -2
  143. package/esm/dropdown/dropdownSearchableTrigger.js +1 -1
  144. package/esm/dropdown/stateReducer/stateReducer.d.ts +6 -2
  145. package/esm/dropdown/stateReducer/stateReducer.js +29 -43
  146. package/esm/dropdown/stateReducer/stateReducerHelper.d.ts +2 -0
  147. package/esm/dropdown/stateReducer/stateReducerHelper.js +10 -0
  148. package/esm/dropdown/useDropdownState.d.ts +1 -1
  149. package/esm/dropdown/useDropdownState.js +5 -2
  150. package/esm/filters/components/filtersContainer.d.ts +1 -0
  151. package/esm/filters/components/filtersContainer.js +12 -13
  152. package/esm/filters/components/filtersDateInput.d.ts +10 -0
  153. package/esm/filters/components/filtersDateInput.js +23 -0
  154. package/esm/filters/components/filtersDropdown.d.ts +5 -4
  155. package/esm/filters/components/filtersDropdown.js +3 -3
  156. package/esm/filters/components/filtersEmptySelectedList.d.ts +2 -0
  157. package/esm/filters/components/filtersEmptySelectedList.js +7 -0
  158. package/esm/filters/components/filtersItem.d.ts +5 -4
  159. package/esm/filters/components/filtersItem.js +2 -1
  160. package/esm/filters/components/filtersSaveModal.d.ts +3 -1
  161. package/esm/filters/components/filtersSaveModal.js +2 -2
  162. package/esm/filters/components/filtersSavedChipComponent.js +68 -6
  163. package/esm/filters/components/filtersSearch.d.ts +4 -4
  164. package/esm/filters/components/filtersSearch.js +20 -9
  165. package/esm/filters/components/filtersSearchItemData.js +18 -1
  166. package/esm/filters/components/filtersSearchList.d.ts +5 -1
  167. package/esm/filters/components/filtersSearchList.js +156 -28
  168. package/esm/filters/components/filtersSelect.d.ts +1 -0
  169. package/esm/filters/components/filtersSelect.js +36 -8
  170. package/esm/filters/components/filtersSelectListItem.d.ts +21 -15
  171. package/esm/filters/components/filtersSelectListItem.js +13 -3
  172. package/esm/filters/components/filtersSidePanel.d.ts +15 -0
  173. package/esm/filters/components/filtersSidePanel.js +208 -0
  174. package/esm/filters/components/filtersSidePanelChip.d.ts +9 -0
  175. package/esm/filters/components/filtersSidePanelChip.js +9 -0
  176. package/esm/filters/components/filtersSidePanelDropdown.d.ts +6 -0
  177. package/esm/filters/components/filtersSidePanelDropdown.js +81 -0
  178. package/esm/filters/components/filtersSidePanelItem.d.ts +16 -0
  179. package/esm/filters/components/filtersSidePanelItem.js +63 -0
  180. package/esm/filters/components/filtersSidePanelRange.d.ts +6 -0
  181. package/esm/filters/components/filtersSidePanelRange.js +24 -0
  182. package/esm/filters/filters.d.ts +5 -0
  183. package/esm/filters/filters.js +101 -38
  184. package/esm/filters/filtersHelper.d.ts +4 -2
  185. package/esm/filters/filtersHelper.js +37 -0
  186. package/esm/filters/filtersHooks.d.ts +12 -2
  187. package/esm/filters/filtersHooks.js +19 -2
  188. package/esm/formStepper/formStepper.d.ts +1 -1
  189. package/esm/formStepper/formStepper.js +5 -2
  190. package/esm/groupsFilter/groupsFilter.js +72 -37
  191. package/esm/groupsFilter/groupsFilterMenu.d.ts +1 -0
  192. package/esm/groupsFilter/groupsFilterMenu.js +2 -2
  193. package/esm/groupsFilter/groupsFilterTrigger.js +1 -1
  194. package/esm/images/imageLooking.d.ts +4 -0
  195. package/esm/images/imageLooking.js +12 -0
  196. package/esm/index.d.ts +7 -4
  197. package/esm/index.js +6 -3
  198. package/esm/list/list.d.ts +3 -1
  199. package/esm/list/list.js +2 -2
  200. package/esm/mobileSheet/mobileSheet.d.ts +2 -0
  201. package/esm/mobileSheet/mobileSheet.js +4 -4
  202. package/esm/modal/modal.d.ts +1 -0
  203. package/esm/modal/modal.js +2 -2
  204. package/esm/radioGroup/radioGroup.d.ts +1 -0
  205. package/esm/radioGroup/radioGroup.js +3 -2
  206. package/esm/range/range.js +29 -10
  207. package/esm/searchInputRaw/searchInputRaw.js +1 -1
  208. package/esm/sidePanel/sidePanel.d.ts +1 -0
  209. package/esm/sidePanel/sidePanel.js +3 -3
  210. package/esm/tabs/tabItem/tabItem.d.ts +1 -0
  211. package/esm/tabs/tabItem/tabItem.js +2 -2
  212. package/esm/tabs/tabs.d.ts +1 -0
  213. package/esm/tabs/tabs.js +1 -1
  214. package/esm/utils/keyboardHelpers.d.ts +2 -0
  215. package/esm/utils/keyboardHelpers.js +44 -0
  216. package/esm/utils/localization/translations/cs-json.d.ts +1 -0
  217. package/esm/utils/localization/translations/cs-json.js +2 -1
  218. package/esm/utils/localization/translations/de-json.d.ts +1 -0
  219. package/esm/utils/localization/translations/de-json.js +2 -1
  220. package/esm/utils/localization/translations/en-json.d.ts +7 -0
  221. package/esm/utils/localization/translations/en-json.js +8 -1
  222. package/esm/utils/localization/translations/es-json.d.ts +1 -0
  223. package/esm/utils/localization/translations/es-json.js +2 -1
  224. package/esm/utils/localization/translations/fr-FR-json.d.ts +1 -0
  225. package/esm/utils/localization/translations/fr-FR-json.js +2 -1
  226. package/esm/utils/localization/translations/fr-json.d.ts +1 -0
  227. package/esm/utils/localization/translations/fr-json.js +2 -1
  228. package/esm/utils/localization/translations/id-json.d.ts +1 -0
  229. package/esm/utils/localization/translations/id-json.js +2 -1
  230. package/esm/utils/localization/translations/it-json.d.ts +1 -0
  231. package/esm/utils/localization/translations/it-json.js +2 -1
  232. package/esm/utils/localization/translations/ja-json.d.ts +1 -0
  233. package/esm/utils/localization/translations/ja-json.js +2 -1
  234. package/esm/utils/localization/translations/ko-KR-json.d.ts +1 -0
  235. package/esm/utils/localization/translations/ko-KR-json.js +2 -1
  236. package/esm/utils/localization/translations/ms-json.d.ts +1 -0
  237. package/esm/utils/localization/translations/ms-json.js +2 -1
  238. package/esm/utils/localization/translations/nl-json.d.ts +1 -0
  239. package/esm/utils/localization/translations/nl-json.js +2 -1
  240. package/esm/utils/localization/translations/pl-json.d.ts +1 -0
  241. package/esm/utils/localization/translations/pl-json.js +2 -1
  242. package/esm/utils/localization/translations/pt-BR-json.d.ts +1 -0
  243. package/esm/utils/localization/translations/pt-BR-json.js +2 -1
  244. package/esm/utils/localization/translations/sv-json.d.ts +1 -0
  245. package/esm/utils/localization/translations/sv-json.js +2 -1
  246. package/esm/utils/localization/translations/th-json.d.ts +1 -0
  247. package/esm/utils/localization/translations/th-json.js +2 -1
  248. package/esm/utils/localization/translations/tr-json.d.ts +1 -0
  249. package/esm/utils/localization/translations/tr-json.js +2 -1
  250. package/esm/utils/localization/translations/zh-Hans-json.d.ts +1 -0
  251. package/esm/utils/localization/translations/zh-Hans-json.js +2 -1
  252. package/esm/utils/localization/translations/zh-TW-json.d.ts +1 -0
  253. package/esm/utils/localization/translations/zh-TW-json.js +2 -1
  254. package/package.json +6 -6
  255. package/dist/filters/components/filtersModal.d.ts +0 -17
  256. package/dist/filters/components/filtersModal.js +0 -107
  257. package/dist/filters/components/filtersModalItem.d.ts +0 -9
  258. package/dist/filters/components/filtersModalItem.js +0 -74
  259. package/esm/filters/components/filtersModal.d.ts +0 -17
  260. package/esm/filters/components/filtersModal.js +0 -103
  261. package/esm/filters/components/filtersModalItem.d.ts +0 -9
  262. package/esm/filters/components/filtersModalItem.js +0 -70
@@ -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
- const handleApplyClick = () => {
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 }), _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 }), _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) || ""] })
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]);
@@ -5,6 +5,7 @@ export interface ITabItem extends IZenComponentProps {
5
5
  tabId: string;
6
6
  tabName: string;
7
7
  icon?: React.ReactElement;
8
+ quantity?: number;
8
9
  active: boolean;
9
10
  ariaControl?: string;
10
11
  handleButtonClick: (e: React.MouseEvent<HTMLElement>) => void;
@@ -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
  };
@@ -6,6 +6,7 @@ export interface ITabElement {
6
6
  name: string;
7
7
  icon?: React.ReactElement | React.FC<IIcon>;
8
8
  id: string;
9
+ quantity?: number;
9
10
  }
10
11
  export interface ITabs extends IZenComponentProps {
11
12
  tabs: ITabElement[];
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,2 @@
1
+ export declare const getNewFocusableItem: (step: number, container: HTMLElement | null, specificSelector?: string) => HTMLElement | undefined;
2
+ export declare const getFirstFocusableItem: (container: HTMLElement | null) => HTMLElement | undefined;
@@ -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
+ };
@@ -244,4 +244,5 @@ export declare const translations: {
244
244
  "Column Settings": string;
245
245
  Category: string;
246
246
  "Select visible columns": string;
247
+ Selected: string;
247
248
  };
@@ -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
  };
@@ -244,4 +244,5 @@ export declare const translations: {
244
244
  "Column Settings": string;
245
245
  Category: string;
246
246
  "Select visible columns": string;
247
+ Selected: string;
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
  };
@@ -244,4 +244,5 @@ export declare const translations: {
244
244
  "Column Settings": string;
245
245
  Category: string;
246
246
  "Select visible columns": string;
247
+ Selected: string;
247
248
  };
@@ -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
  };
@@ -243,4 +243,5 @@ export declare const translations: {
243
243
  "Column Settings": string;
244
244
  Category: string;
245
245
  "Select visible columns": string;
246
+ Selected: string;
246
247
  };
@@ -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
  };
@@ -244,4 +244,5 @@ export declare const translations: {
244
244
  "Column Settings": string;
245
245
  Category: string;
246
246
  "Select visible columns": string;
247
+ Selected: string;
247
248
  };
@@ -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
  };
@@ -245,4 +245,5 @@ export declare const translations: {
245
245
  "Column Settings": string;
246
246
  Category: string;
247
247
  "Select visible columns": string;
248
+ Selected: string;
248
249
  };
@@ -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
  };
@@ -244,4 +244,5 @@ export declare const translations: {
244
244
  "Column Settings": string;
245
245
  Category: string;
246
246
  "Select visible columns": string;
247
+ Selected: string;
247
248
  };
@@ -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
  };
@@ -244,4 +244,5 @@ export declare const translations: {
244
244
  "Column Settings": string;
245
245
  Category: string;
246
246
  "Select visible columns": string;
247
+ Selected: string;
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
  };
@@ -251,4 +251,5 @@ export declare const translations: {
251
251
  "Column Settings": string;
252
252
  Category: string;
253
253
  "Select visible columns": string;
254
+ Selected: string;
254
255
  };
@@ -250,5 +250,6 @@ export const translations = {
250
250
  "Close filter": "필터 닫기",
251
251
  "Column Settings": "열 설정",
252
252
  "Category": "범주",
253
- "Select visible columns": "표시되는 열 선택"
253
+ "Select visible columns": "표시되는 열 선택",
254
+ "Selected": "선택됨"
254
255
  };
@@ -244,4 +244,5 @@ export declare const translations: {
244
244
  "Column Settings": string;
245
245
  Category: string;
246
246
  "Select visible columns": string;
247
+ Selected: string;
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
  };
@@ -244,4 +244,5 @@ export declare const translations: {
244
244
  "Column Settings": string;
245
245
  Category: string;
246
246
  "Select visible columns": string;
247
+ Selected: string;
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
  };
@@ -244,4 +244,5 @@ export declare const translations: {
244
244
  "Column Settings": string;
245
245
  Category: string;
246
246
  "Select visible columns": string;
247
+ Selected: string;
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
  };
@@ -244,4 +244,5 @@ export declare const translations: {
244
244
  "Column Settings": string;
245
245
  Category: string;
246
246
  "Select visible columns": string;
247
+ Selected: string;
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
  };
@@ -244,4 +244,5 @@ export declare const translations: {
244
244
  "Column Settings": string;
245
245
  Category: string;
246
246
  "Select visible columns": string;
247
+ Selected: string;
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
  };
@@ -244,4 +244,5 @@ export declare const translations: {
244
244
  "Column Settings": string;
245
245
  Category: string;
246
246
  "Select visible columns": string;
247
+ Selected: string;
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
  };
@@ -244,4 +244,5 @@ export declare const translations: {
244
244
  "Column Settings": string;
245
245
  Category: string;
246
246
  "Select visible columns": string;
247
+ Selected: string;
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
  };
@@ -244,4 +244,5 @@ export declare const translations: {
244
244
  "Column Settings": string;
245
245
  Category: string;
246
246
  "Select visible columns": string;
247
+ Selected: string;
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
  };
@@ -264,4 +264,5 @@ export declare const translations: {
264
264
  "Column Settings": string;
265
265
  Category: string;
266
266
  "Select visible columns": string;
267
+ Selected: string;
267
268
  };
@@ -263,5 +263,6 @@ export const translations = {
263
263
  "Close filter": "關閉篩選器",
264
264
  "Column Settings": "欄設定",
265
265
  "Category": "種類",
266
- "Select visible columns": "選取可見欄"
266
+ "Select visible columns": "選取可見欄",
267
+ "Selected": "已選取"
267
268
  };