@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,221 +1,337 @@
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.comparePreparedFilters = exports.isFilterHasSelection = exports.doesGroupExist = exports.getAdvancedFilterString = exports.createGroupsMap = exports.getChildList = exports.prepareMenu = exports.prepareSelectedMenu = exports.prepareNameSelectedItems = exports.getParentsNameArr = exports.prepareAdvancedOptions = exports.prepareSelectedOptions = exports.prepareOptions = exports.convertPreparedFilters = exports.prepareFilters = void 0;
4
10
  const utils_1 = require("../commonHelpers/utils");
5
11
  const groupsFilterInterfaces_1 = require("./groupsFilterInterfaces");
6
12
  const groupsHelper_1 = require("./groupsHelper");
7
- const isAdvancedFilterItem = (item) => item && item.relation !== undefined;
13
+ injectString("cs", "OperatorOr", "NEBO");
14
+ injectString("da-DK", "OperatorOr", "ELLER");
15
+ injectString("de", "OperatorOr", "ODER");
16
+ injectString("en", "OperatorOr", "OR");
17
+ injectString("es", "OperatorOr", "O");
18
+ injectString("fi-FI", "OperatorOr", "TAI");
19
+ injectString("fr", "OperatorOr", "OU");
20
+ injectString("fr-FR", "OperatorOr", "OU");
21
+ injectString("hu-HU", "OperatorOr", "VAGY");
22
+ injectString("id", "OperatorOr", "ATAU");
23
+ injectString("it", "OperatorOr", "O");
24
+ injectString("ja", "OperatorOr", "\u307E\u305F\u306F");
25
+ injectString("ko-KR", "OperatorOr", "OperatorOr");
26
+ injectString("ms", "OperatorOr", "ATAU");
27
+ injectString("nb-NO", "OperatorOr", "ELLER");
28
+ injectString("nl", "OperatorOr", "OF");
29
+ injectString("pl", "OperatorOr", "LUB");
30
+ injectString("pt-BR", "OperatorOr", "OU");
31
+ injectString("sk-SK", "OperatorOr", "ALEBO");
32
+ injectString("sv", "OperatorOr", "ELLER");
33
+ injectString("th", "OperatorOr", "\u0E2B\u0E23\u0E37\u0E2D");
34
+ injectString("tr", "OperatorOr", "VEYA");
35
+ injectString("zh-Hans", "OperatorOr", "\u6216");
36
+ injectString("zh-TW", "OperatorOr", "OperatorOr");
37
+ injectString("cs", "OperatorAnd", "A");
38
+ injectString("da-DK", "OperatorAnd", "OG");
39
+ injectString("de", "OperatorAnd", "UND");
40
+ injectString("en", "OperatorAnd", "AND");
41
+ injectString("es", "OperatorAnd", "Y");
42
+ injectString("fi-FI", "OperatorAnd", "JA");
43
+ injectString("fr", "OperatorAnd", "ET");
44
+ injectString("fr-FR", "OperatorAnd", "ET");
45
+ injectString("hu-HU", "OperatorAnd", "\xC9S");
46
+ injectString("id", "OperatorAnd", "DAN");
47
+ injectString("it", "OperatorAnd", "E");
48
+ injectString("ja", "OperatorAnd", "\u3068");
49
+ injectString("ko-KR", "OperatorAnd", "OperatorAnd");
50
+ injectString("ms", "OperatorAnd", "DAN");
51
+ injectString("nb-NO", "OperatorAnd", "OG");
52
+ injectString("nl", "OperatorAnd", "EN");
53
+ injectString("pl", "OperatorAnd", "ORAZ");
54
+ injectString("pt-BR", "OperatorAnd", "E");
55
+ injectString("sk-SK", "OperatorAnd", "A");
56
+ injectString("sv", "OperatorAnd", "OCH");
57
+ injectString("th", "OperatorAnd", "\u0E41\u0E25\u0E30");
58
+ injectString("tr", "OperatorAnd", "VE");
59
+ injectString("zh-Hans", "OperatorAnd", "\u548C");
60
+ injectString("zh-TW", "OperatorAnd", "OperatorAnd");
61
+ const isAdvancedFilterItem = item => item && item.relation !== undefined;
8
62
  function prepareFilters(state) {
9
- const canBeSimplify = (item, relation) => item.items.length === 1 && item.items[0].id && item.relation === relation;
10
- const advancedFilterItems = [];
11
- const simpleListItems = [];
12
- state.items.forEach(el => {
13
- if (!isAdvancedFilterItem(el)) {
14
- el.id !== groupsHelper_1.ENTIRE_ORGANIZATION_GROUP_ID && simpleListItems.push(el.id);
15
- }
16
- else {
17
- (canBeSimplify(el, state.relation) ? el.items[0].id !== groupsHelper_1.ENTIRE_ORGANIZATION_GROUP_ID && simpleListItems.push(el.items[0].id)
18
- : advancedFilterItems.push(el));
19
- }
20
- });
21
- return {
22
- advancedFilterState: advancedFilterItems.length ? { relation: state.relation, items: [...advancedFilterItems] } : undefined,
23
- simpleFilterState: simpleListItems.length ? Array.from(new Set(simpleListItems)) : undefined,
24
- relation: state.relation
25
- };
63
+ const canBeSimplify = (item, relation) => item.items.length === 1 && item.items[0].id && item.relation === relation;
64
+ const advancedFilterItems = [];
65
+ const simpleListItems = [];
66
+ state.items.forEach(el => {
67
+ if (!isAdvancedFilterItem(el)) {
68
+ el.id !== groupsHelper_1.ENTIRE_ORGANIZATION_GROUP_ID && simpleListItems.push(el.id);
69
+ } else {
70
+ canBeSimplify(el, state.relation) ? el.items[0].id !== groupsHelper_1.ENTIRE_ORGANIZATION_GROUP_ID && simpleListItems.push(el.items[0].id) : advancedFilterItems.push(el);
71
+ }
72
+ });
73
+ return {
74
+ advancedFilterState: advancedFilterItems.length ? {
75
+ relation: state.relation,
76
+ items: [...advancedFilterItems]
77
+ } : undefined,
78
+ simpleFilterState: simpleListItems.length ? Array.from(new Set(simpleListItems)) : undefined,
79
+ relation: state.relation
80
+ };
26
81
  }
