@geotab/zenith 3.1.1-beta.6 → 3.2.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) 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 +173 -59
  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/components/filtersSidePanelDropdown.js +2 -2
  73. package/dist/filters/filters.js +445 -268
  74. package/dist/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +729 -272
  75. package/dist/filtersBar/components/resetComponentButton.js +45 -5
  76. package/dist/filtersBar/filtersBarActions/filtersBarActions.js +126 -15
  77. package/dist/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRadioGroup/filtersBarSidePanelRadioGroup.js +2 -2
  78. package/dist/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +155 -49
  79. package/dist/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +360 -104
  80. package/dist/filtersBar/filtersContainer/filtersContainer.js +204 -134
  81. package/dist/formField/components/formFieldWithLabel.d.ts +2 -1
  82. package/dist/formField/components/formFieldWithLabel.js +3 -2
  83. package/dist/formField/components/formFieldWithoutLabel.d.ts +2 -1
  84. package/dist/formField/components/formFieldWithoutLabel.js +3 -3
  85. package/dist/formField/components/trailingComponent.d.ts +8 -0
  86. package/dist/formField/components/trailingComponent.js +11 -0
  87. package/dist/formField/formField.js +26 -11
  88. package/dist/formField/hooks/useError.js +100 -36
  89. package/dist/formGroup/components/reviewListToggle/reviewListToggle.js +72 -7
  90. package/dist/formGroup/hooks/useToggle.js +37 -11
  91. package/dist/formGroup/utils/getControls.js +8 -7
  92. package/dist/formLayout/hooks/useError.js +55 -15
  93. package/dist/formLayout/hooks/useFormButtons.js +128 -27
  94. package/dist/formSection/components/formSectionModal.js +1 -1
  95. package/dist/formSection/formSection.js +1 -1
  96. package/dist/formSection/hooks/useError.js +70 -22
  97. package/dist/formStepper/components/formStep.js +65 -10
  98. package/dist/formStepper/formStepper.js +129 -33
  99. package/dist/formStepperButtons/formStepperButtons.js +184 -38
  100. package/dist/groupsFilter/groupsHelper.d.ts +1 -1
  101. package/dist/groupsFilterRaw/groupsFilterAdjustmentState.js +162 -17
  102. package/dist/groupsFilterRaw/groupsFilterBox.js +137 -32
  103. package/dist/groupsFilterRaw/groupsFilterCommon.js +75 -8
  104. package/dist/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +184 -25
  105. package/dist/groupsFilterRaw/groupsFilterHelper.d.ts +2 -1
  106. package/dist/groupsFilterRaw/groupsFilterHelper.js +284 -168
  107. package/dist/groupsFilterRaw/groupsFilterInitialState.js +266 -18
  108. package/dist/groupsFilterRaw/groupsFilterMenu.js +124 -9
  109. package/dist/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  110. package/dist/groupsFilterRaw/groupsFilterRaw.js +816 -308
  111. package/dist/groupsFilterRaw/groupsFilterTestData.d.ts +155 -2
  112. package/dist/groupsFilterRaw/groupsFilterTestData.js +153 -58
  113. package/dist/groupsFilterRaw/groupsFilterTrigger.js +139 -35
  114. package/dist/groupsFilterRaw/groupsHelper.js +739 -208
  115. package/dist/groupsFilterRaw/stateReducer/stateReducerHelper.js +3 -1
  116. package/dist/groupsFilterRaw/types.d.ts +1 -0
  117. package/dist/header/components/collapsedItemsControl/collapsedItemsControl.js +107 -52
  118. package/dist/header/components/mobileFilterControl/mobileFilterControl.js +62 -9
  119. package/dist/header/components/mobileSearchControl/mobileSearchControl.js +119 -14
  120. package/dist/header/headerBack.js +64 -20
  121. package/dist/index.css +116 -74
  122. package/dist/index.d.ts +1 -0
  123. package/dist/index.js +4 -1
  124. package/dist/list/itemData/itemDataInternal.js +216 -51
  125. package/dist/list/listItem/listItem.js +168 -55
  126. package/dist/menu/components/menuErrorItem.js +33 -5
  127. package/dist/mobileSheet/mobileSheet.js +195 -69
  128. package/dist/modal/modal.js +300 -142
  129. package/dist/nav/nav.js +1 -1
  130. package/dist/nav/navFooter/navFooter.js +82 -39
  131. package/dist/nav/navFooter/navFooterAction/navFooterAction.js +52 -13
  132. package/dist/nav/navHeader/navHeader.js +86 -36
  133. package/dist/nav/navHeader/navHeaderSearch/navHeaderSearch.js +88 -29
  134. package/dist/nav/navItem/navItem.d.ts +3 -3
  135. package/dist/nav/navItem/navItem.js +35 -33
  136. package/dist/nav/navMobileBar/navMobileBar.js +67 -21
  137. package/dist/notification/notification.js +124 -21
  138. package/dist/pagination/paginationArrow.js +81 -11
  139. package/dist/pagination/paginationText/paginationText.js +45 -11
  140. package/dist/pill/components/pillNonActionable/pillNonActionable.js +93 -24
  141. package/dist/pillBox/components/pillBoxItem.js +52 -9
  142. package/dist/pillBox/pillBox.js +121 -20
  143. package/dist/pillExpandable/pillExpandable.js +333 -139
  144. package/dist/rangeRaw/rangeRaw.js +486 -141
  145. package/dist/rangeRaw/utils/rangeHelper.js +209 -39
  146. package/dist/searchInputRaw/searchInputRaw.js +180 -65
  147. package/dist/skeleton/skeleton.js +51 -6
  148. package/dist/sortControl/sortControl.js +152 -42
  149. package/dist/stepperRaw/stepperRaw.js +116 -42
  150. package/dist/summary/summary.js +94 -8
  151. package/dist/table/actions/actionsMenu.js +171 -78
  152. package/dist/table/flexible/columnSettings.js +80 -10
  153. package/dist/table/flexible/columnsList.js +110 -43
  154. package/dist/table/flexible/columnsPopup.js +77 -20
  155. package/dist/table/nested/useNestedRows.js +167 -77
  156. package/dist/table/selectable/selectableHeader.js +180 -41
  157. package/dist/table/selectable/useSelectableRows.js +270 -191
  158. package/dist/table/sortable/sortableHeader.js +153 -75
  159. package/dist/tabs/tabs.js +227 -118
  160. package/dist/timePickerRaw/timePickerRaw.js +278 -58
  161. package/dist/toastRaw/toastRaw.js +138 -32
  162. package/dist/toggleButton/toggleButton.d.ts +0 -1
  163. package/dist/toggleButtonRaw/toggleButtonRaw.d.ts +1 -0
  164. package/dist/toggleButtonRaw/toggleButtonRaw.js +146 -40
  165. package/dist/utils/formatDate.js +1001 -117
  166. package/{esm/utils/localization/translations/cs-json.js → dist/utils/localization/translations/cs.json} +11 -12
  167. package/{esm/utils/localization/translations/da-DK-json.js → dist/utils/localization/translations/da-DK.json} +31 -23
  168. package/{esm/utils/localization/translations/de-json.js → dist/utils/localization/translations/de.json} +12 -13
  169. package/dist/utils/localization/translations/en.json +308 -0
  170. package/{esm/utils/localization/translations/es-json.js → dist/utils/localization/translations/es.json} +11 -12
  171. package/{esm/utils/localization/translations/fi-FI-json.js → dist/utils/localization/translations/fi-FI.json} +31 -23
  172. package/{esm/utils/localization/translations/fr-FR-json.js → dist/utils/localization/translations/fr-FR.json} +12 -12
  173. package/{esm/utils/localization/translations/fr-json.js → dist/utils/localization/translations/fr.json} +11 -12
  174. package/{esm/utils/localization/translations/hu-HU-json.js → dist/utils/localization/translations/hu-HU.json} +31 -23
  175. package/{esm/utils/localization/translations/id-json.js → dist/utils/localization/translations/id.json} +11 -13
  176. package/{esm/utils/localization/translations/it-json.js → dist/utils/localization/translations/it.json} +11 -12
  177. package/{esm/utils/localization/translations/ja-json.js → dist/utils/localization/translations/ja.json} +11 -12
  178. package/{esm/utils/localization/translations/ko-KR-json.js → dist/utils/localization/translations/ko-KR.json} +24 -23
  179. package/{esm/utils/localization/translations/ms-json.js → dist/utils/localization/translations/ms.json} +11 -12
  180. package/{esm/utils/localization/translations/nb-NO-json.js → dist/utils/localization/translations/nb-NO.json} +31 -23
  181. package/{esm/utils/localization/translations/nl-json.js → dist/utils/localization/translations/nl.json} +11 -12
  182. package/{esm/utils/localization/translations/pl-json.js → dist/utils/localization/translations/pl.json} +11 -12
  183. package/{esm/utils/localization/translations/pt-BR-json.js → dist/utils/localization/translations/pt-BR.json} +11 -12
  184. package/{esm/utils/localization/translations/sk-SK-json.js → dist/utils/localization/translations/sk-SK.json} +31 -23
  185. package/{esm/utils/localization/translations/sv-json.js → dist/utils/localization/translations/sv.json} +11 -12
  186. package/{esm/utils/localization/translations/th-json.js → dist/utils/localization/translations/th.json} +11 -12
  187. package/{esm/utils/localization/translations/tr-json.js → dist/utils/localization/translations/tr.json} +11 -12
  188. package/{esm/utils/localization/translations/zh-Hans-json.js → dist/utils/localization/translations/zh-Hans.json} +11 -12
  189. package/{esm/utils/localization/translations/zh-TW-json.js → dist/utils/localization/translations/zh-TW.json} +11 -23
  190. package/dist/utils/localization/translationsDictionary.d.ts +2 -0
  191. package/dist/utils/localization/translationsDictionary.js +63 -0
  192. package/dist/utils/localization/useLanguage.js +2 -74
  193. package/esm/advancedGroupsFilter/advancedGroupsFilter.js +130 -29
  194. package/esm/advancedGroupsFilter/advancedGroupsFilterForm.js +133 -33
  195. package/esm/advancedGroupsFilter/advancedGroupsFilterFormSection.js +317 -65
  196. package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.d.ts +0 -1
  197. package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +77 -8
  198. package/esm/alertRaw/alertRaw.js +165 -51
  199. package/esm/banner/bannerMultipLine.js +121 -20
  200. package/esm/banner/bannerSingleLine.js +100 -13
  201. package/esm/betaPill/betaPill.js +105 -19
  202. package/esm/bookmark/bookmark.js +89 -27
  203. package/esm/bulkEditControl/bulkEditControl.js +161 -33
  204. package/esm/calendar/calendar.js +937 -272
  205. package/esm/calendar/calendarUtils.js +151 -84
  206. package/esm/card/card.js +233 -101
  207. package/esm/chart/accessibleChart/accessibleChartNarrative.js +642 -554
  208. package/esm/chart/accessibleChart/accessibleChartTable.js +239 -85
  209. package/esm/chart/chart.js +30 -20
  210. package/esm/chart/chartAxis/chartAxis.js +79 -6
  211. package/esm/checkboxListWithAction/checkboxListWithAction.js +218 -68
  212. package/esm/chip/chip.js +189 -90
  213. package/esm/columnsSelector/columnsSelector.js +91 -11
  214. package/esm/columnsSelector/columnsTab/columnsTab.js +53 -14
  215. package/esm/columnsSelector/columnsTabGroup/columnsTabGroup.js +75 -33
  216. package/esm/comboboxSelected/comboboxSelected.js +1 -3
  217. package/esm/dataFeed/feedExpandControl/feedExpandControl.js +21 -9
  218. package/esm/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +86 -10
  219. package/esm/dataGrid/dataGrid.js +221 -116
  220. package/esm/dataGrid/emptySearchList/emptySearchList.js +50 -8
  221. package/esm/dataGrid/entitiesListActions/actions/columnsListButton.js +45 -6
  222. package/esm/dataGrid/entitiesListActions/actions/fullscreenButton.js +58 -17
  223. package/esm/dataGrid/withFlexibleColumns/components/columnSettings.js +78 -9
  224. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +44 -15
  225. package/esm/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +217 -31
  226. package/esm/dataGrid/withSelectableRows/withSelectableRows.js +280 -212
  227. package/esm/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +172 -94
  228. package/esm/dateInputInner/dateInputInner.js +785 -475
  229. package/esm/dateInputInner/dateInputInnerControlBlock.js +119 -21
  230. package/esm/dateInputRaw/dateInputRaw.js +309 -103
  231. package/esm/dateInputRaw/utils/getLabel.js +32 -6
  232. package/esm/dateRangeInner/dateRangeInner.js +167 -58
  233. package/esm/dateRangeRaw/dateRangeRaw.js +595 -238
  234. package/esm/dateRangeRaw/utils/dateRangeUtils.js +622 -239
  235. package/esm/dateSelectionWrapper/dateSelectionWrapper.js +146 -13
  236. package/esm/dialog/dialogContent.js +117 -39
  237. package/esm/dropdownRaw/dropdownHelper.d.ts +2 -2
  238. package/esm/dropdownRaw/dropdownHelper.js +10 -10
  239. package/esm/dropdownRaw/dropdownList.js +412 -56
  240. package/esm/dropdownRaw/dropdownPopup.js +212 -19
  241. package/esm/dropdownRaw/dropdownRaw.js +862 -507
  242. package/esm/dropdownRaw/dropdownSearchableTrigger.js +217 -45
  243. package/esm/dropdownRaw/stateReducer/stateAction.d.ts +5 -1
  244. package/esm/dropdownRaw/stateReducer/stateActionType.d.ts +2 -1
  245. package/esm/dropdownRaw/stateReducer/stateActionType.js +1 -0
  246. package/esm/dropdownRaw/stateReducer/stateReducer.d.ts +6 -1
  247. package/esm/dropdownRaw/stateReducer/stateReducer.js +24 -12
  248. package/esm/dropdownRaw/stateReducer/stateReducerHelper.d.ts +2 -0
  249. package/esm/dropdownRaw/stateReducer/stateReducerHelper.js +18 -0
  250. package/esm/dropdownRaw/stateReducer/stateReducerTestData.d.ts +39 -0
  251. package/esm/dropdownRaw/stateReducer/stateReducerTestData.js +71 -0
  252. package/esm/dropdownRaw/types.d.ts +1 -0
  253. package/esm/favoriteButton/favoriteButton.js +53 -9
  254. package/esm/filters/components/filtersContainer.js +141 -61
  255. package/esm/filters/components/filtersEmptySelectedList.js +24 -3
  256. package/esm/filters/components/filtersSaveModal.js +134 -41
  257. package/esm/filters/components/filtersSavedChipComponent.js +312 -107
  258. package/esm/filters/components/filtersSearchItemData.js +121 -46
  259. package/esm/filters/components/filtersSearchList.js +375 -178
  260. package/esm/filters/components/filtersSelect.js +122 -60
  261. package/esm/filters/components/filtersSelectListItem.js +119 -12
  262. package/esm/filters/components/filtersSidePanel.js +504 -177
  263. package/esm/filters/components/filtersSidePanelDropdown.js +2 -2
  264. package/esm/filters/filters.js +435 -265
  265. package/esm/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +722 -270
  266. package/esm/filtersBar/components/resetComponentButton.js +39 -4
  267. package/esm/filtersBar/filtersBarActions/filtersBarActions.js +120 -14
  268. package/esm/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRadioGroup/filtersBarSidePanelRadioGroup.js +2 -2
  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.js +27 -12
  279. package/esm/formField/hooks/useError.js +94 -35
  280. package/esm/formGroup/components/reviewListToggle/reviewListToggle.js +66 -6
  281. package/esm/formGroup/hooks/useToggle.js +31 -10
  282. package/esm/formGroup/utils/getControls.js +8 -7
  283. package/esm/formLayout/hooks/useError.js +49 -14
  284. package/esm/formLayout/hooks/useFormButtons.js +122 -26
  285. package/esm/formSection/components/formSectionModal.js +1 -1
  286. package/esm/formSection/formSection.js +1 -1
  287. package/esm/formSection/hooks/useError.js +64 -21
  288. package/esm/formStepper/components/formStep.js +59 -9
  289. package/esm/formStepper/formStepper.js +123 -32
  290. package/esm/formStepperButtons/formStepperButtons.js +178 -37
  291. package/esm/groupsFilter/groupsHelper.d.ts +1 -1
  292. package/esm/groupsFilterRaw/groupsFilterAdjustmentState.js +152 -14
  293. package/esm/groupsFilterRaw/groupsFilterBox.js +131 -31
  294. package/esm/groupsFilterRaw/groupsFilterCommon.js +69 -7
  295. package/esm/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +178 -24
  296. package/esm/groupsFilterRaw/groupsFilterHelper.d.ts +2 -1
  297. package/esm/groupsFilterRaw/groupsFilterHelper.js +279 -168
  298. package/esm/groupsFilterRaw/groupsFilterInitialState.js +260 -17
  299. package/esm/groupsFilterRaw/groupsFilterMenu.js +118 -8
  300. package/esm/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  301. package/esm/groupsFilterRaw/groupsFilterRaw.js +811 -308
  302. package/esm/groupsFilterRaw/groupsFilterTestData.d.ts +155 -2
  303. package/esm/groupsFilterRaw/groupsFilterTestData.js +152 -57
  304. package/esm/groupsFilterRaw/groupsFilterTrigger.js +133 -34
  305. package/esm/groupsFilterRaw/groupsHelper.js +733 -207
  306. package/esm/groupsFilterRaw/stateReducer/stateReducerHelper.js +3 -1
  307. package/esm/groupsFilterRaw/types.d.ts +1 -0
  308. package/esm/header/components/collapsedItemsControl/collapsedItemsControl.js +101 -51
  309. package/esm/header/components/mobileFilterControl/mobileFilterControl.js +56 -8
  310. package/esm/header/components/mobileSearchControl/mobileSearchControl.js +113 -13
  311. package/esm/header/headerBack.js +58 -19
  312. package/esm/index.d.ts +1 -0
  313. package/esm/index.js +1 -0
  314. package/esm/list/itemData/itemDataInternal.js +210 -50
  315. package/esm/list/listItem/listItem.js +162 -54
  316. package/esm/menu/components/menuErrorItem.js +27 -4
  317. package/esm/mobileSheet/mobileSheet.js +189 -68
  318. package/esm/modal/modal.js +265 -120
  319. package/esm/nav/nav.js +1 -1
  320. package/esm/nav/navFooter/navFooter.js +76 -38
  321. package/esm/nav/navFooter/navFooterAction/navFooterAction.js +46 -12
  322. package/esm/nav/navHeader/navHeader.js +80 -35
  323. package/esm/nav/navHeader/navHeaderSearch/navHeaderSearch.js +82 -28
  324. package/esm/nav/navItem/navItem.d.ts +3 -3
  325. package/esm/nav/navItem/navItem.js +35 -33
  326. package/esm/nav/navMobileBar/navMobileBar.js +61 -20
  327. package/esm/notification/notification.js +114 -18
  328. package/esm/pagination/paginationArrow.js +75 -10
  329. package/esm/pagination/paginationText/paginationText.js +39 -10
  330. package/esm/pill/components/pillNonActionable/pillNonActionable.js +87 -23
  331. package/esm/pillBox/components/pillBoxItem.js +46 -8
  332. package/esm/pillBox/pillBox.js +115 -19
  333. package/esm/pillExpandable/pillExpandable.js +327 -138
  334. package/esm/rangeRaw/rangeRaw.js +480 -140
  335. package/esm/rangeRaw/utils/rangeHelper.js +203 -38
  336. package/esm/searchInputRaw/searchInputRaw.js +145 -43
  337. package/esm/skeleton/skeleton.js +45 -5
  338. package/esm/sortControl/sortControl.js +146 -41
  339. package/esm/stepperRaw/stepperRaw.js +112 -41
  340. package/esm/storybookHelpers/dataGridWithDifferentCellOptions/components/EntitiesListAction.js +178 -19
  341. package/esm/summary/summary.js +88 -7
  342. package/esm/table/actions/actionsMenu.js +165 -77
  343. package/esm/table/flexible/columnSettings.js +74 -9
  344. package/esm/table/flexible/columnsList.js +104 -42
  345. package/esm/table/flexible/columnsPopup.js +71 -19
  346. package/esm/table/nested/useNestedRows.js +161 -76
  347. package/esm/table/selectable/selectableHeader.js +174 -40
  348. package/esm/table/selectable/useSelectableRows.js +264 -190
  349. package/esm/table/sortable/sortableHeader.js +147 -74
  350. package/esm/tabs/tabs.js +221 -117
  351. package/esm/timePickerRaw/timePickerRaw.js +272 -57
  352. package/esm/toastRaw/toastRaw.js +132 -31
  353. package/esm/toggleButton/toggleButton.d.ts +0 -1
  354. package/esm/toggleButtonRaw/toggleButtonRaw.d.ts +1 -0
  355. package/esm/toggleButtonRaw/toggleButtonRaw.js +111 -18
  356. package/esm/utils/formatDate.js +995 -116
  357. package/{dist/utils/localization/translations/cs-json.js → esm/utils/localization/translations/cs.json} +11 -15
  358. package/{dist/utils/localization/translations/da-DK-json.js → esm/utils/localization/translations/da-DK.json} +31 -26
  359. package/{dist/utils/localization/translations/de-json.js → esm/utils/localization/translations/de.json} +12 -16
  360. package/esm/utils/localization/translations/en.json +308 -0
  361. package/{dist/utils/localization/translations/es-json.js → esm/utils/localization/translations/es.json} +11 -15
  362. package/{dist/utils/localization/translations/fi-FI-json.js → esm/utils/localization/translations/fi-FI.json} +31 -26
  363. package/{dist/utils/localization/translations/fr-FR-json.js → esm/utils/localization/translations/fr-FR.json} +12 -15
  364. package/{dist/utils/localization/translations/fr-json.js → esm/utils/localization/translations/fr.json} +11 -15
  365. package/{dist/utils/localization/translations/hu-HU-json.js → esm/utils/localization/translations/hu-HU.json} +31 -26
  366. package/{dist/utils/localization/translations/id-json.js → esm/utils/localization/translations/id.json} +11 -16
  367. package/{dist/utils/localization/translations/it-json.js → esm/utils/localization/translations/it.json} +11 -15
  368. package/{dist/utils/localization/translations/ja-json.js → esm/utils/localization/translations/ja.json} +11 -15
  369. package/{dist/utils/localization/translations/ko-KR-json.js → esm/utils/localization/translations/ko-KR.json} +24 -26
  370. package/{dist/utils/localization/translations/ms-json.js → esm/utils/localization/translations/ms.json} +11 -15
  371. package/{dist/utils/localization/translations/nb-NO-json.js → esm/utils/localization/translations/nb-NO.json} +31 -26
  372. package/{dist/utils/localization/translations/nl-json.js → esm/utils/localization/translations/nl.json} +11 -15
  373. package/{dist/utils/localization/translations/pl-json.js → esm/utils/localization/translations/pl.json} +11 -15
  374. package/{dist/utils/localization/translations/pt-BR-json.js → esm/utils/localization/translations/pt-BR.json} +11 -15
  375. package/{dist/utils/localization/translations/sk-SK-json.js → esm/utils/localization/translations/sk-SK.json} +31 -26
  376. package/{dist/utils/localization/translations/sv-json.js → esm/utils/localization/translations/sv.json} +11 -15
  377. package/{dist/utils/localization/translations/th-json.js → esm/utils/localization/translations/th.json} +11 -15
  378. package/{dist/utils/localization/translations/tr-json.js → esm/utils/localization/translations/tr.json} +11 -15
  379. package/{dist/utils/localization/translations/zh-Hans-json.js → esm/utils/localization/translations/zh-Hans.json} +11 -15
  380. package/{dist/utils/localization/translations/zh-TW-json.js → esm/utils/localization/translations/zh-TW.json} +11 -26
  381. package/esm/utils/localization/translationsDictionary.d.ts +2 -0
  382. package/esm/utils/localization/translationsDictionary.js +59 -0
  383. package/esm/utils/localization/useLanguage.js +1 -50
  384. package/package.json +19 -12
  385. package/dist/utils/localization/translations/cs-json.d.ts +0 -251
  386. package/dist/utils/localization/translations/da-DK-json.d.ts +0 -252
  387. package/dist/utils/localization/translations/de-json.d.ts +0 -251
  388. package/dist/utils/localization/translations/en-json.d.ts +0 -314
  389. package/dist/utils/localization/translations/en-json.js +0 -317
  390. package/dist/utils/localization/translations/es-json.d.ts +0 -251
  391. package/dist/utils/localization/translations/fi-FI-json.d.ts +0 -252
  392. package/dist/utils/localization/translations/fr-FR-json.d.ts +0 -250
  393. package/dist/utils/localization/translations/fr-json.d.ts +0 -251
  394. package/dist/utils/localization/translations/hu-HU-json.d.ts +0 -252
  395. package/dist/utils/localization/translations/id-json.d.ts +0 -252
  396. package/dist/utils/localization/translations/it-json.d.ts +0 -251
  397. package/dist/utils/localization/translations/ja-json.d.ts +0 -251
  398. package/dist/utils/localization/translations/ko-KR-json.d.ts +0 -258
  399. package/dist/utils/localization/translations/ms-json.d.ts +0 -251
  400. package/dist/utils/localization/translations/nb-NO-json.d.ts +0 -252
  401. package/dist/utils/localization/translations/nl-json.d.ts +0 -251
  402. package/dist/utils/localization/translations/pl-json.d.ts +0 -251
  403. package/dist/utils/localization/translations/pt-BR-json.d.ts +0 -251
  404. package/dist/utils/localization/translations/sk-SK-json.d.ts +0 -251
  405. package/dist/utils/localization/translations/sv-json.d.ts +0 -251
  406. package/dist/utils/localization/translations/th-json.d.ts +0 -251
  407. package/dist/utils/localization/translations/tr-json.d.ts +0 -251
  408. package/dist/utils/localization/translations/zh-Hans-json.d.ts +0 -251
  409. package/dist/utils/localization/translations/zh-TW-json.d.ts +0 -271
  410. package/esm/utils/localization/translations/cs-json.d.ts +0 -251
  411. package/esm/utils/localization/translations/da-DK-json.d.ts +0 -252
  412. package/esm/utils/localization/translations/de-json.d.ts +0 -251
  413. package/esm/utils/localization/translations/en-json.d.ts +0 -314
  414. package/esm/utils/localization/translations/en-json.js +0 -314
  415. package/esm/utils/localization/translations/es-json.d.ts +0 -251
  416. package/esm/utils/localization/translations/fi-FI-json.d.ts +0 -252
  417. package/esm/utils/localization/translations/fr-FR-json.d.ts +0 -250
  418. package/esm/utils/localization/translations/fr-json.d.ts +0 -251
  419. package/esm/utils/localization/translations/hu-HU-json.d.ts +0 -252
  420. package/esm/utils/localization/translations/id-json.d.ts +0 -252
  421. package/esm/utils/localization/translations/it-json.d.ts +0 -251
  422. package/esm/utils/localization/translations/ja-json.d.ts +0 -251
  423. package/esm/utils/localization/translations/ko-KR-json.d.ts +0 -258
  424. package/esm/utils/localization/translations/ms-json.d.ts +0 -251
  425. package/esm/utils/localization/translations/nb-NO-json.d.ts +0 -252
  426. package/esm/utils/localization/translations/nl-json.d.ts +0 -251
  427. package/esm/utils/localization/translations/pl-json.d.ts +0 -251
  428. package/esm/utils/localization/translations/pt-BR-json.d.ts +0 -251
  429. package/esm/utils/localization/translations/sk-SK-json.d.ts +0 -251
  430. package/esm/utils/localization/translations/sv-json.d.ts +0 -251
  431. package/esm/utils/localization/translations/th-json.d.ts +0 -251
  432. package/esm/utils/localization/translations/tr-json.d.ts +0 -251
  433. package/esm/utils/localization/translations/zh-Hans-json.d.ts +0 -251
  434. package/esm/utils/localization/translations/zh-TW-json.d.ts +0 -271
