@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,25 +1,77 @@
1
+ import { injectString } from "../../utils/localization/translationsDictionary";
1
2
  import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import { useCallback, useMemo } from "react";
3
4
  import { ColumnSettings } from "./columnSettings";
4
5
  import { Popup } from "../../popup/popup";
5
6
  import { ColumnSettingsList } from "./columnsList";
6
7
  import { useLanguage } from "../../utils/localization/useLanguage";
7
- export const ColumnsPopup = ({ onReset, onChange, columnSettings, columns, sortGroups, sortColumns, triggerRef }) => {
8
- const onResetListener = useCallback(() => {
9
- onReset();
10
- }, [onReset]);
11
- const { translate } = useLanguage();
12
- const listOfColumns = useMemo(() => {
13
- var _a;
14
- const firstColumn = ((_a = columns[0]) === null || _a === void 0 ? void 0 : _a.id) || "";
15
- const columnSettingsMap = new Map(columnSettings.map(s => [s.name, s.visible]));
16
- return _jsx(ColumnSettingsList, { columns: columns.filter(c => c.title), settings: columnSettingsMap, firstColumn: firstColumn, onChange: (newSettings) => {
17
- const settings = (columnSettings.map(s => {
18
- const visible = newSettings.get(s.name) !== false;
19
- return Object.assign(Object.assign({}, s), { visible });
20
- }));
21
- onChange(settings);
22
- }, sortGroups: sortGroups, sortColumns: sortColumns });
23
- }, [columns, columnSettings, sortGroups, sortColumns, onChange]);
24
- return _jsx(Popup, { ariaLabel: translate("Column Settings"), triggerRef: triggerRef, alignment: "bottom-right", children: _jsx(ColumnSettings, { onReset: onResetListener, children: listOfColumns }) }, "flexible-popup");
25
- };
8
+ injectString("cs", "Column Settings", "Nastaven\xED sloupc\u016F");
9
+ injectString("da-DK", "Column Settings", "Kolonneindstillinger");
10
+ injectString("de", "Column Settings", "Spalteneinstellungen");
11
+ injectString("en", "Column Settings", "Column Settings");
12
+ injectString("es", "Column Settings", "Configuraci\xF3n de columnas");
13
+ injectString("fi-FI", "Column Settings", "Sarakkeiden asetukset");
14
+ injectString("fr", "Column Settings", "Param\xE8tres des colonnes");
15
+ injectString("fr-FR", "Column Settings", "Param\xE8tres des colonnes");
16
+ injectString("hu-HU", "Column Settings", "Oszlopbe\xE1ll\xEDt\xE1sok");
17
+ injectString("id", "Column Settings", "Pengaturan Kolom");
18
+ injectString("it", "Column Settings", "Impostazioni colonna");
19
+ injectString("ja", "Column Settings", "\u5217\u306E\u8A2D\u5B9A");
20
+ injectString("ko-KR", "Column Settings", "\uC5F4 \uC124\uC815");
21
+ injectString("ms", "Column Settings", "Tetapan Lajur");
22
+ injectString("nb-NO", "Column Settings", "Kolonneinnstillinger");
23
+ injectString("nl", "Column Settings", "Kolominstellingen");
24
+ injectString("pl", "Column Settings", "Ustawienia kolumn");
25
+ injectString("pt-BR", "Column Settings", "Configura\xE7\xF5es da coluna");
26
+ injectString("sk-SK", "Column Settings", "Nastavenia st\u013Apcov");
27
+ injectString("sv", "Column Settings", "Kolumninst\xE4llningar");
28
+ injectString("th", "Column Settings", "\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E04\u0E2D\u0E25\u0E31\u0E21\u0E19\u0E4C");
29
+ injectString("tr", "Column Settings", "S\xFCtun Ayarlar\u0131");
30
+ injectString("zh-Hans", "Column Settings", "\u5217\u8BBE\u7F6E");
31
+ injectString("zh-TW", "Column Settings", "\u6B04\u8A2D\u5B9A");
32
+ export const ColumnsPopup = ({
33
+ onReset,
34
+ onChange,
35
+ columnSettings,
36
+ columns,
37
+ sortGroups,
38
+ sortColumns,
39
+ triggerRef
40
+ }) => {
41
+ const onResetListener = useCallback(() => {
42
+ onReset();
43
+ }, [onReset]);
44
+ const {
45
+ translate
46
+ } = useLanguage();
47
+ const listOfColumns = useMemo(() => {
48
+ var _a;
49
+ const firstColumn = ((_a = columns[0]) === null || _a === void 0 ? void 0 : _a.id) || "";
50
+ const columnSettingsMap = new Map(columnSettings.map(s => [s.name, s.visible]));
51
+ return _jsx(ColumnSettingsList, {
52
+ columns: columns.filter(c => c.title),
53
+ settings: columnSettingsMap,
54
+ firstColumn: firstColumn,
55
+ onChange: newSettings => {
56
+ const settings = columnSettings.map(s => {
57
+ const visible = newSettings.get(s.name) !== false;
58
+ return Object.assign(Object.assign({}, s), {
59
+ visible
60
+ });
61
+ });
62
+ onChange(settings);
63
+ },
64
+ sortGroups: sortGroups,
65
+ sortColumns: sortColumns
66
+ });
67
+ }, [columns, columnSettings, sortGroups, sortColumns, onChange]);
68
+ return _jsx(Popup, {
69
+ ariaLabel: translate("Column Settings"),
70
+ triggerRef: triggerRef,
71
+ alignment: "bottom-right",
72
+ children: _jsx(ColumnSettings, {
73
+ onReset: onResetListener,
74
+ children: listOfColumns
75
+ })
76
+ }, "flexible-popup");
77
+ };
@@ -1,83 +1,168 @@
1
+ import { injectString } from "../../utils/localization/translationsDictionary";
1
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import { useCallback, useMemo, useState } from "react";
3
4
  import { IconChevronTop } from "../../icons/iconChevronTop";
