@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,13 +1,11 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
1
+ import { injectString } from "../utils/localization/translationsDictionary";
2
+ var __rest = this && this.__rest || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
6
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
7
+ }
8
+ return t;
11
9
  };
12
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
11
  import { useContext, useId, useRef } from "react";
@@ -20,40 +18,214 @@ import { useDriveClassName } from "../utils/theme/useDriveClassName";
20
18
  import { useDrive } from "../utils/theme/useDrive";
21
19
  import { FormSectionContext } from "../formSection/utils/formSectionProvider";
22
20
  // eslint-disable-next-line complexity
23
- export const DropdownSearchableTrigger = (_a) => {
24
- var { value, className = "", onChange, placeholder, isOpenPopup, inputRef, handleClick, width, title, id, disabled, count, currentSelection, isError, fullWidth, ref, name, onBlur } = _a, otherProps = __rest(_a, ["value", "className", "onChange", "placeholder", "isOpenPopup", "inputRef", "handleClick", "width", "title", "id", "disabled", "count", "currentSelection", "isError", "fullWidth", "ref", "name", "onBlur"]);
25
- const { isFormSection } = useContext(FormSectionContext);
26
- const { translate } = useLanguage();
27
- const triggerId = useId();
28
- const driveComponentClass = useDriveClassName("zen-dropdown-searchable-trigger");
29
- const isDrive = useDrive();
30
- const inputStyle = width ? { style: { width: `${width}px` } } : {};
31
- const isLargeNumber = count && count > 99;
32
- const clearRef = useRef(null);
33
- const handleKeydown = (e) => {
34
- if (e.key === "Enter" && !isOpenPopup) {
35
- handleClick(true);
36
- }
37
- if (e.key === "Escape" && isOpenPopup && e.nativeEvent) {
38
- e.nativeEvent.stopImmediatePropagation();
39
- handleClick(false);
40
- }
41
- };
42
- const clickHandler = (e) => {
43
- if (e.target === inputRef.current && isOpenPopup || e.target === clearRef.current && isOpenPopup) {
44
- return;
45
- }
46
- handleClick(!isOpenPopup);
47
- };
48
- const handleClearSearch = () => {
49
- onChange(undefined);
50
- };
51
- return _jsxs("div", Object.assign({ className: classNames(["zen-dropdown-searchable-trigger", isError ? "zen-dropdown-searchable-trigger--error" : "",
52
- driveComponentClass || "", isFormSection ? "zen-dropdown-searchable-trigger--form-item" : "", disabled ? "zen-dropdown-searchable-trigger--disabled" : ""]) }, inputStyle, { ref: ref }, otherProps, { onClick: disabled ? () => { } : clickHandler, role: "combobox", "aria-label": placeholder, children: [_jsxs("div", { onBlur: onBlur, className: classNames(["zen-dropdown-searchable-trigger__search-container", className]), children: [_jsx("div", { className: "zen-dropdown-searchable-trigger__input-container", onKeyDown: handleKeydown, children: _jsx(TextInputRaw, { value: value, placeholder: currentSelection ? currentSelection : placeholder || translate("Filter by group"), className: classNames(["zen-dropdown-searchable-trigger__input", "zen-ellipsis", currentSelection ? "zen-dropdown-searchable-trigger__input--selected" : ""]), onChange: onChange, disabled: disabled, type: "text", ref: inputRef, id: id || triggerId }) }), count ? _jsx("div", { className: "zen-dropdown-searchable-trigger__label-element", children: _jsx("div", { className: "zen-dropdown-searchable-trigger__counter", children: _jsx("span", { children: isLargeNumber ? "99+" : count }) }) }) : null, value && _jsx("button", { type: "button", className: "zen-dropdown-searchable-trigger__close-button", ref: clearRef, title: translate("Clear search"), onClick: handleClearSearch, children: _jsx(IconCrossThin, { size: isDrive ? "big" : "small" }) })] }), _jsx("button", { name: name, type: "button", onMouseDown: e => e.preventDefault(), tabIndex: -1, "aria-hidden": "true", className: classNames(["zen-dropdown-searchable-trigger__popup-trigger", isOpenPopup ? "zen-dropdown-searchable-trigger__popup-trigger--active" : ""]), title: title || translate(isOpenPopup ? "Close filter" : "Open filter"), children: _jsx(IconChevronDownSmall, { className: isOpenPopup ? "zen-dropdown-searchable-trigger__arrow-icon--up" : "zen-dropdown-searchable-trigger__arrow-icon--down", size: isDrive ? "huge" : "large" }) })] }));
21
+ injectString("cs", "Filter by group", "Filtrovat podle skupiny");
22
+ injectString("da-DK", "Filter by group", "Filtrer efter gruppe");
23
+ injectString("de", "Filter by group", "Nach Gruppe filtern");
24
+ injectString("en", "Filter by group", "Filter by group");
25
+ injectString("es", "Filter by group", "Filtrar por grupo");
26
+ injectString("fi-FI", "Filter by group", "Suodata ryhm\xE4n mukaan");
27
+ injectString("fr", "Filter by group", "Filtrer par groupe");
28
+ injectString("fr-FR", "Filter by group", "Filtrer par groupe");
29
+ injectString("hu-HU", "Filter by group", "Sz\u0171rd csoport alapj\xE1n.");
30
+ injectString("id", "Filter by group", "Filter berdasarkan grup");
31
+ injectString("it", "Filter by group", "Filtrare per gruppo");
32
+ injectString("ja", "Filter by group", "\u30B0\u30EB\u30FC\u30D7\u306B\u3088\u308B\u30D5\u30A3\u30EB\u30BF\u30EA\u30F3\u30B0");
33
+ injectString("ko-KR", "Filter by group", "\uADF8\uB8F9\uBCC4 \uD544\uD130\uB9C1");
34
+ injectString("ms", "Filter by group", "Saring mengikut kumpulan");
35
+ injectString("nb-NO", "Filter by group", "Filtrer etter gruppe");
36
+ injectString("nl", "Filter by group", "Filteren op groep");
37
+ injectString("pl", "Filter by group", "Filtruj wed\u0142ug grupy");
38
+ injectString("pt-BR", "Filter by group", "Filtrar por grupo");
39
+ injectString("sk-SK", "Filter by group", "Filtrova\u0165 pod\u013Ea skupiny");
40
+ injectString("sv", "Filter by group", "Filtrera efter grupp");
41
+ injectString("th", "Filter by group", "\u0E01\u0E23\u0E2D\u0E07\u0E15\u0E32\u0E21\u0E01\u0E25\u0E38\u0E48\u0E21");
42
+ injectString("tr", "Filter by group", "Gruba g\xF6re filtrele");
43
+ injectString("zh-Hans", "Filter by group", "\u6309\u7EC4\u8FC7\u6EE4");
44
+ injectString("zh-TW", "Filter by group", "\u4F9D\u7FA4\u7D44\u7BE9\u9078");
45
+ injectString("cs", "Clear search", "Vymazat vyhled\xE1v\xE1n\xED");
46
+ injectString("da-DK", "Clear search", "Ryd s\xF8gning");
47
+ injectString("de", "Clear search", "Suche l\xF6schen");
48
+ injectString("en", "Clear search", "Clear search");
49
+ injectString("es", "Clear search", "Borrar b\xFAsqueda");
50
+ injectString("fi-FI", "Clear search", "Tyhjenn\xE4 haku");
51
+ injectString("fr", "Clear search", "Effacer la recherche");
52
+ injectString("fr-FR", "Clear search", "Effacer la recherche");
53
+ injectString("hu-HU", "Clear search", "T\xF6r\xF6ld a keres\xE9st.");
54
+ injectString("id", "Clear search", "Hapus pencarian");
55
+ injectString("it", "Clear search", "Cancellare ricerca");
56
+ injectString("ja", "Clear search", "\u691C\u7D22\u3092\u30AF\u30EA\u30A2");
57
+ injectString("ko-KR", "Clear search", "\uAC80\uC0C9 \uC9C0\uC6B0\uAE30");
58
+ injectString("ms", "Clear search", "Kosongkan carian");
59
+ injectString("nb-NO", "Clear search", "T\xF8m s\xF8k");
60
+ injectString("nl", "Clear search", "Zoekopdracht wissen");
61
+ injectString("pl", "Clear search", "Wyczy\u015B\u0107 wyszukiwanie");
62
+ injectString("pt-BR", "Clear search", "Limpar pesquisa");
63
+ injectString("sk-SK", "Clear search", "Vyma\u017E vyh\u013Ead\xE1vanie.");
64
+ injectString("sv", "Clear search", "Rensa s\xF6kningen");
65
+ injectString("th", "Clear search", "\u0E25\u0E49\u0E32\u0E07\u0E01\u0E32\u0E23\u0E04\u0E49\u0E19\u0E2B\u0E32");
66
+ injectString("tr", "Clear search", "Aramay\u0131 temizle");
67
+ injectString("zh-Hans", "Clear search", "\u6E05\u9664\u641C\u7D22");
68
+ injectString("zh-TW", "Clear search", "\u6E05\u9664\u641C\u5C0B");
69
+ injectString("cs", "Close filter", "Zav\u0159\xEDt filtr");
70
+ injectString("da-DK", "Close filter", "Luk filter");
71
+ injectString("de", "Close filter", "Filter schlie\xDFen");
72
+ injectString("en", "Close filter", "Close filter");
73
+ injectString("es", "Close filter", "Cerrar filtro");
74
+ injectString("fi-FI", "Close filter", "Sulje suodatin");
75
+ injectString("fr", "Close filter", "Fermer le filtre");
76
+ injectString("fr-FR", "Close filter", "Fermer le filtre");
77
+ injectString("hu-HU", "Close filter", "Z\xE1rja be a sz\u0171r\u0151t");
78
+ injectString("id", "Close filter", "Tutup filter");
79
+ injectString("it", "Close filter", "Chiudi filtro");
80
+ injectString("ja", "Close filter", "\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u9589\u3058\u308B");
81
+ injectString("ko-KR", "Close filter", "\uD544\uD130 \uB2EB\uAE30");
82
+ injectString("ms", "Close filter", "Tutup penyaring");
83
+ injectString("nb-NO", "Close filter", "Lukk filter");
84
+ injectString("nl", "Close filter", "Filter sluiten");
85
+ injectString("pl", "Close filter", "Zamknij filtr");
86
+ injectString("pt-BR", "Close filter", "Fechar filtro");
87
+ injectString("sk-SK", "Close filter", "Zatvori\u0165 filter");
88
+ injectString("sv", "Close filter", "St\xE4ng filter");
89
+ injectString("th", "Close filter", "\u0E1B\u0E34\u0E14\u0E15\u0E31\u0E27\u0E01\u0E23\u0E2D\u0E07");
90
+ injectString("tr", "Close filter", "Filtreyi kapat");
91
+ injectString("zh-Hans", "Close filter", "\u5173\u95ED\u7B5B\u9009\u5668");
92
+ injectString("zh-TW", "Close filter", "\u95DC\u9589\u7BE9\u9078\u5668");
93
+ injectString("cs", "Open filter", "Otev\u0159\xEDt filtr");
94
+ injectString("da-DK", "Open filter", "\xC5bn filter");
95
+ injectString("de", "Open filter", "Filter \xF6ffnen");
96
+ injectString("en", "Open filter", "Open filter");
97
+ injectString("es", "Open filter", "Abrir filtro");
98
+ injectString("fi-FI", "Open filter", "Avaa suodatin");
99
+ injectString("fr", "Open filter", "Ouvrir le filtre");
100
+ injectString("fr-FR", "Open filter", "Ouvrir le filtre");
101
+ injectString("hu-HU", "Open filter", "Nyisd meg a sz\u0171r\u0151t.");
102
+ injectString("id", "Open filter", "Buka filter");
103
+ injectString("it", "Open filter", "Aprire filtro");
104
+ injectString("ja", "Open filter", "\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u958B\u304F");
105
+ injectString("ko-KR", "Open filter", "\uD544\uD130 \uC5F4\uAE30");
106
+ injectString("ms", "Open filter", "Buka penyaring");
107
+ injectString("nb-NO", "Open filter", "\xC5pne filter");
108
+ injectString("nl", "Open filter", "Filter openen");
109
+ injectString("pl", "Open filter", "Otw\xF3rz filtr");
110
+ injectString("pt-BR", "Open filter", "Abrir filtro");
111
+ injectString("sk-SK", "Open filter", "Otvori filter.");
112
+ injectString("sv", "Open filter", "\xD6ppna filter");
113
+ injectString("th", "Open filter", "\u0E40\u0E1B\u0E34\u0E14\u0E15\u0E31\u0E27\u0E01\u0E23\u0E2D\u0E07");
114
+ injectString("tr", "Open filter", "Filtreyi a\xE7");
115
+ injectString("zh-Hans", "Open filter", "\u6253\u5F00\u7B5B\u9009\u5668");
116
+ injectString("zh-TW", "Open filter", "\u958B\u555F\u7BE9\u9078\u689D\u4EF6");
117
+ export const DropdownSearchableTrigger = _a => {
118
+ var {
119
+ value,
120
+ className = "",
121
+ onChange,
122
+ placeholder,
123
+ isOpenPopup,
124
+ inputRef,
125
+ handleClick,
126
+ width,
127
+ title,
128
+ id,
129
+ disabled,
130
+ count,
131
+ currentSelection,
132
+ isError,
133
+ fullWidth,
134
+ ref,
135
+ name,
136
+ onBlur
137
+ } = _a,
138
+ otherProps = __rest(_a, ["value", "className", "onChange", "placeholder", "isOpenPopup", "inputRef", "handleClick", "width", "title", "id", "disabled", "count", "currentSelection", "isError", "fullWidth", "ref", "name", "onBlur"]);
139
+ const {
140
+ isFormSection
141
+ } = useContext(FormSectionContext);
142
+ const {
143
+ translate
144
+ } = useLanguage();
145
+ const triggerId = useId();
146
+ const driveComponentClass = useDriveClassName("zen-dropdown-searchable-trigger");
147
+ const isDrive = useDrive();
148
+ const inputStyle = width ? {
149
+ style: {
150
+ width: `${width}px`
151
+ }
152
+ } : {};
153
+ const isLargeNumber = count && count > 99;
154
+ const clearRef = useRef(null);
155
+ const handleKeydown = e => {
156
+ if (e.key === "Enter" && !isOpenPopup) {
157
+ handleClick(true);
158
+ }
159
+ if (e.key === "Escape" && isOpenPopup && e.nativeEvent) {
160
+ e.nativeEvent.stopImmediatePropagation();
161
+ handleClick(false);
162
+ }
163
+ };
164
+ const clickHandler = e => {
165
+ if (e.target === inputRef.current && isOpenPopup || e.target === clearRef.current && isOpenPopup) {
166
+ return;
167
+ }
168
+ handleClick(!isOpenPopup);
169
+ };
170
+ const handleClearSearch = () => {
171
+ onChange(undefined);
172
+ };
173
+ return _jsxs("div", Object.assign({
174
+ className: classNames(["zen-dropdown-searchable-trigger", isError ? "zen-dropdown-searchable-trigger--error" : "", driveComponentClass || "", isFormSection ? "zen-dropdown-searchable-trigger--form-item" : "", disabled ? "zen-dropdown-searchable-trigger--disabled" : ""])
175
+ }, inputStyle, {
176
+ ref: ref
177
+ }, otherProps, {
178
+ onClick: disabled ? () => {} : clickHandler,
179
+ role: "combobox",
180
+ "aria-label": placeholder,
181
+ children: [_jsxs("div", {
182
+ onBlur: onBlur,
183
+ className: classNames(["zen-dropdown-searchable-trigger__search-container", className]),
184
+ children: [_jsx("div", {
185
+ className: "zen-dropdown-searchable-trigger__input-container",
186
+ onKeyDown: handleKeydown,
187
+ children: _jsx(TextInputRaw, {
188
+ value: value,
189
+ placeholder: currentSelection ? currentSelection : placeholder || translate("Filter by group"),
190
+ className: classNames(["zen-dropdown-searchable-trigger__input", "zen-ellipsis", currentSelection ? "zen-dropdown-searchable-trigger__input--selected" : ""]),
191
+ onChange: onChange,
192
+ disabled: disabled,
193
+ type: "text",
194
+ ref: inputRef,
195
+ id: id || triggerId
196
+ })
197
+ }), count ? _jsx("div", {
198
+ className: "zen-dropdown-searchable-trigger__label-element",
199
+ children: _jsx("div", {
200
+ className: "zen-dropdown-searchable-trigger__counter",
201
+ children: _jsx("span", {
202
+ children: isLargeNumber ? "99+" : count
203
+ })
204
+ })
205
+ }) : null, value && _jsx("button", {
206
+ type: "button",
207
+ className: "zen-dropdown-searchable-trigger__close-button",
208
+ ref: clearRef,
209
+ title: translate("Clear search"),
210
+ onClick: handleClearSearch,
211
+ children: _jsx(IconCrossThin, {
212
+ size: isDrive ? "big" : "small"
213
+ })
214
+ })]
215
+ }), _jsx("button", {
216
+ name: name,
217
+ type: "button",
218
+ onMouseDown: e => e.preventDefault(),
219
+ tabIndex: -1,
220
+ "aria-hidden": "true",
221
+ className: classNames(["zen-dropdown-searchable-trigger__popup-trigger", isOpenPopup ? "zen-dropdown-searchable-trigger__popup-trigger--active" : ""]),
222
+ title: title || (isOpenPopup ? translate("Close filter") : translate("Open filter")),
223
+ children: _jsx(IconChevronDownSmall, {
224
+ className: isOpenPopup ? "zen-dropdown-searchable-trigger__arrow-icon--up" : "zen-dropdown-searchable-trigger__arrow-icon--down",
225
+ size: isDrive ? "huge" : "large"
226
+ })
227
+ })]
228
+ }));
53
229
  };
54
230
  DropdownSearchableTrigger.displayName = "DropdownSearchableTrigger";
55
- export const TRANSLATIONS = [
56
- "Filter by group",
57
- "Open filter",
58
- "Clear search"
59
- ];
231
+ export const TRANSLATIONS = ["Filter by group", "Open filter", "Clear search"];
@@ -137,5 +137,9 @@ interface IUpdateNamelessItemsAction {
137
137
  type: StateActionType.UpdateNamelessItems;
138
138
  payload: undefined;
139
139
  }
140
- export type TStateAction = ICreateMapAction | ISetStateAction | ISetGlobalStateAction | ISetListDataAction | ISetIsOpenComboAction | IShowAction | IShowWaitingAction | IShowEmptyListAction | IShowListAction | ISetInputValueAction | INothingToShowAction | ISetCurrentIdAction | IChangeSelectionAction | IChangeBulkSelectionAction | IChangeSingleSelectionAction | ISelectAllChildrenAction | IDeselectAllChildrenAction | IResetSelection | IResetStateToGlobal | ISetDataProblemAction | ISetDefaultValueAction | IUpdateSelectedItemsAction | ISetPendingStateAction | IUpdateNamelessItemsAction | IToggleValueForAllSelectedAction | IDeselectItemsFromAllSelectedAction | ISetDefaultAllSelectedAction | ISetIsCheckedAction | ISetIsCheckedAction | ISetDefaultIsCheckedAction;
140
+ interface ISetFirstParentNodeIsVisibleAction {
141
+ type: StateActionType.SetFirstParentNodeIsVisible;
142
+ payload: boolean | undefined;
143
+ }
144
+ export type TStateAction = ICreateMapAction | ISetStateAction | ISetGlobalStateAction | ISetListDataAction | ISetIsOpenComboAction | IShowAction | IShowWaitingAction | IShowEmptyListAction | IShowListAction | ISetInputValueAction | INothingToShowAction | ISetCurrentIdAction | IChangeSelectionAction | IChangeBulkSelectionAction | IChangeSingleSelectionAction | ISelectAllChildrenAction | IDeselectAllChildrenAction | IResetSelection | IResetStateToGlobal | ISetDataProblemAction | ISetDefaultValueAction | IUpdateSelectedItemsAction | ISetPendingStateAction | IUpdateNamelessItemsAction | IToggleValueForAllSelectedAction | IDeselectItemsFromAllSelectedAction | ISetDefaultAllSelectedAction | ISetIsCheckedAction | ISetIsCheckedAction | ISetDefaultIsCheckedAction | ISetFirstParentNodeIsVisibleAction;
141
145
  export {};
@@ -27,5 +27,6 @@ export declare enum StateActionType {
27
27
  DeselectItemsFromAllSelected = "DESELECT_ITEMS_FROM_ALL_SELECTED",
28
28
  SetDefaultAllSelected = "SET_DEFAULT_ALL_SELECTED",
29
29
  SetDefaultIsChecked = "SET_DEFAULT_IS_CHECKED",
30
- SetIsChecked = "SET_IS_CHECKED"
30
+ SetIsChecked = "SET_IS_CHECKED",
31
+ SetFirstParentNodeIsVisible = "SET_FIRST_PARENT_NODE_IS_VISIBLE"
31
32
  }
@@ -29,4 +29,5 @@ export var StateActionType;
29
29
  StateActionType["SetDefaultAllSelected"] = "SET_DEFAULT_ALL_SELECTED";
30
30
  StateActionType["SetDefaultIsChecked"] = "SET_DEFAULT_IS_CHECKED";
31
31
  StateActionType["SetIsChecked"] = "SET_IS_CHECKED";
32
+ StateActionType["SetFirstParentNodeIsVisible"] = "SET_FIRST_PARENT_NODE_IS_VISIBLE";
32
33
  })(StateActionType || (StateActionType = {}));