@@ -1,5 +1,11 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ const {
4
+ injectString
5
+ } = require("../utils/localization/translationsDictionary");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
3
9
  exports.FavoriteButton = void 0;
4
10
  const jsx_runtime_1 = require("react/jsx-runtime");
5
11
  const react_1 = require("react");
@@ -7,15 +13,58 @@ const classNames_1 = require("../commonHelpers/classNames/classNames");
7
13
  const iconStar_1 = require("../icons/iconStar");
8
14
  const iconStarFilled_1 = require("../icons/iconStarFilled");
9
15
  const useLanguage_1 = require("../utils/localization/useLanguage");
16
+ injectString("cs", "Favorite", "Obl\xEDben\xE9");
17
+ injectString("da-DK", "Favorite", "Favorit");
18
+ injectString("de", "Favorite", "Favorit");
19
+ injectString("en", "Favorite", "Favorite");
20
+ injectString("es", "Favorite", "Favorito");
21
+ injectString("fi-FI", "Favorite", "Suosikki");
22
+ injectString("fr", "Favorite", "Favori");
23
+ injectString("fr-FR", "Favorite", "Favori");
24
+ injectString("hu-HU", "Favorite", "Kedvenc");
25
+ injectString("id", "Favorite", "Favorit");
26
+ injectString("it", "Favorite", "Preferito");
27
+ injectString("ja", "Favorite", "\u304A\u6C17\u306B\u5165\u308A");
28
+ injectString("ko-KR", "Favorite", "\uC990\uACA8\uCC3E\uAE30");
29
+ injectString("ms", "Favorite", "Kegemaran");
30
+ injectString("nb-NO", "Favorite", "Favoritt");
31
+ injectString("nl", "Favorite", "Favoriet");
32
+ injectString("pl", "Favorite", "Ulubione");
33
+ injectString("pt-BR", "Favorite", "Favorito");
34
+ injectString("sk-SK", "Favorite", "Ob\u013E\xFAben\xE9");
35
+ injectString("sv", "Favorite", "Favorit");
36
+ injectString("th", "Favorite", "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E42\u0E1B\u0E23\u0E14");
37
+ injectString("tr", "Favorite", "Favori");
38
+ injectString("zh-Hans", "Favorite", "\u6536\u85CF");
39
+ injectString("zh-TW", "Favorite", "\u6211\u7684\u6700\u611B");
10
40
  const useDriveClassName_1 = require("../utils/theme/useDriveClassName");