4
5
  import { IconChevronBottom } from "../../icons/iconChevronBottom";
5
6
  import { useLanguage } from "../../utils/localization/useLanguage";
7
+ injectString("cs", "Collapse", "Sbalit");
8
+ injectString("da-DK", "Collapse", "Fold sammen");
9
+ injectString("de", "Collapse", "Ausblenden");
10
+ injectString("en", "Collapse", "Collapse");
11
+ injectString("es", "Collapse", "Contraer");
12
+ injectString("fi-FI", "Collapse", "Tiivist\xE4");
13
+ injectString("fr", "Collapse", "R\xE9duire");
14
+ injectString("fr-FR", "Collapse", "R\xE9duire");
15
+ injectString("hu-HU", "Collapse", "\xD6sszecsuk\xE1s");
16
+ injectString("id", "Collapse", "Ciutkan");
17
+ injectString("it", "Collapse", "Comprimi");
18
+ injectString("ja", "Collapse", "\u6298\u308A\u7573\u3080");
19
+ injectString("ko-KR", "Collapse", "\uBB34\uB108\uC9C0\uB2E4");
20
+ injectString("ms", "Collapse", "Runtuhkan");
21
+ injectString("nb-NO", "Collapse", "Kollapse");
22
+ injectString("nl", "Collapse", "Samenvouwen");
23
+ injectString("pl", "Collapse", "Zwi\u0144");
24
+ injectString("pt-BR", "Collapse", "Recolher");
25
+ injectString("sk-SK", "Collapse", "Zlo\u017E.");
26
+ injectString("sv", "Collapse", "Komprimera");
27
+ injectString("th", "Collapse", "\u0E22\u0E38\u0E1A");
28
+ injectString("tr", "Collapse", "Daralt");
29
+ injectString("zh-Hans", "Collapse", "\u6298\u53E0");
30
+ injectString("zh-TW", "Collapse", "\u647A\u758A");
31
+ injectString("cs", "Expand", "Rozbalit");
32
+ injectString("da-DK", "Expand", "Udvid");
33
+ injectString("de", "Expand", "Erweitern");
34
+ injectString("en", "Expand", "Expand");
35
+ injectString("es", "Expand", "Expandir");
36
+ injectString("fi-FI", "Expand", "Laajenna");
37
+ injectString("fr", "Expand", "D\xE9velopper");
38
+ injectString("fr-FR", "Expand", "D\xE9velopper");
39
+ injectString("hu-HU", "Expand", "B\u0151v\xEDtsd ki");
40
+ injectString("id", "Expand", "Perluas");
41
+ injectString("it", "Expand", "Espandere");
42
+ injectString("ja", "Expand", "\u5C55\u958B");
43
+ injectString("ko-KR", "Expand", "\uD655\uC7A5");
44
+ injectString("ms", "Expand", "Kembangkan");
45
+ injectString("nb-NO", "Expand", "Utvide");
46
+ injectString("nl", "Expand", "Uitvouwen");
47
+ injectString("pl", "Expand", "Rozwi\u0144");
48
+ injectString("pt-BR", "Expand", "Expandir");
49
+ injectString("sk-SK", "Expand", "Roz\u0161\xEDr.");
50
+ injectString("sv", "Expand", "Expandera");
51
+ injectString("th", "Expand", "\u0E02\u0E22\u0E32\u0E22");
52
+ injectString("tr", "Expand", "Geni\u015Flet");
53
+ injectString("zh-Hans", "Expand", "\u5C55\u5F00");
54
+ injectString("zh-TW", "Expand", "\u5C55\u958B");
6
55
  const NestedWrapperName = "Nested";
