@geotab/zenith 3.1.1-beta.5 → 3.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/README.md +20 -0
  2. package/dist/advancedGroupsFilter/advancedGroupsFilter.js +136 -30
  3. package/dist/advancedGroupsFilter/advancedGroupsFilterForm.js +139 -34
  4. package/dist/advancedGroupsFilter/advancedGroupsFilterFormSection.js +352 -87
  5. package/dist/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.d.ts +0 -1
  6. package/dist/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +83 -9
  7. package/dist/alertRaw/alertRaw.js +175 -54
  8. package/dist/banner/bannerMultipLine.js +131 -23
  9. package/dist/banner/bannerSingleLine.js +110 -16
  10. package/dist/betaPill/betaPill.js +111 -20
  11. package/dist/bookmark/bookmark.js +95 -28
  12. package/dist/bulkEditControl/bulkEditControl.js +167 -34
  13. package/dist/calendar/calendar.js +943 -273
  14. package/dist/calendar/calendarUtils.js +157 -85
  15. package/dist/card/card.js +268 -123
  16. package/dist/chart/accessibleChart/accessibleChartNarrative.js +648 -555
  17. package/dist/chart/accessibleChart/accessibleChartTable.js +245 -86
  18. package/dist/chart/chart.js +36 -21
  19. package/dist/chart/chartAxis/chartAxis.js +85 -7
  20. package/dist/checkboxListWithAction/checkboxListWithAction.js +224 -69
  21. package/dist/chip/chip.js +195 -91
  22. package/dist/columnsSelector/columnsSelector.js +97 -12
  23. package/dist/columnsSelector/columnsTab/columnsTab.js +59 -15
  24. package/dist/columnsSelector/columnsTabGroup/columnsTabGroup.js +81 -34
  25. package/dist/comboboxSelected/comboboxSelected.js +1 -3
  26. package/dist/dataFeed/feedExpandControl/feedExpandControl.js +25 -10
  27. package/dist/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +92 -11
  28. package/dist/dataGrid/dataGrid.js +227 -117
  29. package/dist/dataGrid/emptySearchList/emptySearchList.js +56 -9
  30. package/dist/dataGrid/entitiesListActions/actions/columnsListButton.js +51 -7
  31. package/dist/dataGrid/entitiesListActions/actions/fullscreenButton.js +64 -18
  32. package/dist/dataGrid/withFlexibleColumns/components/columnSettings.js +84 -10
  33. package/dist/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +48 -16
  34. package/dist/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +223 -32
  35. package/dist/dataGrid/withSelectableRows/withSelectableRows.js +286 -213
  36. package/dist/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +178 -95
  37. package/dist/dateInputInner/dateInputInner.js +791 -476
  38. package/dist/dateInputInner/dateInputInnerControlBlock.js +125 -22
  39. package/dist/dateInputRaw/dateInputRaw.js +315 -104
  40. package/dist/dateInputRaw/utils/getLabel.js +38 -7
  41. package/dist/dateRangeInner/dateRangeInner.js +172 -58
  42. package/dist/dateRangeRaw/dateRangeRaw.js +601 -239
  43. package/dist/dateRangeRaw/utils/dateRangeUtils.js +629 -241
  44. package/dist/dateSelectionWrapper/dateSelectionWrapper.js +152 -14
  45. package/dist/dialog/dialogContent.js +123 -40
  46. package/dist/dropdownRaw/dropdownHelper.d.ts +2 -2
  47. package/dist/dropdownRaw/dropdownHelper.js +9 -9
  48. package/dist/dropdownRaw/dropdownList.js +447 -78
  49. package/dist/dropdownRaw/dropdownPopup.js +218 -20
  50. package/dist/dropdownRaw/dropdownRaw.js +866 -506
  51. package/dist/dropdownRaw/dropdownSearchableTrigger.js +223 -46
  52. package/dist/dropdownRaw/stateReducer/stateAction.d.ts +5 -1
  53. package/dist/dropdownRaw/stateReducer/stateActionType.d.ts +2 -1
  54. package/dist/dropdownRaw/stateReducer/stateActionType.js +1 -0
  55. package/dist/dropdownRaw/stateReducer/stateReducer.d.ts +6 -1
  56. package/dist/dropdownRaw/stateReducer/stateReducer.js +24 -12
  57. package/dist/dropdownRaw/stateReducer/stateReducerHelper.d.ts +2 -0
  58. package/dist/dropdownRaw/stateReducer/stateReducerHelper.js +20 -1
  59. package/dist/dropdownRaw/stateReducer/stateReducerTestData.d.ts +39 -0
  60. package/dist/dropdownRaw/stateReducer/stateReducerTestData.js +74 -0
  61. package/dist/dropdownRaw/types.d.ts +1 -0
  62. package/dist/favoriteButton/favoriteButton.js +59 -10
  63. package/dist/filters/components/filtersContainer.js +151 -64
  64. package/dist/filters/components/filtersEmptySelectedList.js +30 -4
  65. package/dist/filters/components/filtersSaveModal.js +140 -42
  66. package/dist/filters/components/filtersSavedChipComponent.js +318 -108
  67. package/dist/filters/components/filtersSearchItemData.js +127 -47
  68. package/dist/filters/components/filtersSearchList.js +381 -179
  69. package/dist/filters/components/filtersSelect.js +128 -61
  70. package/dist/filters/components/filtersSelectListItem.js +125 -13
  71. package/dist/filters/components/filtersSidePanel.js +510 -178
  72. package/dist/filters/filters.js +445 -268
  73. package/dist/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +729 -272
  74. package/dist/filtersBar/components/resetComponentButton.js +45 -5
  75. package/dist/filtersBar/filtersBarActions/filtersBarActions.js +126 -15
  76. package/dist/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +155 -49
  77. package/dist/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +360 -104
  78. package/dist/filtersBar/filtersContainer/filtersContainer.js +204 -134
  79. package/dist/formField/components/formFieldWithLabel.d.ts +2 -1
  80. package/dist/formField/components/formFieldWithLabel.js +3 -2
  81. package/dist/formField/components/formFieldWithoutLabel.d.ts +2 -1
  82. package/dist/formField/components/formFieldWithoutLabel.js +3 -3
  83. package/dist/formField/components/trailingComponent.d.ts +8 -0
  84. package/dist/formField/components/trailingComponent.js +11 -0
  85. package/dist/formField/formField.d.ts +0 -1
  86. package/dist/formField/formField.js +15 -16
  87. package/dist/formField/hooks/useError.js +100 -36
  88. package/dist/formGroup/components/reviewListToggle/reviewListToggle.js +72 -7
  89. package/dist/formGroup/hooks/useToggle.js +37 -11
  90. package/dist/formGroup/utils/getControls.js +8 -7
  91. package/dist/formLayout/hooks/useError.js +55 -15
  92. package/dist/formLayout/hooks/useFormButtons.js +128 -27
  93. package/dist/formSection/components/formSectionModal.js +1 -1
  94. package/dist/formSection/formSection.js +1 -1
  95. package/dist/formSection/hooks/useError.js +70 -22
  96. package/dist/formStepper/components/formStep.js +65 -10
  97. package/dist/formStepper/formStepper.js +129 -33
  98. package/dist/formStepperButtons/formStepperButtons.js +184 -38
  99. package/dist/groupsFilter/groupsFilterTestData.d.ts +37 -0
  100. package/dist/groupsFilter/groupsFilterTestData.js +7 -0
  101. package/dist/groupsFilter/groupsHelper.d.ts +24 -1
  102. package/dist/groupsFilter/groupsHelper.js +25 -15
  103. package/dist/groupsFilterRaw/groupsFilterAdjustmentState.js +162 -17
  104. package/dist/groupsFilterRaw/groupsFilterBox.js +137 -32
  105. package/dist/groupsFilterRaw/groupsFilterCommon.js +75 -8
  106. package/dist/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +184 -25
  107. package/dist/groupsFilterRaw/groupsFilterHelper.d.ts +2 -1
  108. package/dist/groupsFilterRaw/groupsFilterHelper.js +284 -168
  109. package/dist/groupsFilterRaw/groupsFilterInitialState.js +266 -18
  110. package/dist/groupsFilterRaw/groupsFilterMenu.js +124 -9
  111. package/dist/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  112. package/dist/groupsFilterRaw/groupsFilterRaw.js +816 -308
  113. package/dist/groupsFilterRaw/groupsFilterTestData.d.ts +155 -2
  114. package/dist/groupsFilterRaw/groupsFilterTestData.js +153 -58
  115. package/dist/groupsFilterRaw/groupsFilterTrigger.js +139 -35
  116. package/dist/groupsFilterRaw/groupsHelper.js +739 -208
  117. package/dist/groupsFilterRaw/stateReducer/stateReducerHelper.js +3 -1
  118. package/dist/groupsFilterRaw/types.d.ts +1 -0
  119. package/dist/header/components/collapsedItemsControl/collapsedItemsControl.js +107 -52
  120. package/dist/header/components/mobileFilterControl/mobileFilterControl.js +62 -9
  121. package/dist/header/components/mobileSearchControl/mobileSearchControl.js +119 -14
  122. package/dist/header/headerBack.js +64 -20
  123. package/dist/index.css +110 -71
  124. package/dist/index.d.ts +2 -1
  125. package/dist/index.js +5 -2
  126. package/dist/list/itemData/itemDataInternal.js +216 -51
  127. package/dist/list/listItem/listItem.js +168 -55
  128. package/dist/menu/components/menuErrorItem.js +33 -5
  129. package/dist/mobileSheet/mobileSheet.js +195 -69
  130. package/dist/modal/modal.js +300 -142
  131. package/dist/nav/nav.js +1 -1
  132. package/dist/nav/navFooter/navFooter.js +82 -39
  133. package/dist/nav/navFooter/navFooterAction/navFooterAction.js +52 -13
  134. package/dist/nav/navHeader/navHeader.js +86 -36
  135. package/dist/nav/navHeader/navHeaderSearch/navHeaderSearch.js +88 -29
  136. package/dist/nav/navItem/navItem.d.ts +3 -3
  137. package/dist/nav/navItem/navItem.js +35 -33
  138. package/dist/nav/navMobileBar/navMobileBar.js +67 -21
  139. package/dist/notification/notification.js +124 -21
  140. package/dist/pagination/paginationArrow.js +81 -11
  141. package/dist/pagination/paginationText/paginationText.js +45 -11
  142. package/dist/pill/components/pillNonActionable/pillNonActionable.js +93 -24
  143. package/dist/pillBox/components/pillBoxItem.js +52 -9
  144. package/dist/pillBox/pillBox.js +121 -20
  145. package/dist/pillExpandable/pillExpandable.js +333 -139
  146. package/dist/rangeRaw/rangeRaw.js +486 -141
  147. package/dist/rangeRaw/utils/rangeHelper.js +209 -39
  148. package/dist/searchInputRaw/searchInputRaw.js +180 -65
  149. package/dist/skeleton/skeleton.js +51 -6
  150. package/dist/sortControl/sortControl.js +152 -42
  151. package/dist/stepperRaw/stepperRaw.js +116 -42
  152. package/dist/summary/summary.js +94 -8
  153. package/dist/table/actions/actionsMenu.js +171 -78
  154. package/dist/table/flexible/columnSettings.js +80 -10
  155. package/dist/table/flexible/columnsList.js +110 -43
  156. package/dist/table/flexible/columnsPopup.js +77 -20
  157. package/dist/table/nested/useNestedRows.js +167 -77
  158. package/dist/table/selectable/selectableHeader.js +180 -41
  159. package/dist/table/selectable/useSelectableRows.js +270 -191
  160. package/dist/table/sortable/sortableHeader.js +153 -75
  161. package/dist/tabs/tabs.js +227 -118
  162. package/dist/timePickerRaw/timePickerRaw.js +278 -58
  163. package/dist/toastRaw/toastRaw.js +138 -32
  164. package/dist/toggleButton/toggleButton.d.ts +0 -1
  165. package/dist/toggleButtonRaw/toggleButtonRaw.d.ts +1 -0
  166. package/dist/toggleButtonRaw/toggleButtonRaw.js +146 -40
  167. package/dist/utils/formatDate.js +1001 -117
  168. package/{esm/utils/localization/translations/cs-json.js → dist/utils/localization/translations/cs.json} +11 -12
  169. package/{esm/utils/localization/translations/da-DK-json.js → dist/utils/localization/translations/da-DK.json} +31 -23
  170. package/{esm/utils/localization/translations/de-json.js → dist/utils/localization/translations/de.json} +12 -13
  171. package/dist/utils/localization/translations/en.json +308 -0
  172. package/{esm/utils/localization/translations/es-json.js → dist/utils/localization/translations/es.json} +11 -12
  173. package/{esm/utils/localization/translations/fi-FI-json.js → dist/utils/localization/translations/fi-FI.json} +31 -23
  174. package/{esm/utils/localization/translations/fr-FR-json.js → dist/utils/localization/translations/fr-FR.json} +12 -12
  175. package/{esm/utils/localization/translations/fr-json.js → dist/utils/localization/translations/fr.json} +11 -12
  176. package/{esm/utils/localization/translations/hu-HU-json.js → dist/utils/localization/translations/hu-HU.json} +31 -23
  177. package/{esm/utils/localization/translations/id-json.js → dist/utils/localization/translations/id.json} +11 -13
  178. package/{esm/utils/localization/translations/it-json.js → dist/utils/localization/translations/it.json} +11 -12
  179. package/{esm/utils/localization/translations/ja-json.js → dist/utils/localization/translations/ja.json} +11 -12
  180. package/{esm/utils/localization/translations/ko-KR-json.js → dist/utils/localization/translations/ko-KR.json} +24 -23
  181. package/{esm/utils/localization/translations/ms-json.js → dist/utils/localization/translations/ms.json} +11 -12
  182. package/{esm/utils/localization/translations/nb-NO-json.js → dist/utils/localization/translations/nb-NO.json} +31 -23
  183. package/{esm/utils/localization/translations/nl-json.js → dist/utils/localization/translations/nl.json} +11 -12
  184. package/{esm/utils/localization/translations/pl-json.js → dist/utils/localization/translations/pl.json} +11 -12
  185. package/{esm/utils/localization/translations/pt-BR-json.js → dist/utils/localization/translations/pt-BR.json} +11 -12
  186. package/{esm/utils/localization/translations/sk-SK-json.js → dist/utils/localization/translations/sk-SK.json} +31 -23
  187. package/{esm/utils/localization/translations/sv-json.js → dist/utils/localization/translations/sv.json} +11 -12
  188. package/{esm/utils/localization/translations/th-json.js → dist/utils/localization/translations/th.json} +11 -12
  189. package/{esm/utils/localization/translations/tr-json.js → dist/utils/localization/translations/tr.json} +11 -12
  190. package/{esm/utils/localization/translations/zh-Hans-json.js → dist/utils/localization/translations/zh-Hans.json} +11 -12
  191. package/{esm/utils/localization/translations/zh-TW-json.js → dist/utils/localization/translations/zh-TW.json} +11 -23
  192. package/dist/utils/localization/translationsDictionary.d.ts +2 -0
  193. package/dist/utils/localization/translationsDictionary.js +63 -0
  194. package/dist/utils/localization/useLanguage.js +2 -74
  195. package/esm/advancedGroupsFilter/advancedGroupsFilter.js +130 -29
  196. package/esm/advancedGroupsFilter/advancedGroupsFilterForm.js +133 -33
  197. package/esm/advancedGroupsFilter/advancedGroupsFilterFormSection.js +317 -65
  198. package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.d.ts +0 -1
  199. package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +77 -8
  200. package/esm/alertRaw/alertRaw.js +165 -51
  201. package/esm/banner/bannerMultipLine.js +121 -20
  202. package/esm/banner/bannerSingleLine.js +100 -13
  203. package/esm/betaPill/betaPill.js +105 -19
  204. package/esm/bookmark/bookmark.js +89 -27
  205. package/esm/bulkEditControl/bulkEditControl.js +161 -33
  206. package/esm/calendar/calendar.js +937 -272
  207. package/esm/calendar/calendarUtils.js +151 -84
  208. package/esm/card/card.js +233 -101
  209. package/esm/chart/accessibleChart/accessibleChartNarrative.js +642 -554
  210. package/esm/chart/accessibleChart/accessibleChartTable.js +239 -85
  211. package/esm/chart/chart.js +30 -20
  212. package/esm/chart/chartAxis/chartAxis.js +79 -6
  213. package/esm/checkboxListWithAction/checkboxListWithAction.js +218 -68
  214. package/esm/chip/chip.js +189 -90
  215. package/esm/columnsSelector/columnsSelector.js +91 -11
  216. package/esm/columnsSelector/columnsTab/columnsTab.js +53 -14
  217. package/esm/columnsSelector/columnsTabGroup/columnsTabGroup.js +75 -33
  218. package/esm/comboboxSelected/comboboxSelected.js +1 -3
  219. package/esm/dataFeed/feedExpandControl/feedExpandControl.js +21 -9
  220. package/esm/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +86 -10
  221. package/esm/dataGrid/dataGrid.js +221 -116
  222. package/esm/dataGrid/emptySearchList/emptySearchList.js +50 -8
  223. package/esm/dataGrid/entitiesListActions/actions/columnsListButton.js +45 -6
  224. package/esm/dataGrid/entitiesListActions/actions/fullscreenButton.js +58 -17
  225. package/esm/dataGrid/withFlexibleColumns/components/columnSettings.js +78 -9
  226. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +44 -15
  227. package/esm/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +217 -31
  228. package/esm/dataGrid/withSelectableRows/withSelectableRows.js +280 -212
  229. package/esm/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +172 -94
  230. package/esm/dateInputInner/dateInputInner.js +785 -475
  231. package/esm/dateInputInner/dateInputInnerControlBlock.js +119 -21
  232. package/esm/dateInputRaw/dateInputRaw.js +309 -103
  233. package/esm/dateInputRaw/utils/getLabel.js +32 -6
  234. package/esm/dateRangeInner/dateRangeInner.js +166 -57
  235. package/esm/dateRangeRaw/dateRangeRaw.js +595 -238
  236. package/esm/dateRangeRaw/utils/dateRangeUtils.js +622 -239
  237. package/esm/dateSelectionWrapper/dateSelectionWrapper.js +146 -13
  238. package/esm/dialog/dialogContent.js +117 -39
  239. package/esm/dropdownRaw/dropdownHelper.d.ts +2 -2
  240. package/esm/dropdownRaw/dropdownHelper.js +10 -10
  241. package/esm/dropdownRaw/dropdownList.js +412 -56
  242. package/esm/dropdownRaw/dropdownPopup.js +212 -19
  243. package/esm/dropdownRaw/dropdownRaw.js +862 -507
  244. package/esm/dropdownRaw/dropdownSearchableTrigger.js +217 -45
  245. package/esm/dropdownRaw/stateReducer/stateAction.d.ts +5 -1
  246. package/esm/dropdownRaw/stateReducer/stateActionType.d.ts +2 -1
  247. package/esm/dropdownRaw/stateReducer/stateActionType.js +1 -0
  248. package/esm/dropdownRaw/stateReducer/stateReducer.d.ts +6 -1
  249. package/esm/dropdownRaw/stateReducer/stateReducer.js +24 -12
  250. package/esm/dropdownRaw/stateReducer/stateReducerHelper.d.ts +2 -0
  251. package/esm/dropdownRaw/stateReducer/stateReducerHelper.js +18 -0
  252. package/esm/dropdownRaw/stateReducer/stateReducerTestData.d.ts +39 -0
  253. package/esm/dropdownRaw/stateReducer/stateReducerTestData.js +71 -0
  254. package/esm/dropdownRaw/types.d.ts +1 -0
  255. package/esm/favoriteButton/favoriteButton.js +53 -9
  256. package/esm/filters/components/filtersContainer.js +141 -61
  257. package/esm/filters/components/filtersEmptySelectedList.js +24 -3
  258. package/esm/filters/components/filtersSaveModal.js +134 -41
  259. package/esm/filters/components/filtersSavedChipComponent.js +312 -107
  260. package/esm/filters/components/filtersSearchItemData.js +121 -46
  261. package/esm/filters/components/filtersSearchList.js +375 -178
  262. package/esm/filters/components/filtersSelect.js +122 -60
  263. package/esm/filters/components/filtersSelectListItem.js +119 -12
  264. package/esm/filters/components/filtersSidePanel.js +504 -177
  265. package/esm/filters/filters.js +435 -265
  266. package/esm/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +722 -270
  267. package/esm/filtersBar/components/resetComponentButton.js +39 -4
  268. package/esm/filtersBar/filtersBarActions/filtersBarActions.js +120 -14
  269. package/esm/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +149 -48
  270. package/esm/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +354 -103
  271. package/esm/filtersBar/filtersContainer/filtersContainer.js +198 -133
  272. package/esm/formField/components/formFieldWithLabel.d.ts +2 -1
  273. package/esm/formField/components/formFieldWithLabel.js +3 -2
  274. package/esm/formField/components/formFieldWithoutLabel.d.ts +2 -1
  275. package/esm/formField/components/formFieldWithoutLabel.js +3 -3
  276. package/esm/formField/components/trailingComponent.d.ts +8 -0
  277. package/esm/formField/components/trailingComponent.js +7 -0
  278. package/esm/formField/formField.d.ts +0 -1
  279. package/esm/formField/formField.js +15 -16
  280. package/esm/formField/hooks/useError.js +94 -35
  281. package/esm/formGroup/components/reviewListToggle/reviewListToggle.js +66 -6
  282. package/esm/formGroup/hooks/useToggle.js +31 -10
  283. package/esm/formGroup/utils/getControls.js +8 -7
  284. package/esm/formLayout/hooks/useError.js +49 -14
  285. package/esm/formLayout/hooks/useFormButtons.js +122 -26
  286. package/esm/formSection/components/formSectionModal.js +1 -1
  287. package/esm/formSection/formSection.js +1 -1
  288. package/esm/formSection/hooks/useError.js +64 -21
  289. package/esm/formStepper/components/formStep.js +59 -9
  290. package/esm/formStepper/formStepper.js +123 -32
  291. package/esm/formStepperButtons/formStepperButtons.js +178 -37
  292. package/esm/groupsFilter/groupsFilterTestData.d.ts +37 -0
  293. package/esm/groupsFilter/groupsFilterTestData.js +4 -0
  294. package/esm/groupsFilter/groupsHelper.d.ts +24 -1
  295. package/esm/groupsFilter/groupsHelper.js +24 -1
  296. package/esm/groupsFilterRaw/groupsFilterAdjustmentState.js +152 -14
  297. package/esm/groupsFilterRaw/groupsFilterBox.js +131 -31
  298. package/esm/groupsFilterRaw/groupsFilterCommon.js +69 -7
  299. package/esm/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +178 -24
  300. package/esm/groupsFilterRaw/groupsFilterHelper.d.ts +2 -1
  301. package/esm/groupsFilterRaw/groupsFilterHelper.js +279 -168
  302. package/esm/groupsFilterRaw/groupsFilterInitialState.js +260 -17
  303. package/esm/groupsFilterRaw/groupsFilterMenu.js +118 -8
  304. package/esm/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  305. package/esm/groupsFilterRaw/groupsFilterRaw.js +811 -308
  306. package/esm/groupsFilterRaw/groupsFilterTestData.d.ts +155 -2
  307. package/esm/groupsFilterRaw/groupsFilterTestData.js +152 -57
  308. package/esm/groupsFilterRaw/groupsFilterTrigger.js +133 -34
  309. package/esm/groupsFilterRaw/groupsHelper.js +733 -207
  310. package/esm/groupsFilterRaw/stateReducer/stateReducerHelper.js +3 -1
  311. package/esm/groupsFilterRaw/types.d.ts +1 -0
  312. package/esm/header/components/collapsedItemsControl/collapsedItemsControl.js +101 -51
  313. package/esm/header/components/mobileFilterControl/mobileFilterControl.js +56 -8
  314. package/esm/header/components/mobileSearchControl/mobileSearchControl.js +113 -13
  315. package/esm/header/headerBack.js +58 -19
  316. package/esm/index.d.ts +2 -1
  317. package/esm/index.js +2 -1
  318. package/esm/list/itemData/itemDataInternal.js +210 -50
  319. package/esm/list/listItem/listItem.js +162 -54
  320. package/esm/menu/components/menuErrorItem.js +27 -4
  321. package/esm/mobileSheet/mobileSheet.js +189 -68
  322. package/esm/modal/modal.js +265 -120
  323. package/esm/nav/nav.js +1 -1
  324. package/esm/nav/navFooter/navFooter.js +76 -38
  325. package/esm/nav/navFooter/navFooterAction/navFooterAction.js +46 -12
  326. package/esm/nav/navHeader/navHeader.js +80 -35
  327. package/esm/nav/navHeader/navHeaderSearch/navHeaderSearch.js +82 -28
  328. package/esm/nav/navItem/navItem.d.ts +3 -3
  329. package/esm/nav/navItem/navItem.js +35 -33
  330. package/esm/nav/navMobileBar/navMobileBar.js +61 -20
  331. package/esm/notification/notification.js +114 -18
  332. package/esm/pagination/paginationArrow.js +75 -10
  333. package/esm/pagination/paginationText/paginationText.js +39 -10
  334. package/esm/pill/components/pillNonActionable/pillNonActionable.js +87 -23
  335. package/esm/pillBox/components/pillBoxItem.js +46 -8
  336. package/esm/pillBox/pillBox.js +115 -19
  337. package/esm/pillExpandable/pillExpandable.js +327 -138
  338. package/esm/rangeRaw/rangeRaw.js +480 -140
  339. package/esm/rangeRaw/utils/rangeHelper.js +203 -38
  340. package/esm/searchInputRaw/searchInputRaw.js +145 -43
  341. package/esm/skeleton/skeleton.js +45 -5
  342. package/esm/sortControl/sortControl.js +146 -41
  343. package/esm/stepperRaw/stepperRaw.js +112 -41
  344. package/esm/storybookHelpers/dataGridWithDifferentCellOptions/components/EntitiesListAction.js +178 -19
  345. package/esm/summary/summary.js +88 -7
  346. package/esm/table/actions/actionsMenu.js +165 -77
  347. package/esm/table/flexible/columnSettings.js +74 -9
  348. package/esm/table/flexible/columnsList.js +104 -42
  349. package/esm/table/flexible/columnsPopup.js +71 -19
  350. package/esm/table/nested/useNestedRows.js +161 -76
  351. package/esm/table/selectable/selectableHeader.js +174 -40
  352. package/esm/table/selectable/useSelectableRows.js +264 -190
  353. package/esm/table/sortable/sortableHeader.js +147 -74
  354. package/esm/tabs/tabs.js +221 -117
  355. package/esm/timePickerRaw/timePickerRaw.js +272 -57
  356. package/esm/toastRaw/toastRaw.js +132 -31
  357. package/esm/toggleButton/toggleButton.d.ts +0 -1
  358. package/esm/toggleButtonRaw/toggleButtonRaw.d.ts +1 -0
  359. package/esm/toggleButtonRaw/toggleButtonRaw.js +111 -18
  360. package/esm/utils/formatDate.js +995 -116
  361. package/{dist/utils/localization/translations/cs-json.js → esm/utils/localization/translations/cs.json} +11 -15
  362. package/{dist/utils/localization/translations/da-DK-json.js → esm/utils/localization/translations/da-DK.json} +31 -26
  363. package/{dist/utils/localization/translations/de-json.js → esm/utils/localization/translations/de.json} +12 -16
  364. package/esm/utils/localization/translations/en.json +308 -0
  365. package/{dist/utils/localization/translations/es-json.js → esm/utils/localization/translations/es.json} +11 -15
  366. package/{dist/utils/localization/translations/fi-FI-json.js → esm/utils/localization/translations/fi-FI.json} +31 -26
  367. package/{dist/utils/localization/translations/fr-FR-json.js → esm/utils/localization/translations/fr-FR.json} +12 -15
  368. package/{dist/utils/localization/translations/fr-json.js → esm/utils/localization/translations/fr.json} +11 -15
  369. package/{dist/utils/localization/translations/hu-HU-json.js → esm/utils/localization/translations/hu-HU.json} +31 -26
  370. package/{dist/utils/localization/translations/id-json.js → esm/utils/localization/translations/id.json} +11 -16
  371. package/{dist/utils/localization/translations/it-json.js → esm/utils/localization/translations/it.json} +11 -15
  372. package/{dist/utils/localization/translations/ja-json.js → esm/utils/localization/translations/ja.json} +11 -15
  373. package/{dist/utils/localization/translations/ko-KR-json.js → esm/utils/localization/translations/ko-KR.json} +24 -26
  374. package/{dist/utils/localization/translations/ms-json.js → esm/utils/localization/translations/ms.json} +11 -15
  375. package/{dist/utils/localization/translations/nb-NO-json.js → esm/utils/localization/translations/nb-NO.json} +31 -26
  376. package/{dist/utils/localization/translations/nl-json.js → esm/utils/localization/translations/nl.json} +11 -15
  377. package/{dist/utils/localization/translations/pl-json.js → esm/utils/localization/translations/pl.json} +11 -15
  378. package/{dist/utils/localization/translations/pt-BR-json.js → esm/utils/localization/translations/pt-BR.json} +11 -15
  379. package/{dist/utils/localization/translations/sk-SK-json.js → esm/utils/localization/translations/sk-SK.json} +31 -26
  380. package/{dist/utils/localization/translations/sv-json.js → esm/utils/localization/translations/sv.json} +11 -15
  381. package/{dist/utils/localization/translations/th-json.js → esm/utils/localization/translations/th.json} +11 -15
  382. package/{dist/utils/localization/translations/tr-json.js → esm/utils/localization/translations/tr.json} +11 -15
  383. package/{dist/utils/localization/translations/zh-Hans-json.js → esm/utils/localization/translations/zh-Hans.json} +11 -15
  384. package/{dist/utils/localization/translations/zh-TW-json.js → esm/utils/localization/translations/zh-TW.json} +11 -26
  385. package/esm/utils/localization/translationsDictionary.d.ts +2 -0
  386. package/esm/utils/localization/translationsDictionary.js +59 -0
  387. package/esm/utils/localization/useLanguage.js +1 -50
  388. package/package.json +17 -10
  389. package/dist/formField/hooks/useClasses.d.ts +0 -8
  390. package/dist/formField/hooks/useClasses.js +0 -25
  391. package/dist/utils/localization/translations/cs-json.d.ts +0 -251
  392. package/dist/utils/localization/translations/da-DK-json.d.ts +0 -252
  393. package/dist/utils/localization/translations/de-json.d.ts +0 -251
  394. package/dist/utils/localization/translations/en-json.d.ts +0 -314
  395. package/dist/utils/localization/translations/en-json.js +0 -317
  396. package/dist/utils/localization/translations/es-json.d.ts +0 -251
  397. package/dist/utils/localization/translations/fi-FI-json.d.ts +0 -252
  398. package/dist/utils/localization/translations/fr-FR-json.d.ts +0 -250
  399. package/dist/utils/localization/translations/fr-json.d.ts +0 -251
  400. package/dist/utils/localization/translations/hu-HU-json.d.ts +0 -252
  401. package/dist/utils/localization/translations/id-json.d.ts +0 -252
  402. package/dist/utils/localization/translations/it-json.d.ts +0 -251
  403. package/dist/utils/localization/translations/ja-json.d.ts +0 -251
  404. package/dist/utils/localization/translations/ko-KR-json.d.ts +0 -258
  405. package/dist/utils/localization/translations/ms-json.d.ts +0 -251
  406. package/dist/utils/localization/translations/nb-NO-json.d.ts +0 -252
  407. package/dist/utils/localization/translations/nl-json.d.ts +0 -251
  408. package/dist/utils/localization/translations/pl-json.d.ts +0 -251
  409. package/dist/utils/localization/translations/pt-BR-json.d.ts +0 -251
  410. package/dist/utils/localization/translations/sk-SK-json.d.ts +0 -251
  411. package/dist/utils/localization/translations/sv-json.d.ts +0 -251
  412. package/dist/utils/localization/translations/th-json.d.ts +0 -251
  413. package/dist/utils/localization/translations/tr-json.d.ts +0 -251
  414. package/dist/utils/localization/translations/zh-Hans-json.d.ts +0 -251
  415. package/dist/utils/localization/translations/zh-TW-json.d.ts +0 -271
  416. package/esm/formField/hooks/useClasses.d.ts +0 -8
  417. package/esm/formField/hooks/useClasses.js +0 -21
  418. package/esm/utils/localization/translations/cs-json.d.ts +0 -251
  419. package/esm/utils/localization/translations/da-DK-json.d.ts +0 -252
  420. package/esm/utils/localization/translations/de-json.d.ts +0 -251
  421. package/esm/utils/localization/translations/en-json.d.ts +0 -314
  422. package/esm/utils/localization/translations/en-json.js +0 -314
  423. package/esm/utils/localization/translations/es-json.d.ts +0 -251
  424. package/esm/utils/localization/translations/fi-FI-json.d.ts +0 -252
  425. package/esm/utils/localization/translations/fr-FR-json.d.ts +0 -250
  426. package/esm/utils/localization/translations/fr-json.d.ts +0 -251
  427. package/esm/utils/localization/translations/hu-HU-json.d.ts +0 -252
  428. package/esm/utils/localization/translations/id-json.d.ts +0 -252
  429. package/esm/utils/localization/translations/it-json.d.ts +0 -251
  430. package/esm/utils/localization/translations/ja-json.d.ts +0 -251
  431. package/esm/utils/localization/translations/ko-KR-json.d.ts +0 -258
  432. package/esm/utils/localization/translations/ms-json.d.ts +0 -251
  433. package/esm/utils/localization/translations/nb-NO-json.d.ts +0 -252
  434. package/esm/utils/localization/translations/nl-json.d.ts +0 -251
  435. package/esm/utils/localization/translations/pl-json.d.ts +0 -251
  436. package/esm/utils/localization/translations/pt-BR-json.d.ts +0 -251
  437. package/esm/utils/localization/translations/sk-SK-json.d.ts +0 -251
  438. package/esm/utils/localization/translations/sv-json.d.ts +0 -251
  439. package/esm/utils/localization/translations/th-json.d.ts +0 -251
  440. package/esm/utils/localization/translations/tr-json.d.ts +0 -251
  441. package/esm/utils/localization/translations/zh-Hans-json.d.ts +0 -251
  442. package/esm/utils/localization/translations/zh-TW-json.d.ts +0 -271
