@geotab/zenith 3.1.1-beta.5 → 3.2.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 (442) hide show
  1. package/README.md +20 -0
  2. package/dist/advancedGroupsFilter/advancedGroupsFilter.js +136 -30
  3. package/dist/advancedGroupsFilter/advancedGroupsFilterForm.js +139 -34
  4. package/dist/advancedGroupsFilter/advancedGroupsFilterFormSection.js +352 -87
  5. package/dist/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.d.ts +0 -1
  6. package/dist/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +83 -9
  7. package/dist/alertRaw/alertRaw.js +175 -54
  8. package/dist/banner/bannerMultipLine.js +131 -23
  9. package/dist/banner/bannerSingleLine.js +110 -16
  10. package/dist/betaPill/betaPill.js +111 -20
  11. package/dist/bookmark/bookmark.js +95 -28
  12. package/dist/bulkEditControl/bulkEditControl.js +167 -34
  13. package/dist/calendar/calendar.js +943 -273
  14. package/dist/calendar/calendarUtils.js +157 -85
  15. package/dist/card/card.js +268 -123
  16. package/dist/chart/accessibleChart/accessibleChartNarrative.js +648 -555
  17. package/dist/chart/accessibleChart/accessibleChartTable.js +245 -86
  18. package/dist/chart/chart.js +36 -21
  19. package/dist/chart/chartAxis/chartAxis.js +85 -7
  20. package/dist/checkboxListWithAction/checkboxListWithAction.js +224 -69
  21. package/dist/chip/chip.js +195 -91
  22. package/dist/columnsSelector/columnsSelector.js +97 -12
  23. package/dist/columnsSelector/columnsTab/columnsTab.js +59 -15
  24. package/dist/columnsSelector/columnsTabGroup/columnsTabGroup.js +81 -34
  25. package/dist/comboboxSelected/comboboxSelected.js +1 -3
  26. package/dist/dataFeed/feedExpandControl/feedExpandControl.js +25 -10
  27. package/dist/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +92 -11
  28. package/dist/dataGrid/dataGrid.js +227 -117
  29. package/dist/dataGrid/emptySearchList/emptySearchList.js +56 -9
  30. package/dist/dataGrid/entitiesListActions/actions/columnsListButton.js +51 -7
  31. package/dist/dataGrid/entitiesListActions/actions/fullscreenButton.js +64 -18
  32. package/dist/dataGrid/withFlexibleColumns/components/columnSettings.js +84 -10
  33. package/dist/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +48 -16
  34. package/dist/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +223 -32
  35. package/dist/dataGrid/withSelectableRows/withSelectableRows.js +286 -213
  36. package/dist/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +178 -95
  37. package/dist/dateInputInner/dateInputInner.js +791 -476
  38. package/dist/dateInputInner/dateInputInnerControlBlock.js +125 -22
  39. package/dist/dateInputRaw/dateInputRaw.js +315 -104
  40. package/dist/dateInputRaw/utils/getLabel.js +38 -7
  41. package/dist/dateRangeInner/dateRangeInner.js +172 -58
  42. package/dist/dateRangeRaw/dateRangeRaw.js +601 -239
  43. package/dist/dateRangeRaw/utils/dateRangeUtils.js +629 -241
  44. package/dist/dateSelectionWrapper/dateSelectionWrapper.js +152 -14
  45. package/dist/dialog/dialogContent.js +123 -40
  46. package/dist/dropdownRaw/dropdownHelper.d.ts +2 -2
  47. package/dist/dropdownRaw/dropdownHelper.js +9 -9
  48. package/dist/dropdownRaw/dropdownList.js +447 -78
  49. package/dist/dropdownRaw/dropdownPopup.js +218 -20
  50. package/dist/dropdownRaw/dropdownRaw.js +866 -506
  51. package/dist/dropdownRaw/dropdownSearchableTrigger.js +223 -46
  52. package/dist/dropdownRaw/stateReducer/stateAction.d.ts +5 -1
  53. package/dist/dropdownRaw/stateReducer/stateActionType.d.ts +2 -1
  54. package/dist/dropdownRaw/stateReducer/stateActionType.js +1 -0
  55. package/dist/dropdownRaw/stateReducer/stateReducer.d.ts +6 -1
  56. package/dist/dropdownRaw/stateReducer/stateReducer.js +24 -12
  57. package/dist/dropdownRaw/stateReducer/stateReducerHelper.d.ts +2 -0
  58. package/dist/dropdownRaw/stateReducer/stateReducerHelper.js +20 -1
  59. package/dist/dropdownRaw/stateReducer/stateReducerTestData.d.ts +39 -0
  60. package/dist/dropdownRaw/stateReducer/stateReducerTestData.js +74 -0
  61. package/dist/dropdownRaw/types.d.ts +1 -0
  62. package/dist/favoriteButton/favoriteButton.js +59 -10
  63. package/dist/filters/components/filtersContainer.js +151 -64
  64. package/dist/filters/components/filtersEmptySelectedList.js +30 -4
  65. package/dist/filters/components/filtersSaveModal.js +140 -42
  66. package/dist/filters/components/filtersSavedChipComponent.js +318 -108
  67. package/dist/filters/components/filtersSearchItemData.js +127 -47
  68. package/dist/filters/components/filtersSearchList.js +381 -179
  69. package/dist/filters/components/filtersSelect.js +128 -61
  70. package/dist/filters/components/filtersSelectListItem.js +125 -13
  71. package/dist/filters/components/filtersSidePanel.js +510 -178
  72. package/dist/filters/filters.js +445 -268
  73. package/dist/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +729 -272
  74. package/dist/filtersBar/components/resetComponentButton.js +45 -5
  75. package/dist/filtersBar/filtersBarActions/filtersBarActions.js +126 -15
  76. package/dist/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +155 -49
  77. package/dist/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +360 -104
  78. package/dist/filtersBar/filtersContainer/filtersContainer.js +204 -134
  79. package/dist/formField/components/formFieldWithLabel.d.ts +2 -1
  80. package/dist/formField/components/formFieldWithLabel.js +3 -2
  81. package/dist/formField/components/formFieldWithoutLabel.d.ts +2 -1
  82. package/dist/formField/components/formFieldWithoutLabel.js +3 -3
  83. package/dist/formField/components/trailingComponent.d.ts +8 -0
  84. package/dist/formField/components/trailingComponent.js +11 -0
  85. package/dist/formField/formField.d.ts +0 -1
  86. package/dist/formField/formField.js +15 -16
  87. package/dist/formField/hooks/useError.js +100 -36
  88. package/dist/formGroup/components/reviewListToggle/reviewListToggle.js +72 -7
  89. package/dist/formGroup/hooks/useToggle.js +37 -11
  90. package/dist/formGroup/utils/getControls.js +8 -7
  91. package/dist/formLayout/hooks/useError.js +55 -15
  92. package/dist/formLayout/hooks/useFormButtons.js +128 -27
  93. package/dist/formSection/components/formSectionModal.js +1 -1
  94. package/dist/formSection/formSection.js +1 -1
  95. package/dist/formSection/hooks/useError.js +70 -22
  96. package/dist/formStepper/components/formStep.js +65 -10
  97. package/dist/formStepper/formStepper.js +129 -33
  98. package/dist/formStepperButtons/formStepperButtons.js +184 -38
  99. package/dist/groupsFilter/groupsFilterTestData.d.ts +37 -0
  100. package/dist/groupsFilter/groupsFilterTestData.js +7 -0
  101. package/dist/groupsFilter/groupsHelper.d.ts +24 -1
  102. package/dist/groupsFilter/groupsHelper.js +25 -15
  103. package/dist/groupsFilterRaw/groupsFilterAdjustmentState.js +162 -17
  104. package/dist/groupsFilterRaw/groupsFilterBox.js +137 -32
  105. package/dist/groupsFilterRaw/groupsFilterCommon.js +75 -8
  106. package/dist/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +184 -25
  107. package/dist/groupsFilterRaw/groupsFilterHelper.d.ts +2 -1
  108. package/dist/groupsFilterRaw/groupsFilterHelper.js +284 -168
  109. package/dist/groupsFilterRaw/groupsFilterInitialState.js +266 -18
  110. package/dist/groupsFilterRaw/groupsFilterMenu.js +124 -9
  111. package/dist/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  112. package/dist/groupsFilterRaw/groupsFilterRaw.js +816 -308
  113. package/dist/groupsFilterRaw/groupsFilterTestData.d.ts +155 -2
  114. package/dist/groupsFilterRaw/groupsFilterTestData.js +153 -58
  115. package/dist/groupsFilterRaw/groupsFilterTrigger.js +139 -35
  116. package/dist/groupsFilterRaw/groupsHelper.js +739 -208
  117. package/dist/groupsFilterRaw/stateReducer/stateReducerHelper.js +3 -1
  118. package/dist/groupsFilterRaw/types.d.ts +1 -0
  119. package/dist/header/components/collapsedItemsControl/collapsedItemsControl.js +107 -52
  120. package/dist/header/components/mobileFilterControl/mobileFilterControl.js +62 -9
  121. package/dist/header/components/mobileSearchControl/mobileSearchControl.js +119 -14
  122. package/dist/header/headerBack.js +64 -20
  123. package/dist/index.css +110 -71
  124. package/dist/index.d.ts +2 -1
  125. package/dist/index.js +5 -2
  126. package/dist/list/itemData/itemDataInternal.js +216 -51
  127. package/dist/list/listItem/listItem.js +168 -55
  128. package/dist/menu/components/menuErrorItem.js +33 -5
  129. package/dist/mobileSheet/mobileSheet.js +195 -69
  130. package/dist/modal/modal.js +300 -142
  131. package/dist/nav/nav.js +1 -1
  132. package/dist/nav/navFooter/navFooter.js +82 -39
  133. package/dist/nav/navFooter/navFooterAction/navFooterAction.js +52 -13
  134. package/dist/nav/navHeader/navHeader.js +86 -36
  135. package/dist/nav/navHeader/navHeaderSearch/navHeaderSearch.js +88 -29
  136. package/dist/nav/navItem/navItem.d.ts +3 -3
  137. package/dist/nav/navItem/navItem.js +35 -33
  138. package/dist/nav/navMobileBar/navMobileBar.js +67 -21
  139. package/dist/notification/notification.js +124 -21
  140. package/dist/pagination/paginationArrow.js +81 -11
  141. package/dist/pagination/paginationText/paginationText.js +45 -11
  142. package/dist/pill/components/pillNonActionable/pillNonActionable.js +93 -24
  143. package/dist/pillBox/components/pillBoxItem.js +52 -9
  144. package/dist/pillBox/pillBox.js +121 -20
  145. package/dist/pillExpandable/pillExpandable.js +333 -139
  146. package/dist/rangeRaw/rangeRaw.js +486 -141
  147. package/dist/rangeRaw/utils/rangeHelper.js +209 -39
  148. package/dist/searchInputRaw/searchInputRaw.js +180 -65
  149. package/dist/skeleton/skeleton.js +51 -6
  150. package/dist/sortControl/sortControl.js +152 -42
  151. package/dist/stepperRaw/stepperRaw.js +116 -42
  152. package/dist/summary/summary.js +94 -8
  153. package/dist/table/actions/actionsMenu.js +171 -78
  154. package/dist/table/flexible/columnSettings.js +80 -10
  155. package/dist/table/flexible/columnsList.js +110 -43
  156. package/dist/table/flexible/columnsPopup.js +77 -20
  157. package/dist/table/nested/useNestedRows.js +167 -77
  158. package/dist/table/selectable/selectableHeader.js +180 -41
  159. package/dist/table/selectable/useSelectableRows.js +270 -191
  160. package/dist/table/sortable/sortableHeader.js +153 -75
  161. package/dist/tabs/tabs.js +227 -118
  162. package/dist/timePickerRaw/timePickerRaw.js +278 -58
  163. package/dist/toastRaw/toastRaw.js +138 -32
  164. package/dist/toggleButton/toggleButton.d.ts +0 -1
  165. package/dist/toggleButtonRaw/toggleButtonRaw.d.ts +1 -0
  166. package/dist/toggleButtonRaw/toggleButtonRaw.js +146 -40
  167. package/dist/utils/formatDate.js +1001 -117
  168. package/{esm/utils/localization/translations/cs-json.js → dist/utils/localization/translations/cs.json} +11 -12
  169. package/{esm/utils/localization/translations/da-DK-json.js → dist/utils/localization/translations/da-DK.json} +31 -23
  170. package/{esm/utils/localization/translations/de-json.js → dist/utils/localization/translations/de.json} +12 -13
  171. package/dist/utils/localization/translations/en.json +308 -0
  172. package/{esm/utils/localization/translations/es-json.js → dist/utils/localization/translations/es.json} +11 -12
  173. package/{esm/utils/localization/translations/fi-FI-json.js → dist/utils/localization/translations/fi-FI.json} +31 -23
  174. package/{esm/utils/localization/translations/fr-FR-json.js → dist/utils/localization/translations/fr-FR.json} +12 -12
  175. package/{esm/utils/localization/translations/fr-json.js → dist/utils/localization/translations/fr.json} +11 -12
  176. package/{esm/utils/localization/translations/hu-HU-json.js → dist/utils/localization/translations/hu-HU.json} +31 -23
  177. package/{esm/utils/localization/translations/id-json.js → dist/utils/localization/translations/id.json} +11 -13
  178. package/{esm/utils/localization/translations/it-json.js → dist/utils/localization/translations/it.json} +11 -12
  179. package/{esm/utils/localization/translations/ja-json.js → dist/utils/localization/translations/ja.json} +11 -12
  180. package/{esm/utils/localization/translations/ko-KR-json.js → dist/utils/localization/translations/ko-KR.json} +24 -23
  181. package/{esm/utils/localization/translations/ms-json.js → dist/utils/localization/translations/ms.json} +11 -12
  182. package/{esm/utils/localization/translations/nb-NO-json.js → dist/utils/localization/translations/nb-NO.json} +31 -23
  183. package/{esm/utils/localization/translations/nl-json.js → dist/utils/localization/translations/nl.json} +11 -12
  184. package/{esm/utils/localization/translations/pl-json.js → dist/utils/localization/translations/pl.json} +11 -12
  185. package/{esm/utils/localization/translations/pt-BR-json.js → dist/utils/localization/translations/pt-BR.json} +11 -12
  186. package/{esm/utils/localization/translations/sk-SK-json.js → dist/utils/localization/translations/sk-SK.json} +31 -23
  187. package/{esm/utils/localization/translations/sv-json.js → dist/utils/localization/translations/sv.json} +11 -12
  188. package/{esm/utils/localization/translations/th-json.js → dist/utils/localization/translations/th.json} +11 -12
  189. package/{esm/utils/localization/translations/tr-json.js → dist/utils/localization/translations/tr.json} +11 -12
  190. package/{esm/utils/localization/translations/zh-Hans-json.js → dist/utils/localization/translations/zh-Hans.json} +11 -12
  191. package/{esm/utils/localization/translations/zh-TW-json.js → dist/utils/localization/translations/zh-TW.json} +11 -23
  192. package/dist/utils/localization/translationsDictionary.d.ts +2 -0
  193. package/dist/utils/localization/translationsDictionary.js +63 -0
  194. package/dist/utils/localization/useLanguage.js +2 -74
  195. package/esm/advancedGroupsFilter/advancedGroupsFilter.js +130 -29
  196. package/esm/advancedGroupsFilter/advancedGroupsFilterForm.js +133 -33
  197. package/esm/advancedGroupsFilter/advancedGroupsFilterFormSection.js +317 -65
  198. package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.d.ts +0 -1
  199. package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +77 -8
  200. package/esm/alertRaw/alertRaw.js +165 -51
  201. package/esm/banner/bannerMultipLine.js +121 -20
  202. package/esm/banner/bannerSingleLine.js +100 -13
  203. package/esm/betaPill/betaPill.js +105 -19
  204. package/esm/bookmark/bookmark.js +89 -27
  205. package/esm/bulkEditControl/bulkEditControl.js +161 -33
  206. package/esm/calendar/calendar.js +937 -272
  207. package/esm/calendar/calendarUtils.js +151 -84
  208. package/esm/card/card.js +233 -101
  209. package/esm/chart/accessibleChart/accessibleChartNarrative.js +642 -554
  210. package/esm/chart/accessibleChart/accessibleChartTable.js +239 -85
  211. package/esm/chart/chart.js +30 -20
  212. package/esm/chart/chartAxis/chartAxis.js +79 -6
  213. package/esm/checkboxListWithAction/checkboxListWithAction.js +218 -68
  214. package/esm/chip/chip.js +189 -90
  215. package/esm/columnsSelector/columnsSelector.js +91 -11
  216. package/esm/columnsSelector/columnsTab/columnsTab.js +53 -14
  217. package/esm/columnsSelector/columnsTabGroup/columnsTabGroup.js +75 -33
  218. package/esm/comboboxSelected/comboboxSelected.js +1 -3
  219. package/esm/dataFeed/feedExpandControl/feedExpandControl.js +21 -9
  220. package/esm/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +86 -10
  221. package/esm/dataGrid/dataGrid.js +221 -116
  222. package/esm/dataGrid/emptySearchList/emptySearchList.js +50 -8
  223. package/esm/dataGrid/entitiesListActions/actions/columnsListButton.js +45 -6
  224. package/esm/dataGrid/entitiesListActions/actions/fullscreenButton.js +58 -17
  225. package/esm/dataGrid/withFlexibleColumns/components/columnSettings.js +78 -9
  226. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +44 -15
  227. package/esm/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +217 -31
  228. package/esm/dataGrid/withSelectableRows/withSelectableRows.js +280 -212
  229. package/esm/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +172 -94
  230. package/esm/dateInputInner/dateInputInner.js +785 -475
  231. package/esm/dateInputInner/dateInputInnerControlBlock.js +119 -21
  232. package/esm/dateInputRaw/dateInputRaw.js +309 -103
  233. package/esm/dateInputRaw/utils/getLabel.js +32 -6
  234. package/esm/dateRangeInner/dateRangeInner.js +166 -57
  235. package/esm/dateRangeRaw/dateRangeRaw.js +595 -238
  236. package/esm/dateRangeRaw/utils/dateRangeUtils.js +622 -239
  237. package/esm/dateSelectionWrapper/dateSelectionWrapper.js +146 -13
  238. package/esm/dialog/dialogContent.js +117 -39
  239. package/esm/dropdownRaw/dropdownHelper.d.ts +2 -2
  240. package/esm/dropdownRaw/dropdownHelper.js +10 -10
  241. package/esm/dropdownRaw/dropdownList.js +412 -56
  242. package/esm/dropdownRaw/dropdownPopup.js +212 -19
  243. package/esm/dropdownRaw/dropdownRaw.js +862 -507
  244. package/esm/dropdownRaw/dropdownSearchableTrigger.js +217 -45
  245. package/esm/dropdownRaw/stateReducer/stateAction.d.ts +5 -1
  246. package/esm/dropdownRaw/stateReducer/stateActionType.d.ts +2 -1
  247. package/esm/dropdownRaw/stateReducer/stateActionType.js +1 -0
  248. package/esm/dropdownRaw/stateReducer/stateReducer.d.ts +6 -1
  249. package/esm/dropdownRaw/stateReducer/stateReducer.js +24 -12
  250. package/esm/dropdownRaw/stateReducer/stateReducerHelper.d.ts +2 -0
  251. package/esm/dropdownRaw/stateReducer/stateReducerHelper.js +18 -0
  252. package/esm/dropdownRaw/stateReducer/stateReducerTestData.d.ts +39 -0
  253. package/esm/dropdownRaw/stateReducer/stateReducerTestData.js +71 -0
  254. package/esm/dropdownRaw/types.d.ts +1 -0
  255. package/esm/favoriteButton/favoriteButton.js +53 -9
  256. package/esm/filters/components/filtersContainer.js +141 -61
  257. package/esm/filters/components/filtersEmptySelectedList.js +24 -3
  258. package/esm/filters/components/filtersSaveModal.js +134 -41
  259. package/esm/filters/components/filtersSavedChipComponent.js +312 -107
  260. package/esm/filters/components/filtersSearchItemData.js +121 -46
  261. package/esm/filters/components/filtersSearchList.js +375 -178
  262. package/esm/filters/components/filtersSelect.js +122 -60
  263. package/esm/filters/components/filtersSelectListItem.js +119 -12
  264. package/esm/filters/components/filtersSidePanel.js +504 -177
  265. package/esm/filters/filters.js +435 -265
  266. package/esm/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +722 -270
  267. package/esm/filtersBar/components/resetComponentButton.js +39 -4
  268. package/esm/filtersBar/filtersBarActions/filtersBarActions.js +120 -14
  269. package/esm/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +149 -48
  270. package/esm/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +354 -103
  271. package/esm/filtersBar/filtersContainer/filtersContainer.js +198 -133
  272. package/esm/formField/components/formFieldWithLabel.d.ts +2 -1
  273. package/esm/formField/components/formFieldWithLabel.js +3 -2
  274. package/esm/formField/components/formFieldWithoutLabel.d.ts +2 -1
  275. package/esm/formField/components/formFieldWithoutLabel.js +3 -3
  276. package/esm/formField/components/trailingComponent.d.ts +8 -0
  277. package/esm/formField/components/trailingComponent.js +7 -0
  278. package/esm/formField/formField.d.ts +0 -1
  279. package/esm/formField/formField.js +15 -16
  280. package/esm/formField/hooks/useError.js +94 -35
  281. package/esm/formGroup/components/reviewListToggle/reviewListToggle.js +66 -6
  282. package/esm/formGroup/hooks/useToggle.js +31 -10
  283. package/esm/formGroup/utils/getControls.js +8 -7
  284. package/esm/formLayout/hooks/useError.js +49 -14
  285. package/esm/formLayout/hooks/useFormButtons.js +122 -26
  286. package/esm/formSection/components/formSectionModal.js +1 -1
  287. package/esm/formSection/formSection.js +1 -1
  288. package/esm/formSection/hooks/useError.js +64 -21
  289. package/esm/formStepper/components/formStep.js +59 -9
  290. package/esm/formStepper/formStepper.js +123 -32
  291. package/esm/formStepperButtons/formStepperButtons.js +178 -37
  292. package/esm/groupsFilter/groupsFilterTestData.d.ts +37 -0
  293. package/esm/groupsFilter/groupsFilterTestData.js +4 -0
  294. package/esm/groupsFilter/groupsHelper.d.ts +24 -1
  295. package/esm/groupsFilter/groupsHelper.js +24 -1
  296. package/esm/groupsFilterRaw/groupsFilterAdjustmentState.js +152 -14
  297. package/esm/groupsFilterRaw/groupsFilterBox.js +131 -31
  298. package/esm/groupsFilterRaw/groupsFilterCommon.js +69 -7
  299. package/esm/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +178 -24
  300. package/esm/groupsFilterRaw/groupsFilterHelper.d.ts +2 -1
  301. package/esm/groupsFilterRaw/groupsFilterHelper.js +279 -168
  302. package/esm/groupsFilterRaw/groupsFilterInitialState.js +260 -17
  303. package/esm/groupsFilterRaw/groupsFilterMenu.js +118 -8
  304. package/esm/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  305. package/esm/groupsFilterRaw/groupsFilterRaw.js +811 -308
  306. package/esm/groupsFilterRaw/groupsFilterTestData.d.ts +155 -2
  307. package/esm/groupsFilterRaw/groupsFilterTestData.js +152 -57
  308. package/esm/groupsFilterRaw/groupsFilterTrigger.js +133 -34
  309. package/esm/groupsFilterRaw/groupsHelper.js +733 -207
  310. package/esm/groupsFilterRaw/stateReducer/stateReducerHelper.js +3 -1
  311. package/esm/groupsFilterRaw/types.d.ts +1 -0
  312. package/esm/header/components/collapsedItemsControl/collapsedItemsControl.js +101 -51
  313. package/esm/header/components/mobileFilterControl/mobileFilterControl.js +56 -8
  314. package/esm/header/components/mobileSearchControl/mobileSearchControl.js +113 -13
  315. package/esm/header/headerBack.js +58 -19
  316. package/esm/index.d.ts +2 -1
  317. package/esm/index.js +2 -1
  318. package/esm/list/itemData/itemDataInternal.js +210 -50
  319. package/esm/list/listItem/listItem.js +162 -54
  320. package/esm/menu/components/menuErrorItem.js +27 -4
  321. package/esm/mobileSheet/mobileSheet.js +189 -68
  322. package/esm/modal/modal.js +265 -120
  323. package/esm/nav/nav.js +1 -1
  324. package/esm/nav/navFooter/navFooter.js +76 -38
  325. package/esm/nav/navFooter/navFooterAction/navFooterAction.js +46 -12
  326. package/esm/nav/navHeader/navHeader.js +80 -35
  327. package/esm/nav/navHeader/navHeaderSearch/navHeaderSearch.js +82 -28
  328. package/esm/nav/navItem/navItem.d.ts +3 -3
  329. package/esm/nav/navItem/navItem.js +35 -33
  330. package/esm/nav/navMobileBar/navMobileBar.js +61 -20
  331. package/esm/notification/notification.js +114 -18
  332. package/esm/pagination/paginationArrow.js +75 -10
  333. package/esm/pagination/paginationText/paginationText.js +39 -10
  334. package/esm/pill/components/pillNonActionable/pillNonActionable.js +87 -23
  335. package/esm/pillBox/components/pillBoxItem.js +46 -8
  336. package/esm/pillBox/pillBox.js +115 -19
  337. package/esm/pillExpandable/pillExpandable.js +327 -138
  338. package/esm/rangeRaw/rangeRaw.js +480 -140
  339. package/esm/rangeRaw/utils/rangeHelper.js +203 -38
  340. package/esm/searchInputRaw/searchInputRaw.js +145 -43
  341. package/esm/skeleton/skeleton.js +45 -5
  342. package/esm/sortControl/sortControl.js +146 -41
  343. package/esm/stepperRaw/stepperRaw.js +112 -41
  344. package/esm/storybookHelpers/dataGridWithDifferentCellOptions/components/EntitiesListAction.js +178 -19
  345. package/esm/summary/summary.js +88 -7
  346. package/esm/table/actions/actionsMenu.js +165 -77
  347. package/esm/table/flexible/columnSettings.js +74 -9
  348. package/esm/table/flexible/columnsList.js +104 -42
  349. package/esm/table/flexible/columnsPopup.js +71 -19
  350. package/esm/table/nested/useNestedRows.js +161 -76
  351. package/esm/table/selectable/selectableHeader.js +174 -40
  352. package/esm/table/selectable/useSelectableRows.js +264 -190
  353. package/esm/table/sortable/sortableHeader.js +147 -74
  354. package/esm/tabs/tabs.js +221 -117
  355. package/esm/timePickerRaw/timePickerRaw.js +272 -57
  356. package/esm/toastRaw/toastRaw.js +132 -31
  357. package/esm/toggleButton/toggleButton.d.ts +0 -1
  358. package/esm/toggleButtonRaw/toggleButtonRaw.d.ts +1 -0
  359. package/esm/toggleButtonRaw/toggleButtonRaw.js +111 -18
  360. package/esm/utils/formatDate.js +995 -116
  361. package/{dist/utils/localization/translations/cs-json.js → esm/utils/localization/translations/cs.json} +11 -15
  362. package/{dist/utils/localization/translations/da-DK-json.js → esm/utils/localization/translations/da-DK.json} +31 -26
  363. package/{dist/utils/localization/translations/de-json.js → esm/utils/localization/translations/de.json} +12 -16
  364. package/esm/utils/localization/translations/en.json +308 -0
  365. package/{dist/utils/localization/translations/es-json.js → esm/utils/localization/translations/es.json} +11 -15
  366. package/{dist/utils/localization/translations/fi-FI-json.js → esm/utils/localization/translations/fi-FI.json} +31 -26
  367. package/{dist/utils/localization/translations/fr-FR-json.js → esm/utils/localization/translations/fr-FR.json} +12 -15
  368. package/{dist/utils/localization/translations/fr-json.js → esm/utils/localization/translations/fr.json} +11 -15
  369. package/{dist/utils/localization/translations/hu-HU-json.js → esm/utils/localization/translations/hu-HU.json} +31 -26
  370. package/{dist/utils/localization/translations/id-json.js → esm/utils/localization/translations/id.json} +11 -16
  371. package/{dist/utils/localization/translations/it-json.js → esm/utils/localization/translations/it.json} +11 -15
  372. package/{dist/utils/localization/translations/ja-json.js → esm/utils/localization/translations/ja.json} +11 -15
  373. package/{dist/utils/localization/translations/ko-KR-json.js → esm/utils/localization/translations/ko-KR.json} +24 -26
  374. package/{dist/utils/localization/translations/ms-json.js → esm/utils/localization/translations/ms.json} +11 -15
  375. package/{dist/utils/localization/translations/nb-NO-json.js → esm/utils/localization/translations/nb-NO.json} +31 -26
  376. package/{dist/utils/localization/translations/nl-json.js → esm/utils/localization/translations/nl.json} +11 -15
  377. package/{dist/utils/localization/translations/pl-json.js → esm/utils/localization/translations/pl.json} +11 -15
  378. package/{dist/utils/localization/translations/pt-BR-json.js → esm/utils/localization/translations/pt-BR.json} +11 -15
  379. package/{dist/utils/localization/translations/sk-SK-json.js → esm/utils/localization/translations/sk-SK.json} +31 -26
  380. package/{dist/utils/localization/translations/sv-json.js → esm/utils/localization/translations/sv.json} +11 -15
  381. package/{dist/utils/localization/translations/th-json.js → esm/utils/localization/translations/th.json} +11 -15
  382. package/{dist/utils/localization/translations/tr-json.js → esm/utils/localization/translations/tr.json} +11 -15
  383. package/{dist/utils/localization/translations/zh-Hans-json.js → esm/utils/localization/translations/zh-Hans.json} +11 -15
  384. package/{dist/utils/localization/translations/zh-TW-json.js → esm/utils/localization/translations/zh-TW.json} +11 -26
  385. package/esm/utils/localization/translationsDictionary.d.ts +2 -0
  386. package/esm/utils/localization/translationsDictionary.js +59 -0
  387. package/esm/utils/localization/useLanguage.js +1 -50
  388. package/package.json +17 -10
  389. package/dist/formField/hooks/useClasses.d.ts +0 -8
  390. package/dist/formField/hooks/useClasses.js +0 -25
  391. package/dist/utils/localization/translations/cs-json.d.ts +0 -251
  392. package/dist/utils/localization/translations/da-DK-json.d.ts +0 -252
  393. package/dist/utils/localization/translations/de-json.d.ts +0 -251
  394. package/dist/utils/localization/translations/en-json.d.ts +0 -314
  395. package/dist/utils/localization/translations/en-json.js +0 -317
  396. package/dist/utils/localization/translations/es-json.d.ts +0 -251
  397. package/dist/utils/localization/translations/fi-FI-json.d.ts +0 -252
  398. package/dist/utils/localization/translations/fr-FR-json.d.ts +0 -250
  399. package/dist/utils/localization/translations/fr-json.d.ts +0 -251
  400. package/dist/utils/localization/translations/hu-HU-json.d.ts +0 -252
  401. package/dist/utils/localization/translations/id-json.d.ts +0 -252
  402. package/dist/utils/localization/translations/it-json.d.ts +0 -251
  403. package/dist/utils/localization/translations/ja-json.d.ts +0 -251
  404. package/dist/utils/localization/translations/ko-KR-json.d.ts +0 -258
  405. package/dist/utils/localization/translations/ms-json.d.ts +0 -251
  406. package/dist/utils/localization/translations/nb-NO-json.d.ts +0 -252
  407. package/dist/utils/localization/translations/nl-json.d.ts +0 -251
  408. package/dist/utils/localization/translations/pl-json.d.ts +0 -251
  409. package/dist/utils/localization/translations/pt-BR-json.d.ts +0 -251
  410. package/dist/utils/localization/translations/sk-SK-json.d.ts +0 -251
  411. package/dist/utils/localization/translations/sv-json.d.ts +0 -251
  412. package/dist/utils/localization/translations/th-json.d.ts +0 -251
  413. package/dist/utils/localization/translations/tr-json.d.ts +0 -251
  414. package/dist/utils/localization/translations/zh-Hans-json.d.ts +0 -251
  415. package/dist/utils/localization/translations/zh-TW-json.d.ts +0 -271
  416. package/esm/formField/hooks/useClasses.d.ts +0 -8
  417. package/esm/formField/hooks/useClasses.js +0 -21
  418. package/esm/utils/localization/translations/cs-json.d.ts +0 -251
  419. package/esm/utils/localization/translations/da-DK-json.d.ts +0 -252
  420. package/esm/utils/localization/translations/de-json.d.ts +0 -251
  421. package/esm/utils/localization/translations/en-json.d.ts +0 -314
  422. package/esm/utils/localization/translations/en-json.js +0 -314
  423. package/esm/utils/localization/translations/es-json.d.ts +0 -251
  424. package/esm/utils/localization/translations/fi-FI-json.d.ts +0 -252
  425. package/esm/utils/localization/translations/fr-FR-json.d.ts +0 -250
  426. package/esm/utils/localization/translations/fr-json.d.ts +0 -251
  427. package/esm/utils/localization/translations/hu-HU-json.d.ts +0 -252
  428. package/esm/utils/localization/translations/id-json.d.ts +0 -252
  429. package/esm/utils/localization/translations/it-json.d.ts +0 -251
  430. package/esm/utils/localization/translations/ja-json.d.ts +0 -251
  431. package/esm/utils/localization/translations/ko-KR-json.d.ts +0 -258
  432. package/esm/utils/localization/translations/ms-json.d.ts +0 -251
  433. package/esm/utils/localization/translations/nb-NO-json.d.ts +0 -252
  434. package/esm/utils/localization/translations/nl-json.d.ts +0 -251
  435. package/esm/utils/localization/translations/pl-json.d.ts +0 -251
  436. package/esm/utils/localization/translations/pt-BR-json.d.ts +0 -251
  437. package/esm/utils/localization/translations/sk-SK-json.d.ts +0 -251
  438. package/esm/utils/localization/translations/sv-json.d.ts +0 -251
  439. package/esm/utils/localization/translations/th-json.d.ts +0 -251
  440. package/esm/utils/localization/translations/tr-json.d.ts +0 -251
  441. package/esm/utils/localization/translations/zh-Hans-json.d.ts +0 -251
  442. package/esm/utils/localization/translations/zh-TW-json.d.ts +0 -271
