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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/README.md +20 -0
  2. package/dist/advancedGroupsFilter/advancedGroupsFilter.js +136 -30
  3. package/dist/advancedGroupsFilter/advancedGroupsFilterForm.js +139 -34
  4. package/dist/advancedGroupsFilter/advancedGroupsFilterFormSection.js +352 -87
  5. package/dist/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.d.ts +0 -1
  6. package/dist/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +83 -9
  7. package/dist/alertRaw/alertRaw.js +175 -54
  8. package/dist/banner/bannerMultipLine.js +131 -23
  9. package/dist/banner/bannerSingleLine.js +110 -16
  10. package/dist/betaPill/betaPill.js +111 -20
  11. package/dist/bookmark/bookmark.js +95 -28
  12. package/dist/bulkEditControl/bulkEditControl.js +167 -34
  13. package/dist/calendar/calendar.js +943 -273
  14. package/dist/calendar/calendarUtils.js +157 -85
  15. package/dist/card/card.js +268 -123
  16. package/dist/chart/accessibleChart/accessibleChartNarrative.js +648 -555
  17. package/dist/chart/accessibleChart/accessibleChartTable.js +245 -86
  18. package/dist/chart/chart.js +36 -21
  19. package/dist/chart/chartAxis/chartAxis.js +85 -7
  20. package/dist/checkboxListWithAction/checkboxListWithAction.js +224 -69
  21. package/dist/chip/chip.js +195 -91
  22. package/dist/columnsSelector/columnsSelector.js +97 -12
  23. package/dist/columnsSelector/columnsTab/columnsTab.js +59 -15
  24. package/dist/columnsSelector/columnsTabGroup/columnsTabGroup.js +81 -34
  25. package/dist/comboboxSelected/comboboxSelected.js +1 -3
  26. package/dist/dataFeed/feedExpandControl/feedExpandControl.js +25 -10
  27. package/dist/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +92 -11
  28. package/dist/dataGrid/dataGrid.js +227 -117
  29. package/dist/dataGrid/emptySearchList/emptySearchList.js +56 -9
  30. package/dist/dataGrid/entitiesListActions/actions/columnsListButton.js +51 -7
  31. package/dist/dataGrid/entitiesListActions/actions/fullscreenButton.js +64 -18
  32. package/dist/dataGrid/withFlexibleColumns/components/columnSettings.js +84 -10
  33. package/dist/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +48 -16
  34. package/dist/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +223 -32
  35. package/dist/dataGrid/withSelectableRows/withSelectableRows.js +286 -213
  36. package/dist/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +178 -95
  37. package/dist/dateInputInner/dateInputInner.js +791 -476
  38. package/dist/dateInputInner/dateInputInnerControlBlock.js +125 -22
  39. package/dist/dateInputRaw/dateInputRaw.js +315 -104
  40. package/dist/dateInputRaw/utils/getLabel.js +38 -7
  41. package/dist/dateRangeInner/dateRangeInner.js +172 -58
  42. package/dist/dateRangeRaw/dateRangeRaw.js +601 -239
  43. package/dist/dateRangeRaw/utils/dateRangeUtils.js +629 -241
  44. package/dist/dateSelectionWrapper/dateSelectionWrapper.js +152 -14
  45. package/dist/dialog/dialogContent.js +123 -40
  46. package/dist/dropdownRaw/dropdownHelper.d.ts +2 -2
  47. package/dist/dropdownRaw/dropdownHelper.js +9 -9
  48. package/dist/dropdownRaw/dropdownList.js +447 -78
  49. package/dist/dropdownRaw/dropdownPopup.js +218 -20
  50. package/dist/dropdownRaw/dropdownRaw.js +866 -506
  51. package/dist/dropdownRaw/dropdownSearchableTrigger.js +223 -46
  52. package/dist/dropdownRaw/stateReducer/stateAction.d.ts +5 -1
  53. package/dist/dropdownRaw/stateReducer/stateActionType.d.ts +2 -1
  54. package/dist/dropdownRaw/stateReducer/stateActionType.js +1 -0
  55. package/dist/dropdownRaw/stateReducer/stateReducer.d.ts +6 -1
  56. package/dist/dropdownRaw/stateReducer/stateReducer.js +24 -12
  57. package/dist/dropdownRaw/stateReducer/stateReducerHelper.d.ts +2 -0
  58. package/dist/dropdownRaw/stateReducer/stateReducerHelper.js +20 -1
  59. package/dist/dropdownRaw/stateReducer/stateReducerTestData.d.ts +39 -0
  60. package/dist/dropdownRaw/stateReducer/stateReducerTestData.js +74 -0
  61. package/dist/dropdownRaw/types.d.ts +1 -0
  62. package/dist/favoriteButton/favoriteButton.js +59 -10
  63. package/dist/filters/components/filtersContainer.js +151 -64
  64. package/dist/filters/components/filtersEmptySelectedList.js +30 -4
  65. package/dist/filters/components/filtersSaveModal.js +140 -42
  66. package/dist/filters/components/filtersSavedChipComponent.js +318 -108
  67. package/dist/filters/components/filtersSearchItemData.js +127 -47
  68. package/dist/filters/components/filtersSearchList.js +381 -179
  69. package/dist/filters/components/filtersSelect.js +128 -61
  70. package/dist/filters/components/filtersSelectListItem.js +125 -13
  71. package/dist/filters/components/filtersSidePanel.js +510 -178
  72. package/dist/filters/filters.js +445 -268
  73. package/dist/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +729 -272
  74. package/dist/filtersBar/components/resetComponentButton.js +45 -5
  75. package/dist/filtersBar/filtersBarActions/filtersBarActions.js +126 -15
  76. package/dist/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +155 -49
  77. package/dist/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +360 -104
  78. package/dist/filtersBar/filtersContainer/filtersContainer.js +204 -134
  79. package/dist/formField/components/formFieldWithLabel.d.ts +2 -1
  80. package/dist/formField/components/formFieldWithLabel.js +3 -2
  81. package/dist/formField/components/formFieldWithoutLabel.d.ts +2 -1
  82. package/dist/formField/components/formFieldWithoutLabel.js +3 -3
  83. package/dist/formField/components/trailingComponent.d.ts +8 -0
  84. package/dist/formField/components/trailingComponent.js +11 -0
  85. package/dist/formField/formField.js +12 -11
  86. package/dist/formField/hooks/useError.js +100 -36
  87. package/dist/formGroup/components/reviewListToggle/reviewListToggle.js +72 -7
  88. package/dist/formGroup/hooks/useToggle.js +37 -11
  89. package/dist/formGroup/utils/getControls.js +8 -7
  90. package/dist/formLayout/hooks/useError.js +55 -15
  91. package/dist/formLayout/hooks/useFormButtons.js +128 -27
  92. package/dist/formSection/components/formSectionModal.js +1 -1
  93. package/dist/formSection/formSection.js +1 -1
  94. package/dist/formSection/hooks/useError.js +70 -22
  95. package/dist/formStepper/components/formStep.js +65 -10
  96. package/dist/formStepper/formStepper.js +129 -33
  97. package/dist/formStepperButtons/formStepperButtons.js +184 -38
  98. package/dist/groupsFilter/groupsHelper.d.ts +1 -1
  99. package/dist/groupsFilterRaw/groupsFilterAdjustmentState.js +162 -17
  100. package/dist/groupsFilterRaw/groupsFilterBox.js +137 -32
  101. package/dist/groupsFilterRaw/groupsFilterCommon.js +75 -8
  102. package/dist/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +184 -25
  103. package/dist/groupsFilterRaw/groupsFilterHelper.d.ts +2 -1
  104. package/dist/groupsFilterRaw/groupsFilterHelper.js +284 -168
  105. package/dist/groupsFilterRaw/groupsFilterInitialState.js +266 -18
  106. package/dist/groupsFilterRaw/groupsFilterMenu.js +124 -9
  107. package/dist/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  108. package/dist/groupsFilterRaw/groupsFilterRaw.js +816 -308
  109. package/dist/groupsFilterRaw/groupsFilterTestData.d.ts +155 -2
  110. package/dist/groupsFilterRaw/groupsFilterTestData.js +153 -58
  111. package/dist/groupsFilterRaw/groupsFilterTrigger.js +139 -35
  112. package/dist/groupsFilterRaw/groupsHelper.js +739 -208
  113. package/dist/groupsFilterRaw/stateReducer/stateReducerHelper.js +3 -1
  114. package/dist/groupsFilterRaw/types.d.ts +1 -0
  115. package/dist/header/components/collapsedItemsControl/collapsedItemsControl.js +107 -52
  116. package/dist/header/components/mobileFilterControl/mobileFilterControl.js +62 -9
  117. package/dist/header/components/mobileSearchControl/mobileSearchControl.js +119 -14
  118. package/dist/header/headerBack.js +64 -20
  119. package/dist/index.css +110 -71
  120. package/dist/index.d.ts +1 -0
  121. package/dist/index.js +4 -1
  122. package/dist/list/itemData/itemDataInternal.js +216 -51
  123. package/dist/list/listItem/listItem.js +168 -55
  124. package/dist/menu/components/menuErrorItem.js +33 -5
  125. package/dist/mobileSheet/mobileSheet.js +195 -69
  126. package/dist/modal/modal.js +300 -142
  127. package/dist/nav/nav.js +1 -1
  128. package/dist/nav/navFooter/navFooter.js +82 -39
  129. package/dist/nav/navFooter/navFooterAction/navFooterAction.js +52 -13
  130. package/dist/nav/navHeader/navHeader.js +86 -36
  131. package/dist/nav/navHeader/navHeaderSearch/navHeaderSearch.js +88 -29
  132. package/dist/nav/navItem/navItem.d.ts +3 -3
  133. package/dist/nav/navItem/navItem.js +35 -33
  134. package/dist/nav/navMobileBar/navMobileBar.js +67 -21
  135. package/dist/notification/notification.js +124 -21
  136. package/dist/pagination/paginationArrow.js +81 -11
  137. package/dist/pagination/paginationText/paginationText.js +45 -11
  138. package/dist/pill/components/pillNonActionable/pillNonActionable.js +93 -24
  139. package/dist/pillBox/components/pillBoxItem.js +52 -9
  140. package/dist/pillBox/pillBox.js +121 -20
  141. package/dist/pillExpandable/pillExpandable.js +333 -139
  142. package/dist/rangeRaw/rangeRaw.js +486 -141
  143. package/dist/rangeRaw/utils/rangeHelper.js +209 -39
  144. package/dist/searchInputRaw/searchInputRaw.js +180 -65
  145. package/dist/skeleton/skeleton.js +51 -6
  146. package/dist/sortControl/sortControl.js +152 -42
  147. package/dist/stepperRaw/stepperRaw.js +116 -42
  148. package/dist/summary/summary.js +94 -8
  149. package/dist/table/actions/actionsMenu.js +171 -78
  150. package/dist/table/flexible/columnSettings.js +80 -10
  151. package/dist/table/flexible/columnsList.js +110 -43
  152. package/dist/table/flexible/columnsPopup.js +77 -20
  153. package/dist/table/nested/useNestedRows.js +167 -77
  154. package/dist/table/selectable/selectableHeader.js +180 -41
  155. package/dist/table/selectable/useSelectableRows.js +270 -191
  156. package/dist/table/sortable/sortableHeader.js +153 -75
  157. package/dist/tabs/tabs.js +227 -118
  158. package/dist/timePickerRaw/timePickerRaw.js +278 -58
  159. package/dist/toastRaw/toastRaw.js +138 -32
  160. package/dist/toggleButton/toggleButton.d.ts +0 -1
  161. package/dist/toggleButtonRaw/toggleButtonRaw.d.ts +1 -0
  162. package/dist/toggleButtonRaw/toggleButtonRaw.js +146 -40
  163. package/dist/utils/formatDate.js +1001 -117
  164. package/{esm/utils/localization/translations/cs-json.js → dist/utils/localization/translations/cs.json} +11 -12
  165. package/{esm/utils/localization/translations/da-DK-json.js → dist/utils/localization/translations/da-DK.json} +31 -23
  166. package/{esm/utils/localization/translations/de-json.js → dist/utils/localization/translations/de.json} +12 -13
  167. package/dist/utils/localization/translations/en.json +308 -0
  168. package/{esm/utils/localization/translations/es-json.js → dist/utils/localization/translations/es.json} +11 -12
  169. package/{esm/utils/localization/translations/fi-FI-json.js → dist/utils/localization/translations/fi-FI.json} +31 -23
  170. package/{esm/utils/localization/translations/fr-FR-json.js → dist/utils/localization/translations/fr-FR.json} +12 -12
  171. package/{esm/utils/localization/translations/fr-json.js → dist/utils/localization/translations/fr.json} +11 -12
  172. package/{esm/utils/localization/translations/hu-HU-json.js → dist/utils/localization/translations/hu-HU.json} +31 -23
  173. package/{esm/utils/localization/translations/id-json.js → dist/utils/localization/translations/id.json} +11 -13
  174. package/{esm/utils/localization/translations/it-json.js → dist/utils/localization/translations/it.json} +11 -12
  175. package/{esm/utils/localization/translations/ja-json.js → dist/utils/localization/translations/ja.json} +11 -12
  176. package/{esm/utils/localization/translations/ko-KR-json.js → dist/utils/localization/translations/ko-KR.json} +24 -23
  177. package/{esm/utils/localization/translations/ms-json.js → dist/utils/localization/translations/ms.json} +11 -12
  178. package/{esm/utils/localization/translations/nb-NO-json.js → dist/utils/localization/translations/nb-NO.json} +31 -23
  179. package/{esm/utils/localization/translations/nl-json.js → dist/utils/localization/translations/nl.json} +11 -12
  180. package/{esm/utils/localization/translations/pl-json.js → dist/utils/localization/translations/pl.json} +11 -12
  181. package/{esm/utils/localization/translations/pt-BR-json.js → dist/utils/localization/translations/pt-BR.json} +11 -12
  182. package/{esm/utils/localization/translations/sk-SK-json.js → dist/utils/localization/translations/sk-SK.json} +31 -23
  183. package/{esm/utils/localization/translations/sv-json.js → dist/utils/localization/translations/sv.json} +11 -12
  184. package/{esm/utils/localization/translations/th-json.js → dist/utils/localization/translations/th.json} +11 -12
  185. package/{esm/utils/localization/translations/tr-json.js → dist/utils/localization/translations/tr.json} +11 -12
  186. package/{esm/utils/localization/translations/zh-Hans-json.js → dist/utils/localization/translations/zh-Hans.json} +11 -12
  187. package/{esm/utils/localization/translations/zh-TW-json.js → dist/utils/localization/translations/zh-TW.json} +11 -23
  188. package/dist/utils/localization/translationsDictionary.d.ts +2 -0
  189. package/dist/utils/localization/translationsDictionary.js +63 -0
  190. package/dist/utils/localization/useLanguage.js +2 -74
  191. package/esm/advancedGroupsFilter/advancedGroupsFilter.js +130 -29
  192. package/esm/advancedGroupsFilter/advancedGroupsFilterForm.js +133 -33
  193. package/esm/advancedGroupsFilter/advancedGroupsFilterFormSection.js +317 -65
  194. package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.d.ts +0 -1
  195. package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +77 -8
  196. package/esm/alertRaw/alertRaw.js +165 -51
  197. package/esm/banner/bannerMultipLine.js +121 -20
  198. package/esm/banner/bannerSingleLine.js +100 -13
  199. package/esm/betaPill/betaPill.js +105 -19
  200. package/esm/bookmark/bookmark.js +89 -27
  201. package/esm/bulkEditControl/bulkEditControl.js +161 -33
  202. package/esm/calendar/calendar.js +937 -272
  203. package/esm/calendar/calendarUtils.js +151 -84
  204. package/esm/card/card.js +233 -101
  205. package/esm/chart/accessibleChart/accessibleChartNarrative.js +642 -554
  206. package/esm/chart/accessibleChart/accessibleChartTable.js +239 -85
  207. package/esm/chart/chart.js +30 -20
  208. package/esm/chart/chartAxis/chartAxis.js +79 -6
  209. package/esm/checkboxListWithAction/checkboxListWithAction.js +218 -68
  210. package/esm/chip/chip.js +189 -90
  211. package/esm/columnsSelector/columnsSelector.js +91 -11
  212. package/esm/columnsSelector/columnsTab/columnsTab.js +53 -14
  213. package/esm/columnsSelector/columnsTabGroup/columnsTabGroup.js +75 -33
  214. package/esm/comboboxSelected/comboboxSelected.js +1 -3
  215. package/esm/dataFeed/feedExpandControl/feedExpandControl.js +21 -9
  216. package/esm/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +86 -10
  217. package/esm/dataGrid/dataGrid.js +221 -116
  218. package/esm/dataGrid/emptySearchList/emptySearchList.js +50 -8
  219. package/esm/dataGrid/entitiesListActions/actions/columnsListButton.js +45 -6
  220. package/esm/dataGrid/entitiesListActions/actions/fullscreenButton.js +58 -17
  221. package/esm/dataGrid/withFlexibleColumns/components/columnSettings.js +78 -9
  222. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +44 -15
  223. package/esm/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +217 -31
  224. package/esm/dataGrid/withSelectableRows/withSelectableRows.js +280 -212
  225. package/esm/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +172 -94
  226. package/esm/dateInputInner/dateInputInner.js +785 -475
  227. package/esm/dateInputInner/dateInputInnerControlBlock.js +119 -21
  228. package/esm/dateInputRaw/dateInputRaw.js +309 -103
  229. package/esm/dateInputRaw/utils/getLabel.js +32 -6
  230. package/esm/dateRangeInner/dateRangeInner.js +166 -57
  231. package/esm/dateRangeRaw/dateRangeRaw.js +595 -238
  232. package/esm/dateRangeRaw/utils/dateRangeUtils.js +622 -239
  233. package/esm/dateSelectionWrapper/dateSelectionWrapper.js +146 -13
  234. package/esm/dialog/dialogContent.js +117 -39
  235. package/esm/dropdownRaw/dropdownHelper.d.ts +2 -2
  236. package/esm/dropdownRaw/dropdownHelper.js +10 -10
  237. package/esm/dropdownRaw/dropdownList.js +412 -56
  238. package/esm/dropdownRaw/dropdownPopup.js +212 -19
  239. package/esm/dropdownRaw/dropdownRaw.js +862 -507
  240. package/esm/dropdownRaw/dropdownSearchableTrigger.js +217 -45
  241. package/esm/dropdownRaw/stateReducer/stateAction.d.ts +5 -1
  242. package/esm/dropdownRaw/stateReducer/stateActionType.d.ts +2 -1
  243. package/esm/dropdownRaw/stateReducer/stateActionType.js +1 -0
  244. package/esm/dropdownRaw/stateReducer/stateReducer.d.ts +6 -1
  245. package/esm/dropdownRaw/stateReducer/stateReducer.js +24 -12
  246. package/esm/dropdownRaw/stateReducer/stateReducerHelper.d.ts +2 -0
  247. package/esm/dropdownRaw/stateReducer/stateReducerHelper.js +18 -0
  248. package/esm/dropdownRaw/stateReducer/stateReducerTestData.d.ts +39 -0
  249. package/esm/dropdownRaw/stateReducer/stateReducerTestData.js +71 -0
  250. package/esm/dropdownRaw/types.d.ts +1 -0
  251. package/esm/favoriteButton/favoriteButton.js +53 -9
  252. package/esm/filters/components/filtersContainer.js +141 -61
  253. package/esm/filters/components/filtersEmptySelectedList.js +24 -3
  254. package/esm/filters/components/filtersSaveModal.js +134 -41
  255. package/esm/filters/components/filtersSavedChipComponent.js +312 -107
  256. package/esm/filters/components/filtersSearchItemData.js +121 -46
  257. package/esm/filters/components/filtersSearchList.js +375 -178
  258. package/esm/filters/components/filtersSelect.js +122 -60
  259. package/esm/filters/components/filtersSelectListItem.js +119 -12
  260. package/esm/filters/components/filtersSidePanel.js +504 -177
  261. package/esm/filters/filters.js +435 -265
  262. package/esm/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +722 -270
  263. package/esm/filtersBar/components/resetComponentButton.js +39 -4
  264. package/esm/filtersBar/filtersBarActions/filtersBarActions.js +120 -14
  265. package/esm/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +149 -48
  266. package/esm/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +354 -103
  267. package/esm/filtersBar/filtersContainer/filtersContainer.js +198 -133
  268. package/esm/formField/components/formFieldWithLabel.d.ts +2 -1
  269. package/esm/formField/components/formFieldWithLabel.js +3 -2
  270. package/esm/formField/components/formFieldWithoutLabel.d.ts +2 -1
  271. package/esm/formField/components/formFieldWithoutLabel.js +3 -3
  272. package/esm/formField/components/trailingComponent.d.ts +8 -0
  273. package/esm/formField/components/trailingComponent.js +7 -0
  274. package/esm/formField/formField.js +12 -11
  275. package/esm/formField/hooks/useError.js +94 -35
  276. package/esm/formGroup/components/reviewListToggle/reviewListToggle.js +66 -6
  277. package/esm/formGroup/hooks/useToggle.js +31 -10
  278. package/esm/formGroup/utils/getControls.js +8 -7
  279. package/esm/formLayout/hooks/useError.js +49 -14
  280. package/esm/formLayout/hooks/useFormButtons.js +122 -26
  281. package/esm/formSection/components/formSectionModal.js +1 -1
  282. package/esm/formSection/formSection.js +1 -1
  283. package/esm/formSection/hooks/useError.js +64 -21
  284. package/esm/formStepper/components/formStep.js +59 -9
  285. package/esm/formStepper/formStepper.js +123 -32
  286. package/esm/formStepperButtons/formStepperButtons.js +178 -37
  287. package/esm/groupsFilter/groupsHelper.d.ts +1 -1
  288. package/esm/groupsFilterRaw/groupsFilterAdjustmentState.js +152 -14
  289. package/esm/groupsFilterRaw/groupsFilterBox.js +131 -31
  290. package/esm/groupsFilterRaw/groupsFilterCommon.js +69 -7
  291. package/esm/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +178 -24
  292. package/esm/groupsFilterRaw/groupsFilterHelper.d.ts +2 -1
  293. package/esm/groupsFilterRaw/groupsFilterHelper.js +279 -168
  294. package/esm/groupsFilterRaw/groupsFilterInitialState.js +260 -17
  295. package/esm/groupsFilterRaw/groupsFilterMenu.js +118 -8
  296. package/esm/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  297. package/esm/groupsFilterRaw/groupsFilterRaw.js +811 -308
  298. package/esm/groupsFilterRaw/groupsFilterTestData.d.ts +155 -2
  299. package/esm/groupsFilterRaw/groupsFilterTestData.js +152 -57
  300. package/esm/groupsFilterRaw/groupsFilterTrigger.js +133 -34
  301. package/esm/groupsFilterRaw/groupsHelper.js +733 -207
  302. package/esm/groupsFilterRaw/stateReducer/stateReducerHelper.js +3 -1
  303. package/esm/groupsFilterRaw/types.d.ts +1 -0
  304. package/esm/header/components/collapsedItemsControl/collapsedItemsControl.js +101 -51
  305. package/esm/header/components/mobileFilterControl/mobileFilterControl.js +56 -8
  306. package/esm/header/components/mobileSearchControl/mobileSearchControl.js +113 -13
  307. package/esm/header/headerBack.js +58 -19
  308. package/esm/index.d.ts +1 -0
  309. package/esm/index.js +1 -0
  310. package/esm/list/itemData/itemDataInternal.js +210 -50
  311. package/esm/list/listItem/listItem.js +162 -54
  312. package/esm/menu/components/menuErrorItem.js +27 -4
  313. package/esm/mobileSheet/mobileSheet.js +189 -68
  314. package/esm/modal/modal.js +265 -120
  315. package/esm/nav/nav.js +1 -1
  316. package/esm/nav/navFooter/navFooter.js +76 -38
  317. package/esm/nav/navFooter/navFooterAction/navFooterAction.js +46 -12
  318. package/esm/nav/navHeader/navHeader.js +80 -35
  319. package/esm/nav/navHeader/navHeaderSearch/navHeaderSearch.js +82 -28
  320. package/esm/nav/navItem/navItem.d.ts +3 -3
  321. package/esm/nav/navItem/navItem.js +35 -33
  322. package/esm/nav/navMobileBar/navMobileBar.js +61 -20
  323. package/esm/notification/notification.js +114 -18
  324. package/esm/pagination/paginationArrow.js +75 -10
  325. package/esm/pagination/paginationText/paginationText.js +39 -10
  326. package/esm/pill/components/pillNonActionable/pillNonActionable.js +87 -23
  327. package/esm/pillBox/components/pillBoxItem.js +46 -8
  328. package/esm/pillBox/pillBox.js +115 -19
  329. package/esm/pillExpandable/pillExpandable.js +327 -138
  330. package/esm/rangeRaw/rangeRaw.js +480 -140
  331. package/esm/rangeRaw/utils/rangeHelper.js +203 -38
  332. package/esm/searchInputRaw/searchInputRaw.js +145 -43
  333. package/esm/skeleton/skeleton.js +45 -5
  334. package/esm/sortControl/sortControl.js +146 -41
  335. package/esm/stepperRaw/stepperRaw.js +112 -41
  336. package/esm/storybookHelpers/dataGridWithDifferentCellOptions/components/EntitiesListAction.js +178 -19
  337. package/esm/summary/summary.js +88 -7
  338. package/esm/table/actions/actionsMenu.js +165 -77
  339. package/esm/table/flexible/columnSettings.js +74 -9
  340. package/esm/table/flexible/columnsList.js +104 -42
  341. package/esm/table/flexible/columnsPopup.js +71 -19
  342. package/esm/table/nested/useNestedRows.js +161 -76
  343. package/esm/table/selectable/selectableHeader.js +174 -40
  344. package/esm/table/selectable/useSelectableRows.js +264 -190
  345. package/esm/table/sortable/sortableHeader.js +147 -74
  346. package/esm/tabs/tabs.js +221 -117
  347. package/esm/timePickerRaw/timePickerRaw.js +272 -57
  348. package/esm/toastRaw/toastRaw.js +132 -31
  349. package/esm/toggleButton/toggleButton.d.ts +0 -1
  350. package/esm/toggleButtonRaw/toggleButtonRaw.d.ts +1 -0
  351. package/esm/toggleButtonRaw/toggleButtonRaw.js +111 -18
  352. package/esm/utils/formatDate.js +995 -116
  353. package/{dist/utils/localization/translations/cs-json.js → esm/utils/localization/translations/cs.json} +11 -15
  354. package/{dist/utils/localization/translations/da-DK-json.js → esm/utils/localization/translations/da-DK.json} +31 -26
  355. package/{dist/utils/localization/translations/de-json.js → esm/utils/localization/translations/de.json} +12 -16
  356. package/esm/utils/localization/translations/en.json +308 -0
  357. package/{dist/utils/localization/translations/es-json.js → esm/utils/localization/translations/es.json} +11 -15
  358. package/{dist/utils/localization/translations/fi-FI-json.js → esm/utils/localization/translations/fi-FI.json} +31 -26
  359. package/{dist/utils/localization/translations/fr-FR-json.js → esm/utils/localization/translations/fr-FR.json} +12 -15
  360. package/{dist/utils/localization/translations/fr-json.js → esm/utils/localization/translations/fr.json} +11 -15
  361. package/{dist/utils/localization/translations/hu-HU-json.js → esm/utils/localization/translations/hu-HU.json} +31 -26
  362. package/{dist/utils/localization/translations/id-json.js → esm/utils/localization/translations/id.json} +11 -16
  363. package/{dist/utils/localization/translations/it-json.js → esm/utils/localization/translations/it.json} +11 -15
  364. package/{dist/utils/localization/translations/ja-json.js → esm/utils/localization/translations/ja.json} +11 -15
  365. package/{dist/utils/localization/translations/ko-KR-json.js → esm/utils/localization/translations/ko-KR.json} +24 -26
  366. package/{dist/utils/localization/translations/ms-json.js → esm/utils/localization/translations/ms.json} +11 -15
  367. package/{dist/utils/localization/translations/nb-NO-json.js → esm/utils/localization/translations/nb-NO.json} +31 -26
  368. package/{dist/utils/localization/translations/nl-json.js → esm/utils/localization/translations/nl.json} +11 -15
  369. package/{dist/utils/localization/translations/pl-json.js → esm/utils/localization/translations/pl.json} +11 -15
  370. package/{dist/utils/localization/translations/pt-BR-json.js → esm/utils/localization/translations/pt-BR.json} +11 -15
  371. package/{dist/utils/localization/translations/sk-SK-json.js → esm/utils/localization/translations/sk-SK.json} +31 -26
  372. package/{dist/utils/localization/translations/sv-json.js → esm/utils/localization/translations/sv.json} +11 -15
  373. package/{dist/utils/localization/translations/th-json.js → esm/utils/localization/translations/th.json} +11 -15
  374. package/{dist/utils/localization/translations/tr-json.js → esm/utils/localization/translations/tr.json} +11 -15
  375. package/{dist/utils/localization/translations/zh-Hans-json.js → esm/utils/localization/translations/zh-Hans.json} +11 -15
  376. package/{dist/utils/localization/translations/zh-TW-json.js → esm/utils/localization/translations/zh-TW.json} +11 -26
  377. package/esm/utils/localization/translationsDictionary.d.ts +2 -0
  378. package/esm/utils/localization/translationsDictionary.js +59 -0
  379. package/esm/utils/localization/useLanguage.js +1 -50
  380. package/package.json +17 -10
  381. package/dist/utils/localization/translations/cs-json.d.ts +0 -251
  382. package/dist/utils/localization/translations/da-DK-json.d.ts +0 -252
  383. package/dist/utils/localization/translations/de-json.d.ts +0 -251
  384. package/dist/utils/localization/translations/en-json.d.ts +0 -314
  385. package/dist/utils/localization/translations/en-json.js +0 -317
  386. package/dist/utils/localization/translations/es-json.d.ts +0 -251
  387. package/dist/utils/localization/translations/fi-FI-json.d.ts +0 -252
  388. package/dist/utils/localization/translations/fr-FR-json.d.ts +0 -250
  389. package/dist/utils/localization/translations/fr-json.d.ts +0 -251
  390. package/dist/utils/localization/translations/hu-HU-json.d.ts +0 -252
  391. package/dist/utils/localization/translations/id-json.d.ts +0 -252
  392. package/dist/utils/localization/translations/it-json.d.ts +0 -251
  393. package/dist/utils/localization/translations/ja-json.d.ts +0 -251
  394. package/dist/utils/localization/translations/ko-KR-json.d.ts +0 -258
  395. package/dist/utils/localization/translations/ms-json.d.ts +0 -251
  396. package/dist/utils/localization/translations/nb-NO-json.d.ts +0 -252
  397. package/dist/utils/localization/translations/nl-json.d.ts +0 -251
  398. package/dist/utils/localization/translations/pl-json.d.ts +0 -251
  399. package/dist/utils/localization/translations/pt-BR-json.d.ts +0 -251
  400. package/dist/utils/localization/translations/sk-SK-json.d.ts +0 -251
  401. package/dist/utils/localization/translations/sv-json.d.ts +0 -251
  402. package/dist/utils/localization/translations/th-json.d.ts +0 -251
  403. package/dist/utils/localization/translations/tr-json.d.ts +0 -251
  404. package/dist/utils/localization/translations/zh-Hans-json.d.ts +0 -251
  405. package/dist/utils/localization/translations/zh-TW-json.d.ts +0 -271
  406. package/esm/utils/localization/translations/cs-json.d.ts +0 -251
  407. package/esm/utils/localization/translations/da-DK-json.d.ts +0 -252
  408. package/esm/utils/localization/translations/de-json.d.ts +0 -251
  409. package/esm/utils/localization/translations/en-json.d.ts +0 -314
  410. package/esm/utils/localization/translations/en-json.js +0 -314
  411. package/esm/utils/localization/translations/es-json.d.ts +0 -251
  412. package/esm/utils/localization/translations/fi-FI-json.d.ts +0 -252
  413. package/esm/utils/localization/translations/fr-FR-json.d.ts +0 -250
  414. package/esm/utils/localization/translations/fr-json.d.ts +0 -251
  415. package/esm/utils/localization/translations/hu-HU-json.d.ts +0 -252
  416. package/esm/utils/localization/translations/id-json.d.ts +0 -252
  417. package/esm/utils/localization/translations/it-json.d.ts +0 -251
  418. package/esm/utils/localization/translations/ja-json.d.ts +0 -251
  419. package/esm/utils/localization/translations/ko-KR-json.d.ts +0 -258
  420. package/esm/utils/localization/translations/ms-json.d.ts +0 -251
  421. package/esm/utils/localization/translations/nb-NO-json.d.ts +0 -252
  422. package/esm/utils/localization/translations/nl-json.d.ts +0 -251
  423. package/esm/utils/localization/translations/pl-json.d.ts +0 -251
  424. package/esm/utils/localization/translations/pt-BR-json.d.ts +0 -251
  425. package/esm/utils/localization/translations/sk-SK-json.d.ts +0 -251
  426. package/esm/utils/localization/translations/sv-json.d.ts +0 -251
  427. package/esm/utils/localization/translations/th-json.d.ts +0 -251
  428. package/esm/utils/localization/translations/tr-json.d.ts +0 -251
  429. package/esm/utils/localization/translations/zh-Hans-json.d.ts +0 -251
  430. 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 } from "react/jsx-runtime";