@@ -1,3 +1,4 @@
1
+ import { injectString } from "../utils/localization/translationsDictionary";
1
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
3
  import { Children, createContext, memo, useCallback, useContext, useEffect, useId, useMemo, useRef, useState } from "react";
3
4
  import { Absolute } from "../absolute/absolute";
@@ -10,156 +11,344 @@ import { classNames } from "../commonHelpers/classNames/classNames";
10
11
  import { getButtonMoreProps } from "./getProps";
11
12
  import { Skeleton } from "../skeleton/skeleton";
12
13
  import { isFunction } from "../commonHelpers/reactHelpers/reactHelpers";
14
+ injectString("cs", "Expand", "Rozbalit");
15
+ injectString("da-DK", "Expand", "Udvid");
16
+ injectString("de", "Expand", "Erweitern");
17
+ injectString("en", "Expand", "Expand");
18
+ injectString("es", "Expand", "Expandir");
19
+ injectString("fi-FI", "Expand", "Laajenna");
20
+ injectString("fr", "Expand", "D\xE9velopper");
21
+ injectString("fr-FR", "Expand", "D\xE9velopper");
22
+ injectString("hu-HU", "Expand", "B\u0151v\xEDtsd ki");
23
+ injectString("id", "Expand", "Perluas");
24
+ injectString("it", "Expand", "Espandere");
25
+ injectString("ja", "Expand", "\u5C55\u958B");
26
+ injectString("ko-KR", "Expand", "\uD655\uC7A5");
27
+ injectString("ms", "Expand", "Kembangkan");
28
+ injectString("nb-NO", "Expand", "Utvide");
29
+ injectString("nl", "Expand", "Uitvouwen");
30
+ injectString("pl", "Expand", "Rozwi\u0144");
31
+ injectString("pt-BR", "Expand", "Expandir");
32
+ injectString("sk-SK", "Expand", "Roz\u0161\xEDr.");
33
+ injectString("sv", "Expand", "Expandera");
34
+ injectString("th", "Expand", "\u0E02\u0E22\u0E32\u0E22");
35
+ injectString("tr", "Expand", "Geni\u015Flet");
36
+ injectString("zh-Hans", "Expand", "\u5C55\u5F00");
37
+ injectString("zh-TW", "Expand", "\u5C55\u958B");
38
+ injectString("cs", "View all", "Zobrazit v\u0161e");
39
+ injectString("da-DK", "View all", "Se alle");
40
+ injectString("de", "View all", "Alle anzeigen");
41
+ injectString("en", "View all", "View all");
42
+ injectString("es", "View all", "Ver todo");
43
+ injectString("fi-FI", "View all", "N\xE4yt\xE4 kaikki");
44
+ injectString("fr", "View all", "Afficher tout");
45
+ injectString("fr-FR", "View all", "Tout afficher");
46
+ injectString("hu-HU", "View all", "Mutasd az \xF6sszeset.");
47
+ injectString("id", "View all", "Lihat semua");
48
+ injectString("it", "View all", "Visualizzare tutto");
49
+ injectString("ja", "View all", "\u3059\u3079\u3066\u8868\u793A");
50
+ injectString("ko-KR", "View all", "\uC804\uCCB4 \uBCF4\uAE30");
51
+ injectString("ms", "View all", "Lihat semua");
52
+ injectString("nb-NO", "View all", "Se alle");
53
+ injectString("nl", "View all", "Alles weergeven");
54
+ injectString("pl", "View all", "Wy\u015Bwietl wszystkie");
55
+ injectString("pt-BR", "View all", "Visualizar tudo");
56
+ injectString("sk-SK", "View all", "Zobrazi\u0165 v\u0161etko");
57
+ injectString("sv", "View all", "Visa alla");
58
+ injectString("th", "View all", "\u0E14\u0E39\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14");
59
+ injectString("tr", "View all", "T\xFCm\xFCn\xFC g\xF6r\xFCnt\xFCle");
60
+ injectString("zh-Hans", "View all", "\u67E5\u770B\u5168\u90E8");
61
+ injectString("zh-TW", "View all", "\u6AA2\u8996\u5168\u90E8");
13
62
  const MAX_PILLS_TO_DISPLAY_IN_POPUP = 2;