27
82
  exports.prepareFilters = prepareFilters;
28
83
  function convertPreparedFilters(state) {
29
- const convertedItems = [];
30
- if (state.advancedFilterState && state.advancedFilterState.items[0].id !== groupsHelper_1.ENTIRE_ORGANIZATION_GROUP_ID) {
31
- convertedItems.push(state.advancedFilterState);
32
- }
33
- if (state.simpleFilterState && state.simpleFilterState.length > 0) {
34
- state.simpleFilterState.forEach(el => {
35
- convertedItems.push({ id: el });
36
- });
37
- }
38
- return { relation: state.relation, items: convertedItems.length ? [...convertedItems] : [{ id: groupsHelper_1.ENTIRE_ORGANIZATION_GROUP_ID }] };
84
+ const convertedItems = [];
85
+ if (state.advancedFilterState && state.advancedFilterState.items[0].id !== groupsHelper_1.ENTIRE_ORGANIZATION_GROUP_ID) {
86
+ convertedItems.push(state.advancedFilterState);
87
+ }
88
+ if (state.simpleFilterState && state.simpleFilterState.length > 0) {
89
+ state.simpleFilterState.forEach(el => {
90
+ convertedItems.push({
91
+ id: el
92
+ });
93
+ });
94
+ }
95
+ return {
96
+ relation: state.relation,
97
+ items: convertedItems.length ? [...convertedItems] : [{
98
+ id: groupsHelper_1.ENTIRE_ORGANIZATION_GROUP_ID
99
+ }]
100
+ };
39
101
  }