7
56
  export const useNestedRows = (expandedRows, onExpand, columns, isMobile) => {
8
- const { translate } = useLanguage();
9
- const [intExpanded, setExpanded] = useState([]);
10
- const expanded = useMemo(() => {
11
- if (expandedRows) {
12
- return expandedRows;
13
- }
14
- return intExpanded;
15
- }, [expandedRows, intExpanded]);
16
- const onExpandedChange = useCallback((id, isExpanded) => {
17
- if (onExpand) {
18
- onExpand(id, isExpanded);
19
- return;
20
- }
21
- if (isExpanded) {
22
- setExpanded([id]);
23
- }
24
- else {
25
- setExpanded(intExpanded.filter(i => i !== id));
26
- }
27
- }, [intExpanded, onExpand]);
28
- const firstColumnId = useMemo(() => columns.length > 0 ? columns[0].id : null, [columns]);
29
- const wrapper = useMemo(() => ({
30
- name: NestedWrapperName,
31
- render(value, entity, isNested) {
32
- if (!entity) {
33
- return null;
34
- }
35
- if (isMobile) {
36
- return value;
37
- }
38
- if (isNested) {
39
- return value;
40
- }
41
- const isExpanded = expanded.indexOf(entity.id) !== -1;
42
- const onExpandCallback = () => {
43
- onExpandedChange(entity.id, !isExpanded);
44
- };
45
- if ("children" in entity) {
46
- return _jsxs("div", { className: "zen-nested-button", children: [_jsx("button", { className: "zen-nested-button__button", onClick: onExpandCallback, "aria-label": translate(isExpanded ? "Collapse" : "Expand"), children: isExpanded ? _jsx(IconChevronTop, { size: "large" }) : _jsx(IconChevronBottom, { size: "large" }) }), _jsx("div", { className: "zen-nested-button__content", children: value })] });
47
- }
48
- return value;
49
- },
50
- renderHeader(title) {
51
- return title;
52
- }
53
- }), [expanded, onExpandedChange, isMobile, translate]);
54
- const nestedColumns = useMemo(() => {
55
- const newColumns = columns.map(c => (Object.assign({}, c)));
56
- // Add nested wrapper to the first column
57
- const firstColumn = newColumns.find(c => c.id === firstColumnId);
58
- if (firstColumn) {
59
- firstColumn.wrappers = [...firstColumn.wrappers || [], wrapper];
60
- }
61
- return newColumns;
62
- }, [columns, firstColumnId, wrapper]);
63
- const nestedFeedWrapper = useCallback((primaryData, secondaryData, entity, isNested) => {
64
- if (!entity.children) {
65
- return [primaryData, secondaryData];
66
- }
67
- if (isNested) {
68
- return [primaryData, secondaryData];
69
- }
70
- if (!isMobile) {
71
- return [primaryData, secondaryData];
72
- }
73
- const isExpanded = expanded.indexOf(entity.id) !== -1;
74
- const onExpandCallback = () => {
75
- onExpandedChange(entity.id, !isExpanded);
76
- };
77
- return [
78
- _jsxs("div", { className: "zen-nested-button", children: [_jsx("button", { className: "zen-nested-button__button", onClick: onExpandCallback, "aria-label": translate(isExpanded ? "Collapse" : "Expand"), children: isExpanded ? _jsx(IconChevronTop, { size: "large" }) : _jsx(IconChevronBottom, { size: "large" }) }), _jsx("div", { className: "zen-nested-button__content", children: primaryData })] }, "nested-button"),
79
- _jsx("div", { className: "zen-nested-button__padding", children: secondaryData }, "nested-value")
80
- ];
81
- }, [expanded, onExpandedChange, isMobile, translate]);
82
- return { nestedColumns, nestedFeedWrapper, expanded, onExpandedChange };
83
- };
57
+ const {
58
+ translate
59
+ } = useLanguage();
60
+ const [intExpanded, setExpanded] = useState([]);
61
+ const expanded = useMemo(() => {
62
+ if (expandedRows) {
63
+ return expandedRows;
64
+ }
65
+ return intExpanded;
66
+ }, [expandedRows, intExpanded]);
67
+ const onExpandedChange = useCallback((id, isExpanded) => {
68
+ if (onExpand) {
69
+ onExpand(id, isExpanded);
70
+ return;
71
+ }
72
+ if (isExpanded) {
73
+ setExpanded([id]);
74
+ } else {
75
+ setExpanded(intExpanded.filter(i => i !== id));
76
+ }
77
+ }, [intExpanded, onExpand]);
78
+ const firstColumnId = useMemo(() => columns.length > 0 ? columns[0].id : null, [columns]);
79
+ const wrapper = useMemo(() => ({
80
+ name: NestedWrapperName,
81
+ render(value, entity, isNested) {
82
+ if (!entity) {
83
+ return null;
84
+ }
85
+ if (isMobile) {
86
+ return value;
87
+ }
88
+ if (isNested) {
89
+ return value;
90
+ }
91
+ const isExpanded = expanded.indexOf(entity.id) !== -1;
92
+ const onExpandCallback = () => {
93
+ onExpandedChange(entity.id, !isExpanded);
94
+ };
95
+ if ("children" in entity) {
96
+ return _jsxs("div", {
97
+ className: "zen-nested-button",
98
+ children: [_jsx("button", {
99
+ className: "zen-nested-button__button",
100
+ onClick: onExpandCallback,
101
+ "aria-label": isExpanded ? translate("Collapse") : translate("Expand"),
102
+ children: isExpanded ? _jsx(IconChevronTop, {
103
+ size: "large"
104
+ }) : _jsx(IconChevronBottom, {
105
+ size: "large"
106
+ })
107
+ }), _jsx("div", {
108
+ className: "zen-nested-button__content",
109
+ children: value
110
+ })]
111
+ });
112
+ }
113
+ return value;
114
+ },
115
+ renderHeader(title) {
116
+ return title;
117
+ }
118
+ }), [expanded, onExpandedChange, isMobile, translate]);
119
+ const nestedColumns = useMemo(() => {
120
+ const newColumns = columns.map(c => Object.assign({}, c));
121
+ // Add nested wrapper to the first column
122
+ const firstColumn = newColumns.find(c => c.id === firstColumnId);
123
+ if (firstColumn) {
124
+ firstColumn.wrappers = [...(firstColumn.wrappers || []), wrapper];
125
+ }
126
+ return newColumns;
127
+ }, [columns, firstColumnId, wrapper]);
128
+ const nestedFeedWrapper = useCallback((primaryData, secondaryData, entity, isNested) => {
129
+ if (!entity.children) {
130
+ return [primaryData, secondaryData];
131
+ }
132
+ if (isNested) {
133
+ return [primaryData, secondaryData];
134
+ }
135
+ if (!isMobile) {
136
+ return [primaryData, secondaryData];
137
+ }
138
+ const isExpanded = expanded.indexOf(entity.id) !== -1;
139
+ const onExpandCallback = () => {
140
+ onExpandedChange(entity.id, !isExpanded);
141
+ };
142
+ return [_jsxs("div", {
143
+ className: "zen-nested-button",
144
+ children: [_jsx("button", {
145
+ className: "zen-nested-button__button",
146
+ onClick: onExpandCallback,
147
+ "aria-label": isExpanded ? translate("Collapse") : translate("Expand"),
148
+ children: isExpanded ? _jsx(IconChevronTop, {
149
+ size: "large"
150
+ }) : _jsx(IconChevronBottom, {
151
+ size: "large"
152
+ })
153
+ }), _jsx("div", {
154
+ className: "zen-nested-button__content",
155
+ children: primaryData
156
+ })]
157
+ }, "nested-button"), _jsx("div", {
158
+ className: "zen-nested-button__padding",
159
+ children: secondaryData
160
+ }, "nested-value")];
161
+ }, [expanded, onExpandedChange, isMobile, translate]);
162
+ return {
163
+ nestedColumns,
164
+ nestedFeedWrapper,
165
+ expanded,
166
+ onExpandedChange
167
+ };
168
+ };
@@ -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 { useMemo } from "react";
3
4
  import { useLanguage } from "../../utils/localization/useLanguage";