14
63
  const PillContext = createContext({
15
- level: 0,
16
- onPillExpand: () => { },
17
- expandId: undefined
64
+ level: 0,
65
+ onPillExpand: () => {},
66
+ expandId: undefined
18
67
  });
19
68
  const paddingX = 26;
20
69
  const paddingY = 52;
21
- const getDefaultContent = ({ description, date, count, secondaryAction, mainAction, getData }) => {
22
- if (getData) {
23
- return {
24
- description: {
25
- isLoading: true,
26
- data: ""
27
- },
28
- date: {
29
- isLoading: true,
30
- data: ""
31
- },
32
- count: {
33
- isLoading: true,
34
- data: 0
35
- },
36
- secondaryAction: {
37
- isLoading: true,
38
- data: {
39
- text: ""
40
- }
41
- },
42
- mainAction: {
43
- isLoading: true,
44
- data: {
45
- text: ""
46
- }
47
- },
48
- getData
49
- };
50
- }
70
+ const getDefaultContent = ({
71
+ description,
72
+ date,
73
+ count,
74
+ secondaryAction,
75
+ mainAction,
76
+ getData
77
+ }) => {
78
+ if (getData) {
51
79
  return {
52
- description,
53
- date,
54
- count,
55
- secondaryAction,
56
- mainAction,
57
- getData: undefined
80
+ description: {
81
+ isLoading: true,
82
+ data: ""
83
+ },
84
+ date: {
85
+ isLoading: true,
86
+ data: ""
87
+ },
88
+ count: {
89
+ isLoading: true,
90
+ data: 0
91
+ },
92
+ secondaryAction: {
93
+ isLoading: true,
94
+ data: {
95
+ text: ""
96
+ }
97
+ },
98
+ mainAction: {
99
+ isLoading: true,
100
+ data: {
101
+ text: ""
102
+ }
103
+ },
104
+ getData
58
105
  };
106
+ }
107
+ return {
108
+ description,
109
+ date,
110
+ count,
111
+ secondaryAction,
112
+ mainAction,
113
+ getData: undefined
114
+ };
59
115
  };
60
116
  const getValue = (parameter, setContent, paramName, errorHandler) => {
61
- if (parameter instanceof Function) {
62
- parameter()
63
- .then((result) => {
64
- setContent((prevValue) => (Object.assign(Object.assign({}, prevValue), { [paramName]: result })));
65
- })
66
- .catch((e) => {
67
- errorHandler && errorHandler(e);
68
- });
69
- }
117
+ if (parameter instanceof Function) {
118
+ parameter().then(result => {
119
+ setContent(prevValue => Object.assign(Object.assign({}, prevValue), {
120
+ [paramName]: result
121
+ }));
122
+ }).catch(e => {
123
+ errorHandler && errorHandler(e);
124
+ });
125
+ }
70
126
  };
71
- const PillExpandableBase = ({ children, errorHandler, getData, text, description, date, count, mainAction, secondaryAction, viewMoreAction, uniquePills, type, className, popupClassName, isLoading, isFlat, icon, secondaryIcon, isBeta, loadingWidth = 200, hideCounterNumber }) => {
72
- const popupId = useId();
73
- const pillId = useId();
74
- const { translate } = useLanguage();
75
- const [content, setContent] = useState(getDefaultContent({
76
- description,
77
- date,
78
- count,
79
- secondaryAction,
80
- mainAction,
81
- getData
82
- }));
83
- const [isOpen, setIsOpen] = useState(false);
84
- const [isPopupContentReady, setIsPopupContentReady] = useState(false);
85
- const [containerNode, setContainerNode] = useState(null);
86
- useEffect(() => {
87
- if (!isOpen) {
88
- setIsPopupContentReady(false);
89
- return;
90
- }
91
- if (!containerNode || typeof ResizeObserver === "undefined") {
92
- return;
93
- }
94
- const observer = new ResizeObserver(() => {
95
- if (containerNode.offsetHeight > 0) {
96
- setIsPopupContentReady(true);
97
- }
98
- });
99
- observer.observe(containerNode);
100
- // eslint-disable-next-line consistent-return
101
- return () => {
102
- observer.unobserve(containerNode);
103
- };
104
- }, [isOpen, containerNode]);
105
- useEffect(() => {
106
- const fetchData = function () {
107
- if (!isOpen) {
108
- return;
109
- }
110
- if (isFunction(getData)) {
111
- void getData().then(result => {
112
- setContent(result);
113
- }).catch(e => {
114
- if (errorHandler) {
115
- void errorHandler(e);
116
- }
117
- });
118
- }
119
- };
120
- fetchData();
121
- }, [getData, isOpen, errorHandler]);
122
- useEffect(() => {
123
- if (!isOpen) {
124
- return;
125
- }
126
- getValue(description, setContent, "description", errorHandler);
127
- getValue(date, setContent, "date", errorHandler);
128
- getValue(count, setContent, "count", errorHandler);
129
- getValue(secondaryAction, setContent, "secondaryAction", errorHandler);
130
- getValue(mainAction, setContent, "mainAction", errorHandler);
131
- }, [content, isOpen, description, date, count, secondaryAction, mainAction, errorHandler]);
132
- const { level, expandId, onPillExpand } = useContext(PillContext);
133
- const triggerRef = useRef(null);
134
- const isChild = level !== 0;
135
- const [currentExpand, setCurrentExpand] = useState(undefined);
136
- const onExpandHandler = useCallback(() => {
137
- var _a;
138
- setIsOpen(!isOpen);
139
- isOpen && ((_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus());
140
- onPillExpand(pillId === expandId ? "" : pillId);
141
- }, [isOpen, onPillExpand, pillId, expandId]);
142
- const onChange = useCallback(() => {
143
- setIsOpen(!isOpen);
144
- }, [isOpen]);
145
- const buttonMoreProps = useMemo(() => getButtonMoreProps(viewMoreAction), [viewMoreAction]);
146
- const validChildren = useMemo(() => Children.toArray(children).filter(child => { var _a; return ((_a = child === null || child === void 0 ? void 0 : child.type) === null || _a === void 0 ? void 0 : _a.displayName) === "PillExpandable"; }), [children]);
147
- const childToDisplay = useMemo(() => validChildren.slice(0, MAX_PILLS_TO_DISPLAY_IN_POPUP), [validChildren]);
148
- const childCount = useMemo(() => validChildren.length, [validChildren]);
149
- const flatVsChildCounter = isFlat ? `${childCount + 1}` : `${childCount}`;
150
- const moreCounter = uniquePills ? `${uniquePills}` : flatVsChildCounter;
151
- const uniqueChilds = uniquePills ? `${uniquePills}` : `${childCount || ""}`;
152
- if (isLoading) {
153
- return _jsx(Skeleton, { type: "pill", width: loadingWidth });
127
+ const PillExpandableBase = ({
128
+ children,
129
+ errorHandler,
130
+ getData,
131
+ text,
132
+ description,
133
+ date,
134
+ count,
135
+ mainAction,
136
+ secondaryAction,
137
+ viewMoreAction,
138
+ uniquePills,
139
+ type,
140
+ className,
141
+ popupClassName,
142
+ isLoading,
143
+ isFlat,
144
+ icon,
145
+ secondaryIcon,
146
+ isBeta,
147
+ loadingWidth = 200,
148
+ hideCounterNumber
149
+ }) => {
150
+ const popupId = useId();
151
+ const pillId = useId();
152
+ const {
153
+ translate
154
+ } = useLanguage();
155
+ const [content, setContent] = useState(getDefaultContent({
156
+ description,
157
+ date,
158
+ count,
159
+ secondaryAction,
160
+ mainAction,
161
+ getData
162
+ }));
163
+ const [isOpen, setIsOpen] = useState(false);
164
+ const [isPopupContentReady, setIsPopupContentReady] = useState(false);
165
+ const [containerNode, setContainerNode] = useState(null);
166
+ useEffect(() => {
167
+ if (!isOpen) {
168
+ setIsPopupContentReady(false);
169
+ return;
154
170
  }
155
- if (isChild) {
156
- return _jsxs(PillContext.Provider, { value: { level: level + 1, onPillExpand: setCurrentExpand, expandId: currentExpand }, children: [_jsx(PillExpandableSimple, { icon: icon, text: text, expanded: expandId === pillId, onExpand: onExpandHandler, expandAriaText: translate("Expand"), type: type, errorHandler: errorHandler }), _jsx(PillContent, { onActionClick: onExpandHandler, descriptionText: content.description, date: content.date, count: content.count, mainAction: content.mainAction, secondaryAction: content.secondaryAction, isVisible: expandId === pillId, errorHandler: errorHandler })] });
171
+ if (!containerNode || typeof ResizeObserver === "undefined") {
172
+ return;
157
173
  }
158
- return _jsx(PillContext.Provider, { value: { level: level + 1, onPillExpand: setCurrentExpand, expandId: currentExpand }, children: _jsxs("div", { className: classNames(["zen-status-pill", className || ""]), "aria-haspopup": "true", children: [_jsxs("div", { className: "zen-status-pill__pill-container", children: [_jsx(PillExpandableSimple, { icon: icon, text: text, expanded: isOpen, onExpand: onExpandHandler, expandAriaText: translate("Expand"), ref: triggerRef, type: type, errorHandler: errorHandler, isBeta: isBeta }), uniqueChilds && _jsx(PillExpandableSimple, { icon: secondaryIcon || icon, text: hideCounterNumber ? "" : `${isFlat ? "+" : ""}${uniqueChilds}`, onExpand: onExpandHandler, includeExpandIcon: false, type: type, errorHandler: errorHandler })] }), _jsx(Absolute, { recalculateTrigger: isPopupContentReady, recalculateOnScroll: true, useTrapFocusWithTrigger: "on", className: popupClassName, id: popupId, onOpenChange: onChange, paddingX: paddingX, paddingY: paddingY, isOpen: isOpen, triggerRef: triggerRef, alignmentsFn: alignments, children: _jsx("div", { ref: (node) => setContainerNode(node), className: "zen-status-pill-popup", children: _jsxs("div", { className: "zen-status-pill-popup__container", children: [_jsx("div", { className: "zen-status-pill-popup__main-pill", children: _jsx(PillExpandableSimple, { icon: icon, text: text, expanded: true, onExpand: onExpandHandler, expandAriaText: translate("Expand"), type: type, errorHandler: errorHandler, isBeta: isBeta }) }), _jsx(PillContent, { onActionClick: onExpandHandler, descriptionText: content.description, date: content.date, count: content.count, mainAction: content.mainAction, secondaryAction: content.secondaryAction, errorHandler: errorHandler }), childToDisplay, moreCounter && viewMoreAction && childCount > MAX_PILLS_TO_DISPLAY_IN_POPUP && _jsxs(_Fragment, { children: [_jsx("div", { className: "zen-status-pill-popup__divider" }), _jsxs(Button, Object.assign({}, buttonMoreProps, { type: "tertiary", children: [translate("View all"), " (", moreCounter, ")"] }))] })] }) }) })] }) });
174
+ const observer = new ResizeObserver(() => {
175
+ if (containerNode.offsetHeight > 0) {
176
+ setIsPopupContentReady(true);
177
+ }
178
+ });
179
+ observer.observe(containerNode);
180
+ // eslint-disable-next-line consistent-return
181
+ return () => {
182
+ observer.unobserve(containerNode);
183
+ };
184
+ }, [isOpen, containerNode]);
185
+ useEffect(() => {
186
+ const fetchData = function () {
187
+ if (!isOpen) {
188
+ return;
189
+ }
190
+ if (isFunction(getData)) {
191
+ void getData().then(result => {
192
+ setContent(result);
193
+ }).catch(e => {
194
+ if (errorHandler) {
195
+ void errorHandler(e);
196
+ }
197
+ });
198
+ }
199
+ };
200
+ fetchData();
201
+ }, [getData, isOpen, errorHandler]);
202
+ useEffect(() => {
203
+ if (!isOpen) {
204
+ return;
205
+ }
206
+ getValue(description, setContent, "description", errorHandler);
207
+ getValue(date, setContent, "date", errorHandler);
208
+ getValue(count, setContent, "count", errorHandler);
209
+ getValue(secondaryAction, setContent, "secondaryAction", errorHandler);
210
+ getValue(mainAction, setContent, "mainAction", errorHandler);
211
+ }, [content, isOpen, description, date, count, secondaryAction, mainAction, errorHandler]);
212
+ const {
213
+ level,
214
+ expandId,
215
+ onPillExpand
216
+ } = useContext(PillContext);
217
+ const triggerRef = useRef(null);
218
+ const isChild = level !== 0;
219
+ const [currentExpand, setCurrentExpand] = useState(undefined);
220
+ const onExpandHandler = useCallback(() => {
221
+ var _a;
222
+ setIsOpen(!isOpen);
223
+ isOpen && ((_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus());
224
+ onPillExpand(pillId === expandId ? "" : pillId);
225
+ }, [isOpen, onPillExpand, pillId, expandId]);
226
+ const onChange = useCallback(() => {
227
+ setIsOpen(!isOpen);
228
+ }, [isOpen]);
229
+ const buttonMoreProps = useMemo(() => getButtonMoreProps(viewMoreAction), [viewMoreAction]);
230
+ const validChildren = useMemo(() => Children.toArray(children).filter(child => {
231
+ var _a;
232
+ return ((_a = child === null || child === void 0 ? void 0 : child.type) === null || _a === void 0 ? void 0 : _a.displayName) === "PillExpandable";
233
+ }), [children]);
234
+ const childToDisplay = useMemo(() => validChildren.slice(0, MAX_PILLS_TO_DISPLAY_IN_POPUP), [validChildren]);
235
+ const childCount = useMemo(() => validChildren.length, [validChildren]);
236
+ const flatVsChildCounter = isFlat ? `${childCount + 1}` : `${childCount}`;
237
+ const moreCounter = uniquePills ? `${uniquePills}` : flatVsChildCounter;
238
+ const uniqueChilds = uniquePills ? `${uniquePills}` : `${childCount || ""}`;
239
+ if (isLoading) {
240
+ return _jsx(Skeleton, {
241
+ type: "pill",
242
+ width: loadingWidth
243
+ });
244
+ }
245
+ if (isChild) {
246
+ return _jsxs(PillContext.Provider, {
247
+ value: {
248
+ level: level + 1,
249
+ onPillExpand: setCurrentExpand,
250
+ expandId: currentExpand
251
+ },
252
+ children: [_jsx(PillExpandableSimple, {
253
+ icon: icon,
254
+ text: text,
255
+ expanded: expandId === pillId,
256
+ onExpand: onExpandHandler,
257
+ expandAriaText: translate("Expand"),
258
+ type: type,
259
+ errorHandler: errorHandler
260
+ }), _jsx(PillContent, {
261
+ onActionClick: onExpandHandler,
262
+ descriptionText: content.description,
263
+ date: content.date,
264
+ count: content.count,
265
+ mainAction: content.mainAction,
266
+ secondaryAction: content.secondaryAction,
267
+ isVisible: expandId === pillId,
268
+ errorHandler: errorHandler
269
+ })]
270
+ });
271
+ }
272
+ return _jsx(PillContext.Provider, {
273
+ value: {
274
+ level: level + 1,
275
+ onPillExpand: setCurrentExpand,
276
+ expandId: currentExpand
277
+ },
278
+ children: _jsxs("div", {
279
+ className: classNames(["zen-status-pill", className || ""]),
280
+ "aria-haspopup": "true",
281
+ children: [_jsxs("div", {
282
+ className: "zen-status-pill__pill-container",
283
+ children: [_jsx(PillExpandableSimple, {
284
+ icon: icon,
285
+ text: text,
286
+ expanded: isOpen,
287
+ onExpand: onExpandHandler,
288
+ expandAriaText: translate("Expand"),
289
+ ref: triggerRef,
290
+ type: type,
291
+ errorHandler: errorHandler,
292
+ isBeta: isBeta
293
+ }), uniqueChilds && _jsx(PillExpandableSimple, {
294
+ icon: secondaryIcon || icon,
295
+ text: hideCounterNumber ? "" : `${isFlat ? "+" : ""}${uniqueChilds}`,
296
+ onExpand: onExpandHandler,
297
+ includeExpandIcon: false,
298
+ type: type,
299
+ errorHandler: errorHandler
300
+ })]
301
+ }), _jsx(Absolute, {
302
+ recalculateTrigger: isPopupContentReady,
303
+ recalculateOnScroll: true,
304
+ useTrapFocusWithTrigger: "on",
305
+ className: popupClassName,
306
+ id: popupId,
307
+ onOpenChange: onChange,
308
+ paddingX: paddingX,
309
+ paddingY: paddingY,
310
+ isOpen: isOpen,
311
+ triggerRef: triggerRef,
312
+ alignmentsFn: alignments,
313
+ children: _jsx("div", {
314
+ ref: node => setContainerNode(node),
315
+ className: "zen-status-pill-popup",
316
+ children: _jsxs("div", {
317
+ className: "zen-status-pill-popup__container",
318
+ children: [_jsx("div", {
319
+ className: "zen-status-pill-popup__main-pill",
320
+ children: _jsx(PillExpandableSimple, {
321
+ icon: icon,
322
+ text: text,
323
+ expanded: true,
324
+ onExpand: onExpandHandler,
325
+ expandAriaText: translate("Expand"),
326
+ type: type,
327
+ errorHandler: errorHandler,
328
+ isBeta: isBeta
329
+ })
330
+ }), _jsx(PillContent, {
331
+ onActionClick: onExpandHandler,
332
+ descriptionText: content.description,
333
+ date: content.date,
334
+ count: content.count,
335
+ mainAction: content.mainAction,
336
+ secondaryAction: content.secondaryAction,
337
+ errorHandler: errorHandler
338
+ }), childToDisplay, moreCounter && viewMoreAction && childCount > MAX_PILLS_TO_DISPLAY_IN_POPUP && _jsxs(_Fragment, {
339
+ children: [_jsx("div", {
340
+ className: "zen-status-pill-popup__divider"
341
+ }), _jsxs(Button, Object.assign({}, buttonMoreProps, {
342
+ type: "tertiary",
343
+ children: [translate("View all"), " (", moreCounter, ")"]
344
+ }))]
345
+ })]
346
+ })
347
+ })
348
+ })]
349
+ })
350
+ });
159
351
  };
160
352
  export const PillExpandable = memo(PillExpandableBase);
161
353
  PillExpandable.displayName = "PillExpandable";
162
- export const TRANSLATIONS = [
163
- "Expand",
164
- "View all"
165
- ];
354
+ export const TRANSLATIONS = ["Expand", "View all"];