@@ -2,6 +2,7 @@ import { Reducer } from "react";
2
2
  import { TStateAction } from "./stateAction";
3
3
  import { IGroupTree, ITypedHash } from "../../groupsFilterRaw/groupsFilterInterfaces";
4
4
  import { IDropdownRawItem } from "../types";
5
+ export declare const ROOT_GROUP_ID = "zen_dropdown_root_group_id";
5
6
  export interface IDropdownState {
6
7
  groupsMap: ITypedHash<IGroupTree | undefined>;
7
8
  selectedIds: string[];
@@ -9,6 +10,7 @@ export interface IDropdownState {
9
10
  defaultValue: string[];
10
11
  listData: IDropdownRawItem[];
11
12
  currentId: string | undefined;
13
+ rootId: string;
12
14
  showWaiting: boolean;
13
15
  showEmptyList: boolean;
14
16
  showList: boolean;
@@ -28,16 +30,18 @@ export interface IDropdownState {
28
30
  isChecked?: boolean;
29
31
  defaultValueIsChecked?: boolean;
30
32
  globalIsChecked?: boolean;
33
+ firstParentNodeIsVisible?: boolean;
31
34
  }
32
35
  export interface IStateReducer extends Reducer<IDropdownState, TStateAction> {
33
36
  }
34
- export declare const getInitialState: (isFullSelectionMode: boolean, comboItems: IDropdownRawItem[], selection: string[], listLimit: number, defaultValue?: string[], isAllSelected?: boolean, defaultValueIsAllSelected?: boolean, isChecked?: boolean, defaultValueIsChecked?: boolean) => {
37
+ export declare const getInitialState: (isFullSelectionMode: boolean, comboItems: IDropdownRawItem[], selection: string[], listLimit: number, defaultValue?: string[], isAllSelected?: boolean, defaultValueIsAllSelected?: boolean, isChecked?: boolean, defaultValueIsChecked?: boolean, firstParentNodeIsVisible?: boolean) => {
35
38
  groupsMap: ITypedHash<IGroupTree>;
36
39
  selectedIds: string[];
37
40
  globalSelectedIds: string[];
38
41
  defaultValue: string[];
39
42
  listData: never[];
40
43
  currentId: undefined;
44
+ rootId: string;
41
45
  showWaiting: boolean;
42
46
  showEmptyList: boolean;
43
47
  showList: boolean;
@@ -57,5 +61,6 @@ export declare const getInitialState: (isFullSelectionMode: boolean, comboItems:
57
61
  globalIsChecked: boolean | undefined;
58
62
  listLimit: number;
59
63
  resultsExceedListLimit: boolean;
64
+ firstParentNodeIsVisible: boolean | undefined;
60
65
  };
61
66
  export declare function stateReducer(state: IDropdownState, action: TStateAction): IDropdownState;
@@ -1,10 +1,10 @@
1
1
  import { StateActionType } from "./stateActionType";
2
- import { getChildList, updateAllSelectedStateValueBasedOnTotalSelected } from "./stateReducerHelper";
2
+ import { getChildList, updateAllSelectedStateValueBasedOnTotalSelected, getRootId } from "./stateReducerHelper";
3
3
  import { createGroupsMap } from "../../groupsFilterRaw/groupsFilterHelper";
4
- import { ENTIRE_ORGANIZATION_GROUP_ID } from "../../groupsFilterRaw/groupsHelper";
5
- export const getInitialState = (isFullSelectionMode, comboItems, selection, listLimit, defaultValue, isAllSelected, defaultValueIsAllSelected, isChecked, defaultValueIsChecked) => {
4
+ export const ROOT_GROUP_ID = "zen_dropdown_root_group_id";
5
+ export const getInitialState = (isFullSelectionMode, comboItems, selection, listLimit, defaultValue, isAllSelected, defaultValueIsAllSelected, isChecked, defaultValueIsChecked, firstParentNodeIsVisible) => {
6
6
  const updatedGroupsMapSelected = new Map();
7
- const updatedGroupsMap = comboItems.length ? createGroupsMap(comboItems, ENTIRE_ORGANIZATION_GROUP_ID) : {};
7
+ const updatedGroupsMap = comboItems.length ? createGroupsMap(comboItems, ROOT_GROUP_ID) : {};
8
8
  const namelessIds = new Set();
9
9
  if (selection.length > 0) {
10
10
  selection.forEach(id => {
@@ -19,7 +19,8 @@ export const getInitialState = (isFullSelectionMode, comboItems, selection, list
19
19
  }
20
20
  });
21
21
  }
22
- const isCurrentListNested = Object.keys(updatedGroupsMap).length > 0 && (updatedGroupsMap[ENTIRE_ORGANIZATION_GROUP_ID].children || []).some(el => el.children && el.children.length);
22
+ const isCurrentListNested = Object.keys(updatedGroupsMap).length > 0 && (updatedGroupsMap[ROOT_GROUP_ID].children || []).some(el => el.children && el.children.length);
23
+ const rootId = getRootId(updatedGroupsMap, ROOT_GROUP_ID, firstParentNodeIsVisible);
23
24
  return {
24
25
  groupsMap: updatedGroupsMap,
25
26
  selectedIds: selection,
@@ -27,6 +28,7 @@ export const getInitialState = (isFullSelectionMode, comboItems, selection, list
27
28
  defaultValue: defaultValue || [],
28
29
  listData: [],
29
30
  currentId: undefined,
31
+ rootId: rootId || ROOT_GROUP_ID,
30
32
  showWaiting: false,
31
33
  showEmptyList: false,
32
34
  showList: false,
@@ -45,7 +47,8 @@ export const getInitialState = (isFullSelectionMode, comboItems, selection, list
45
47
  defaultValueIsChecked: isChecked !== undefined ? defaultValueIsChecked || false : undefined,
46
48
  globalIsChecked: isChecked,
47
49
  listLimit,
48
- resultsExceedListLimit: false
50
+ resultsExceedListLimit: false,
51
+ firstParentNodeIsVisible: firstParentNodeIsVisible
49
52
  };
50
53
  };
51
54
  // eslint-disable-next-line complexity
@@ -54,7 +57,7 @@ export function stateReducer(state, action) {
54
57
  const { type, payload } = action;
55
58
  switch (type) {
56
59
  case StateActionType.CreateMap: {
57
- const updatedGroupsMap = payload.length ? createGroupsMap(payload, ENTIRE_ORGANIZATION_GROUP_ID) : {};
60
+ const updatedGroupsMap = payload.length ? createGroupsMap(payload, ROOT_GROUP_ID) : {};
58
61
  const newNamelessIds = new Set(state.namelessIds);
59
62
  if (Object.keys(updatedGroupsMap).length && state.selectedIds.length) {
60
63
  state.selectedIds.forEach(id => {
@@ -70,10 +73,11 @@ export function stateReducer(state, action) {
70
73
  }
71
74
  });
72
75
  }
73
- const isCurrentListNested = Object.keys(updatedGroupsMap).length > 0 && (updatedGroupsMap[ENTIRE_ORGANIZATION_GROUP_ID].children || []).some(el => el.children && el.children.length);
76
+ const isCurrentListNested = Object.keys(updatedGroupsMap).length > 0 && (updatedGroupsMap[ROOT_GROUP_ID].children || []).some(el => el.children && el.children.length);
74
77
  state.groupsMap = updatedGroupsMap;
75
78
  const additionalStateUpdates = updateAllSelectedStateValueBasedOnTotalSelected(state, state.selectedIds.length - newNamelessIds.size);
76
- return Object.assign(Object.assign(Object.assign({}, state), { namelessIds: newNamelessIds, isNestedList: state.isNestedList ? state.isNestedList : isCurrentListNested, resultsExceedListLimit: Object.keys(updatedGroupsMap).length - 1 >= state.listLimit }), additionalStateUpdates);
79
+ const rootId = getRootId(updatedGroupsMap, ROOT_GROUP_ID, state.firstParentNodeIsVisible);
80
+ return Object.assign(Object.assign(Object.assign({}, state), { rootId: rootId || ROOT_GROUP_ID, namelessIds: newNamelessIds, isNestedList: state.isNestedList ? state.isNestedList : isCurrentListNested, resultsExceedListLimit: Object.keys(updatedGroupsMap).length - 1 >= state.listLimit }), additionalStateUpdates);
77
81
  }
78
82
  case StateActionType.SetListData: {
79
83
  state.selectedIds.forEach(id => {
@@ -233,7 +237,8 @@ export function stateReducer(state, action) {
233
237
  }
234
238
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
235
239
  const currentChild = getChildList((_e = state.groupsMap[itemId]) === null || _e === void 0 ? void 0 : _e.children);
236
- currentChild.forEach(childId => childrenToProcess.add(childId.id));
240
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
241
+ currentChild.forEach(childId => childId && childrenToProcess.add(childId.id));
237
242
  }
238
243
  else {
239
244
  currentSelectedIds.delete(itemId);
@@ -287,7 +292,7 @@ export function stateReducer(state, action) {
287
292
  return Object.assign(Object.assign({}, state), { selectedIds: Array.from(newSelected) });
288
293
  }
289
294
  case StateActionType.DeselectItemsFromAllSelected: {
290
- const currentEl = state.groupsMap[ENTIRE_ORGANIZATION_GROUP_ID];
295
+ const currentEl = state.groupsMap[state.rootId];
291
296
  // action not submitted for disabled item, other items, even if disabled, not change their state
292
297
  const deselectedItems = payload ? new Set([payload]) : new Set(state.listData.filter(elem => !elem.disabled).map(el => el.id));
293
298
  const newSelected = new Set();
@@ -310,7 +315,7 @@ export function stateReducer(state, action) {
310
315
  return Object.assign(Object.assign({}, state), { selectedIds: Array.from(newSelected), isAllSelected: state.isFullSelectionMode ? false : undefined });
311
316
  }
312
317
  case StateActionType.ToggleValueForAllSelected: {
313
- const currentEl = state.groupsMap[ENTIRE_ORGANIZATION_GROUP_ID];
318
+ const currentEl = state.groupsMap[state.rootId];
314
319
  const newSelected = new Set();
315
320
  state.isAllSelected && ((currentEl === null || currentEl === void 0 ? void 0 : currentEl.children) || []).forEach(el => {
316
321
  if (!newSelected.has(el.id) && el.disabled) {
@@ -339,6 +344,13 @@ export function stateReducer(state, action) {
339
344
  childrenForDeselect.forEach(childId => newSelected.delete(childId));
340
345
  return Object.assign(Object.assign({}, state), { selectedIds: Array.from(newSelected) });
341
346
  }
347
+ case StateActionType.SetFirstParentNodeIsVisible: {
348
+ if (state.firstParentNodeIsVisible === payload) {
349
+ return state;
350
+ }
351
+ const newRootId = getRootId(state.groupsMap, ROOT_GROUP_ID, payload) || ROOT_GROUP_ID;
352
+ return Object.assign(Object.assign({}, state), { rootId: newRootId, firstParentNodeIsVisible: payload });
353
+ }
342
354
  default: {
343
355
  throw Error("Unknown action: " + type);
344
356
  }
@@ -1,4 +1,6 @@
1
1
  import { IDropdownState } from "./stateReducer";
2
2
  import { IDropdownRawItem } from "../types";
3
+ import { IGroupTree, ITypedHash } from "../../groupsFilterRaw/groupsFilterInterfaces";
3
4
  export declare function getChildList(childArr: IDropdownRawItem[] | undefined): IDropdownRawItem[];
4
5
  export declare const updateAllSelectedStateValueBasedOnTotalSelected: (state: IDropdownState, totalSelected: number) => Partial<Pick<IDropdownState, "isAllSelected">>;
6
+ export declare const getRootId: (groupsMap: ITypedHash<IGroupTree>, rootIdKey: string, firstParentNodeIsVisible?: boolean) => string | undefined;
@@ -1,3 +1,4 @@
1
+ import { ENTIRE_ORGANIZATION_GROUP_ID } from "../../groupsFilterRaw/groupsHelper";
1
2
  export function getChildList(childArr) {
2
3
  const list = [];
3
4
  if (!childArr) {
@@ -22,3 +23,20 @@ export const updateAllSelectedStateValueBasedOnTotalSelected = (state, totalSele
22
23
  }
23
24
  return additionalStateUpdates;
24
25
  };
26
+ export const getRootId = (groupsMap, rootIdKey, firstParentNodeIsVisible) => {
27
+ var _a;
28
+ if (Object.keys(groupsMap).length === 0) {
29
+ return undefined;
30
+ }
31
+ const rootGroup = groupsMap[rootIdKey];
32
+ if (((_a = rootGroup === null || rootGroup === void 0 ? void 0 : rootGroup.children) === null || _a === void 0 ? void 0 : _a.length) === 1 && rootGroup.children[0] && groupsMap[rootGroup.children[0].id]) {
33
+ if (firstParentNodeIsVisible) {
34
+ return undefined;
35
+ }
36
+ if (firstParentNodeIsVisible === undefined && rootGroup.children[0].children && rootGroup.children[0].children.length > 0) {
37
+ return rootGroup.children[0].id === ENTIRE_ORGANIZATION_GROUP_ID ? ENTIRE_ORGANIZATION_GROUP_ID : undefined;
38
+ }
39
+ return rootGroup.children[0].children && rootGroup.children[0].children.length > 0 ? rootGroup.children[0].id : undefined;
40
+ }
41
+ return undefined;
42
+ };
@@ -0,0 +1,39 @@
1
+ import { IGroupTree } from "../../groupsFilterRaw/groupsFilterInterfaces";
2
+ export declare const usersArr: {
3
+ id: string;
4
+ name: string;
5
+ firstName: string;
6
+ lastName: string;
7
+ }[];
8
+ export declare const usersMap: {
9
+ b4: {
10
+ id: string;
11
+ name: string;
12
+ firstName: string;
13
+ lastName: string;
14
+ parent: IGroupTree | undefined;
15
+ children: IGroupTree[];
16
+ };
17
+ b6: {
18
+ id: string;
19
+ name: string;
20
+ firstName: string;
21
+ lastName: string;
22
+ parent: IGroupTree | undefined;
23
+ children: IGroupTree[];
24
+ };
25
+ b12: {
26
+ id: string;
27
+ name: string;
28
+ firstName: string;
29
+ lastName: string;
30
+ parent: IGroupTree | undefined;
31
+ children: IGroupTree[];
32
+ };
33
+ zen_dropdown_root_group_id: {
34
+ id: string;
35
+ name: string;
36
+ parent: IGroupTree | undefined;
37
+ children: IGroupTree[];
38
+ };
39
+ };
@@ -0,0 +1,71 @@
1
+ import { ROOT_GROUP_ID } from "./stateReducer";
2
+ export const usersArr = [
3
+ {
4
+ id: "b4",
5
+ name: "atticuspinch@gmail.com",
6
+ firstName: "Atticus",
7
+ lastName: "Pinch"
8
+ },
9
+ {
10
+ id: "b6",
11
+ name: "jeanlouisepinch@gmail.com",
12
+ firstName: "Jean Louise",
13
+ lastName: "Pinch"
14
+ },
15
+ {
16
+ id: "b12",
17
+ name: "booadley@gmail.com",
18
+ firstName: "Boo",
19
+ lastName: "Adley"
20
+ }
21
+ ];
22
+ const rootNode = {
23
+ id: "root",
24
+ name: "",
25
+ parent: undefined,
26
+ children: []
27
+ };
28
+ const zenDropdownRootGroup = {
29
+ id: ROOT_GROUP_ID,
30
+ name: "",
31
+ parent: undefined,
32
+ children: []
33
+ };
34
+ const childB4 = {
35
+ id: "b4",
36
+ name: "atticuspinch@gmail.com",
37
+ firstName: "Atticus",
38
+ lastName: "Pinch",
39
+ parent: undefined,
40
+ children: []
41
+ };
42
+ const childB6 = {
43
+ id: "b6",
44
+ name: "jeanlouisepinch@gmail.com",
45
+ firstName: "Jean Louise",
46
+ lastName: "Pinch",
47
+ parent: undefined,
48
+ children: []
49
+ };
50
+ const childB12 = {
51
+ id: "b12",
52
+ name: "booadley@gmail.com",
53
+ firstName: "Boo",
54
+ lastName: "Adley",
55
+ parent: undefined,
56
+ children: []
57
+ };
58
+ rootNode.children = [zenDropdownRootGroup];
59
+ // Zen Group -> Company
60
+ zenDropdownRootGroup.children = [childB4, childB6, childB12];
61
+ // Setting parents
62
+ zenDropdownRootGroup.parent = rootNode;
63
+ childB4.parent = zenDropdownRootGroup;
64
+ childB6.parent = zenDropdownRootGroup;
65
+ childB12.parent = zenDropdownRootGroup;
66
+ export const usersMap = {
67
+ b4: childB4,
68
+ b6: childB6,
69
+ b12: childB12,
70
+ [ROOT_GROUP_ID]: zenDropdownRootGroup
71
+ };
@@ -59,6 +59,7 @@ interface IDropdownBase extends IChipsParent {
59
59
  setChecked?: (value: boolean) => void;
60
60
  fetchState?: IFetchDropdownState;
61
61
  mobileSheetStackingClassName?: string;
62
+ firstParentNodeIsVisible?: boolean;
62
63
  }
63
64
  interface IDropdownBaseDefault {
64
65
  disabled?: boolean;