@@ -6,44 +7,177 @@ import { IconChevronDownSmall } from "../../icons/iconChevronDownSmall";
6
7
  import { Menu } from "../../menu/menu";
7
8
  import { Checkbox } from "../../checkbox/checkbox";
8
9
  import { SelectionState } from "./interfaces";
9
- const selectionOptions = [{
10
- id: "all",
11
- value: SelectionState.All,
12
- element: "all",
13
- label: "Select all"
14
- }, {
15
- id: "page",
16
- value: SelectionState.CurrentPage,
17
- element: "page",
18
- label: "Select current page"
19
- }, {
20
- id: "none",
21
- value: SelectionState.None,
22
- element: "none",
23
- label: "Deselect all"
24
- }];
25
- export const SelectableHeader = ({ label, title, checked, indeterminate, disabled, onChange, calculateSelectionState, onSelect, checkboxInHeader, header, turnOffSelectAll }) => {
26
- const { translate } = useLanguage();
27
- const listItems = useMemo(() => selectionOptions
28
- .filter(option => !turnOffSelectAll || option.value !== SelectionState.All)
29
- .map(option => ({
30
- id: option.id,
31
- name: translate(option.label),
32
- onClick: () => onSelect && onSelect(option.id)
33
- }))
34
- .filter(option => option.id !== calculateSelectionState()), [calculateSelectionState, onSelect, translate, turnOffSelectAll]);
35
- const actionsMenu = useMemo(() => _jsx(Menu, { title: translate("Select menu"), className: "zen-selectable-column__menu", trigger: _jsx(TextIconButton, { className: "zen-selectable-column__popup", iconClasses: "zen-icon--no-events", icon: IconChevronDownSmall, iconPosition: ButtonIconPosition.Start, iconSize: "large", title: translate("Multiple row selection menu"), "aria-label": translate("Multiple row selection menu"), type: "tertiary-black" }), children: listItems.map(item => _jsx(Menu.Item, { id: item.id, name: item.name, onClick: item.onClick }, item.id)) }), [listItems, translate]);
36
- return _jsxs("div", { className: "zen-selectable-column zen-selectable-column--with-actions", children: [checkboxInHeader !== false
37
- ? _jsxs("div", { className: "zen-selectable-column__checkbox", children: [_jsx("div", { className: "zen-selectable-column__checkbox-input", children: _jsx(Checkbox, { checked: checked, indeterminate: indeterminate, disabled: disabled, title: label, "aria-label": label, onChange: e => onChange && onChange(e.target.checked) }) }), actionsMenu] })
38
- : null, header !== false
39
- ? _jsx("div", { className: "zen-selectable-column__content", children: title })
40
- : null] });
10
+ injectString("cs", "Select all", "Vybrat v\u0161e");
11
+ injectString("da-DK", "Select all", "V\xE6lg alle");
12
+ injectString("de", "Select all", "Alle ausw\xE4hlen");
13
+ injectString("en", "Select all", "Select all");
14
+ injectString("es", "Select all", "Seleccionar todo");
15
+ injectString("fi-FI", "Select all", "Valitse kaikki");
16
+ injectString("fr", "Select all", "S\xE9lectionner tout");
17
+ injectString("fr-FR", "Select all", "S\xE9lectionner tout");
18
+ injectString("hu-HU", "Select all", "V\xE1laszd ki az \xF6sszeset.");
19
+ injectString("id", "Select all", "Pilih semua");
20
+ injectString("it", "Select all", "Selezionare tutto");
21
+ injectString("ja", "Select all", "\u3059\u3079\u3066\u9078\u629E");
22
+ injectString("ko-KR", "Select all", "\uBAA8\uB450 \uC120\uD0DD");
23
+ injectString("ms", "Select all", "Pilih semua");
24
+ injectString("nb-NO", "Select all", "Velg alle");
25
+ injectString("nl", "Select all", "Alles selecteren");
26
+ injectString("pl", "Select all", "Wybierz wszystko");
27
+ injectString("pt-BR", "Select all", "Selecionar tudo");
28
+ injectString("sk-SK", "Select all", "Vyber v\u0161etko.");
29
+ injectString("sv", "Select all", "V\xE4lj alla");
30
+ injectString("th", "Select all", "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14");
31
+ injectString("tr", "Select all", "T\xFCm\xFCn\xFC se\xE7");
32
+ injectString("zh-Hans", "Select all", "\u5168\u9009");
33
+ injectString("zh-TW", "Select all", "\u5168\u9078");
34
+ injectString("cs", "Select current page", "Vybrat aktu\xE1ln\xED str\xE1nku");
35
+ injectString("da-DK", "Select current page", "V\xE6lg aktuel side");
36
+ injectString("de", "Select current page", "Aktuelle Seite ausw\xE4hlen");
37
+ injectString("en", "Select current page", "Select current page");
38
+ injectString("es", "Select current page", "Seleccionar p\xE1gina actual");
39
+ injectString("fi-FI", "Select current page", "Valitse nykyinen sivu");
40
+ injectString("fr", "Select current page", "S\xE9lectionner la page actuelle");
41
+ injectString("fr-FR", "Select current page", "S\xE9lectionner toute la page");
42
+ injectString("hu-HU", "Select current page", "V\xE1laszd ki az aktu\xE1lis oldalt.");
43
+ injectString("id", "Select current page", "Pilih halaman saat ini");
44
+ injectString("it", "Select current page", "Selezionare pagina corrente");
45
+ injectString("ja", "Select current page", "\u73FE\u5728\u306E\u30DA\u30FC\u30B8\u3092\u9078\u629E");
46
+ injectString("ko-KR", "Select current page", "\uD604\uC7AC \uD398\uC774\uC9C0 \uC120\uD0DD");
47
+ injectString("ms", "Select current page", "Pilih halaman semasa");
48
+ injectString("nb-NO", "Select current page", "Velg n\xE5v\xE6rende side");
49
+ injectString("nl", "Select current page", "Huidige pagina selecteren");
50
+ injectString("pl", "Select current page", "Wybierz bie\u017C\u0105c\u0105 stron\u0119");
51
+ injectString("pt-BR", "Select current page", "Selecionar p\xE1gina atual");
52
+ injectString("sk-SK", "Select current page", "Vyber aktu\xE1lnu str\xE1nku.");
53
+ injectString("sv", "Select current page", "V\xE4lj nuvarande sida");
54
+ injectString("th", "Select current page", "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2B\u0E19\u0E49\u0E32\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19");
55
+ injectString("tr", "Select current page", "Ge\xE7erli sayfay\u0131 se\xE7");
56
+ injectString("zh-Hans", "Select current page", "\u9009\u62E9\u5F53\u524D\u9875\u9762");
57
+ injectString("zh-TW", "Select current page", "\u9078\u53D6\u76EE\u524D\u9801\u9762");
58
+ injectString("cs", "Deselect all", "Zru\u0161it v\xFDb\u011Br v\u0161ech");
59
+ injectString("da-DK", "Deselect all", "Frav\xE6lg alle");
60
+ injectString("de", "Deselect all", "Auswahl f\xFCr alle aufheben");
61
+ injectString("en", "Deselect all", "Deselect all");
62
+ injectString("es", "Deselect all", "Deseleccionar todo");
63
+ injectString("fi-FI", "Deselect all", "Poista kaikki valinnat");
64
+ injectString("fr", "Deselect all", "D\xE9s\xE9lectionner tout");
65
+ injectString("fr-FR", "Deselect all", "D\xE9s\xE9lectionner tout");
66
+ injectString("hu-HU", "Deselect all", "Ne v\xE1lassz ki semmit.");
67
+ injectString("id", "Deselect all", "Batalkan pilih semua");
68
+ injectString("it", "Deselect all", "Deselezionare tutto");
69
+ injectString("ja", "Deselect all", "\u3059\u3079\u3066\u3092\u9078\u629E\u89E3\u9664");
70
+ injectString("ko-KR", "Deselect all", "\uBAA8\uB450 \uC120\uD0DD \uCDE8\uC18C");
71
+ injectString("ms", "Deselect all", "Nyahpilih semua");
72
+ injectString("nb-NO", "Deselect all", "Fjern alle valg");
73
+ injectString("nl", "Deselect all", "Alles deselecteren");
74
+ injectString("pl", "Deselect all", "Usu\u0144 wyb\xF3r wszystkich");
75
+ injectString("pt-BR", "Deselect all", "Desmarcar tudo");
76
+ injectString("sk-SK", "Deselect all", "Zru\u0161 v\xFDber v\u0161etk\xFDch.");
77
+ injectString("sv", "Deselect all", "Avmarkera alla");
78
+ injectString("th", "Deselect all", "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14");
79
+ injectString("tr", "Deselect all", "T\xFCm\xFCn\xFCn se\xE7imini iptal et");
80
+ injectString("zh-Hans", "Deselect all", "\u53D6\u6D88\u5168\u9009");
81
+ injectString("zh-TW", "Deselect all", "\u53D6\u6D88\u5168\u9078");
82
+ injectString("cs", "Multiple row selection menu", "Nab\xEDdka s\xA0v\xEDcen\xE1sobn\xFDm v\xFDb\u011Brem \u0159\xE1dk\u016F");
83
+ injectString("da-DK", "Multiple row selection menu", "Menu til valg af flere r\xE6kker");
84
+ injectString("de", "Multiple row selection menu", "Men\xFC Auswahl mehrerer Reihen");
85
+ injectString("en", "Multiple row selection menu", "Multiple row selection menu");
86
+ injectString("es", "Multiple row selection menu", "Men\xFA de selecci\xF3n de varias filas");
87
+ injectString("fi-FI", "Multiple row selection menu", "Usean rivin valintavalikko");
88
+ injectString("fr", "Multiple row selection menu", "Menu de s\xE9lection \xE0 plusieurs lignes");
89
+ injectString("fr-FR", "Multiple row selection menu", "Menu de s\xE9lection \xE0 lignes multiples");
90
+ injectString("hu-HU", "Multiple row selection menu", "T\xF6bb soros kijel\xF6l\xE9s men\xFC");
91
+ injectString("id", "Multiple row selection menu", "Menu pilihan baris ganda");
92
+ injectString("it", "Multiple row selection menu", "Menu di selezione a righe multiple");
93
+ injectString("ja", "Multiple row selection menu", "\u8907\u6570\u884C\u9078\u629E\u30E1\u30CB\u30E5\u30FC");
94
+ injectString("ko-KR", "Multiple row selection menu", "\uC5EC\uB7EC \uD589 \uC120\uD0DD \uBA54\uB274");
95
+ injectString("ms", "Multiple row selection menu", "Menu pemilihan berbilang baris");
96
+ injectString("nb-NO", "Multiple row selection menu", "Meny for valg av flere rader");
97
+ injectString("nl", "Multiple row selection menu", "Selectiemenu meerdere rijen");
98
+ injectString("pl", "Multiple row selection menu", "Menu wielokrotnego wyboru wiersza");
99
+ injectString("pt-BR", "Multiple row selection menu", "Menu de sele\xE7\xE3o de v\xE1rias linhas");
100
+ injectString("sk-SK", "Multiple row selection menu", "Ponuka v\xFDberu viacer\xFDch riadkov");
101
+ injectString("sv", "Multiple row selection menu", "Meny f\xF6r val av flera rader");
102
+ injectString("th", "Multiple row selection menu", "\u0E40\u0E21\u0E19\u0E39\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2B\u0E25\u0E32\u0E22\u0E41\u0E16\u0E27");
103
+ injectString("tr", "Multiple row selection menu", "\xC7oklu s\u0131ra se\xE7imi men\xFCs\xFC");
104
+ injectString("zh-Hans", "Multiple row selection menu", "\u591A\u884C\u9009\u62E9\u83DC\u5355");
105
+ injectString("zh-TW", "Multiple row selection menu", "\u591A\u5217\u9078\u64C7\u9078\u55AE");
106
+ const getSelectionOptions = translate => [{
107
+ id: "all",
108
+ value: SelectionState.All,
109
+ element: "all",
110
+ label: translate("Select all")
111
+ }, {
112
+ id: "page",
113
+ value: SelectionState.CurrentPage,
114
+ element: "page",
115
+ label: translate("Select current page")
116
+ }, {
117
+ id: "none",
118
+ value: SelectionState.None,
119
+ element: "none",
120
+ label: translate("Deselect all")
121
+ }];
122
+ export const SelectableHeader = ({
123
+ label,
124
+ title,
125
+ checked,
126
+ indeterminate,
127
+ disabled,
128
+ onChange,
129
+ calculateSelectionState,
130
+ onSelect,
131
+ checkboxInHeader,
132
+ header,
133
+ turnOffSelectAll
134
+ }) => {
135
+ const {
136
+ translate
137
+ } = useLanguage();
138
+ const listItems = useMemo(() => getSelectionOptions(translate).filter(option => !turnOffSelectAll || option.value !== SelectionState.All).map(option => ({
139
+ id: option.id,
140
+ name: option.label,
141
+ onClick: () => onSelect && onSelect(option.id)
142
+ })).filter(option => option.id !== calculateSelectionState()), [calculateSelectionState, onSelect, translate, turnOffSelectAll]);
143
+ const actionsMenu = useMemo(() => _jsx(Menu, {
144
+ title: translate("Select menu"),
145
+ className: "zen-selectable-column__menu",
146
+ trigger: _jsx(TextIconButton, {
147
+ className: "zen-selectable-column__popup",
148
+ iconClasses: "zen-icon--no-events",
149
+ icon: IconChevronDownSmall,
150
+ iconPosition: ButtonIconPosition.Start,
151
+ iconSize: "large",
152
+ title: translate("Multiple row selection menu"),
153
+ "aria-label": translate("Multiple row selection menu"),
154
+ type: "tertiary-black"
155
+ }),
156
+ children: listItems.map(item => _jsx(Menu.Item, {
157
+ id: item.id,
158
+ name: item.name,
159
+ onClick: item.onClick
160
+ }, item.id))
161
+ }), [listItems, translate]);
162
+ return _jsxs("div", {
163
+ className: "zen-selectable-column zen-selectable-column--with-actions",
164
+ children: [checkboxInHeader !== false ? _jsxs("div", {
165
+ className: "zen-selectable-column__checkbox",
166
+ children: [_jsx("div", {
167
+ className: "zen-selectable-column__checkbox-input",
168
+ children: _jsx(Checkbox, {
169
+ checked: checked,
170
+ indeterminate: indeterminate,
171
+ disabled: disabled,
172
+ title: label,
173
+ "aria-label": label,
174
+ onChange: e => onChange && onChange(e.target.checked)
175
+ })
176
+ }), actionsMenu]
177
+ }) : null, header !== false ? _jsx("div", {
178
+ className: "zen-selectable-column__content",
179
+ children: title
180
+ }) : null]
181
+ });
41
182
  };
42
- export const TRANSLATIONS = [
43
- "Select menu",
44
- "Select all",
45
- "Select current page",
46
- "Deselect all",
47
- "Select menu",
48
- "Multiple row selection menu"
49
- ];
183
+ export const TRANSLATIONS = ["Select menu", "Select all", "Select current page", "Deselect all", "Select menu", "Multiple row selection menu"];