40
102
  exports.convertPreparedFilters = convertPreparedFilters;
41
- const findGroupsChildren = (groupsMap, id, parentGroupId) => {
42
- var _a;
43
- const group = groupsMap.get(id);
44
- if (!group) {
45
- return undefined;
46
- }
47
- const foundItem = Object.assign(Object.assign({}, group), { parent: parentGroupId ? Object.assign({}, groupsMap.get(parentGroupId)) : undefined });
48
- if (foundItem.children && ((_a = foundItem.children) === null || _a === void 0 ? void 0 : _a.length) > 0) {
49
- foundItem.children = foundItem.children
50
- .map(child => findGroupsChildren(groupsMap, child.id, foundItem.id))
51
- .filter(item => !!item);
52
- }
53
- return foundItem;
54
- };
55
103
  function prepareOptions(translate, options, getSelectedFn, getSelectedChildFn, isWithColor, getTitle) {
56
- const selectedIds = new Set(getSelectedFn());
57
- const preparedOptions = options && options.length ? options.map(option => {
58
- const selectedChild = getSelectedChildFn(option.id);
59
- return Object.assign(Object.assign({ label: (0, groupsHelper_1.getGroupDescription)(option, translate), property: option.id, checked: selectedIds.has(option.id), isWithAction: option.children && option.children.length > 0 || false, partialChecked: selectedChild.length > 0, countSelectedChild: selectedChild.length, blocked: false }, (getTitle ? { title: getTitle(option.id) } : {})), (isWithColor ? { color: option.color } : {}));
60
- }) : [];
61
- return preparedOptions;
104
+ const selectedIds = new Set(getSelectedFn());
105
+ const preparedOptions = options && options.length ? options.map(option => {
106
+ const selectedChild = getSelectedChildFn(option.id);
107
+ return Object.assign(Object.assign({
108
+ label: (0, groupsHelper_1.getGroupDescription)(option, translate),
109
+ property: option.id,
110
+ checked: selectedIds.has(option.id),
111
+ isWithAction: option.children && option.children.length > 0 || false,
112
+ partialChecked: selectedChild.length > 0,
113
+ countSelectedChild: selectedChild.length,
114
+ blocked: false
115
+ }, getTitle ? {
116
+ title: getTitle(option.id)
117
+ } : {}), isWithColor ? {
118
+ color: option.color
119
+ } : {});
120
+ }) : [];
121
+ return preparedOptions;
62
122
  }
63
123
  exports.prepareOptions = prepareOptions;
64
124
  function prepareSelectedOptions(translate, options, getSelectedFn, isWithColor, getTitle) {
65
- const selectedIds = new Set(getSelectedFn());
66
- const preparedOptions = options && options.length ? options.map(option => (Object.assign(Object.assign({ label: (0, groupsHelper_1.getGroupDescription)(option, translate), property: option.id, checked: selectedIds.has(option.id), isWithAction: false, partialChecked: false, blocked: false }, (getTitle ? { title: getTitle(option.id) } : {})), (isWithColor ? { color: option.color } : {})))) : [];
67
- return preparedOptions;
125
+ const selectedIds = new Set(getSelectedFn());
126
+ const preparedOptions = options && options.length ? options.map(option => Object.assign(Object.assign({
127
+ label: (0, groupsHelper_1.getGroupDescription)(option, translate),
128
+ property: option.id,
129
+ checked: selectedIds.has(option.id),
130
+ isWithAction: false,
131
+ partialChecked: false,
132
+ blocked: false
133
+ }, getTitle ? {
134
+ title: getTitle(option.id)
135
+ } : {}), isWithColor ? {
136
+ color: option.color
137
+ } : {})) : [];
138
+ return preparedOptions;
68
139
  }
69
140
  exports.prepareSelectedOptions = prepareSelectedOptions;