2
3
  import { useCallback, useEffect, useMemo, useState } from "react";
3
4
  import { SelectionState } from "./interfaces";
@@ -9,205 +10,278 @@ import { useLanguage } from "../../utils/localization/useLanguage";
9
10
  import { checkRow } from "./utils/checkRow";
10
11
  import { isRowChecked } from "./utils/isRowChecked";
11
12
  import { getCurrentPageSelection } from "./utils/getCurrentPageSelection";
13
+ injectString("cs", "Select all", "Vybrat v\u0161e");
14
+ injectString("da-DK", "Select all", "V\xE6lg alle");
15
+ injectString("de", "Select all", "Alle ausw\xE4hlen");
16
+ injectString("en", "Select all", "Select all");
17
+ injectString("es", "Select all", "Seleccionar todo");
18
+ injectString("fi-FI", "Select all", "Valitse kaikki");
19
+ injectString("fr", "Select all", "S\xE9lectionner tout");
20
+ injectString("fr-FR", "Select all", "S\xE9lectionner tout");
21
+ injectString("hu-HU", "Select all", "V\xE1laszd ki az \xF6sszeset.");
22
+ injectString("id", "Select all", "Pilih semua");
23
+ injectString("it", "Select all", "Selezionare tutto");
24
+ injectString("ja", "Select all", "\u3059\u3079\u3066\u9078\u629E");
25
+ injectString("ko-KR", "Select all", "\uBAA8\uB450 \uC120\uD0DD");
26
+ injectString("ms", "Select all", "Pilih semua");
27
+ injectString("nb-NO", "Select all", "Velg alle");
28
+ injectString("nl", "Select all", "Alles selecteren");
29
+ injectString("pl", "Select all", "Wybierz wszystko");
30
+ injectString("pt-BR", "Select all", "Selecionar tudo");
31
+ injectString("sk-SK", "Select all", "Vyber v\u0161etko.");
32
+ injectString("sv", "Select all", "V\xE4lj alla");
33
+ injectString("th", "Select all", "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14");
34
+ injectString("tr", "Select all", "T\xFCm\xFCn\xFC se\xE7");
35
+ injectString("zh-Hans", "Select all", "\u5168\u9009");
36
+ injectString("zh-TW", "Select all", "\u5168\u9078");
37
+ injectString("cs", "Deselect all", "Zru\u0161it v\xFDb\u011Br v\u0161ech");
38
+ injectString("da-DK", "Deselect all", "Frav\xE6lg alle");
39
+ injectString("de", "Deselect all", "Auswahl f\xFCr alle aufheben");
40
+ injectString("en", "Deselect all", "Deselect all");
41
+ injectString("es", "Deselect all", "Deseleccionar todo");
42
+ injectString("fi-FI", "Deselect all", "Poista kaikki valinnat");
43
+ injectString("fr", "Deselect all", "D\xE9s\xE9lectionner tout");
44
+ injectString("fr-FR", "Deselect all", "D\xE9s\xE9lectionner tout");
45
+ injectString("hu-HU", "Deselect all", "Ne v\xE1lassz ki semmit.");
46
+ injectString("id", "Deselect all", "Batalkan pilih semua");
47
+ injectString("it", "Deselect all", "Deselezionare tutto");
48
+ injectString("ja", "Deselect all", "\u3059\u3079\u3066\u3092\u9078\u629E\u89E3\u9664");
49
+ injectString("ko-KR", "Deselect all", "\uBAA8\uB450 \uC120\uD0DD \uCDE8\uC18C");
50
+ injectString("ms", "Deselect all", "Nyahpilih semua");
51
+ injectString("nb-NO", "Deselect all", "Fjern alle valg");
52
+ injectString("nl", "Deselect all", "Alles deselecteren");
53
+ injectString("pl", "Deselect all", "Usu\u0144 wyb\xF3r wszystkich");
54
+ injectString("pt-BR", "Deselect all", "Desmarcar tudo");
55
+ injectString("sk-SK", "Deselect all", "Zru\u0161 v\xFDber v\u0161etk\xFDch.");
56
+ injectString("sv", "Deselect all", "Avmarkera alla");
57
+ 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");
58
+ injectString("tr", "Deselect all", "T\xFCm\xFCn\xFCn se\xE7imini iptal et");
59
+ injectString("zh-Hans", "Deselect all", "\u53D6\u6D88\u5168\u9009");
60
+ injectString("zh-TW", "Deselect all", "\u53D6\u6D88\u5168\u9078");
12
61
  export const getEmptySelection = () => ({
13
- all: false,
14
- selected: []
62
+ all: false,
63
+ selected: []
15
64
  });
