@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,3 +1,4 @@
1
+ import { injectString } from "../../utils/localization/translationsDictionary";
1
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import { ButtonIconPosition, TextIconButton } from "../../textIconButton/textIconButton";
3
4
  import { classNames } from "../../commonHelpers/classNames/classNames";
@@ -5,141 +6,205 @@ import { useEffect, useRef, useState, Children, cloneElement, useCallback } from
5
6
  import { IconChevronRight } from "../../icons/iconChevronRight";
6
7
  import { useLanguage } from "../../utils/localization/useLanguage";
7
8
  import { useDriveClassName } from "../../utils/theme/useDriveClassName";
8
- const getScrollButtonType = (element) => {
9
- const scrollLeft = element.scrollLeft;
10
- const scrollWidth = element.scrollWidth;
11
- const clientWidth = element.clientWidth;
12
- if (scrollLeft === 0 && scrollWidth === clientWidth) {
13
- return "";
9
+ injectString("cs", "Scroll left", "P\u0159ej\xEDt doleva");
10
+ injectString("da-DK", "Scroll left", "Rul til venstre");
11
+ injectString("de", "Scroll left", "Nach links scrollen");
12
+ injectString("en", "Scroll left", "Scroll left");
13
+ injectString("es", "Scroll left", "Desplazarse a la izquierda");
14
+ injectString("fi-FI", "Scroll left", "Selaa vasemmalle");
15
+ injectString("fr", "Scroll left", "D\xE9filer vers la gauche");
16
+ injectString("fr-FR", "Scroll left", "Faire d\xE9filer vers la gauche");
17
+ injectString("hu-HU", "Scroll left", "Lapozz balra.");
18
+ injectString("id", "Scroll left", "Gulir ke kiri");
19
+ injectString("it", "Scroll left", "Scorrere verso sinistra");
20
+ injectString("ja", "Scroll left", "\u5DE6\u306B\u30B9\u30AF\u30ED\u30FC\u30EB");
21
+ injectString("ko-KR", "Scroll left", "\uC67C\uCABD\uC73C\uB85C \uC2A4\uD06C\uB864");
22
+ injectString("ms", "Scroll left", "Skrol ke kiri");
23
+ injectString("nb-NO", "Scroll left", "Rull til venstre");
24
+ injectString("nl", "Scroll left", "Blader naar links");
25
+ injectString("pl", "Scroll left", "Przewi\u0144 w lewo");
26
+ injectString("pt-BR", "Scroll left", "Rolar para a esquerda");
27
+ injectString("sk-SK", "Scroll left", "Posu\u0148 do\u013Eava");
28
+ injectString("sv", "Scroll left", "Bl\xE4ddra \xE5t v\xE4nster");
29
+ injectString("th", "Scroll left", "\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E1B\u0E17\u0E32\u0E07\u0E0B\u0E49\u0E32\u0E22");
30
+ injectString("tr", "Scroll left", "Sola kayd\u0131r");
31
+ injectString("zh-Hans", "Scroll left", "\u5411\u5DE6\u6EDA\u52A8");
32
+ injectString("zh-TW", "Scroll left", "\u5411\u5DE6\u6372\u52D5");
33
+ injectString("cs", "Scroll right", "P\u0159ej\xEDt doprava");
34
+ injectString("da-DK", "Scroll right", "Rul til h\xF8jre");
35
+ injectString("de", "Scroll right", "Nach rechts scrollen");
36
+ injectString("en", "Scroll right", "Scroll right");
37
+ injectString("es", "Scroll right", "Desplazarse a la derecha");
38
+ injectString("fi-FI", "Scroll right", "Selaa oikealle");
39
+ injectString("fr", "Scroll right", "D\xE9filer vers la droite");
40
+ injectString("fr-FR", "Scroll right", "Faire d\xE9filer vers la droite");
41
+ injectString("hu-HU", "Scroll right", "Lapozz jobbra.");
42
+ injectString("id", "Scroll right", "Gulir ke kanan");
43
+ injectString("it", "Scroll right", "Scorrere verso destra");
44
+ injectString("ja", "Scroll right", "\u53F3\u306B\u30B9\u30AF\u30ED\u30FC\u30EB");
45
+ injectString("ko-KR", "Scroll right", "\uC624\uB978\uCABD\uC73C\uB85C \uC2A4\uD06C\uB864");
46
+ injectString("ms", "Scroll right", "Skrol ke kanan");
47
+ injectString("nb-NO", "Scroll right", "Rull til h\xF8yre");
48
+ injectString("nl", "Scroll right", "Blader naar rechts");
49
+ injectString("pl", "Scroll right", "Przewi\u0144 w prawo");
50
+ injectString("pt-BR", "Scroll right", "Rolar para a direita");
51
+ injectString("sk-SK", "Scroll right", "Posu\u0148 doprava");
52
+ injectString("sv", "Scroll right", "Bl\xE4ddra \xE5t h\xF6ger");
53
+ injectString("th", "Scroll right", "\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E1B\u0E17\u0E32\u0E07\u0E02\u0E27\u0E32");
54
+ injectString("tr", "Scroll right", "Sa\u011Fa Kayd\u0131r");
55
+ injectString("zh-Hans", "Scroll right", "\u5411\u53F3\u6EDA\u52A8");
56
+ injectString("zh-TW", "Scroll right", "\u5411\u53F3\u6372\u52D5");
57
+ const getScrollButtonType = element => {
58
+ const scrollLeft = element.scrollLeft;
59
+ const scrollWidth = element.scrollWidth;
60
+ const clientWidth = element.clientWidth;
61
+ if (scrollLeft === 0 && scrollWidth === clientWidth) {
62
+ return "";
63
+ }
64
+ if (scrollLeft > 0 && scrollWidth > clientWidth + scrollLeft + 1) {
65
+ return "both";
66
+ }
67
+ if (scrollLeft === 0) {
68
+ return "end";
69
+ }
70
+ return "start";
71
+ };
72
+ export const FiltersContainer = ({
73
+ className,
74
+ children
75
+ }) => {
76
+ const scrollableStep = 200;
77
+ const fadeTransitionDuration = 300;
78
+ const {
79
+ translate
80
+ } = useLanguage();
81
+ const gradientClass = "zen-filters-toolbar__gradient";
82
+ const scrollerClass = "zen-filters-toolbar__scroller";
83
+ const driveClassNameScroller = useDriveClassName(scrollerClass);
84
+ const driveClassNameGradient = useDriveClassName(gradientClass);
85
+ const [scrollButtonType, setScrollButtonType] = useState("");
86
+ const scrollableRef = useRef(null);
87
+ const [isHiddenDisplay, setIsHiddenDisplay] = useState({
88
+ left: true,
89
+ right: true
90
+ });
91
+ const leftTimeoutRef = useRef(null);
92
+ const rightTimeoutRef = useRef(null);
93
+ const showLeft = scrollButtonType === "start" || scrollButtonType === "both";
94
+ const showRight = scrollButtonType === "end" || scrollButtonType === "both";
95
+ useEffect(() => {
96
+ if (!scrollableRef.current) {
97
+ return () => {};
14
98
  }
15
- if (scrollLeft > 0 && (scrollWidth > clientWidth + scrollLeft + 1)) {
16
- return "both";
99
+ let timer = undefined;
100
+ const resizeHandler = () => {
101
+ const scrollableElt = scrollableRef.current;
102
+ if (scrollableElt) {
103
+ timer && window.clearTimeout(timer);
104
+ timer = window.setTimeout(() => {
105
+ setScrollButtonType(getScrollButtonType(scrollableElt));
106
+ }, 200);
107
+ }
108
+ };
109
+ const scrollableElement = scrollableRef.current;
110
+ scrollableElement.addEventListener("scroll", resizeHandler);
111
+ window.addEventListener("resize", resizeHandler);
112
+ resizeHandler();
113
+ return () => {
114
+ timer && window.clearTimeout(timer);
115
+ scrollableElement.removeEventListener("scroll", resizeHandler);
116
+ window.removeEventListener("resize", resizeHandler);
117
+ };
118
+ }, [scrollableRef]);
119
+ useEffect(() => {
120
+ if (scrollableRef.current) {
121
+ setScrollButtonType(getScrollButtonType(scrollableRef.current));
17
122
  }
18
- if (scrollLeft === 0) {
19
- return "end";
123
+ }, [scrollableRef, children]);
124
+ useEffect(() => {
125
+ if (showLeft) {
126
+ if (leftTimeoutRef.current) {
127
+ clearTimeout(leftTimeoutRef.current);
128
+ }
129
+ setIsHiddenDisplay(prev => Object.assign(Object.assign({}, prev), {
130
+ left: false
131
+ }));
132
+ } else {
133
+ leftTimeoutRef.current = window.setTimeout(() => {
134
+ setIsHiddenDisplay(prev => Object.assign(Object.assign({}, prev), {
135
+ left: true
136
+ }));
137
+ }, fadeTransitionDuration);
20
138
  }
21
- return "start";
22
- };
23
- export const FiltersContainer = ({ className, children }) => {
24
- const scrollableStep = 200;
25
- const fadeTransitionDuration = 300;
26
- const { translate } = useLanguage();
27
- const gradientClass = "zen-filters-toolbar__gradient";
28
- const scrollerClass = "zen-filters-toolbar__scroller";
29
- const driveClassNameScroller = useDriveClassName(scrollerClass);
30
- const driveClassNameGradient = useDriveClassName(gradientClass);
31
- const [scrollButtonType, setScrollButtonType] = useState("");
32
- const scrollableRef = useRef(null);
33
- const [isHiddenDisplay, setIsHiddenDisplay] = useState({ left: true, right: true });
34
- const leftTimeoutRef = useRef(null);
35
- const rightTimeoutRef = useRef(null);
36
- const showLeft = scrollButtonType === "start" || scrollButtonType === "both";
37
- const showRight = scrollButtonType === "end" || scrollButtonType === "both";
38
- useEffect(() => {
39
- if (!scrollableRef.current) {
40
- return () => { };
41
- }
42
- let timer = undefined;
43
- const resizeHandler = () => {
44
- const scrollableElt = scrollableRef.current;
45
- if (scrollableElt) {
46
- timer && window.clearTimeout(timer);
47
- timer = window.setTimeout(() => {
48
- setScrollButtonType(getScrollButtonType(scrollableElt));
49
- }, 200);
50
- }
51
- };
52
- const scrollableElement = scrollableRef.current;
53
- scrollableElement.addEventListener("scroll", resizeHandler);
54
- window.addEventListener("resize", resizeHandler);
55
- resizeHandler();
56
- return () => {
57
- timer && window.clearTimeout(timer);
58
- scrollableElement.removeEventListener("scroll", resizeHandler);
59
- window.removeEventListener("resize", resizeHandler);
60
- };
61
- }, [scrollableRef]);
62
- useEffect(() => {
63
- if (scrollableRef.current) {
64
- setScrollButtonType(getScrollButtonType(scrollableRef.current));
65
- }
66
- }, [scrollableRef, children]);
67
- useEffect(() => {
68
- if (showLeft) {
69
- if (leftTimeoutRef.current) {
70
- clearTimeout(leftTimeoutRef.current);
71
- }
72
- setIsHiddenDisplay(prev => (Object.assign(Object.assign({}, prev), { left: false })));
73
- }
74
- else {
75
- leftTimeoutRef.current = window.setTimeout(() => {
76
- setIsHiddenDisplay(prev => (Object.assign(Object.assign({}, prev), { left: true })));
77
- }, fadeTransitionDuration);
78
- }
79
- if (showRight) {
80
- if (rightTimeoutRef.current) {
81
- clearTimeout(rightTimeoutRef.current);
82
- }
83
- setIsHiddenDisplay(prev => (Object.assign(Object.assign({}, prev), { right: false })));
84
- }
85
- else {
86
- rightTimeoutRef.current = window.setTimeout(() => {
87
- setIsHiddenDisplay(prev => (Object.assign(Object.assign({}, prev), { right: true })));
88
- }, fadeTransitionDuration);
89
- }
90
- return () => {
91
- if (leftTimeoutRef.current) {
92
- clearTimeout(leftTimeoutRef.current);
93
- }
94
- if (rightTimeoutRef.current) {
95
- clearTimeout(rightTimeoutRef.current);
96
- }
97
- };
98
- }, [showLeft, showRight]);
99
- const handleScrollButtonClick = useCallback((delta) => () => {
100
- var _a;
101
- (_a = scrollableRef.current) === null || _a === void 0 ? void 0 : _a.scrollBy({
102
- left: delta,
103
- behavior: "smooth"
104
- });
105
- }, []);
106
- const filtersForRender = Children.map(children, (child, index) => {
107
- if (child.props.hideInBar) {
108
- return null;
109
- }
110
- const childComponent = cloneElement(child, { useSidePanelView: false });
111
- return _jsx("div", { className: "zen-filters-toolbar__filters-item", children: childComponent }, `filtersBarItem_${index}`);
139
+ if (showRight) {
140
+ if (rightTimeoutRef.current) {
141
+ clearTimeout(rightTimeoutRef.current);
142
+ }
143
+ setIsHiddenDisplay(prev => Object.assign(Object.assign({}, prev), {
144
+ right: false
145
+ }));
146
+ } else {
147
+ rightTimeoutRef.current = window.setTimeout(() => {
148
+ setIsHiddenDisplay(prev => Object.assign(Object.assign({}, prev), {
149
+ right: true
150
+ }));
151
+ }, fadeTransitionDuration);
152
+ }
153
+ return () => {
154
+ if (leftTimeoutRef.current) {
155
+ clearTimeout(leftTimeoutRef.current);
156
+ }
157
+ if (rightTimeoutRef.current) {
158
+ clearTimeout(rightTimeoutRef.current);
159
+ }
160
+ };
161
+ }, [showLeft, showRight]);
162
+ const handleScrollButtonClick = useCallback(delta => () => {
163
+ var _a;
164
+ (_a = scrollableRef.current) === null || _a === void 0 ? void 0 : _a.scrollBy({
165
+ left: delta,
166
+ behavior: "smooth"
167
+ });
168
+ }, []);
169
+ const filtersForRender = Children.map(children, (child, index) => {
170
+ if (child.props.hideInBar) {
171
+ return null;
172
+ }
173
+ const childComponent = cloneElement(child, {
174
+ useSidePanelView: false
112
175
  });
113
- return filtersForRender.length ? _jsxs("div", { className: classNames(["zen-filters-toolbar__filters-container", className !== null && className !== void 0 ? className : "", `zen-filters-toolbar__filters-container--${scrollButtonType || "none"}`]), children: [_jsx("div", { className: classNames([
114
- gradientClass,
115
- driveClassNameGradient || "",
116
- `${gradientClass}--left`,
117
- showLeft ? `${gradientClass}--visible` : "",
118
- isHiddenDisplay.left ? `${gradientClass}--hidden` : ""
119
- ]) }), _jsx(TextIconButton, { title: translate("Scroll left"), className: classNames([
120
- "zen-filters-toolbar__scroller",
121
- driveClassNameScroller || "",
122
- "zen-filters-toolbar__start",
123
- showLeft ? `${scrollerClass}--visible` : "",
124
- isHiddenDisplay.left ? `${scrollerClass}--hidden` : ""
125
- ]), icon: IconChevronRight, iconPosition: ButtonIconPosition.Start, onClick: handleScrollButtonClick(-scrollableStep), iconClasses: "zen-filters-toolbar__start-icon" }), _jsx("div", { ref: scrollableRef, className: classNames([
126
- "zen-filters-toolbar__scrollable",
127
- !isHiddenDisplay.left ? "has-left-scroller" : "",
128
- !isHiddenDisplay.right ? "has-right-scroller" : ""
129
- ]), children: _jsx("div", { className: "zen-filters-toolbar__filters", children: filtersForRender }) }), _jsx("div", { className: classNames([
130
- gradientClass,
131
- driveClassNameGradient || "",
132
- `${gradientClass}--right`,
133
- showRight ? `${gradientClass}--visible` : "",
134
- isHiddenDisplay.right ? `${gradientClass}--hidden` : ""
135
- ]) }), _jsx(TextIconButton, { title: translate("Scroll right"), className: classNames([
136
- scrollerClass,
137
- driveClassNameScroller || "", "zen-filters-toolbar__end",
138
- showRight ? `${scrollerClass}--visible` : "",
139
- isHiddenDisplay.right ? `${scrollerClass}--hidden` : ""
140
- ]), icon: IconChevronRight, onClick: handleScrollButtonClick(scrollableStep), iconPosition: ButtonIconPosition.End })] }) : null;
176
+ return _jsx("div", {
177
+ className: "zen-filters-toolbar__filters-item",
178
+ children: childComponent
179
+ }, `filtersBarItem_${index}`);
180
+ });
181
+ return filtersForRender.length ? _jsxs("div", {
182
+ className: classNames(["zen-filters-toolbar__filters-container", className !== null && className !== void 0 ? className : "", `zen-filters-toolbar__filters-container--${scrollButtonType || "none"}`]),
183
+ children: [_jsx("div", {
184
+ className: classNames([gradientClass, driveClassNameGradient || "", `${gradientClass}--left`, showLeft ? `${gradientClass}--visible` : "", isHiddenDisplay.left ? `${gradientClass}--hidden` : ""])
185
+ }), _jsx(TextIconButton, {
186
+ title: translate("Scroll left"),
187
+ className: classNames(["zen-filters-toolbar__scroller", driveClassNameScroller || "", "zen-filters-toolbar__start", showLeft ? `${scrollerClass}--visible` : "", isHiddenDisplay.left ? `${scrollerClass}--hidden` : ""]),
188
+ icon: IconChevronRight,
189
+ iconPosition: ButtonIconPosition.Start,
190
+ onClick: handleScrollButtonClick(-scrollableStep),
191
+ iconClasses: "zen-filters-toolbar__start-icon"
192
+ }), _jsx("div", {
193
+ ref: scrollableRef,
194
+ className: classNames(["zen-filters-toolbar__scrollable", !isHiddenDisplay.left ? "has-left-scroller" : "", !isHiddenDisplay.right ? "has-right-scroller" : ""]),
195
+ children: _jsx("div", {
196
+ className: "zen-filters-toolbar__filters",
197
+ children: filtersForRender
198
+ })
199
+ }), _jsx("div", {
200
+ className: classNames([gradientClass, driveClassNameGradient || "", `${gradientClass}--right`, showRight ? `${gradientClass}--visible` : "", isHiddenDisplay.right ? `${gradientClass}--hidden` : ""])
201
+ }), _jsx(TextIconButton, {
202
+ title: translate("Scroll right"),
203
+ className: classNames([scrollerClass, driveClassNameScroller || "", "zen-filters-toolbar__end", showRight ? `${scrollerClass}--visible` : "", isHiddenDisplay.right ? `${scrollerClass}--hidden` : ""]),
204
+ icon: IconChevronRight,
205
+ onClick: handleScrollButtonClick(scrollableStep),
206
+ iconPosition: ButtonIconPosition.End
207
+ })]
208
+ }) : null;
141
209
  };
142
- export const TRANSLATIONS = [
143
- "Scroll left",
144
- "Scroll right"
145
- ];
210
+ export const TRANSLATIONS = ["Scroll left", "Scroll right"];
@@ -1,4 +1,4 @@
1
- export declare const FormFieldWithLabel: ({ hasCustomWidth, classes, widthObj, props, id, container, trailing, trailingId }: {
1
+ export declare const FormFieldWithLabel: ({ hasCustomWidth, classes, widthObj, props, id, container, trailing, trailingId, showAdditionalInfo }: {
2
2
  hasCustomWidth: any;
3
3
  classes: any;
4
4
  widthObj: any;
@@ -7,4 +7,5 @@ export declare const FormFieldWithLabel: ({ hasCustomWidth, classes, widthObj, p
7
7
  container: any;
8
8
  trailing: any;
9
9
  trailingId: any;
10
+ showAdditionalInfo: any;
10
11
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { FormGroupItem } from "../../formGroupItem/formGroupItem";
3
- export const FormFieldWithLabel = ({ hasCustomWidth, classes, widthObj, props, id, container, trailing, trailingId }) => {
3
+ import { TrailingComponent } from "./trailingComponent";
4
+ export const FormFieldWithLabel = ({ hasCustomWidth, classes, widthObj, props, id, container, trailing, trailingId, showAdditionalInfo }) => {
4
5
  if (!hasCustomWidth) {
5
6
  return _jsxs("div", { className: classes, style: widthObj, children: [props.label && _jsx(FormGroupItem, { className: props.labelClassesName, id: id, value: props.label, tooltip: props.tooltip }), _jsx("div", { className: props.controlClassesName, children: container })] });
6
7
  }
7
- return _jsxs("div", { style: { display: "flex" }, children: [_jsxs("div", { className: classes, style: widthObj, children: [props.label && _jsx(FormGroupItem, { className: props.labelClassesName, id: id, value: props.label, tooltip: props.tooltip }), _jsx("div", { className: props.controlClassesName, children: container })] }), trailing && _jsx("span", { className: "zen-form-field__trailing-text", id: trailingId, children: trailing })] });
8
+ return _jsxs("div", { style: { display: "flex" }, children: [_jsxs("div", { className: classes, style: widthObj, children: [props.label && _jsx(FormGroupItem, { className: props.labelClassesName, id: id, value: props.label, tooltip: props.tooltip }), _jsx("div", { className: props.controlClassesName, children: container })] }), trailing && _jsx(TrailingComponent, { id: trailingId, value: trailing, hasAdditionalInfo: !!showAdditionalInfo })] });
8
9
  };
@@ -1,8 +1,9 @@
1
- export declare const FormFieldWithoutLabel: ({ hasCustomWidth, classes, widthObj, container, trailing, trailingId }: {
1
+ export declare const FormFieldWithoutLabel: ({ hasCustomWidth, classes, widthObj, container, trailing, trailingId, showAdditionalInfo }: {
2
2
  hasCustomWidth: any;
3
3
  classes: any;
4
4
  widthObj: any;
5
5
  container: any;
6
6
  trailing: any;
7
7
  trailingId: any;
8
+ showAdditionalInfo: any;
8
9
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { classNames } from "../../commonHelpers/classNames/classNames";
3
- export const FormFieldWithoutLabel = ({ hasCustomWidth, classes, widthObj, container, trailing, trailingId }) => {
2
+ import { TrailingComponent } from "./trailingComponent";
3
+ export const FormFieldWithoutLabel = ({ hasCustomWidth, classes, widthObj, container, trailing, trailingId, showAdditionalInfo }) => {
4
4
  if (!hasCustomWidth) {
5
5
  return _jsx("div", { className: classes, style: widthObj, children: container });
6
6
  }
7
- return _jsxs("div", { style: { display: "flex", gap: "8px" }, children: [_jsx("div", { className: classes, style: widthObj, children: container }), trailing && _jsx("span", { className: classNames(["zen-form-field__trailing-text"]), id: trailingId, children: trailing })] });
7
+ return _jsxs("div", { style: { display: "flex", gap: "8px" }, children: [_jsx("div", { className: classes, style: widthObj, children: container }), trailing && _jsx(TrailingComponent, { id: trailingId, value: trailing, hasAdditionalInfo: !!showAdditionalInfo })] });
8
8
  };
@@ -0,0 +1,8 @@
1
+ import { FC } from "react";
2
+ interface ITrailingComponentProps {
3
+ id: string;
4
+ value: string;
5
+ hasAdditionalInfo: boolean;
6
+ }
7
+ export declare const TrailingComponent: FC<ITrailingComponentProps>;
8
+ export {};
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export const TrailingComponent = ({ id, value, hasAdditionalInfo }) => {
3
+ if (hasAdditionalInfo) {
4
+ return _jsx("div", { className: "zen-form-field__trailing-wrapper", children: _jsx("span", { className: "zen-form-field__trailing-text", id: id, children: value }) });
5
+ }
6
+ return _jsx("span", { className: "zen-form-field__trailing-text", id: id, children: value });
7
+ };
@@ -10,7 +10,7 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
13
- import { useId, useMemo } from "react";
13
+ import { useId, useMemo, useContext } from "react";
14
14
  import { classNames } from "../commonHelpers/classNames/classNames";
15
15
  import { useDriveClassName } from "../utils/theme/useDriveClassName";
16
16
  import { FormFieldError } from "../formFieldError/formFieldError";
@@ -30,12 +30,25 @@ import { useLoading } from "./hooks/useLoading";
30
30
  import { useReadonly } from "./hooks/useReadonly";
31
31
  import { FormFieldWithLabel } from "./components/formFieldWithLabel";
32
32
  import { FormFieldWithoutLabel } from "./components/formFieldWithoutLabel";
33
+ import { TrailingComponent } from "./components/trailingComponent";
34
+ import { FormSectionContext } from "../formSection/utils/formSectionProvider";
35
+ const OLD_FORM_FIELD_COMPONENTS = [
36
+ "SearchInputRaw",
37
+ "SelectRaw",
38
+ "StepperRaw",
39
+ "TextAreaInput",
40
+ "TextInputRaw"
41
+ ];
42
+ const isOldFormFieldComponent = (component) =>
43
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
44
+ OLD_FORM_FIELD_COMPONENTS.includes((component === null || component === void 0 ? void 0 : component.displayName) || "") || OLD_FORM_FIELD_COMPONENTS.includes((component === null || component === void 0 ? void 0 : component.name) || "");
33
45
  // eslint-disable-next-line @typescript-eslint/naming-convention
34
46
  export const FormField = function FormFieldInner(WrappedComponent) {
35
47
  // eslint-disable-next-line complexity
36
48
  const InnerFormField = (props) => {
37
49
  const isMobile = useMobile();
38
50
  const ref = props.ref;
51
+ const { isFormSection } = useContext(FormSectionContext);
39
52
  const { id: assistiveId, assistive } = useAssistive(props);
40
53
  const { id: trailingId, trailing } = useTrailing(props);
41
54
  const { id: errorId, error, errorBanner } = useError(props);
@@ -56,20 +69,22 @@ export const FormField = function FormFieldInner(WrappedComponent) {
56
69
  const ariaDescribedBy = `${assistiveId} ${trailingId} ${errorId} ${bannerId}`.trim();
57
70
  const localId = useId();
58
71
  const id = props.id || localId;
59
- const container = useMemo(() => _jsxs(_Fragment, { children: [_jsxs("div", { className: classNames(["zen-form-field__input-container", isReadonly ? "zen-form-field__input-container--review" : "", isInputContainerHidden ? "zen-form-field__input-container--hidden" : "", trailing ? "zen-form-field__input-container--with-trailing" : ""]), children: [_jsx(WrappedComponent, Object.assign({}, rest, disabledProps, { isReadOnly: isReadonly, id: id, className: componentClassName, ref: ref, isLoadingError: props.isError, isError: !!error, "aria-describedby": ariaDescribedBy })), !hasCustomWidth && trailing && _jsx("span", { className: "zen-form-field__trailing-text", id: trailingId, children: trailing })] }), showAdditionalInfo ?
60
- _jsxs("div", { className: "zen-form-field__secondary", children: [_jsx("div", { id: assistiveId || errorId, className: classNames([
61
- "zen-form-field__text",
62
- driveTextClass || "",
63
- error ? "zen-form-field__text--error" : ""
64
- ]), children: error ? _jsx(FormFieldError, { error: error }) : assistive }), counter
65
- ? _jsx("div", { className: classNames(["zen-form-field__length"]), children: counter })
66
- : ""] })
67
- : null, banner] }), [isInputContainerHidden, trailing, rest, disabledProps, isReadonly, id, componentClassName, ref, props.isError, error, ariaDescribedBy, hasCustomWidth, trailingId, showAdditionalInfo, assistiveId, errorId, driveTextClass, assistive, counter, banner]);
72
+ const container = useMemo(() => _jsxs(_Fragment, { children: [_jsxs("div", { className: classNames(["zen-form-field__input-container", isReadonly ? "zen-form-field__input-container--review" : "", isInputContainerHidden ? "zen-form-field__input-container--hidden" : "", trailing ? "zen-form-field__input-container--with-trailing" : ""]), children: [_jsxs("div", { children: [_jsx(WrappedComponent, Object.assign({}, rest, disabledProps, { isReadOnly: isReadonly, id: id, className: componentClassName, ref: ref, isLoadingError: props.isError, isError: !!error, "aria-describedby": ariaDescribedBy })), showAdditionalInfo ?
73
+ _jsxs("div", { className: "zen-form-field__secondary", children: [_jsx("div", { id: assistiveId || errorId, className: classNames([
74
+ "zen-form-field__text",
75
+ driveTextClass || "",
76
+ error ? "zen-form-field__text--error" : ""
77
+ ]), children: error ? _jsx(FormFieldError, { error: error }) : assistive }), counter
78
+ ? _jsx("div", { className: classNames(["zen-form-field__length"]), children: counter })
79
+ : ""] })
80
+ : null] }), !hasCustomWidth && trailing && _jsx(TrailingComponent, { id: trailingId, value: trailing, hasAdditionalInfo: !!showAdditionalInfo })] }), banner] }), [isInputContainerHidden, trailing, rest, disabledProps, isReadonly, id, componentClassName, ref, props.isError, error, ariaDescribedBy, hasCustomWidth, trailingId, showAdditionalInfo, assistiveId, errorId, driveTextClass, assistive, counter, banner]);
68
81
  const classes = classNames([
69
82
  "zen-form-field",
70
83
  isMobile ? "zen-form-field--mobile" : "",
71
84
  banner ? "zen-form-field--with-banner" : "",
72
85
  !props.label ? "" : props.labelAlign ? `zen-form-field--label-${props.labelAlign}` : "zen-form-field--label-left",
86
+ !isOldFormFieldComponent(WrappedComponent) ? "zen-form-field--new-component" : "",
87
+ isFormSection ? "zen-form-field--form-item" : "",
73
88
  className || ""
74
89
  ]);
75
90
  if (isLoading) {
@@ -78,9 +93,9 @@ export const FormField = function FormFieldInner(WrappedComponent) {
78
93
  }
79
94
  // TODO: refactor?
80
95
  if (props.label && rangeRawLabelCheck(WrappedComponent, props)) {
81
- return _jsx(FormFieldWithLabel, { hasCustomWidth: hasCustomWidth, classes: classes, widthObj: widthObj, props: props, id: id, container: container, trailing: trailing, trailingId: trailingId });
96
+ return _jsx(FormFieldWithLabel, { hasCustomWidth: hasCustomWidth, classes: classes, widthObj: widthObj, props: props, id: id, container: container, trailing: trailing, trailingId: trailingId, showAdditionalInfo: !!showAdditionalInfo });
82
97
  }
83
- return _jsx(FormFieldWithoutLabel, { hasCustomWidth: hasCustomWidth, classes: classes, widthObj: widthObj, container: container, trailing: trailing, trailingId: trailingId });
98
+ return _jsx(FormFieldWithoutLabel, { hasCustomWidth: hasCustomWidth, classes: classes, widthObj: widthObj, container: container, trailing: trailing, trailingId: trailingId, showAdditionalInfo: !!showAdditionalInfo });
84
99
  };
85
100
  InnerFormField.displayName = "InnerFormField";
86
101
  return InnerFormField;