@@ -1,3 +1,4 @@
1
+ import { injectString } from "../../utils/localization/translationsDictionary";
1
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
3
  import { Fragment, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
3
4
  import { useLanguage } from "../../utils/localization/useLanguage";
@@ -24,185 +25,511 @@ import { FiltersSidePanelItem } from "./filtersSidePanelItem";
24
25
  import { FiltersSaveModal } from "./filtersSaveModal";
25
26
  import { isElementsEqual } from "../../utils/compareElementsUtils/isElementsEqual";
26
27
  import { FiltersEmptySelectedList } from "./filtersEmptySelectedList";
28
+ injectString("cs", "Selected", "Vybr\xE1no");
29
+ injectString("da-DK", "Selected", "Valgt");
30
+ injectString("de", "Selected", "Ausgew\xE4hlt");
31
+ injectString("en", "Selected", "Selected");
32
+ injectString("es", "Selected", "Seleccionado");
33
+ injectString("fi-FI", "Selected", "Valittu");
34
+ injectString("fr", "Selected", "S\xE9lectionn\xE9");
35
+ injectString("fr-FR", "Selected", "S\xE9lectionn\xE9");
36
+ injectString("hu-HU", "Selected", "Kiv\xE1lasztott");
37
+ injectString("id", "Selected", "Dipilih");
38
+ injectString("it", "Selected", "Selezionato");
39
+ injectString("ja", "Selected", "\u9078\u629E\u8ECA\u4E21");
40
+ injectString("ko-KR", "Selected", "\uC120\uD0DD\uB428");
41
+ injectString("ms", "Selected", "Dipilih");
42
+ injectString("nb-NO", "Selected", "Valgt");
43
+ injectString("nl", "Selected", "Geselecteerd");
44
+ injectString("pl", "Selected", "Wybrano");
45
+ injectString("pt-BR", "Selected", "Selecionado");
46
+ injectString("sk-SK", "Selected", "Vybran\xE9");
47
+ injectString("sv", "Selected", "Valda");
48
+ injectString("th", "Selected", "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27");
49
+ injectString("tr", "Selected", "Se\xE7ildi");
50
+ injectString("zh-Hans", "Selected", "\u9009\u4E2D\u7684");
51
+ injectString("zh-TW", "Selected", "\u5DF2\u9078\u53D6");
52
+ injectString("cs", "Reset", "Obnovit");
53
+ injectString("da-DK", "Reset", "Nulstil");
54
+ injectString("de", "Reset", "Zur\xFCcksetzen");
55
+ injectString("en", "Reset", "Reset");
56
+ injectString("es", "Reset", "Restaurar");
57
+ injectString("fi-FI", "Reset", "Palauta");
58
+ injectString("fr", "Reset", "R\xE9initialiser");
59
+ injectString("fr-FR", "Reset", "R\xE9initialiser");
60
+ injectString("hu-HU", "Reset", "\xC1ll\xEDtsd vissza.");
61
+ injectString("id", "Reset", "Atur Ulang");
62
+ injectString("it", "Reset", "Ripristinare");
63
+ injectString("ja", "Reset", "\u30EA\u30BB\u30C3\u30C8");
64
+ injectString("ko-KR", "Reset", "\uC7AC\uC124\uC815");
65
+ injectString("ms", "Reset", "Tetap Semula");
66
+ injectString("nb-NO", "Reset", "Tilbakestill");
67
+ injectString("nl", "Reset", "Herstellen");
68
+ injectString("pl", "Reset", "Resetuj");
69
+ injectString("pt-BR", "Reset", "Redefinir");
70
+ injectString("sk-SK", "Reset", "Obnov");
71
+ injectString("sv", "Reset", "\xC5terst\xE4ll");
72
+ injectString("th", "Reset", "\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15");
73
+ injectString("tr", "Reset", "S\u0131f\u0131rla");
74
+ injectString("zh-Hans", "Reset", "\u91CD\u7F6E");
75
+ injectString("zh-TW", "Reset", "\u91CD\u8A2D");
76
+ injectString("cs", "Cancel", "Zru\u0161it");
77
+ injectString("da-DK", "Cancel", "Annuller");
78
+ injectString("de", "Cancel", "Abbrechen");
79
+ injectString("en", "Cancel", "Cancel");
80
+ injectString("es", "Cancel", "Cancelar");
81
+ injectString("fi-FI", "Cancel", "Peruuta");
82
+ injectString("fr", "Cancel", "Annuler");
83
+ injectString("fr-FR", "Cancel", "Annuler");
84
+ injectString("hu-HU", "Cancel", "M\xE9gse");
85
+ injectString("id", "Cancel", "Batalkan");
86
+ injectString("it", "Cancel", "Annullare");
87
+ injectString("ja", "Cancel", "\u30AD\u30E3\u30F3\u30BB\u30EB");
88
+ injectString("ko-KR", "Cancel", "\uCDE8\uC18C");
89
+ injectString("ms", "Cancel", "Batal");
90
+ injectString("nb-NO", "Cancel", "Avbryt");
91
+ injectString("nl", "Cancel", "Annuleren");
92
+ injectString("pl", "Cancel", "Anuluj");
93
+ injectString("pt-BR", "Cancel", "Cancelar");
94
+ injectString("sk-SK", "Cancel", "Zru\u0161.");
95
+ injectString("sv", "Cancel", "Avbryt");
96
+ injectString("th", "Cancel", "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01");
97
+ injectString("tr", "Cancel", "\u0130ptal");
98
+ injectString("zh-Hans", "Cancel", "\u53D6\u6D88");
99
+ injectString("zh-TW", "Cancel", "\u53D6\u6D88");
100
+ injectString("cs", "Apply", "Pou\u017E\xEDt");
101
+ injectString("da-DK", "Apply", "Anvend");
102
+ injectString("de", "Apply", "Anwenden");
103
+ injectString("en", "Apply", "Apply");
104
+ injectString("es", "Apply", "Aplicar");
105
+ injectString("fi-FI", "Apply", "K\xE4yt\xE4");
106
+ injectString("fr", "Apply", "Appliquer");
107
+ injectString("fr-FR", "Apply", "Appliquer");
108
+ injectString("hu-HU", "Apply", "Alkalmazd.");
109
+ injectString("id", "Apply", "Terapkan");
110
+ injectString("it", "Apply", "Applicare");
111
+ injectString("ja", "Apply", "\u9069\u7528");
112
+ injectString("ko-KR", "Apply", "\uC801\uC6A9");
113
+ injectString("ms", "Apply", "Gunakan");
114
+ injectString("nb-NO", "Apply", "Bruk");
115
+ injectString("nl", "Apply", "Toepassen");
116
+ injectString("pl", "Apply", "Zastosuj");
117
+ injectString("pt-BR", "Apply", "Aplicar");
118
+ injectString("sk-SK", "Apply", "Pou\u017Ei");
119
+ injectString("sv", "Apply", "Ans\xF6k");
120
+ injectString("th", "Apply", "\u0E43\u0E0A\u0E49");
121
+ injectString("tr", "Apply", "Uygula");
122
+ injectString("zh-Hans", "Apply", "\u5E94\u7528");
123
+ injectString("zh-TW", "Apply", "\u5957\u7528");
124
+ injectString("cs", "All Filters", "V\u0161echny filtry");
125
+ injectString("da-DK", "All Filters", "Alle filtre");
126
+ injectString("de", "All Filters", "Alle Filter");
127
+ injectString("en", "All Filters", "All Filters");
128
+ injectString("es", "All Filters", "Todos los filtros");
129
+ injectString("fi-FI", "All Filters", "Kaikki suodattimet");
130
+ injectString("fr", "All Filters", "Tous les filtres");
131
+ injectString("fr-FR", "All Filters", "Tous les filtres");
132
+ injectString("hu-HU", "All Filters", "Minden sz\u0171r\u0151");
133
+ injectString("id", "All Filters", "Semua Filter");
134
+ injectString("it", "All Filters", "Tutti i filtri");
135
+ injectString("ja", "All Filters", "\u3059\u3079\u3066\u306E\u30D5\u30A3\u30EB\u30BF\u30FC");
136
+ injectString("ko-KR", "All Filters", "\uBAA8\uB4E0 \uD544\uD130");
137
+ injectString("ms", "All Filters", "Semua Penyaring");
138
+ injectString("nb-NO", "All Filters", "Alle filtre");
139
+ injectString("nl", "All Filters", "Alle filters");
140
+ injectString("pl", "All Filters", "Wszystkie filtry");
141
+ injectString("pt-BR", "All Filters", "Todos os filtros");
142
+ injectString("sk-SK", "All Filters", "V\u0161etky filtre");
143
+ injectString("sv", "All Filters", "Alla filter");
144
+ injectString("th", "All Filters", "\u0E15\u0E31\u0E27\u0E01\u0E23\u0E2D\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14");
145
+ injectString("tr", "All Filters", "T\xFCm Filtreler");
146
+ injectString("zh-Hans", "All Filters", "\u6240\u6709\u7B5B\u9009\u5668");
147
+ injectString("zh-TW", "All Filters", "\u6240\u6709\u7BE9\u9078\u5668");
148
+ injectString("cs", "Save", "Ulo\u017Eit");
149
+ injectString("da-DK", "Save", "Spare");
150
+ injectString("de", "Save", "Speichern");
151
+ injectString("en", "Save", "Save");
152
+ injectString("es", "Save", "Guardar");
153
+ injectString("fi-FI", "Save", "S\xE4\xE4st\xE4\xE4");
154
+ injectString("fr", "Save", "Enregistrer");
155
+ injectString("fr-FR", "Save", "Enregistrer");
156
+ injectString("hu-HU", "Save", "Ment\xE9s");
157
+ injectString("id", "Save", "Simpan");
158
+ injectString("it", "Save", "Salvare");
159
+ injectString("ja", "Save", "\u4FDD\u5B58");
160
+ injectString("ko-KR", "Save", "\uC800\uC7A5");
161
+ injectString("ms", "Save", "Simpan");
162
+ injectString("nb-NO", "Save", "Lagre");
163
+ injectString("nl", "Save", "Opslaan");
164
+ injectString("pl", "Save", "Zapisz");
165
+ injectString("pt-BR", "Save", "Salvar");
166
+ injectString("sk-SK", "Save", "Ulo\u017Ei\u0165");
167
+ injectString("sv", "Save", "Spara");
168
+ injectString("th", "Save", "\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01");
169
+ injectString("tr", "Save", "Kaydet");
170
+ injectString("zh-Hans", "Save", "\u4FDD\u5B58");
171
+ injectString("zh-TW", "Save", "\u5132\u5B58");
172
+ injectString("en", "Pin", "Pin");
173
+ injectString("cs", "Close", "Zav\u0159\xEDt");
174
+ injectString("da-DK", "Close", "Luk");
175
+ injectString("de", "Close", "Schlie\xDFen");
176
+ injectString("en", "Close", "Close");
177
+ injectString("es", "Close", "Cerrar");
178
+ injectString("fi-FI", "Close", "Sulje");
179
+ injectString("fr", "Close", "Fermer");
180
+ injectString("fr-FR", "Close", "Fermer");
181
+ injectString("hu-HU", "Close", "Z\xE1rd be.");
182
+ injectString("id", "Close", "Tutup");
183
+ injectString("it", "Close", "Chiudere");
184
+ injectString("ja", "Close", "\u9589\u3058\u308B");
185
+ injectString("ko-KR", "Close", "\uB2EB\uAE30");
186
+ injectString("ms", "Close", "Tutup");
187
+ injectString("nb-NO", "Close", "Lukk");
188
+ injectString("nl", "Close", "Sluiten");
189
+ injectString("pl", "Close", "Zamknij");
190
+ injectString("pt-BR", "Close", "Fechar");
191
+ injectString("sk-SK", "Close", "Zatvor");
192
+ injectString("sv", "Close", "St\xE4ng");
193
+ injectString("th", "Close", "\u0E1B\u0E34\u0E14");
194
+ injectString("tr", "Close", "Kapat");
195
+ injectString("zh-Hans", "Close", "\u5173\u95ED");
196
+ injectString("zh-TW", "Close", "\u95DC\u9589");
27
197
  const SELECTED_TAB_ID = "Selected";
28
- const getSelectedOption = (translate) => ({
29
- id: SELECTED_TAB_ID,
30
- name: translate("Selected")
198
+ const getSelectedOption = translate => ({
199
+ id: SELECTED_TAB_ID,
200
+ name: translate("Selected")
31
201
  });
32
- export const FiltersSidePanel = ({ isOpen, onApply, onClose, onPin, isPinned, filters, externalState, setExternalState, triggerRef }) => {
33
- var _a;
34
- const { translate } = useLanguage();
35
- const isLongTextLanguages = useMemo(() => `${translate("Reset")}${translate("Cancel")}${translate("Apply")}`.length > 31, [translate]);
36
- const dataShieldId = useUniqueId();
37
- const iconDriveClassName = useDriveClassName("icon");
38
- const { dark } = useContext(themeContext);
39
- const isMobile = useMobile();
40
- const { setScrollHidden, resetScroll } = useBodyScroll();
41
- const { onSave } = useFiltersSavedItems();
42
- const [activeTabId, setActiveTabId] = useState(ALL_SELECT_OPTION_ID);
43
- const [isSaveModalOpen, setIsSaveModalOpen] = useState(false);
44
- const [filtersInternalState, setFiltersInternalState] = useState(createStateObject(filters, "state"));
45
- const [initialExternalState, setInitialExternalState] = useState(externalState);
46
- const prevIsOpenRef = useRef(false);
47
- const [selectedIds, setSelectedIds] = useState([]);
48
- const [errorItems, setErrorItems] = useState(new Set());
49
- const saveButtonRef = useRef(null);
50
- const externalMode = useMemo(() => {
51
- if (externalState === undefined || setExternalState === undefined) {
52
- return false;
53
- }
54
- return true;
55
- }, [externalState, setExternalState]);
56
- const handleInternalFiltersStateChange = useCallback((id) => (newState) => {
57
- setFiltersInternalState((prevState) => (Object.assign(Object.assign({}, prevState), { [id]: newState })));
58
- }, []);
59
- const handleExternalFiltersStateChange = useCallback((id) => (newState) => {
60
- setExternalState && setExternalState({ [id]: newState });
61
- }, [setExternalState]);
62
- const currentState = useMemo(() => externalMode ? externalState
63
- : filtersInternalState, [externalMode, externalState, filtersInternalState]);
64
- const currentFilters = useMemo(() => filters.filter((item) => currentState.hasOwnProperty(item.props.id)
65
- && (typeof item.props.visible === "boolean" ? item.props.visible
66
- : item.props.visible === undefined ? true : (item.props.visible([ALL_SELECT_OPTION_ID], currentState) || item.props.visible([ALL_SELECT_OPTION_ID])))), [currentState, filters]);
67
- const inhibitedFilters = useMemo(() => {
68
- const inhibited = new Set();
69
- currentFilters.forEach((item) => {
70
- if (item.props.inhibit && item.props.inhibit.length > 0) {
71
- item.props.inhibit.forEach((id) => inhibited.add(id));
72
- }
73
- });
74
- return inhibited;
75
- }, [currentFilters]);
76
- const filteredCurrentFilters = useMemo(() => currentFilters.filter((item) => !externalMode ? !inhibitedFilters.has(item.props.id) : true), [currentFilters, externalMode, inhibitedFilters]);
77
- const handleReadyForFocus = useCallback((isCurrentOpen) => {
78
- if (!isCurrentOpen) {
79
- triggerRef.current.focus();
80
- return;
81
- }
82
- }, [triggerRef]);
83
- useEffect(() => {
84
- const handleOpen = () => {
85
- setScrollHidden();
86
- };
87
- const handleClose = () => {
88
- resetScroll();
89
- };
90
- if (isOpen) {
91
- handleOpen();
92
- }
93
- else {
94
- handleClose();
95
- }
96
- return () => { handleClose(); };
97
- }, [isOpen, setScrollHidden, resetScroll]);
98
- const handleClearClick = useCallback(() => {
99
- const newState = createStateObject(filters, "defaultState");
100
- externalMode && setExternalState ? setExternalState(Object.assign({}, newState)) : setFiltersInternalState(newState);
101
- }, [externalMode, filters, setExternalState]);
102
- const handleApplyClick = useCallback(() => {
103
- const stateForApply = externalMode ? currentState : {};
104
- if (!externalMode) {
105
- Object.keys(currentState).forEach(key => {
106
- if (!inhibitedFilters.has(key)) {
107
- stateForApply[key] = currentState[key];
108
- }
109
- });
110
- }
111
- onApply(stateForApply);
112
- onClose();
113
- }, [currentState, externalMode, inhibitedFilters, onApply, onClose]);
114
- const handleCancelClick = useCallback(() => {
115
- const newState = createStateObject(filters, "state");
116
- externalMode && setExternalState ? setExternalState(Object.assign({}, newState)) : setFiltersInternalState(newState);
117
- onClose();
118
- }, [externalMode, filters, onClose, setExternalState]);
119
- const handleExternalModeClose = useCallback(() => {
120
- if (!(externalMode && initialExternalState && setExternalState)) {
121
- return;
122
- }
123
- setExternalState(initialExternalState);
124
- onClose();
125
- }, [externalMode, initialExternalState, onClose, setExternalState]);
126
- const toggleSaveModal = useCallback(() => {
127
- var _a;
128
- isSaveModalOpen && ((_a = saveButtonRef.current) === null || _a === void 0 ? void 0 : _a.focus());
129
- setIsSaveModalOpen(val => !val);
130
- }, [isSaveModalOpen]);
131
- const handleSaveFilters = useCallback((filterName) => {
132
- const stateForApply = externalMode ? currentState : {};
133
- if (!externalMode) {
134
- Object.keys(currentState).forEach(key => {
135
- if (!inhibitedFilters.has(key)) {
136
- stateForApply[key] = currentState[key];
137
- }
138
- });
139
- }
140
- onSave && onSave(filterName, stateForApply);
141
- }, [externalMode, currentState, onSave, inhibitedFilters]);
142
- const sidePanelItemChangeHandler = useCallback((id) => externalMode ? handleExternalFiltersStateChange(id) : handleInternalFiltersStateChange(id), [externalMode, handleExternalFiltersStateChange, handleInternalFiltersStateChange]);
143
- const handleErrorCheck = useCallback((id) => (isError) => {
144
- if (isError && errorItems.has(id) || !isError && !errorItems.has(id)) {
145
- return;
146
- }
147
- const newErrorItems = new Set(errorItems);
148
- newErrorItems[isError ? "add" : "delete"](id);
149
- setErrorItems(newErrorItems);
150
- }, [errorItems]);
151
- const tabsContent = useMemo(() => filteredCurrentFilters
152
- .map((item) => (_jsx(FiltersSidePanelItem, { item: item, itemState: currentState[item.props.id], changeHandler: sidePanelItemChangeHandler(item.props.id), errorCheck: handleErrorCheck(item.props.id) }, item.props.id))), [filteredCurrentFilters, currentState, sidePanelItemChangeHandler, handleErrorCheck]);
153
- const defaultStateObject = useMemo(() => createStateObject(filteredCurrentFilters, "defaultState"), [filteredCurrentFilters]);
154
- const getSelectedIds = useCallback(() => {
155
- const selected = [];
156
- filteredCurrentFilters.forEach((el) => {
157
- const itemState = currentState[el.props.id];
158
- const defaultState = defaultStateObject[el.props.id];
159
- if (!isElementsEqual(itemState, defaultState) && !inhibitedFilters.has(el.props.id)) {
160
- selected.push(el.props.id);
161
- }
162
- });
163
- return selected;
164
- }, [currentState, defaultStateObject, filteredCurrentFilters, inhibitedFilters]);
165
- const tabOptions = useMemo(() => [
166
- getAllOption(translate),
167
- Object.assign(Object.assign({}, getSelectedOption(translate)), { quantity: getSelectedIds().length || undefined })
168
- ], [getSelectedIds, translate]);
169
- const onTabChange = (newVal) => {
170
- setActiveTabId(newVal);
202
+ export const FiltersSidePanel = ({
203
+ isOpen,
204
+ onApply,
205
+ onClose,
206
+ onPin,
207
+ isPinned,
208
+ filters,
209
+ externalState,
210
+ setExternalState,
211
+ triggerRef
212
+ }) => {
213
+ var _a;
214
+ const {
215
+ translate
216
+ } = useLanguage();
217
+ const isLongTextLanguages = useMemo(() => `${translate("Reset")}${translate("Cancel")}${translate("Apply")}`.length > 31, [translate]);
218
+ const dataShieldId = useUniqueId();
219
+ const iconDriveClassName = useDriveClassName("icon");
220
+ const {
221
+ dark
222
+ } = useContext(themeContext);
223
+ const isMobile = useMobile();
224
+ const {
225
+ setScrollHidden,
226
+ resetScroll
227
+ } = useBodyScroll();
228
+ const {
229
+ onSave
230
+ } = useFiltersSavedItems();
231
+ const [activeTabId, setActiveTabId] = useState(ALL_SELECT_OPTION_ID);
232
+ const [isSaveModalOpen, setIsSaveModalOpen] = useState(false);
233
+ const [filtersInternalState, setFiltersInternalState] = useState(createStateObject(filters, "state"));
234
+ const [initialExternalState, setInitialExternalState] = useState(externalState);
235
+ const prevIsOpenRef = useRef(false);
236
+ const [selectedIds, setSelectedIds] = useState([]);
237
+ const [errorItems, setErrorItems] = useState(new Set());
238
+ const saveButtonRef = useRef(null);
239
+ const externalMode = useMemo(() => {
240
+ if (externalState === undefined || setExternalState === undefined) {
241
+ return false;
242
+ }
243
+ return true;
244
+ }, [externalState, setExternalState]);
245
+ const handleInternalFiltersStateChange = useCallback(id => newState => {
246
+ setFiltersInternalState(prevState => Object.assign(Object.assign({}, prevState), {
247
+ [id]: newState
248
+ }));
249
+ }, []);
250
+ const handleExternalFiltersStateChange = useCallback(id => newState => {
251
+ setExternalState && setExternalState({
252
+ [id]: newState
253
+ });
254
+ }, [setExternalState]);
255
+ const currentState = useMemo(() => externalMode ? externalState : filtersInternalState, [externalMode, externalState, filtersInternalState]);
256
+ const currentFilters = useMemo(() => filters.filter(item => currentState.hasOwnProperty(item.props.id) && (typeof item.props.visible === "boolean" ? item.props.visible : item.props.visible === undefined ? true : item.props.visible([ALL_SELECT_OPTION_ID], currentState) || item.props.visible([ALL_SELECT_OPTION_ID]))), [currentState, filters]);
257
+ const inhibitedFilters = useMemo(() => {
258
+ const inhibited = new Set();
259
+ currentFilters.forEach(item => {
260
+ if (item.props.inhibit && item.props.inhibit.length > 0) {
261
+ item.props.inhibit.forEach(id => inhibited.add(id));
262
+ }
263
+ });
264
+ return inhibited;
265
+ }, [currentFilters]);
266
+ const filteredCurrentFilters = useMemo(() => currentFilters.filter(item => !externalMode ? !inhibitedFilters.has(item.props.id) : true), [currentFilters, externalMode, inhibitedFilters]);
267
+ const handleReadyForFocus = useCallback(isCurrentOpen => {
268
+ if (!isCurrentOpen) {
269
+ triggerRef.current.focus();
270
+ return;
271
+ }
272
+ }, [triggerRef]);
273
+ useEffect(() => {
274
+ const handleOpen = () => {
275
+ setScrollHidden();
171
276
  };
172
- const selectedTabsContent = useMemo(() => selectedIds.length ? filteredCurrentFilters.filter((el) => selectedIds.includes(el.props.id))
173
- .map((item) => (_jsx(FiltersSidePanelItem, { item: item, itemState: currentState[item.props.id], changeHandler: sidePanelItemChangeHandler(item.props.id), errorCheck: handleErrorCheck(item.props.id) }, item.props.id)))
174
- : _jsx(FiltersEmptySelectedList, {}), [selectedIds, filteredCurrentFilters, currentState, sidePanelItemChangeHandler, handleErrorCheck]);
175
- useEffect(() => {
176
- if (!isOpen) {
177
- return;
178
- }
179
- if (activeTabId === SELECTED_TAB_ID) {
180
- return;
181
- }
182
- setSelectedIds(getSelectedIds());
183
- }, [activeTabId, getSelectedIds, isOpen]);
184
- const resetInitialComponentState = useCallback(() => {
185
- setIsSaveModalOpen(false);
186
- setActiveTabId(ALL_SELECT_OPTION_ID);
187
- setFiltersInternalState(createStateObject(filters, "state"));
188
- setInitialExternalState(externalState);
189
- setSelectedIds([]);
190
- setSelectedIds(getSelectedIds());
191
- }, [externalState, filters, getSelectedIds]);
192
- useEffect(() => {
193
- if (isOpen !== prevIsOpenRef.current) {
194
- prevIsOpenRef.current = isOpen;
195
- isOpen && resetInitialComponentState();
196
- }
197
- }, [isOpen, resetInitialComponentState]);
198
- const handleHidePanel = useCallback((reason, shieldId) => {
199
- if (isSaveModalOpen) {
200
- return;
277
+ const handleClose = () => {
278
+ resetScroll();
279
+ };
280
+ if (isOpen) {
281
+ handleOpen();
282
+ } else {
283
+ handleClose();
284
+ }
285
+ return () => {
286
+ handleClose();
287
+ };
288
+ }, [isOpen, setScrollHidden, resetScroll]);
289
+ const handleClearClick = useCallback(() => {
290
+ const newState = createStateObject(filters, "defaultState");
291
+ externalMode && setExternalState ? setExternalState(Object.assign({}, newState)) : setFiltersInternalState(newState);
292
+ }, [externalMode, filters, setExternalState]);
293
+ const handleApplyClick = useCallback(() => {
294
+ const stateForApply = externalMode ? currentState : {};
295
+ if (!externalMode) {
296
+ Object.keys(currentState).forEach(key => {
297
+ if (!inhibitedFilters.has(key)) {
298
+ stateForApply[key] = currentState[key];
201
299
  }
202
- if (reason === SidePanelCloseReason.ClickOutside && shieldId === dataShieldId || reason === SidePanelCloseReason.Escape) {
203
- onClose();
204
- return;
300
+ });
301
+ }
302
+ onApply(stateForApply);
303
+ onClose();
304
+ }, [currentState, externalMode, inhibitedFilters, onApply, onClose]);
305
+ const handleCancelClick = useCallback(() => {
306
+ const newState = createStateObject(filters, "state");
307
+ externalMode && setExternalState ? setExternalState(Object.assign({}, newState)) : setFiltersInternalState(newState);
308
+ onClose();
309
+ }, [externalMode, filters, onClose, setExternalState]);
310
+ const handleExternalModeClose = useCallback(() => {
311
+ if (!(externalMode && initialExternalState && setExternalState)) {
312
+ return;
313
+ }
314
+ setExternalState(initialExternalState);
315
+ onClose();
316
+ }, [externalMode, initialExternalState, onClose, setExternalState]);
317
+ const toggleSaveModal = useCallback(() => {
318
+ var _a;
319
+ isSaveModalOpen && ((_a = saveButtonRef.current) === null || _a === void 0 ? void 0 : _a.focus());
320
+ setIsSaveModalOpen(val => !val);
321
+ }, [isSaveModalOpen]);
322
+ const handleSaveFilters = useCallback(filterName => {
323
+ const stateForApply = externalMode ? currentState : {};
324
+ if (!externalMode) {
325
+ Object.keys(currentState).forEach(key => {
326
+ if (!inhibitedFilters.has(key)) {
327
+ stateForApply[key] = currentState[key];
205
328
  }
206
- }, [isSaveModalOpen, dataShieldId, onClose]);
207
- return _jsxs(Fragment, { children: [_jsx(Shield, { className: "zen-high-level-shield", dataShieldId: dataShieldId, isVisible: isOpen }), createPortal(_jsx(SidePanel, { triggerRef: triggerRef, isOpen: isOpen, label: translate("All Filters"), onHidePanel: handleHidePanel, className: classNames(["zen-side-panel-filters", dark ? "zen-dark" : ""]), onTransitionEnd: handleReadyForFocus, children: _jsxs("div", { className: "zen-side-panel-filters-wrapper", children: [_jsxs("div", { className: "zen-side-panel-filters__header", children: [_jsx("div", { className: "zen-side-panel-filters__title-wrapper", children: _jsx("div", { className: "zen-side-panel-filters__title zen-ellipsis", children: translate("All Filters") }) }), _jsxs("div", { className: "zen-side-panel-filters__header-buttons", children: [onSave && _jsx(Button, { type: "tertiary", ref: saveButtonRef, className: "zen-side-panel-filters__save-button zen-side-panel-filters__header-button", title: translate("Save"), "aria-label": translate("Save"), onClick: toggleSaveModal, children: _jsx(IconDisk, { description: translate("Save"), className: "svgIcon", size: iconDriveClassName ? "huge" : "large" }) }), onPin && _jsx(Button, { type: "tertiary", className: classNames(["zen-side-panel-filters__pin-button", isPinned ? "zen-side-panel-filters__header-button--active" : "", "zen-side-panel-filters__header-button"]), title: translate("Pin"), "aria-label": translate("Pin"), onClick: onPin, children: _jsx(IconPin2, { description: translate("Pin"), className: "svgIcon", size: iconDriveClassName ? "huge" : "large" }) }), _jsx(TextIconButton, { type: "tertiary-black", className: "zen-side-panel-filters__close-button", icon: IconClose, iconSize: "large", onClick: externalMode ? handleExternalModeClose : onClose, iconPosition: ButtonIconPosition.Start, title: translate("Close") })] })] }), _jsx(Tabs, { activeTabId: activeTabId, className: "zen-side-panel-filters__tab-header", onTabChange: onTabChange, tabs: tabOptions }), _jsxs("div", { className: "zen-side-panel-filters__content", children: [_jsx("div", { id: `panel-${ALL_SELECT_OPTION_ID}`, className: classNames(["zen-side-panel-filters__tab-content", activeTabId === ALL_SELECT_OPTION_ID ? "zen-side-panel-filters__tab-content--active" : "zen-side-panel-filters__tab-content--hidden"]), role: "tabpanel", "aria-labelledby": ALL_SELECT_OPTION_ID, children: activeTabId === ALL_SELECT_OPTION_ID ? tabsContent : null }), _jsx("div", { id: `panel-${SELECTED_TAB_ID}`, className: classNames(["zen-side-panel-filters__tab-content", activeTabId === SELECTED_TAB_ID ? "zen-side-panel-filters__tab-content--active" : "zen-side-panel-filters__tab-content--hidden"]), role: "tabpanel", "aria-labelledby": SELECTED_TAB_ID, children: activeTabId === SELECTED_TAB_ID ? selectedTabsContent : null })] }), _jsx("div", { className: classNames(["zen-side-panel-filters__footer", isMobile ? "zen-side-panel-filters__footer--mobile" : "", isLongTextLanguages && !isMobile ? "zen-side-panel-filters__footer--long-text" : ""]), children: isMobile ? _jsxs(FooterButtons, { children: [_jsx(Button, { className: "zen-side-panel-filters__apply-button", onClick: handleApplyClick, type: "primary", disabled: errorItems.size > 0, children: translate("Apply") }), _jsx(Button, { className: "zen-side-panel-filters__cancel-button", type: "secondary", onClick: handleCancelClick, children: translate("Cancel") }), _jsx(Button, { className: "zen-side-panel-filters__clear-button", onClick: handleClearClick, type: "tertiary", children: translate("Reset") })] }) : _jsxs(_Fragment, { children: [_jsx("div", { className: "zen-side-panel-filters__footer-section", children: _jsx(Button, { type: "tertiary", className: "zen-side-panel-filters__clear-button", onClick: handleClearClick, children: translate("Reset") }) }), _jsxs("div", { className: "zen-side-panel-filters__footer-section", children: [_jsx(Button, { className: "zen-side-panel-filters__cancel-button", type: "secondary", onClick: handleCancelClick, children: translate("Cancel") }), _jsx(Button, { className: "zen-side-panel-filters__apply-button zen-side-panel-filters__apply-button--desktop", onClick: handleApplyClick, type: "primary", disabled: errorItems.size > 0, children: translate("Apply") })] })] }) })] }) }), (_a = document.fullscreenElement) !== null && _a !== void 0 ? _a : document.body), _jsx(FiltersSaveModal, { className: CUSTOM_POPUP_COMPONENT_CLASSNAME, isOpen: isSaveModalOpen, onClose: toggleSaveModal, onSave: handleSaveFilters })] });
208
- };
329
+ });
330
+ }
331
+ onSave && onSave(filterName, stateForApply);
332
+ }, [externalMode, currentState, onSave, inhibitedFilters]);
333
+ const sidePanelItemChangeHandler = useCallback(id => externalMode ? handleExternalFiltersStateChange(id) : handleInternalFiltersStateChange(id), [externalMode, handleExternalFiltersStateChange, handleInternalFiltersStateChange]);
334
+ const handleErrorCheck = useCallback(id => isError => {
335
+ if (isError && errorItems.has(id) || !isError && !errorItems.has(id)) {
336
+ return;
337
+ }
338
+ const newErrorItems = new Set(errorItems);
339
+ newErrorItems[isError ? "add" : "delete"](id);
340
+ setErrorItems(newErrorItems);
341
+ }, [errorItems]);
342
+ const tabsContent = useMemo(() => filteredCurrentFilters.map(item => _jsx(FiltersSidePanelItem, {
343
+ item: item,
344
+ itemState: currentState[item.props.id],
345
+ changeHandler: sidePanelItemChangeHandler(item.props.id),
346
+ errorCheck: handleErrorCheck(item.props.id)
347
+ }, item.props.id)), [filteredCurrentFilters, currentState, sidePanelItemChangeHandler, handleErrorCheck]);
348
+ const defaultStateObject = useMemo(() => createStateObject(filteredCurrentFilters, "defaultState"), [filteredCurrentFilters]);
349
+ const getSelectedIds = useCallback(() => {
350
+ const selected = [];
351
+ filteredCurrentFilters.forEach(el => {
352
+ const itemState = currentState[el.props.id];
353
+ const defaultState = defaultStateObject[el.props.id];
354
+ if (!isElementsEqual(itemState, defaultState) && !inhibitedFilters.has(el.props.id)) {
355
+ selected.push(el.props.id);
356
+ }
357
+ });
358
+ return selected;
359
+ }, [currentState, defaultStateObject, filteredCurrentFilters, inhibitedFilters]);
360
+ const tabOptions = useMemo(() => [getAllOption(translate), Object.assign(Object.assign({}, getSelectedOption(translate)), {
361
+ quantity: getSelectedIds().length || undefined
362
+ })], [getSelectedIds, translate]);
363
+ const onTabChange = newVal => {
364
+ setActiveTabId(newVal);
365
+ };
366
+ const selectedTabsContent = useMemo(() => selectedIds.length ? filteredCurrentFilters.filter(el => selectedIds.includes(el.props.id)).map(item => _jsx(FiltersSidePanelItem, {
367
+ item: item,
368
+ itemState: currentState[item.props.id],
369
+ changeHandler: sidePanelItemChangeHandler(item.props.id),
370
+ errorCheck: handleErrorCheck(item.props.id)
371
+ }, item.props.id)) : _jsx(FiltersEmptySelectedList, {}), [selectedIds, filteredCurrentFilters, currentState, sidePanelItemChangeHandler, handleErrorCheck]);
372
+ useEffect(() => {
373
+ if (!isOpen) {
374
+ return;
375
+ }
376
+ if (activeTabId === SELECTED_TAB_ID) {
377
+ return;
378
+ }
379
+ setSelectedIds(getSelectedIds());
380
+ }, [activeTabId, getSelectedIds, isOpen]);
381
+ const resetInitialComponentState = useCallback(() => {
382
+ setIsSaveModalOpen(false);
383
+ setActiveTabId(ALL_SELECT_OPTION_ID);
384
+ setFiltersInternalState(createStateObject(filters, "state"));
385
+ setInitialExternalState(externalState);
386
+ setSelectedIds([]);
387
+ setSelectedIds(getSelectedIds());
388
+ }, [externalState, filters, getSelectedIds]);
389
+ useEffect(() => {
390
+ if (isOpen !== prevIsOpenRef.current) {
391
+ prevIsOpenRef.current = isOpen;
392
+ isOpen && resetInitialComponentState();
393
+ }
394
+ }, [isOpen, resetInitialComponentState]);
395
+ const handleHidePanel = useCallback((reason, shieldId) => {
396
+ if (isSaveModalOpen) {
397
+ return;
398
+ }
399
+ if (reason === SidePanelCloseReason.ClickOutside && shieldId === dataShieldId || reason === SidePanelCloseReason.Escape) {
400
+ onClose();
401
+ return;
402
+ }
403
+ }, [isSaveModalOpen, dataShieldId, onClose]);
404
+ return _jsxs(Fragment, {
405
+ children: [_jsx(Shield, {
406
+ className: "zen-high-level-shield",
407
+ dataShieldId: dataShieldId,
408
+ isVisible: isOpen
409
+ }), createPortal(_jsx(SidePanel, {
410
+ triggerRef: triggerRef,
411
+ isOpen: isOpen,
412
+ label: translate("All Filters"),
413
+ onHidePanel: handleHidePanel,
414
+ className: classNames(["zen-side-panel-filters", dark ? "zen-dark" : ""]),
415
+ onTransitionEnd: handleReadyForFocus,
416
+ children: _jsxs("div", {
417
+ className: "zen-side-panel-filters-wrapper",
418
+ children: [_jsxs("div", {
419
+ className: "zen-side-panel-filters__header",
420
+ children: [_jsx("div", {
421
+ className: "zen-side-panel-filters__title-wrapper",
422
+ children: _jsx("div", {
423
+ className: "zen-side-panel-filters__title zen-ellipsis",
424
+ children: translate("All Filters")
425
+ })
426
+ }), _jsxs("div", {
427
+ className: "zen-side-panel-filters__header-buttons",
428
+ children: [onSave && _jsx(Button, {
429
+ type: "tertiary",
430
+ ref: saveButtonRef,
431
+ className: "zen-side-panel-filters__save-button zen-side-panel-filters__header-button",
432
+ title: translate("Save"),
433
+ "aria-label": translate("Save"),
434
+ onClick: toggleSaveModal,
435
+ children: _jsx(IconDisk, {
436
+ description: translate("Save"),
437
+ className: "svgIcon",
438
+ size: iconDriveClassName ? "huge" : "large"
439
+ })
440
+ }), onPin && _jsx(Button, {
441
+ type: "tertiary",
442
+ className: classNames(["zen-side-panel-filters__pin-button", isPinned ? "zen-side-panel-filters__header-button--active" : "", "zen-side-panel-filters__header-button"]),
443
+ title: translate("Pin"),
444
+ "aria-label": translate("Pin"),
445
+ onClick: onPin,
446
+ children: _jsx(IconPin2, {
447
+ description: translate("Pin"),
448
+ className: "svgIcon",
449
+ size: iconDriveClassName ? "huge" : "large"
450
+ })
451
+ }), _jsx(TextIconButton, {
452
+ type: "tertiary-black",
453
+ className: "zen-side-panel-filters__close-button",
454
+ icon: IconClose,
455
+ iconSize: "large",
456
+ onClick: externalMode ? handleExternalModeClose : onClose,
457
+ iconPosition: ButtonIconPosition.Start,
458
+ title: translate("Close")
459
+ })]
460
+ })]
461
+ }), _jsx(Tabs, {
462
+ activeTabId: activeTabId,
463
+ className: "zen-side-panel-filters__tab-header",
464
+ onTabChange: onTabChange,
465
+ tabs: tabOptions
466
+ }), _jsxs("div", {
467
+ className: "zen-side-panel-filters__content",
468
+ children: [_jsx("div", {
469
+ id: `panel-${ALL_SELECT_OPTION_ID}`,
470
+ className: classNames(["zen-side-panel-filters__tab-content", activeTabId === ALL_SELECT_OPTION_ID ? "zen-side-panel-filters__tab-content--active" : "zen-side-panel-filters__tab-content--hidden"]),
471
+ role: "tabpanel",
472
+ "aria-labelledby": ALL_SELECT_OPTION_ID,
473
+ children: activeTabId === ALL_SELECT_OPTION_ID ? tabsContent : null
474
+ }), _jsx("div", {
475
+ id: `panel-${SELECTED_TAB_ID}`,
476
+ className: classNames(["zen-side-panel-filters__tab-content", activeTabId === SELECTED_TAB_ID ? "zen-side-panel-filters__tab-content--active" : "zen-side-panel-filters__tab-content--hidden"]),
477
+ role: "tabpanel",
478
+ "aria-labelledby": SELECTED_TAB_ID,
479
+ children: activeTabId === SELECTED_TAB_ID ? selectedTabsContent : null
480
+ })]
481
+ }), _jsx("div", {
482
+ className: classNames(["zen-side-panel-filters__footer", isMobile ? "zen-side-panel-filters__footer--mobile" : "", isLongTextLanguages && !isMobile ? "zen-side-panel-filters__footer--long-text" : ""]),
483
+ children: isMobile ? _jsxs(FooterButtons, {
484
+ children: [_jsx(Button, {
485
+ className: "zen-side-panel-filters__apply-button",
486
+ onClick: handleApplyClick,
487
+ type: "primary",
488
+ disabled: errorItems.size > 0,
489
+ children: translate("Apply")
490
+ }), _jsx(Button, {
491
+ className: "zen-side-panel-filters__cancel-button",
492
+ type: "secondary",
493
+ onClick: handleCancelClick,
494
+ children: translate("Cancel")
495
+ }), _jsx(Button, {
496
+ className: "zen-side-panel-filters__clear-button",
497
+ onClick: handleClearClick,
498
+ type: "tertiary",
499
+ children: translate("Reset")
500
+ })]
501
+ }) : _jsxs(_Fragment, {
502
+ children: [_jsx("div", {
503
+ className: "zen-side-panel-filters__footer-section",
504
+ children: _jsx(Button, {
505
+ type: "tertiary",
506
+ className: "zen-side-panel-filters__clear-button",
507
+ onClick: handleClearClick,
508
+ children: translate("Reset")
509
+ })
510
+ }), _jsxs("div", {
511
+ className: "zen-side-panel-filters__footer-section",
512
+ children: [_jsx(Button, {
513
+ className: "zen-side-panel-filters__cancel-button",
514
+ type: "secondary",
515
+ onClick: handleCancelClick,
516
+ children: translate("Cancel")
517
+ }), _jsx(Button, {
518
+ className: "zen-side-panel-filters__apply-button zen-side-panel-filters__apply-button--desktop",
519
+ onClick: handleApplyClick,
520
+ type: "primary",
521
+ disabled: errorItems.size > 0,
522
+ children: translate("Apply")
523
+ })]
524
+ })]
525
+ })
526
+ })]
527
+ })
528
+ }), (_a = document.fullscreenElement) !== null && _a !== void 0 ? _a : document.body), _jsx(FiltersSaveModal, {
529
+ className: CUSTOM_POPUP_COMPONENT_CLASSNAME,
530
+ isOpen: isSaveModalOpen,
531
+ onClose: toggleSaveModal,
532
+ onSave: handleSaveFilters
533
+ })]
534
+ });
535
+ };