16
65
  const SelectableWrapperName = "Selectable";
17
66
  export const useSelectableRows = (columns, entities, isMobile, selectMode, setSelectMode, selectable) => {
67
+ var _a;
68
+ const {
69
+ translate
70
+ } = useLanguage();
71
+ const selections = useMemo(() => getSelections(selectable === null || selectable === void 0 ? void 0 : selectable.selection), [selectable === null || selectable === void 0 ? void 0 : selectable.selection]);
72
+ const [state, setState] = useState(SelectionState.None);
73
+ const checkboxVisible = useMemo(() => {
74
+ if (selectable === null || selectable === void 0 ? void 0 : selectable.checkboxVisible) {
75
+ return selectable.checkboxVisible;
76
+ }
77
+ if ((selectable === null || selectable === void 0 ? void 0 : selectable.strategy) !== "nested") {
78
+ return (_, isNested) => !isNested;
79
+ }
80
+ return () => true;
81
+ }, [selectable === null || selectable === void 0 ? void 0 : selectable.checkboxVisible, selectable === null || selectable === void 0 ? void 0 : selectable.strategy]);
82
+ const checkboxDisabled = useMemo(() => {
83
+ if (selectable === null || selectable === void 0 ? void 0 : selectable.checkboxDisabled) {
84
+ return selectable.checkboxDisabled;
85
+ }
86
+ if (selectable === null || selectable === void 0 ? void 0 : selectable.selectionLimit) {
87
+ const limit = selectable.selectionLimit;
88
+ return entity => selections.size >= limit && !selections.has(entity.id);
89
+ }
90
+ return () => false;
91
+ }, [selectable, selections]);
92
+ const checkboxPlaceholder = useMemo(() => {
93
+ if ((selectable === null || selectable === void 0 ? void 0 : selectable.checkboxPlaceholder) !== undefined) {
94
+ return selectable.checkboxPlaceholder;
95
+ }
96
+ // don't change it when user takes control over checkbox visibility
97
+ if (selectable === null || selectable === void 0 ? void 0 : selectable.checkboxVisible) {
98
+ return true;
99
+ }
100
+ return (selectable === null || selectable === void 0 ? void 0 : selectable.strategy) === "nested";
101
+ }, [selectable === null || selectable === void 0 ? void 0 : selectable.checkboxPlaceholder, selectable === null || selectable === void 0 ? void 0 : selectable.checkboxVisible, selectable === null || selectable === void 0 ? void 0 : selectable.strategy]);
102
+ const isAllSelected = useMemo(() => {
18
103
  var _a;
19
- const { translate } = useLanguage();
20
- const selections = useMemo(() => getSelections(selectable === null || selectable === void 0 ? void 0 : selectable.selection), [selectable === null || selectable === void 0 ? void 0 : selectable.selection]);
21
- const [state, setState] = useState(SelectionState.None);
22
- const checkboxVisible = useMemo(() => {
23
- if (selectable === null || selectable === void 0 ? void 0 : selectable.checkboxVisible) {
24
- return selectable.checkboxVisible;
25
- }
26
- if ((selectable === null || selectable === void 0 ? void 0 : selectable.strategy) !== "nested") {
27
- return (_, isNested) => !isNested;
28
- }
29
- return (() => true);
30
- }, [selectable === null || selectable === void 0 ? void 0 : selectable.checkboxVisible, selectable === null || selectable === void 0 ? void 0 : selectable.strategy]);
31
- const checkboxDisabled = useMemo(() => {
32
- if (selectable === null || selectable === void 0 ? void 0 : selectable.checkboxDisabled) {
33
- return selectable.checkboxDisabled;
34
- }
35
- if (selectable === null || selectable === void 0 ? void 0 : selectable.selectionLimit) {
36
- const limit = selectable.selectionLimit;
37
- return (entity) => selections.size >= limit && !selections.has(entity.id);
38
- }
39
- return () => false;
40
- }, [selectable, selections]);
41
- const checkboxPlaceholder = useMemo(() => {
42
- if ((selectable === null || selectable === void 0 ? void 0 : selectable.checkboxPlaceholder) !== undefined) {
43
- return selectable.checkboxPlaceholder;
44
- }
45
- // don't change it when user takes control over checkbox visibility
46
- if (selectable === null || selectable === void 0 ? void 0 : selectable.checkboxVisible) {
47
- return true;
48
- }
49
- return (selectable === null || selectable === void 0 ? void 0 : selectable.strategy) === "nested";
50
- }, [selectable === null || selectable === void 0 ? void 0 : selectable.checkboxPlaceholder, selectable === null || selectable === void 0 ? void 0 : selectable.checkboxVisible, selectable === null || selectable === void 0 ? void 0 : selectable.strategy]);
51
- const isAllSelected = useMemo(() => { var _a; return ((_a = selectable === null || selectable === void 0 ? void 0 : selectable.selection) === null || _a === void 0 ? void 0 : _a.all) || false; }, [(_a = selectable === null || selectable === void 0 ? void 0 : selectable.selection) === null || _a === void 0 ? void 0 : _a.all]);
52
- const selectableState = useMemo(() => calculateSelectionState(entities, selections, isAllSelected, checkboxVisible, checkboxDisabled, selectable === null || selectable === void 0 ? void 0 : selectable.strategy), [checkboxDisabled, checkboxVisible, entities, isAllSelected, selections, selectable === null || selectable === void 0 ? void 0 : selectable.strategy]);
53
- const firstColumnId = useMemo(() => columns.length > 0 ? columns[0].id : null, [columns]);
54
- useEffect(() => {
55
- if (selectable && selectable.selection) {
56
- const newSelections = new Set(selectable.selection.selected);
57
- const newState = calculateSelectionState(entities, newSelections, selectable.selection.all || false, checkboxVisible, checkboxDisabled, selectable.strategy);
58
- setState(newState);
59
- }
60
- }, [checkboxDisabled, checkboxVisible, entities, selectable, setSelectMode, selectable === null || selectable === void 0 ? void 0 : selectable.strategy]);
61
- const getNewSelection = useCallback((id, checked) => {
62
- if (state === SelectionState.All) {
63
- const newSelection = getCurrentPageSelection(entities, selectable);
64
- checkRow(newSelection, selectable, entities, id, false);
65
- return newSelection;
66
- }
67
- checkRow(selections, selectable, entities, id, checked);
68
- return selections;
69
- }, [state, entities, selectable, selections]);
70
- const onSelectListener = useCallback((id, checked) => {
71
- var _a;
72
- const newSelection = getNewSelection(id, checked);
73
- const newState = calculateSelectionState(entities, newSelection, ((_a = selectable === null || selectable === void 0 ? void 0 : selectable.selection) === null || _a === void 0 ? void 0 : _a.all) || false, checkboxVisible, checkboxDisabled, selectable === null || selectable === void 0 ? void 0 : selectable.strategy);
74
- const newValue = {
75
- selected: [...newSelection],
76
- all: newState === SelectionState.All
77
- };
78
- setState(newState);
79
- selectable === null || selectable === void 0 ? void 0 : selectable.onSelect(newValue);
80
- setSelectMode(newValue.all || newValue.selected.length > 0);
81
- }, [checkboxDisabled, checkboxVisible, entities, selectable, setSelectMode, setState, getNewSelection]);
82
- const onChangeSelectionState = useCallback((newState) => {
83
- if (newState === SelectionState.All) {
84
- (selectable === null || selectable === void 0 ? void 0 : selectable.onSelect) && selectable.onSelect({
85
- selected: [],
86
- all: true
87
- });
88
- setSelectMode(true);
89
- return;
90
- }
91
- if (newState === SelectionState.None) {
92
- (selectable === null || selectable === void 0 ? void 0 : selectable.onSelect) && selectable.onSelect({
93
- selected: [],
94
- all: false
95
- });
96
- setSelectMode(false);
97
- return;
98
- }
99
- const newSelections = getCurrentPageSelection(entities, selectable);
100
- setState(newState);
101
- const newValue = { selected: [...newSelections], all: false };
102
- selectable === null || selectable === void 0 ? void 0 : selectable.onSelect(newValue);
103
- setSelectMode(newValue.all || newValue.selected.length > 0);
104
- }, [selectable, entities, setSelectMode]);
105
- const checkboxTitle = useCallback((entity) => (selectable === null || selectable === void 0 ? void 0 : selectable.checkboxTitle) ? selectable.checkboxTitle(entity) : firstColumnId ? entity[firstColumnId] || entity.id : entity.id, [firstColumnId, selectable]);
106
- const headerTitle = useCallback(() => {
107
- if (selectable === null || selectable === void 0 ? void 0 : selectable.headerTitle) {
108
- return selectable.headerTitle(selectableState);
109
- }
110
- if (state === SelectionState.None || state === SelectionState.Partial) {
111
- return translate("Select all");
112
- }
113
- return translate("Deselect all");
114
- }, [selectable, selectableState, state, translate]);
115
- const isEntityChecked = useCallback((entity, isNested) => isRowChecked(selections, state, selectable === null || selectable === void 0 ? void 0 : selectable.strategy, entity, isNested), [selections, state, selectable === null || selectable === void 0 ? void 0 : selectable.strategy]);
116
- const wrapper = useMemo(() => {
117
- if (!selectable) {
118
- return null;
119
- }
120
- return {
121
- name: SelectableWrapperName,
122
- render(value, entity, isNested) {
123
- if (!entity) {
124
- return null;
125
- }
126
- if (isMobile) {
127
- return value;
128
- }
129
- if (entity.isLoading) {
130
- return value;
131
- }
132
- const allowed = checkboxVisible(entity, isNested);
133
- if (!allowed && !checkboxPlaceholder) {
134
- return value;
135
- }
136
- const isDisable = checkboxDisabled(entity, isNested);
137
- const checked = isEntityChecked(entity, isNested || false);
138
- const cell = _jsx(CheckboxCell, { id: entity.id, className: allowed ? "zen-selectable-row" : "zen-selectable-row zen-selectable-column--no-checkbox", checked: checked.checked, indeterminate: checked.indeterminate, disabled: isDisable, label: checkboxTitle(entity), onChange: onSelectListener, children: _jsx(CheckboxCell.Content, { children: value }) });
139
- return cell;
140
- },
141
- renderHeader(title) {
142
- const cell = _jsx(SelectableHeader, { title: title, label: headerTitle(), checked: state === SelectionState.CurrentPage || state === SelectionState.All, indeterminate: state === SelectionState.Partial, onChange: (newValue) => {
143
- const newState = newValue
144
- ? selectable.turnOffSelectAll ? SelectionState.CurrentPage : SelectionState.All
145
- : SelectionState.None;
146
- setState(newState);
147
- onChangeSelectionState(newState);
148
- }, calculateSelectionState: () => selectableState, checkboxInHeader: selectable.checkboxInHeader !== undefined
149
- ? selectable.checkboxInHeader
150
- : (selectable.selectionLimit !== undefined ? false : undefined), header: selectable.header, onSelect: (newState) => {
151
- setState(newState);
152
- onChangeSelectionState(newState);
153
- }, turnOffSelectAll: selectable.turnOffSelectAll });
154
- return cell;
155
- }
156
- };
157
- }, [
158
- checkboxDisabled,
159
- checkboxTitle,
160
- checkboxVisible,
161
- headerTitle,
162
- onChangeSelectionState,
163
- onSelectListener,
164
- selectable,
165
- selectableState,
166
- state,
167
- isMobile,
168
- checkboxPlaceholder,
169
- isEntityChecked
170
- ]);
171
- const selectableFeedWrapper = useCallback((primaryData, secondaryData, entity, isNested) => {
172
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
104
+ return ((_a = selectable === null || selectable === void 0 ? void 0 : selectable.selection) === null || _a === void 0 ? void 0 : _a.all) || false;
105
+ }, [(_a = selectable === null || selectable === void 0 ? void 0 : selectable.selection) === null || _a === void 0 ? void 0 : _a.all]);
106
+ const selectableState = useMemo(() => calculateSelectionState(entities, selections, isAllSelected, checkboxVisible, checkboxDisabled, selectable === null || selectable === void 0 ? void 0 : selectable.strategy), [checkboxDisabled, checkboxVisible, entities, isAllSelected, selections, selectable === null || selectable === void 0 ? void 0 : selectable.strategy]);
107
+ const firstColumnId = useMemo(() => columns.length > 0 ? columns[0].id : null, [columns]);
108
+ useEffect(() => {
109
+ if (selectable && selectable.selection) {
110
+ const newSelections = new Set(selectable.selection.selected);
111
+ const newState = calculateSelectionState(entities, newSelections, selectable.selection.all || false, checkboxVisible, checkboxDisabled, selectable.strategy);
112
+ setState(newState);
113
+ }
114
+ }, [checkboxDisabled, checkboxVisible, entities, selectable, setSelectMode, selectable === null || selectable === void 0 ? void 0 : selectable.strategy]);
115
+ const getNewSelection = useCallback((id, checked) => {
116
+ if (state === SelectionState.All) {
117
+ const newSelection = getCurrentPageSelection(entities, selectable);
118
+ checkRow(newSelection, selectable, entities, id, false);
119
+ return newSelection;
120
+ }
121
+ checkRow(selections, selectable, entities, id, checked);
122
+ return selections;
123
+ }, [state, entities, selectable, selections]);
124
+ const onSelectListener = useCallback((id, checked) => {
125
+ var _a;
126
+ const newSelection = getNewSelection(id, checked);
127
+ const newState = calculateSelectionState(entities, newSelection, ((_a = selectable === null || selectable === void 0 ? void 0 : selectable.selection) === null || _a === void 0 ? void 0 : _a.all) || false, checkboxVisible, checkboxDisabled, selectable === null || selectable === void 0 ? void 0 : selectable.strategy);
128
+ const newValue = {
129
+ selected: [...newSelection],
130
+ all: newState === SelectionState.All
131
+ };
132
+ setState(newState);
133
+ selectable === null || selectable === void 0 ? void 0 : selectable.onSelect(newValue);
134
+ setSelectMode(newValue.all || newValue.selected.length > 0);
135
+ }, [checkboxDisabled, checkboxVisible, entities, selectable, setSelectMode, setState, getNewSelection]);
136
+ const onChangeSelectionState = useCallback(newState => {
137
+ if (newState === SelectionState.All) {
138
+ (selectable === null || selectable === void 0 ? void 0 : selectable.onSelect) && selectable.onSelect({
139
+ selected: [],
140
+ all: true
141
+ });
142
+ setSelectMode(true);
143
+ return;
144
+ }
145
+ if (newState === SelectionState.None) {
146
+ (selectable === null || selectable === void 0 ? void 0 : selectable.onSelect) && selectable.onSelect({
147
+ selected: [],
148
+ all: false
149
+ });
150
+ setSelectMode(false);
151
+ return;
152
+ }
153
+ const newSelections = getCurrentPageSelection(entities, selectable);
154
+ setState(newState);
155
+ const newValue = {
156
+ selected: [...newSelections],
157
+ all: false
158
+ };
159
+ selectable === null || selectable === void 0 ? void 0 : selectable.onSelect(newValue);
160
+ setSelectMode(newValue.all || newValue.selected.length > 0);
161
+ }, [selectable, entities, setSelectMode]);
162
+ const checkboxTitle = useCallback(entity => (selectable === null || selectable === void 0 ? void 0 : selectable.checkboxTitle) ? selectable.checkboxTitle(entity) : firstColumnId ? entity[firstColumnId] || entity.id : entity.id, [firstColumnId, selectable]);
163
+ const headerTitle = useCallback(() => {
164
+ if (selectable === null || selectable === void 0 ? void 0 : selectable.headerTitle) {
165
+ return selectable.headerTitle(selectableState);
166
+ }
167
+ if (state === SelectionState.None || state === SelectionState.Partial) {
168
+ return translate("Select all");
169
+ }
170
+ return translate("Deselect all");
171
+ }, [selectable, selectableState, state, translate]);
172
+ const isEntityChecked = useCallback((entity, isNested) => isRowChecked(selections, state, selectable === null || selectable === void 0 ? void 0 : selectable.strategy, entity, isNested), [selections, state, selectable === null || selectable === void 0 ? void 0 : selectable.strategy]);
173
+ const wrapper = useMemo(() => {
174
+ if (!selectable) {
175
+ return null;
176
+ }
177
+ return {
178
+ name: SelectableWrapperName,
179
+ render(value, entity, isNested) {
173
180
  if (!entity) {
174
- return [primaryData, secondaryData];
181
+ return null;
175
182
  }
176
- if (!isMobile) {
177
- return [primaryData, secondaryData];
183
+ if (isMobile) {
184
+ return value;
178
185
  }
179
- if (!selectMode) {
180
- return [primaryData, secondaryData];
186
+ if (entity.isLoading) {
187
+ return value;
181
188
  }
182
- const allowed = checkboxVisible(entity);
183
- const isDisable = checkboxDisabled(entity);
184
- const checked = isEntityChecked(entity, isNested || false);
185
- const cell = _jsx(CheckboxCell, { id: entity.id, className: allowed ? "zen-selectable-row" : "zen-selectable-row zen-selectable-column--no-checkbox", checked: checked.checked, indeterminate: checked.indeterminate, disabled: isDisable, label: checkboxTitle(entity), onChange: onSelectListener, children: _jsx(CheckboxCell.Content, { children: primaryData }) });
186
- return [
187
- cell,
188
- _jsx("div", { className: "zen-checkbox-column__padding", children: secondaryData }, "1")
189
- ];
190
- }, [checkboxDisabled, checkboxTitle, checkboxVisible, isMobile, selectMode, onSelectListener, isEntityChecked]);
191
- const selectableColumns = useMemo(() => {
192
- if (!selectable) {
193
- return columns;
189
+ const allowed = checkboxVisible(entity, isNested);
190
+ if (!allowed && !checkboxPlaceholder) {
191
+ return value;
194
192
  }
195
- const newColumns = columns.map(c => (Object.assign({}, c)));
196
- // Remove CheckboxColumnWrappers from wrappers list
197
- newColumns.forEach(c => {
198
- if (c.wrappers) {
199
- c.wrappers = c.wrappers.filter(w => w.name !== SelectableWrapperName);
200
- }
193
+ const isDisable = checkboxDisabled(entity, isNested);
194
+ const checked = isEntityChecked(entity, isNested || false);
195
+ const cell = _jsx(CheckboxCell, {
196
+ id: entity.id,
197
+ className: allowed ? "zen-selectable-row" : "zen-selectable-row zen-selectable-column--no-checkbox",
198
+ checked: checked.checked,
199
+ indeterminate: checked.indeterminate,
200
+ disabled: isDisable,
201
+ label: checkboxTitle(entity),
202
+ onChange: onSelectListener,
203
+ children: _jsx(CheckboxCell.Content, {
204
+ children: value
205
+ })
201
206
  });
202
- // Add selectable wrappers of the first column
203
- const firstColumn = newColumns.find(c => c.id === firstColumnId);
204
- if (firstColumn && wrapper) {
205
- firstColumn.wrappers = [...firstColumn.wrappers || [], wrapper];
206
- }
207
- return newColumns;
208
- }, [columns, firstColumnId, selectable, wrapper]);
209
- return { selectableColumns, selectableFeedWrapper };
207
+ return cell;
208
+ },
209
+ renderHeader(title) {
210
+ const cell = _jsx(SelectableHeader, {
211
+ title: title,
212
+ label: headerTitle(),
213
+ checked: state === SelectionState.CurrentPage || state === SelectionState.All,
214
+ indeterminate: state === SelectionState.Partial,
215
+ onChange: newValue => {
216
+ const newState = newValue ? selectable.turnOffSelectAll ? SelectionState.CurrentPage : SelectionState.All : SelectionState.None;
217
+ setState(newState);
218
+ onChangeSelectionState(newState);
219
+ },
220
+ calculateSelectionState: () => selectableState,
221
+ checkboxInHeader: selectable.checkboxInHeader !== undefined ? selectable.checkboxInHeader : selectable.selectionLimit !== undefined ? false : undefined,
222
+ header: selectable.header,
223
+ onSelect: newState => {
224
+ setState(newState);
225
+ onChangeSelectionState(newState);
226
+ },
227
+ turnOffSelectAll: selectable.turnOffSelectAll
228
+ });
229
+ return cell;
230
+ }
231
+ };
232
+ }, [checkboxDisabled, checkboxTitle, checkboxVisible, headerTitle, onChangeSelectionState, onSelectListener, selectable, selectableState, state, isMobile, checkboxPlaceholder, isEntityChecked]);
233
+ const selectableFeedWrapper = useCallback((primaryData, secondaryData, entity, isNested) => {
234
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
235
+ if (!entity) {
236
+ return [primaryData, secondaryData];
237
+ }
238
+ if (!isMobile) {
239
+ return [primaryData, secondaryData];
240
+ }
241
+ if (!selectMode) {
242
+ return [primaryData, secondaryData];
243
+ }
244
+ const allowed = checkboxVisible(entity);
245
+ const isDisable = checkboxDisabled(entity);
246
+ const checked = isEntityChecked(entity, isNested || false);
247
+ const cell = _jsx(CheckboxCell, {
248
+ id: entity.id,
249
+ className: allowed ? "zen-selectable-row" : "zen-selectable-row zen-selectable-column--no-checkbox",
250
+ checked: checked.checked,
251
+ indeterminate: checked.indeterminate,
252
+ disabled: isDisable,
253
+ label: checkboxTitle(entity),
254
+ onChange: onSelectListener,
255
+ children: _jsx(CheckboxCell.Content, {
256
+ children: primaryData
257
+ })
258
+ });
259
+ return [cell, _jsx("div", {
260
+ className: "zen-checkbox-column__padding",
261
+ children: secondaryData
262
+ }, "1")];
263
+ }, [checkboxDisabled, checkboxTitle, checkboxVisible, isMobile, selectMode, onSelectListener, isEntityChecked]);
264
+ const selectableColumns = useMemo(() => {
265
+ if (!selectable) {
266
+ return columns;
267
+ }
268
+ const newColumns = columns.map(c => Object.assign({}, c));
269
+ // Remove CheckboxColumnWrappers from wrappers list
270
+ newColumns.forEach(c => {
271
+ if (c.wrappers) {
272
+ c.wrappers = c.wrappers.filter(w => w.name !== SelectableWrapperName);
273
+ }
274
+ });
275
+ // Add selectable wrappers of the first column
276
+ const firstColumn = newColumns.find(c => c.id === firstColumnId);
277
+ if (firstColumn && wrapper) {
278
+ firstColumn.wrappers = [...(firstColumn.wrappers || []), wrapper];
279
+ }
280
+ return newColumns;
281
+ }, [columns, firstColumnId, selectable, wrapper]);
282
+ return {
283
+ selectableColumns,
284
+ selectableFeedWrapper
285
+ };
210
286
  };
211
- export const TRANSLATIONS = [
212
- "Select all", "Deselect all"
213
- ];
287
+ export const TRANSLATIONS = ["Select all", "Deselect all"];