70
141
  function prepareAdvancedOptions(options, currentAdvancedOption) {
71
- const preparedOptions = options && options.length ? options.map(option => ({
72
- label: option,
73
- property: option,
74
- checked: option === currentAdvancedOption,
75
- isWithAction: false,
76
- partialChecked: false,
77
- blocked: false
78
- })) : [];
79
- return preparedOptions;
142
+ const preparedOptions = options && options.length ? options.map(option => ({
143
+ label: option,
144
+ property: option,
145
+ checked: option === currentAdvancedOption,
146
+ isWithAction: false,
147
+ partialChecked: false,
148
+ blocked: false
149
+ })) : [];
150
+ return preparedOptions;
80
151
  }
81
152
  exports.prepareAdvancedOptions = prepareAdvancedOptions;
82
153
  function getParentsNameArr(translate, groupsMap, itemId, rootId) {
83
- const item = groupsMap[itemId];
84
- if (!item) {
85
- return [];
86
- }
87
- const name = [(0, groupsHelper_1.getGroupDescription)(item, translate)];
88
- let selectedParent = item.parent ? groupsMap[item.parent.id] : undefined;
89
- while (selectedParent && selectedParent.id !== rootId) {
90
- name.push((0, groupsHelper_1.getGroupDescription)(selectedParent, translate));
91
- selectedParent = selectedParent.parent ? groupsMap[selectedParent.parent.id] : undefined;
92
- }
93
- const preparedNameArr = name.length > 1 ? name.reverse() : name;
94
- return preparedNameArr;
154
+ const item = groupsMap[itemId];
155
+ if (!item) {
156
+ return [];
157
+ }
158
+ const name = [(0, groupsHelper_1.getGroupDescription)(item, translate)];
159
+ let selectedParent = item.parent ? groupsMap[item.parent.id] : undefined;
160
+ while (selectedParent && selectedParent.id !== rootId) {
161
+ name.push((0, groupsHelper_1.getGroupDescription)(selectedParent, translate));
162
+ selectedParent = selectedParent.parent ? groupsMap[selectedParent.parent.id] : undefined;
163
+ }
164
+ const preparedNameArr = name.length > 1 ? name.reverse() : name;
165
+ return preparedNameArr;
95
166
  }
96
167
  exports.getParentsNameArr = getParentsNameArr;