11
41
  const useDrive_1 = require("../utils/theme/useDrive");
12
- const FavoriteButton = ({ isFavorite, onChange, className }) => {
13
- const { translate } = (0, useLanguage_1.useLanguage)();
14
- const driveClassName = (0, useDriveClassName_1.useDriveClassName)("zen-favorite-button");
15
- const isDrive = (0, useDrive_1.useDrive)();
16
- const iconSize = (0, react_1.useMemo)(() => isDrive ? "huge" : "large", [isDrive]);
17
- const filledClassName = isFavorite ? "zen-favorite-button--filled" : "";
18
- const onClick = (0, react_1.useCallback)(() => onChange(!isFavorite), [isFavorite, onChange]);
19
- return ((0, jsx_runtime_1.jsxs)("button", { onClick: onClick, className: (0, classNames_1.classNames)(["zen-favorite-button", driveClassName || "", filledClassName, className || ""]), title: translate("Favorite"), "aria-label": translate("Favorite"), "aria-pressed": isFavorite, children: [(0, jsx_runtime_1.jsx)(iconStar_1.IconStar, { size: iconSize, className: "zen-favorite-button__empty" }), (0, jsx_runtime_1.jsx)(iconStarFilled_1.IconStarFilled, { size: iconSize, className: "zen-favorite-button__filled" })] }));
42
+ const FavoriteButton = ({
43
+ isFavorite,
44
+ onChange,
45
+ className
46
+ }) => {
47
+ const {
48
+ translate
49
+ } = (0, useLanguage_1.useLanguage)();
50
+ const driveClassName = (0, useDriveClassName_1.useDriveClassName)("zen-favorite-button");
51
+ const isDrive = (0, useDrive_1.useDrive)();
52
+ const iconSize = (0, react_1.useMemo)(() => isDrive ? "huge" : "large", [isDrive]);
53
+ const filledClassName = isFavorite ? "zen-favorite-button--filled" : "";
54
+ const onClick = (0, react_1.useCallback)(() => onChange(!isFavorite), [isFavorite, onChange]);
55
+ return (0, jsx_runtime_1.jsxs)("button", {
56
+ onClick: onClick,
57
+ className: (0, classNames_1.classNames)(["zen-favorite-button", driveClassName || "", filledClassName, className || ""]),
58
+ title: translate("Favorite"),
59
+ "aria-label": translate("Favorite"),
60
+ "aria-pressed": isFavorite,
61
+ children: [(0, jsx_runtime_1.jsx)(iconStar_1.IconStar, {
62
+ size: iconSize,
63
+ className: "zen-favorite-button__empty"
64
+ }), (0, jsx_runtime_1.jsx)(iconStarFilled_1.IconStarFilled, {
65
+ size: iconSize,
66
+ className: "zen-favorite-button__filled"
67
+ })]
68
+ });
20
69
  };
21
- exports.FavoriteButton = FavoriteButton;
70
+ exports.FavoriteButton = FavoriteButton;
@@ -1,13 +1,69 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+
3
+ const {
4
+ injectString
5
+ } = require("../../utils/localization/translationsDictionary");
6
+ var __importDefault = this && this.__importDefault || function (mod) {
7
+ return mod && mod.__esModule ? mod : {
8
+ "default": mod
9
+ };
4
10
  };
5
- Object.defineProperty(exports, "__esModule", { value: true });
11
+ Object.defineProperty(exports, "__esModule", {
12
+ value: true
13
+ });
6
14
  exports.FiltersContainer = void 0;
7
15
  const jsx_runtime_1 = require("react/jsx-runtime");
8
16
  const react_1 = require("react");
9
17
  const classNames_1 = require("../../commonHelpers/classNames/classNames");
10
18
  const chip_1 = require("../../chip/chip");
19
+ injectString("cs", "All Filters", "V\u0161echny filtry");
20
+ injectString("da-DK", "All Filters", "Alle filtre");
21
+ injectString("de", "All Filters", "Alle Filter");
22
+ injectString("en", "All Filters", "All Filters");
23
+ injectString("es", "All Filters", "Todos los filtros");
24
+ injectString("fi-FI", "All Filters", "Kaikki suodattimet");
25
+ injectString("fr", "All Filters", "Tous les filtres");
26
+ injectString("fr-FR", "All Filters", "Tous les filtres");
27
+ injectString("hu-HU", "All Filters", "Minden sz\u0171r\u0151");
28
+ injectString("id", "All Filters", "Semua Filter");
29
+ injectString("it", "All Filters", "Tutti i filtri");
30
+ injectString("ja", "All Filters", "\u3059\u3079\u3066\u306E\u30D5\u30A3\u30EB\u30BF\u30FC");
31
+ injectString("ko-KR", "All Filters", "\uBAA8\uB4E0 \uD544\uD130");
32
+ injectString("ms", "All Filters", "Semua Penyaring");
33
+ injectString("nb-NO", "All Filters", "Alle filtre");
34
+ injectString("nl", "All Filters", "Alle filters");
35
+ injectString("pl", "All Filters", "Wszystkie filtry");
36
+ injectString("pt-BR", "All Filters", "Todos os filtros");
37
+ injectString("sk-SK", "All Filters", "V\u0161etky filtre");
38
+ injectString("sv", "All Filters", "Alla filter");
39
+ injectString("th", "All Filters", "\u0E15\u0E31\u0E27\u0E01\u0E23\u0E2D\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14");
40
+ injectString("tr", "All Filters", "T\xFCm Filtreler");
41
+ injectString("zh-Hans", "All Filters", "\u6240\u6709\u7B5B\u9009\u5668");
42
+ injectString("zh-TW", "All Filters", "\u6240\u6709\u7BE9\u9078\u5668");
43
+ injectString("cs", "Clear", "Vymazat");
44
+ injectString("da-DK", "Clear", "Ryd");
45
+ injectString("de", "Clear", "L\xF6schen");
46
+ injectString("en", "Clear", "Clear");
47
+ injectString("es", "Clear", "Borrar");
48
+ injectString("fi-FI", "Clear", "Tyhjenn\xE4");
49
+ injectString("fr", "Clear", "Effacer");
50
+ injectString("fr-FR", "Clear", "Effacer");
51
+ injectString("hu-HU", "Clear", "T\xF6r\xF6ld.");
52
+ injectString("id", "Clear", "Hapus");
53
+ injectString("it", "Clear", "Cancella");
54
+ injectString("ja", "Clear", "\u30AF\u30EA\u30A2");
55
+ injectString("ko-KR", "Clear", "\uC9C0\uC6B0\uAE30");
56
+ injectString("ms", "Clear", "Kosongkan");
57
+ injectString("nb-NO", "Clear", "T\xF8m");
58
+ injectString("nl", "Clear", "Wissen");
59
+ injectString("pl", "Clear", "Wyczy\u015B\u0107");
60
+ injectString("pt-BR", "Clear", "Limpar");
61
+ injectString("sk-SK", "Clear", "Vyma\u017E");
62
+ injectString("sv", "Clear", "Rensa");
63
+ injectString("th", "Clear", "\u0E25\u0E49\u0E32\u0E07");
64
+ injectString("tr", "Clear", "Temizle");
65
+ injectString("zh-Hans", "Clear", "\u6E05\u9664");
66
+ injectString("zh-TW", "Clear", "\u6E05\u9664");
11
67
  const react_2 = __importDefault(require("react"));
12
68
  const iconFilter_1 = require("../../icons/iconFilter");
13
69
  const filtersHelper_1 = require("../filtersHelper");
@@ -16,65 +72,96 @@ const iconClose_1 = require("../../icons/iconClose");
16
72
  const chipStatusProvider_1 = require("../../chip/chipStatusProvider");
17
73
  const useLanguage_1 = require("../../utils/localization/useLanguage");
18
74
  const useMobile_1 = require("../../commonHelpers/hooks/useMobile");
19
- const FiltersContainer = ({ className, isPinned = false, onPinChange, filtersClickHandler, hasSavedFilters, filtersForCalculation, children, filtersChipRef }) => {
20
- const chipStatus = (0, chipStatusProvider_1.useChipStatus)();
21
- const { translate } = (0, useLanguage_1.useLanguage)();
22
- const isMobile = (0, useMobile_1.useMobile)();
23
- const numberOfChangedFilters = (0, react_1.useMemo)(() => {
24
- const suppressedFilters = new Set();
25
- filtersForCalculation.forEach(filter => {
26
- const filterProps = filter.props;
27
- const inhibited = filterProps.inhibit;
28
- if (inhibited) {
29
- inhibited.forEach((id) => suppressedFilters.add(id));
30
- }
31
- });
32
- const filteredState = (0, filtersHelper_1.getFiltersState)(filtersForCalculation.filter(f => !suppressedFilters.has(f.props.id)));
33
- return (0, filtersHelper_1.getNumberOfChangedFilters)(filteredState);
34
- }, [filtersForCalculation]);
35
- const filtersChipComponent = (0, react_1.useMemo)(() => (0, jsx_runtime_1.jsx)(chip_1.Chip, { quantity: numberOfChangedFilters, isOpen: false, status: numberOfChangedFilters > 0 ? chipStatus || "active" : undefined, onClick: filtersClickHandler, icon: iconFilter_1.IconFilter, title: translate("All Filters"), triggerRef: filtersChipRef, children: "+" }), [numberOfChangedFilters, chipStatus, filtersClickHandler, translate, filtersChipRef]);
36
- const childrenSignature = (0, react_1.useMemo)(() => {
37
- const childrenArray = react_2.default.Children.toArray(children).filter(Boolean);
38
- return childrenArray
39
- .map(child => {
40
- if (!react_2.default.isValidElement(child)) {
41
- return "invalid";
42
- }
43
- const childId = child.props.id || "no-id";
44
- const state = child.props.state;
45
- const defaultState = child.props.defaultState;
46
- const childPropsQuery = JSON.stringify(child.props.fetchState || {});
47
- const childPropsDataItems = JSON.stringify(child.props.dataItems || "no-data-items");
48
- const stateHash = (0, filtersHelper_1.createStateHash)(state);
49
- const defaultStateHash = (0, filtersHelper_1.createStateHash)(defaultState);
50
- const propsHash = (0, filtersHelper_1.createPropsHash)(child.props);
51
- return `${childId}|${stateHash}|${defaultStateHash}|${propsHash}|${childPropsQuery}|${childPropsDataItems}`;
52
- })
53
- .join("||");
54
- }, [children]);
55
- const memoizedChildren = (0, react_1.useMemo)(() => (0, filtersHelper_1.stabilizeChildrenWithId)(children).filter(Boolean),
56
- // eslint-disable-next-line react-hooks/exhaustive-deps
57
- [childrenSignature]);
58
- const handleRemovalClick = (0, react_1.useCallback)(() => {
59
- const defaultState = (0, filtersHelper_1.createStateObject)(filtersForCalculation, "defaultState");
60
- filtersForCalculation.forEach((child) => {
61
- var _a;
62
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
63
- if (child) {
64
- const childProps = child.props;
65
- if (childProps.id) {
66
- const childDefaultState = defaultState[childProps.id];
67
- (_a = childProps.onChange) === null || _a === void 0 ? void 0 : _a.call(childProps, childDefaultState);
68
- }
69
- }
70
- });
71
- onPinChange === null || onPinChange === void 0 ? void 0 : onPinChange(false);
72
- filtersChipRef.current.focus();
73
- }, [filtersChipRef, filtersForCalculation, onPinChange]);
74
- const chipRemovalComponent = (0, react_1.useMemo)(() => numberOfChangedFilters ?
75
- (0, jsx_runtime_1.jsx)(chip_1.Chip, { title: translate("Clear"), className: "zen-filters-container__removal-chip", active: false, status: isPinned ? "accent" : undefined, onChange: handleRemovalClick, icon: iconClose_1.IconClose })
76
- : null, [isPinned, handleRemovalClick, translate, numberOfChangedFilters]);
77
- const memoizedFiltersElements = (0, react_1.useMemo)(() => (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [memoizedChildren, hasSavedFilters ? (0, jsx_runtime_1.jsx)(filtersSavedChipComponent_1.FiltersSavedChipComponent, {}) : null, filtersChipComponent, chipRemovalComponent] }), [chipRemovalComponent, filtersChipComponent, hasSavedFilters, memoizedChildren]);
78
- return (0, jsx_runtime_1.jsx)("div", { className: (0, classNames_1.classNames)(["zen-filters-container", isMobile ? "zen-filters-container--mobile" : "", className || ""]), children: isMobile ? (0, jsx_runtime_1.jsx)("div", { className: "zen-filters-container__mobile-scroll-wrapper", children: memoizedFiltersElements }) : memoizedFiltersElements });
75
+ const FiltersContainer = ({
76
+ className,
77
+ isPinned = false,
78
+ onPinChange,
79
+ filtersClickHandler,
80
+ hasSavedFilters,
81
+ filtersForCalculation,
82
+ children,
83
+ filtersChipRef
84
+ }) => {
85
+ const chipStatus = (0, chipStatusProvider_1.useChipStatus)();
86
+ const {
87
+ translate
88
+ } = (0, useLanguage_1.useLanguage)();
89
+ const isMobile = (0, useMobile_1.useMobile)();
90
+ const numberOfChangedFilters = (0, react_1.useMemo)(() => {
91
+ const suppressedFilters = new Set();
92
+ filtersForCalculation.forEach(filter => {
93
+ const filterProps = filter.props;
94
+ const inhibited = filterProps.inhibit;
95
+ if (inhibited) {
96
+ inhibited.forEach(id => suppressedFilters.add(id));
97
+ }
98
+ });
99
+ const filteredState = (0, filtersHelper_1.getFiltersState)(filtersForCalculation.filter(f => !suppressedFilters.has(f.props.id)));
100
+ return (0, filtersHelper_1.getNumberOfChangedFilters)(filteredState);
101
+ }, [filtersForCalculation]);
102
+ const filtersChipComponent = (0, react_1.useMemo)(() => (0, jsx_runtime_1.jsx)(chip_1.Chip, {
103
+ quantity: numberOfChangedFilters,
104
+ isOpen: false,
105
+ status: numberOfChangedFilters > 0 ? chipStatus || "active" : undefined,
106
+ onClick: filtersClickHandler,
107
+ icon: iconFilter_1.IconFilter,
108
+ title: translate("All Filters"),
109
+ triggerRef: filtersChipRef,
110
+ children: "+"
111
+ }), [numberOfChangedFilters, chipStatus, filtersClickHandler, translate, filtersChipRef]);
112
+ const childrenSignature = (0, react_1.useMemo)(() => {
113
+ const childrenArray = react_2.default.Children.toArray(children).filter(Boolean);
114
+ return childrenArray.map(child => {
115
+ if (!react_2.default.isValidElement(child)) {
116
+ return "invalid";
117
+ }
118
+ const childId = child.props.id || "no-id";
119
+ const state = child.props.state;
120
+ const defaultState = child.props.defaultState;
121
+ const childPropsQuery = JSON.stringify(child.props.fetchState || {});
122
+ const childPropsDataItems = JSON.stringify(child.props.dataItems || "no-data-items");
123
+ const stateHash = (0, filtersHelper_1.createStateHash)(state);
124
+ const defaultStateHash = (0, filtersHelper_1.createStateHash)(defaultState);
125
+ const propsHash = (0, filtersHelper_1.createPropsHash)(child.props);
126
+ return `${childId}|${stateHash}|${defaultStateHash}|${propsHash}|${childPropsQuery}|${childPropsDataItems}`;
127
+ }).join("||");
128
+ }, [children]);
129
+ const memoizedChildren = (0, react_1.useMemo)(() => (0, filtersHelper_1.stabilizeChildrenWithId)(children).filter(Boolean),
130
+ // eslint-disable-next-line react-hooks/exhaustive-deps
131
+ [childrenSignature]);
132
+ const handleRemovalClick = (0, react_1.useCallback)(() => {
133
+ const defaultState = (0, filtersHelper_1.createStateObject)(filtersForCalculation, "defaultState");
134
+ filtersForCalculation.forEach(child => {
135
+ var _a;
136
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
137
+ if (child) {
138
+ const childProps = child.props;
139
+ if (childProps.id) {
140
+ const childDefaultState = defaultState[childProps.id];
141
+ (_a = childProps.onChange) === null || _a === void 0 ? void 0 : _a.call(childProps, childDefaultState);
142
+ }
143
+ }
144
+ });
145
+ onPinChange === null || onPinChange === void 0 ? void 0 : onPinChange(false);
146
+ filtersChipRef.current.focus();
147
+ }, [filtersChipRef, filtersForCalculation, onPinChange]);
148
+ const chipRemovalComponent = (0, react_1.useMemo)(() => numberOfChangedFilters ? (0, jsx_runtime_1.jsx)(chip_1.Chip, {
149
+ title: translate("Clear"),
150
+ className: "zen-filters-container__removal-chip",
151
+ active: false,
152
+ status: isPinned ? "accent" : undefined,
153
+ onChange: handleRemovalClick,
154
+ icon: iconClose_1.IconClose
155
+ }) : null, [isPinned, handleRemovalClick, translate, numberOfChangedFilters]);
156
+ const memoizedFiltersElements = (0, react_1.useMemo)(() => (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, {
157
+ children: [memoizedChildren, hasSavedFilters ? (0, jsx_runtime_1.jsx)(filtersSavedChipComponent_1.FiltersSavedChipComponent, {}) : null, filtersChipComponent, chipRemovalComponent]
158
+ }), [chipRemovalComponent, filtersChipComponent, hasSavedFilters, memoizedChildren]);
159
+ return (0, jsx_runtime_1.jsx)("div", {
160
+ className: (0, classNames_1.classNames)(["zen-filters-container", isMobile ? "zen-filters-container--mobile" : "", className || ""]),
161
+ children: isMobile ? (0, jsx_runtime_1.jsx)("div", {
162
+ className: "zen-filters-container__mobile-scroll-wrapper",
163
+ children: memoizedFiltersElements
164
+ }) : memoizedFiltersElements
165
+ });
79
166
  };
80
- exports.FiltersContainer = FiltersContainer;
167
+ exports.FiltersContainer = FiltersContainer;
@@ -1,11 +1,37 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ const {
4
+ injectString
5
+ } = require("../../utils/localization/translationsDictionary");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
3
9
  exports.FiltersEmptySelectedList = void 0;
4
10
  const jsx_runtime_1 = require("react/jsx-runtime");
5
11
  const useLanguage_1 = require("../../utils/localization/useLanguage");
12
+ injectString("en", "No Filters Selected", "No Filters Selected");
13
+ injectString("en", "Selected filters will appear here.", "Selected filters will appear here.");
6
14
  const imageLooking_1 = require("../../images/imageLooking");
7
15
  const FiltersEmptySelectedList = () => {
8
- const { translate } = (0, useLanguage_1.useLanguage)();
9
- return (0, jsx_runtime_1.jsxs)("div", { className: "zen-filters-empty-selected-list", children: [(0, jsx_runtime_1.jsx)(imageLooking_1.ImageLooking, { className: "zen-filters-empty-selected-list__image", title: translate("No Filters Selected"), description: translate("Selected filters will appear here.") }), (0, jsx_runtime_1.jsxs)("div", { className: "zen-filters-empty-selected-list__text", children: [(0, jsx_runtime_1.jsx)("div", { className: "zen-filters-empty-selected-list__header", children: translate("No Filters Selected") }), (0, jsx_runtime_1.jsx)("div", { className: "zen-filters-empty-selected-list__description", children: translate("Selected filters will appear here.") })] })] });
16
+ const {
17
+ translate
18
+ } = (0, useLanguage_1.useLanguage)();
19
+ return (0, jsx_runtime_1.jsxs)("div", {
20
+ className: "zen-filters-empty-selected-list",
21
+ children: [(0, jsx_runtime_1.jsx)(imageLooking_1.ImageLooking, {
22
+ className: "zen-filters-empty-selected-list__image",
23
+ title: translate("No Filters Selected"),
24
+ description: translate("Selected filters will appear here.")
25
+ }), (0, jsx_runtime_1.jsxs)("div", {
26
+ className: "zen-filters-empty-selected-list__text",
27
+ children: [(0, jsx_runtime_1.jsx)("div", {
28
+ className: "zen-filters-empty-selected-list__header",
29
+ children: translate("No Filters Selected")
30
+ }), (0, jsx_runtime_1.jsx)("div", {
31
+ className: "zen-filters-empty-selected-list__description",
32
+ children: translate("Selected filters will appear here.")
33
+ })]
34
+ })]
35
+ });
10
36
  };
11
- exports.FiltersEmptySelectedList = FiltersEmptySelectedList;
37
+ exports.FiltersEmptySelectedList = FiltersEmptySelectedList;
@@ -1,53 +1,151 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ const {
4
+ injectString
5
+ } = require("../../utils/localization/translationsDictionary");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
3
9
  exports.FiltersSaveModal = void 0;
4
10
  const jsx_runtime_1 = require("react/jsx-runtime");
5
11
  const react_1 = require("react");
6
12
  const modal_1 = require("../../modal/modal");
7
13
  const useLanguage_1 = require("../../utils/localization/useLanguage");
14
+ injectString("en", "Title already in use", "Title already in use");
15
+ injectString("cs", "Save", "Ulo\u017Eit");
16
+ injectString("da-DK", "Save", "Spare");
17
+ injectString("de", "Save", "Speichern");
18
+ injectString("en", "Save", "Save");
19
+ injectString("es", "Save", "Guardar");
20
+ injectString("fi-FI", "Save", "S\xE4\xE4st\xE4\xE4");
21
+ injectString("fr", "Save", "Enregistrer");
22
+ injectString("fr-FR", "Save", "Enregistrer");
23
+ injectString("hu-HU", "Save", "Ment\xE9s");
24
+ injectString("id", "Save", "Simpan");
25
+ injectString("it", "Save", "Salvare");
26
+ injectString("ja", "Save", "\u4FDD\u5B58");
27
+ injectString("ko-KR", "Save", "\uC800\uC7A5");
28
+ injectString("ms", "Save", "Simpan");
29
+ injectString("nb-NO", "Save", "Lagre");
30
+ injectString("nl", "Save", "Opslaan");
31
+ injectString("pl", "Save", "Zapisz");
32
+ injectString("pt-BR", "Save", "Salvar");
33
+ injectString("sk-SK", "Save", "Ulo\u017Ei\u0165");
34
+ injectString("sv", "Save", "Spara");
35
+ injectString("th", "Save", "\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01");
36
+ injectString("tr", "Save", "Kaydet");
37
+ injectString("zh-Hans", "Save", "\u4FDD\u5B58");
38
+ injectString("zh-TW", "Save", "\u5132\u5B58");
39
+ injectString("en", "Save filters", "Save filters");
40
+ injectString("en", "Filter title", "Filter title");
41
+ injectString("cs", "Cancel", "Zru\u0161it");
42
+ injectString("da-DK", "Cancel", "Annuller");
43
+ injectString("de", "Cancel", "Abbrechen");
44
+ injectString("en", "Cancel", "Cancel");
45
+ injectString("es", "Cancel", "Cancelar");
46
+ injectString("fi-FI", "Cancel", "Peruuta");
47
+ injectString("fr", "Cancel", "Annuler");
48
+ injectString("fr-FR", "Cancel", "Annuler");
49
+ injectString("hu-HU", "Cancel", "M\xE9gse");
50
+ injectString("id", "Cancel", "Batalkan");
51
+ injectString("it", "Cancel", "Annullare");
52
+ injectString("ja", "Cancel", "\u30AD\u30E3\u30F3\u30BB\u30EB");
53
+ injectString("ko-KR", "Cancel", "\uCDE8\uC18C");
54
+ injectString("ms", "Cancel", "Batal");
55
+ injectString("nb-NO", "Cancel", "Avbryt");
56
+ injectString("nl", "Cancel", "Annuleren");
57
+ injectString("pl", "Cancel", "Anuluj");
58
+ injectString("pt-BR", "Cancel", "Cancelar");
59
+ injectString("sk-SK", "Cancel", "Zru\u0161.");
60
+ injectString("sv", "Cancel", "Avbryt");
61
+ injectString("th", "Cancel", "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01");
62
+ injectString("tr", "Cancel", "\u0130ptal");
63
+ injectString("zh-Hans", "Cancel", "\u53D6\u6D88");
64
+ injectString("zh-TW", "Cancel", "\u53D6\u6D88");
8
65
  const textInput_1 = require("../../textInput/textInput");
9
66
  const filtersSavedItemsProvider_1 = require("./filtersSavedItemsProvider");
10
67
  const iconDisk_1 = require("../../icons/iconDisk");
11
68
  const useDriveClassName_1 = require("../../utils/theme/useDriveClassName");
12
- const FiltersSaveModal = ({ isOpen, onClose, onSave, className, prioritize }) => {
13
- const { translate } = (0, useLanguage_1.useLanguage)();
14
- const { items } = (0, filtersSavedItemsProvider_1.useFiltersSavedItems)();
15
- const iconDriveClassName = (0, useDriveClassName_1.useDriveClassName)("icon");
16
- const [filterName, setFilterName] = (0, react_1.useState)("");
17
- const toggleSaveModal = (0, react_1.useCallback)(() => {
18
- onClose(!isOpen);
19
- }, [isOpen, onClose]);
20
- const handleCancelSaveModal = (0, react_1.useCallback)(() => {
21
- onClose(false);
22
- setFilterName("");
23
- }, [onClose]);
24
- const isValidFilterName = (0, react_1.useCallback)((name, existingNames) => {
25
- if (!name) {
26
- return false;
27
- }
28
- return !existingNames.map((item) => item.toLowerCase().trim()).includes(name.toLowerCase().trim());
29
- }, []);
30
- const handleApplySaveModal = (0, react_1.useCallback)(() => {
31
- if (!isValidFilterName(filterName, Array.from(items))) {
32
- return;
33
- }
34
- onClose(false);
35
- onSave(filterName);
36
- setFilterName("");
37
- }, [filterName, isValidFilterName, items, onClose, onSave]);
38
- const handleSaveModalFieldChange = (0, react_1.useCallback)((e) => {
39
- setFilterName(e.target.value);
40
- }, []);
41
- const errorText = (0, react_1.useMemo)(() => {
42
- if (!filterName) {
43
- return "";
44
- }
45
- if (!isValidFilterName(filterName, Array.from(items))) {
46
- return translate("Title already in use");
47
- }
48
- return "";
49
- }, [filterName, isValidFilterName, items, translate]);
50
- const saveIcon = (0, react_1.useCallback)(() => (0, jsx_runtime_1.jsx)(iconDisk_1.IconDisk, { description: translate("Save"), className: "svgIcon", size: iconDriveClassName ? "huge" : "large" }), [iconDriveClassName, translate]);
51
- return (0, jsx_runtime_1.jsxs)(modal_1.Modal, { focus: "content", modalContainerClassName: prioritize ? "zen-filters-prioritized-modal" : "", isOpen: isOpen, onClose: toggleSaveModal, title: translate("Save filters"), className: className || "", children: [(0, jsx_runtime_1.jsx)("div", { className: "zen-filters-modal__content", children: (0, jsx_runtime_1.jsx)(textInput_1.TextInput, { value: filterName, ariaLabel: translate("Filter title"), placeholder: translate("Filter title"), onChange: handleSaveModalFieldChange, maxLength: 100, error: errorText }) }), (0, jsx_runtime_1.jsx)(modal_1.Modal.SecondaryButton, { onClick: handleCancelSaveModal, title: translate("Cancel"), children: translate("Cancel") }), (0, jsx_runtime_1.jsx)(modal_1.Modal.PrimaryButton, { onClick: handleApplySaveModal, icon: saveIcon, title: translate("Save"), children: translate("Save") })] });
69
+ const FiltersSaveModal = ({
70
+ isOpen,
71
+ onClose,
72
+ onSave,
73
+ className,
74
+ prioritize
75
+ }) => {
76
+ const {
77
+ translate
78
+ } = (0, useLanguage_1.useLanguage)();
79
+ const {
80
+ items
81
+ } = (0, filtersSavedItemsProvider_1.useFiltersSavedItems)();
82
+ const iconDriveClassName = (0, useDriveClassName_1.useDriveClassName)("icon");
83
+ const [filterName, setFilterName] = (0, react_1.useState)("");
84
+ const toggleSaveModal = (0, react_1.useCallback)(() => {
85
+ onClose(!isOpen);
86
+ }, [isOpen, onClose]);
87
+ const handleCancelSaveModal = (0, react_1.useCallback)(() => {
88
+ onClose(false);
89
+ setFilterName("");
90
+ }, [onClose]);
91
+ const isValidFilterName = (0, react_1.useCallback)((name, existingNames) => {
92
+ if (!name) {
93
+ return false;
94
+ }
95
+ return !existingNames.map(item => item.toLowerCase().trim()).includes(name.toLowerCase().trim());
96
+ }, []);
97
+ const handleApplySaveModal = (0, react_1.useCallback)(() => {
98
+ if (!isValidFilterName(filterName, Array.from(items))) {
99
+ return;
100
+ }
101
+ onClose(false);
102
+ onSave(filterName);
103
+ setFilterName("");
104
+ }, [filterName, isValidFilterName, items, onClose, onSave]);
105
+ const handleSaveModalFieldChange = (0, react_1.useCallback)(e => {
106
+ setFilterName(e.target.value);
107
+ }, []);
108
+ const errorText = (0, react_1.useMemo)(() => {
109
+ if (!filterName) {
110
+ return "";
111
+ }
112
+ if (!isValidFilterName(filterName, Array.from(items))) {
113
+ return translate("Title already in use");
114
+ }
115
+ return "";
116
+ }, [filterName, isValidFilterName, items, translate]);
117
+ const saveIcon = (0, react_1.useCallback)(() => (0, jsx_runtime_1.jsx)(iconDisk_1.IconDisk, {
118
+ description: translate("Save"),
119
+ className: "svgIcon",
120
+ size: iconDriveClassName ? "huge" : "large"
121
+ }), [iconDriveClassName, translate]);
122
+ return (0, jsx_runtime_1.jsxs)(modal_1.Modal, {
123
+ focus: "content",
124
+ modalContainerClassName: prioritize ? "zen-filters-prioritized-modal" : "",
125
+ isOpen: isOpen,
126
+ onClose: toggleSaveModal,
127
+ title: translate("Save filters"),
128
+ className: className || "",
129
+ children: [(0, jsx_runtime_1.jsx)("div", {
130
+ className: "zen-filters-modal__content",
131
+ children: (0, jsx_runtime_1.jsx)(textInput_1.TextInput, {
132
+ value: filterName,
133
+ ariaLabel: translate("Filter title"),
134
+ placeholder: translate("Filter title"),
135
+ onChange: handleSaveModalFieldChange,
136
+ maxLength: 100,
137
+ error: errorText
138
+ })
139
+ }), (0, jsx_runtime_1.jsx)(modal_1.Modal.SecondaryButton, {
140
+ onClick: handleCancelSaveModal,
141
+ title: translate("Cancel"),
142
+ children: translate("Cancel")
143
+ }), (0, jsx_runtime_1.jsx)(modal_1.Modal.PrimaryButton, {
144
+ onClick: handleApplySaveModal,
145
+ icon: saveIcon,
146
+ title: translate("Save"),
147
+ children: translate("Save")
148
+ })]
149
+ });
52
150
  };
53
- exports.FiltersSaveModal = FiltersSaveModal;
151
+ exports.FiltersSaveModal = FiltersSaveModal;