97
168
  function prepareNameSelectedItems(translate, groupsMap, selectedIds) {
98
- const selectedItems = selectedIds.map(id => (groupsMap[id] ? Object.assign({}, groupsMap[id]) : undefined)).filter(utils_1.echo);
99
- const namedItems = selectedItems.map(el => {
100
- const preparedNameArr = getParentsNameArr(translate, groupsMap, el.id, groupsHelper_1.ENTIRE_ORGANIZATION_GROUP_ID);
101
- return Object.assign(Object.assign({}, el), { name: ["...", ...(preparedNameArr.length > 1 ? preparedNameArr.slice(-2) : preparedNameArr)].join("/") });
169
+ const selectedItems = selectedIds.map(id => groupsMap[id] ? Object.assign({}, groupsMap[id]) : undefined).filter(utils_1.echo);
170
+ const namedItems = selectedItems.map(el => {
171
+ const preparedNameArr = getParentsNameArr(translate, groupsMap, el.id, groupsHelper_1.ENTIRE_ORGANIZATION_GROUP_ID);
172
+ return Object.assign(Object.assign({}, el), {
173
+ name: ["...", ...(preparedNameArr.length > 1 ? preparedNameArr.slice(-2) : preparedNameArr)].join("/")
102
174
  });
103
- return namedItems;
175
+ });
176
+ return namedItems;
104
177
  }
105
178
  exports.prepareNameSelectedItems = prepareNameSelectedItems;
106
179
  function prepareSelectedMenu(namedItems) {
107
- const systemGroup = [];
108
- const userGroup = [];
109
- namedItems.forEach(el => (0, groupsHelper_1.isSystemGroup)(el.id)
110
- ? systemGroup.push(el) : userGroup.push(el));
111
- return { builtInGroups: [...systemGroup], userGroups: [...userGroup], currentId: undefined };
180
+ const systemGroup = [];
181
+ const userGroup = [];
182
+ namedItems.forEach(el => (0, groupsHelper_1.isSystemGroup)(el.id) ? systemGroup.push(el) : userGroup.push(el));
183
+ return {
184
+ builtInGroups: [...systemGroup],
185
+ userGroups: [...userGroup],
186
+ currentId: undefined
187
+ };
112
188
  }
113
189
  exports.prepareSelectedMenu = prepareSelectedMenu;
114
190
  function prepareMenu(item) {
115
- const systemGroup = [];
116
- const userGroup = [];
117
- if (!item) {
118
- return { builtInGroups: [], userGroups: [], currentId: undefined };
119
- }
120
- (item.children || []).forEach(el => (0, groupsHelper_1.isSystemGroup)(el.id)
121
- ? systemGroup.push(el) : userGroup.push(el));
122
- const result = { builtInGroups: [...systemGroup], userGroups: [...userGroup], currentId: item.id };
123
- return result;
191
+ const systemGroup = [];
192
+ const userGroup = [];
193
+ if (!item) {
194
+ return {
195
+ builtInGroups: [],
196
+ userGroups: [],
197
+ currentId: undefined
198
+ };
199
+ }
200
+ (item.children || []).forEach(el => (0, groupsHelper_1.isSystemGroup)(el.id) ? systemGroup.push(el) : userGroup.push(el));
201
+ const result = {
202
+ builtInGroups: [...systemGroup],
203
+ userGroups: [...userGroup],
204
+ currentId: item.id
205
+ };
206
+ return result;
124
207
  }
125
208
  exports.prepareMenu = prepareMenu;
126
- function createGroupsTree(groupsMap, id) {
127
- let groupsTree = findGroupsChildren(groupsMap, id);
128
- if (!groupsTree) {
129
- const tree = (0, groupsHelper_1.createLinkedTree)(Array.from(groupsMap.values())).map((el) => (Object.assign(Object.assign({}, el), { parent: undefined })));
130
- groupsTree = { id: id, name: "", children: tree.map(el => (Object.assign(Object.assign({}, el), { parent: { id: id, name: "", parent: undefined } }))), parent: undefined };
131
- }
132
- groupsTree.parent = { id: "root", name: "", children: [Object.assign({}, groupsTree)], parent: undefined };
133
- return groupsTree;
134
- }
135
209
  function getChildList(childArr) {
136
- const list = [];
137
- if (!childArr) {
138
- return [];
210
+ const list = [];
211
+ if (!childArr) {
212
+ return [];
213
+ }
214
+ (childArr || []).forEach(el => {
215
+ el && list.push([el]);
216
+ if ((el === null || el === void 0 ? void 0 : el.children) && el.children.length > 0) {
217
+ const childList = getChildList(el.children);
218
+ childList && list.push(childList);
139
219
  }
140
- (childArr || []).forEach((el) => {
141
- el && list.push([el]);
142
- if ((el === null || el === void 0 ? void 0 : el.children) && el.children.length > 0) {
143
- const childList = getChildList(el.children);
144
- childList && list.push(childList);
145
- }
146
- });
147
- return (0, utils_1.flattenArrays)(list);
220
+ });
221
+ return (0, utils_1.flattenArrays)(list);
148
222
  }
149
223
  exports.getChildList = getChildList;
150
224
  function createGroupsMap(groups, rootChildId) {
151
- var _a;
152
- const groupsMap = new Map();
153
- const groupTreeMap = {};
154
- groups.forEach(group => {
155
- groupsMap.set(group.id, Object.assign({}, group));
225
+ const nodeLookup = {};
226
+ // 1. Node Creation
227
+ groups.forEach(group => {
228
+ nodeLookup[group.id] = Object.assign(Object.assign({}, group), {
229
+ children: [],
230
+ parent: undefined
156
231
  });
157
- const groupsTree = createGroupsTree(groupsMap, rootChildId);
158
- if (!groupsTree) {
159
- return {};
232
+ });
233
+ // 2. Top-Down Linking
234
+ groups.forEach(originalGroup => {
235
+ const parentNode = nodeLookup[originalGroup.id];
236
+ if (originalGroup.children && originalGroup.children.length > 0) {
237
+ originalGroup.children.forEach(childStub => {
238
+ var _a;
239
+ const realChildNode = nodeLookup[childStub.id];
240
+ if (realChildNode) {
241
+ (_a = parentNode.children) === null || _a === void 0 ? void 0 : _a.push(realChildNode);
242
+ realChildNode.parent = parentNode;
243
+ }
244
+ });
160
245
  }
161
- groupTreeMap[rootChildId] = Object.assign({}, groupsTree);
162
- (_a = groupsTree.children) === null || _a === void 0 ? void 0 : _a.forEach(child => {
163
- groupTreeMap[child.id] = Object.assign({}, child);
164
- const childList = getChildList(child.children || []);
165
- childList.forEach(el => {
166
- if (el) {
167
- groupTreeMap[el.id] = Object.assign({}, el);
168
- }
169
- });
246
+ });
247
+ // 3. Finding or creating the requested root (zen_dropdown_root_group_id / "GroupCompanyId")
248
+ let targetRootNode = nodeLookup[rootChildId];
249
+ if (!targetRootNode) {
250
+ const dataRoots = groups.map(g => nodeLookup[g.id]) // link to created nodes
251
+ .filter(node => !node.parent); // dataRoots only nodes without parents
252
+ targetRootNode = {
253
+ id: rootChildId,
254
+ name: "",
255
+ children: dataRoots,
256
+ parent: undefined
257
+ };
258
+ // add to lookup for later processing
259
+ nodeLookup[rootChildId] = targetRootNode;
260
+ // Bind real roots to this virtual node
261
+ dataRoots.forEach(root => {
262
+ root.parent = targetRootNode;
170
263
  });
171
- return groupTreeMap;
264
+ }
265
+ // 4. Creating a super root to ensure single entry point
266
+ const superRoot = {
267
+ id: "root",
268
+ name: "",
269
+ children: [targetRootNode],
270
+ parent: undefined
271
+ };
272
+ targetRootNode.parent = superRoot;
273
+ // 5. Flattening with preserving references
274
+ const result = {};
275
+ const stack = [targetRootNode];
276
+ while (stack.length > 0) {
277
+ const node = stack.pop();
278
+ if (node && !result[node.id]) {
279
+ result[node.id] = node;
280
+ if (node.children) {
281
+ // Iterate over the children array FROM END TO START (i--)
282
+ // This way, the first child (index 0) will be pushed last
283
+ // and will be popped first (LIFO).
284
+ for (let i = node.children.length - 1; i >= 0; i--) {
285
+ stack.push(node.children[i]);
286
+ }
287
+ }
288
+ }
289
+ }
290
+ return result;
172
291
  }
173
292
  exports.createGroupsMap = createGroupsMap;
174
293
  function getAdvancedFilterString(translate, state) {
175
- const getRelationStr = (relation) => relation === groupsFilterInterfaces_1.RelationOperator.OR ? translate("OperatorOr") : translate("OperatorAnd");
176
- const getItemState = (itemState, prev = "") => {
177
- const items = itemState.items;
178
- if (items && items.length && isAdvancedFilterItem(items[0])) {
179
- return items.reduce((res, item) => {
180
- const prevAndRelationStr = `${res
181
- ? `${res} ${getRelationStr(itemState.relation)} `
182
- : ""}`;
183
- return `${prevAndRelationStr}${getItemState(item, res)}`;
184
- }, prev);
185
- }
186
- const str = items.map(item => `${item.name}`)
187
- .join(` ${getRelationStr(itemState.relation)} `);
188
- return `${items && items.length > 1 ? `(${str})` : str}`;
189
- };
190
- return `${getItemState(state)}`;
294
+ const getRelationStr = relation => relation === groupsFilterInterfaces_1.RelationOperator.OR ? translate("OperatorOr") : translate("OperatorAnd");
295
+ const getItemState = (itemState, prev = "") => {
296
+ const items = itemState.items;
297
+ if (items && items.length && isAdvancedFilterItem(items[0])) {
298
+ return items.reduce((res, item) => {
299
+ const prevAndRelationStr = `${res ? `${res} ${getRelationStr(itemState.relation)} ` : ""}`;
300
+ return `${prevAndRelationStr}${getItemState(item, res)}`;
301
+ }, prev);
302
+ }
303
+ const str = items.map(item => `${item.name}`).join(` ${getRelationStr(itemState.relation)} `);
304
+ return `${items && items.length > 1 ? `(${str})` : str}`;
305
+ };
306
+ return `${getItemState(state)}`;
191
307
  }
192
308
  exports.getAdvancedFilterString = getAdvancedFilterString;
193
309
  function doesGroupExist(groupMap) {
194
- return (id) => !!groupMap[id];
310
+ return id => !!groupMap[id];
195
311
  }
196
312
  exports.doesGroupExist = doesGroupExist;
197
- const isFilterHasSelection = (filter) => {
198
- var _a;
199
- if ((_a = filter.simpleFilterState) === null || _a === void 0 ? void 0 : _a.length) {
200
- return true;
201
- }
202
- if (!(0, groupsHelper_1.compareFilters)(filter.advancedFilterState || (0, groupsHelper_1.getDefaultFilterState)(), (0, groupsHelper_1.getDefaultFilterState)())) {
203
- return true;
204
- }
205
- return false;
313
+ const isFilterHasSelection = filter => {
314
+ var _a;
315
+ if ((_a = filter.simpleFilterState) === null || _a === void 0 ? void 0 : _a.length) {
316
+ return true;
317
+ }
318
+ if (!(0, groupsHelper_1.compareFilters)(filter.advancedFilterState || (0, groupsHelper_1.getDefaultFilterState)(), (0, groupsHelper_1.getDefaultFilterState)())) {
319
+ return true;
320
+ }
321
+ return false;
206
322
  };
207
323
  exports.isFilterHasSelection = isFilterHasSelection;
208
324
  function comparePreparedFilters(f1, f2) {
209
- if (f1.relation !== f2.relation || (f1.simpleFilterState || []).length !== (f2.simpleFilterState || []).length) {
210
- return false;
211
- }
212
- const isAdvancedFilterTheSame = (0, groupsHelper_1.compareFilters)(f1.advancedFilterState || (0, groupsHelper_1.getDefaultFilterState)(), f2.advancedFilterState || (0, groupsHelper_1.getDefaultFilterState)());
213
- if (!isAdvancedFilterTheSame) {
214
- return false;
215
- }
216
- if (!(f1.simpleFilterState || []).every(el => (f2.simpleFilterState || []).includes(el))) {
217
- return false;
218
- }
219
- return true;
325
+ if (f1.relation !== f2.relation || (f1.simpleFilterState || []).length !== (f2.simpleFilterState || []).length) {
326
+ return false;
327
+ }
328
+ const isAdvancedFilterTheSame = (0, groupsHelper_1.compareFilters)(f1.advancedFilterState || (0, groupsHelper_1.getDefaultFilterState)(), f2.advancedFilterState || (0, groupsHelper_1.getDefaultFilterState)());
329
+ if (!isAdvancedFilterTheSame) {
330
+ return false;
331
+ }
332
+ if (!(f1.simpleFilterState || []).every(el => (f2.simpleFilterState || []).includes(el))) {
333
+ return false;
334
+ }
335
+ return true;
220
336
  }
221
- exports.comparePreparedFilters = comparePreparedFilters;
337
+ exports.comparePreparedFilters = comparePreparedFilters;