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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/README.md +20 -0
  2. package/dist/advancedGroupsFilter/advancedGroupsFilter.js +136 -30
  3. package/dist/advancedGroupsFilter/advancedGroupsFilterForm.js +139 -34
  4. package/dist/advancedGroupsFilter/advancedGroupsFilterFormSection.js +352 -87
  5. package/dist/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.d.ts +0 -1
  6. package/dist/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +83 -9
  7. package/dist/alertRaw/alertRaw.js +175 -54
  8. package/dist/banner/bannerMultipLine.js +131 -23
  9. package/dist/banner/bannerSingleLine.js +110 -16
  10. package/dist/betaPill/betaPill.js +111 -20
  11. package/dist/bookmark/bookmark.js +95 -28
  12. package/dist/bulkEditControl/bulkEditControl.js +167 -34
  13. package/dist/calendar/calendar.js +943 -273
  14. package/dist/calendar/calendarUtils.js +157 -85
  15. package/dist/card/card.js +268 -123
  16. package/dist/chart/accessibleChart/accessibleChartNarrative.js +648 -555
  17. package/dist/chart/accessibleChart/accessibleChartTable.js +245 -86
  18. package/dist/chart/chart.js +36 -21
  19. package/dist/chart/chartAxis/chartAxis.js +85 -7
  20. package/dist/checkboxListWithAction/checkboxListWithAction.js +224 -69
  21. package/dist/chip/chip.js +195 -91
  22. package/dist/columnsSelector/columnsSelector.js +97 -12
  23. package/dist/columnsSelector/columnsTab/columnsTab.js +59 -15
  24. package/dist/columnsSelector/columnsTabGroup/columnsTabGroup.js +81 -34
  25. package/dist/comboboxSelected/comboboxSelected.js +1 -3
  26. package/dist/dataFeed/feedExpandControl/feedExpandControl.js +25 -10
  27. package/dist/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +92 -11
  28. package/dist/dataGrid/dataGrid.js +227 -117
  29. package/dist/dataGrid/emptySearchList/emptySearchList.js +56 -9
  30. package/dist/dataGrid/entitiesListActions/actions/columnsListButton.js +51 -7
  31. package/dist/dataGrid/entitiesListActions/actions/fullscreenButton.js +64 -18
  32. package/dist/dataGrid/withFlexibleColumns/components/columnSettings.js +84 -10
  33. package/dist/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +48 -16
  34. package/dist/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +223 -32
  35. package/dist/dataGrid/withSelectableRows/withSelectableRows.js +286 -213
  36. package/dist/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +178 -95
  37. package/dist/dateInputInner/dateInputInner.js +791 -476
  38. package/dist/dateInputInner/dateInputInnerControlBlock.js +125 -22
  39. package/dist/dateInputRaw/dateInputRaw.js +315 -104
  40. package/dist/dateInputRaw/utils/getLabel.js +38 -7
  41. package/dist/dateRangeInner/dateRangeInner.js +172 -58
  42. package/dist/dateRangeRaw/dateRangeRaw.js +601 -239
  43. package/dist/dateRangeRaw/utils/dateRangeUtils.js +629 -241
  44. package/dist/dateSelectionWrapper/dateSelectionWrapper.js +152 -14
  45. package/dist/dialog/dialogContent.js +123 -40
  46. package/dist/dropdownRaw/dropdownHelper.d.ts +2 -2
  47. package/dist/dropdownRaw/dropdownHelper.js +9 -9
  48. package/dist/dropdownRaw/dropdownList.js +447 -78
  49. package/dist/dropdownRaw/dropdownPopup.js +218 -20
  50. package/dist/dropdownRaw/dropdownRaw.js +866 -506
  51. package/dist/dropdownRaw/dropdownSearchableTrigger.js +223 -46
  52. package/dist/dropdownRaw/stateReducer/stateAction.d.ts +5 -1
  53. package/dist/dropdownRaw/stateReducer/stateActionType.d.ts +2 -1
  54. package/dist/dropdownRaw/stateReducer/stateActionType.js +1 -0
  55. package/dist/dropdownRaw/stateReducer/stateReducer.d.ts +6 -1
  56. package/dist/dropdownRaw/stateReducer/stateReducer.js +24 -12
  57. package/dist/dropdownRaw/stateReducer/stateReducerHelper.d.ts +2 -0
  58. package/dist/dropdownRaw/stateReducer/stateReducerHelper.js +20 -1
  59. package/dist/dropdownRaw/stateReducer/stateReducerTestData.d.ts +39 -0
  60. package/dist/dropdownRaw/stateReducer/stateReducerTestData.js +74 -0
  61. package/dist/dropdownRaw/types.d.ts +1 -0
  62. package/dist/favoriteButton/favoriteButton.js +59 -10
  63. package/dist/filters/components/filtersContainer.js +151 -64
  64. package/dist/filters/components/filtersEmptySelectedList.js +30 -4
  65. package/dist/filters/components/filtersSaveModal.js +140 -42
  66. package/dist/filters/components/filtersSavedChipComponent.js +318 -108
  67. package/dist/filters/components/filtersSearchItemData.js +127 -47
  68. package/dist/filters/components/filtersSearchList.js +381 -179
  69. package/dist/filters/components/filtersSelect.js +128 -61
  70. package/dist/filters/components/filtersSelectListItem.js +125 -13
  71. package/dist/filters/components/filtersSidePanel.js +510 -178
  72. package/dist/filters/filters.js +445 -268
  73. package/dist/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +729 -272
  74. package/dist/filtersBar/components/resetComponentButton.js +45 -5
  75. package/dist/filtersBar/filtersBarActions/filtersBarActions.js +126 -15
  76. package/dist/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +155 -49
  77. package/dist/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +360 -104
  78. package/dist/filtersBar/filtersContainer/filtersContainer.js +204 -134
  79. package/dist/formField/components/formFieldWithLabel.d.ts +2 -1
  80. package/dist/formField/components/formFieldWithLabel.js +3 -2
  81. package/dist/formField/components/formFieldWithoutLabel.d.ts +2 -1
  82. package/dist/formField/components/formFieldWithoutLabel.js +3 -3
  83. package/dist/formField/components/trailingComponent.d.ts +8 -0
  84. package/dist/formField/components/trailingComponent.js +11 -0
  85. package/dist/formField/formField.d.ts +0 -1
  86. package/dist/formField/formField.js +15 -16
  87. package/dist/formField/hooks/useError.js +100 -36
  88. package/dist/formGroup/components/reviewListToggle/reviewListToggle.js +72 -7
  89. package/dist/formGroup/hooks/useToggle.js +37 -11
  90. package/dist/formGroup/utils/getControls.js +8 -7
  91. package/dist/formLayout/hooks/useError.js +55 -15
  92. package/dist/formLayout/hooks/useFormButtons.js +128 -27
  93. package/dist/formSection/components/formSectionModal.js +1 -1
  94. package/dist/formSection/formSection.js +1 -1
  95. package/dist/formSection/hooks/useError.js +70 -22
  96. package/dist/formStepper/components/formStep.js +65 -10
  97. package/dist/formStepper/formStepper.js +129 -33
  98. package/dist/formStepperButtons/formStepperButtons.js +184 -38
  99. package/dist/groupsFilter/groupsFilterTestData.d.ts +37 -0
  100. package/dist/groupsFilter/groupsFilterTestData.js +7 -0
  101. package/dist/groupsFilter/groupsHelper.d.ts +24 -1
  102. package/dist/groupsFilter/groupsHelper.js +25 -15
  103. package/dist/groupsFilterRaw/groupsFilterAdjustmentState.js +162 -17
  104. package/dist/groupsFilterRaw/groupsFilterBox.js +137 -32
  105. package/dist/groupsFilterRaw/groupsFilterCommon.js +75 -8
  106. package/dist/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +184 -25
  107. package/dist/groupsFilterRaw/groupsFilterHelper.d.ts +2 -1
  108. package/dist/groupsFilterRaw/groupsFilterHelper.js +284 -168
  109. package/dist/groupsFilterRaw/groupsFilterInitialState.js +266 -18
  110. package/dist/groupsFilterRaw/groupsFilterMenu.js +124 -9
  111. package/dist/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  112. package/dist/groupsFilterRaw/groupsFilterRaw.js +816 -308
  113. package/dist/groupsFilterRaw/groupsFilterTestData.d.ts +155 -2
  114. package/dist/groupsFilterRaw/groupsFilterTestData.js +153 -58
  115. package/dist/groupsFilterRaw/groupsFilterTrigger.js +139 -35
  116. package/dist/groupsFilterRaw/groupsHelper.js +739 -208
  117. package/dist/groupsFilterRaw/stateReducer/stateReducerHelper.js +3 -1
  118. package/dist/groupsFilterRaw/types.d.ts +1 -0
  119. package/dist/header/components/collapsedItemsControl/collapsedItemsControl.js +107 -52
  120. package/dist/header/components/mobileFilterControl/mobileFilterControl.js +62 -9
  121. package/dist/header/components/mobileSearchControl/mobileSearchControl.js +119 -14
  122. package/dist/header/headerBack.js +64 -20
  123. package/dist/index.css +110 -71
  124. package/dist/index.d.ts +2 -1
  125. package/dist/index.js +5 -2
  126. package/dist/list/itemData/itemDataInternal.js +216 -51
  127. package/dist/list/listItem/listItem.js +168 -55
  128. package/dist/menu/components/menuErrorItem.js +33 -5
  129. package/dist/mobileSheet/mobileSheet.js +195 -69
  130. package/dist/modal/modal.js +300 -142
  131. package/dist/nav/nav.js +1 -1
  132. package/dist/nav/navFooter/navFooter.js +82 -39
  133. package/dist/nav/navFooter/navFooterAction/navFooterAction.js +52 -13
  134. package/dist/nav/navHeader/navHeader.js +86 -36
  135. package/dist/nav/navHeader/navHeaderSearch/navHeaderSearch.js +88 -29
  136. package/dist/nav/navItem/navItem.d.ts +3 -3
  137. package/dist/nav/navItem/navItem.js +35 -33
  138. package/dist/nav/navMobileBar/navMobileBar.js +67 -21
  139. package/dist/notification/notification.js +124 -21
  140. package/dist/pagination/paginationArrow.js +81 -11
  141. package/dist/pagination/paginationText/paginationText.js +45 -11
  142. package/dist/pill/components/pillNonActionable/pillNonActionable.js +93 -24
  143. package/dist/pillBox/components/pillBoxItem.js +52 -9
  144. package/dist/pillBox/pillBox.js +121 -20
  145. package/dist/pillExpandable/pillExpandable.js +333 -139
  146. package/dist/rangeRaw/rangeRaw.js +486 -141
  147. package/dist/rangeRaw/utils/rangeHelper.js +209 -39
  148. package/dist/searchInputRaw/searchInputRaw.js +180 -65
  149. package/dist/skeleton/skeleton.js +51 -6
  150. package/dist/sortControl/sortControl.js +152 -42
  151. package/dist/stepperRaw/stepperRaw.js +116 -42
  152. package/dist/summary/summary.js +94 -8
  153. package/dist/table/actions/actionsMenu.js +171 -78
  154. package/dist/table/flexible/columnSettings.js +80 -10
  155. package/dist/table/flexible/columnsList.js +110 -43
  156. package/dist/table/flexible/columnsPopup.js +77 -20
  157. package/dist/table/nested/useNestedRows.js +167 -77
  158. package/dist/table/selectable/selectableHeader.js +180 -41
  159. package/dist/table/selectable/useSelectableRows.js +270 -191
  160. package/dist/table/sortable/sortableHeader.js +153 -75
  161. package/dist/tabs/tabs.js +227 -118
  162. package/dist/timePickerRaw/timePickerRaw.js +278 -58
  163. package/dist/toastRaw/toastRaw.js +138 -32
  164. package/dist/toggleButton/toggleButton.d.ts +0 -1
  165. package/dist/toggleButtonRaw/toggleButtonRaw.d.ts +1 -0
  166. package/dist/toggleButtonRaw/toggleButtonRaw.js +146 -40
  167. package/dist/utils/formatDate.js +1001 -117
  168. package/{esm/utils/localization/translations/cs-json.js → dist/utils/localization/translations/cs.json} +11 -12
  169. package/{esm/utils/localization/translations/da-DK-json.js → dist/utils/localization/translations/da-DK.json} +31 -23
  170. package/{esm/utils/localization/translations/de-json.js → dist/utils/localization/translations/de.json} +12 -13
  171. package/dist/utils/localization/translations/en.json +308 -0
  172. package/{esm/utils/localization/translations/es-json.js → dist/utils/localization/translations/es.json} +11 -12
  173. package/{esm/utils/localization/translations/fi-FI-json.js → dist/utils/localization/translations/fi-FI.json} +31 -23
  174. package/{esm/utils/localization/translations/fr-FR-json.js → dist/utils/localization/translations/fr-FR.json} +12 -12
  175. package/{esm/utils/localization/translations/fr-json.js → dist/utils/localization/translations/fr.json} +11 -12
  176. package/{esm/utils/localization/translations/hu-HU-json.js → dist/utils/localization/translations/hu-HU.json} +31 -23
  177. package/{esm/utils/localization/translations/id-json.js → dist/utils/localization/translations/id.json} +11 -13
  178. package/{esm/utils/localization/translations/it-json.js → dist/utils/localization/translations/it.json} +11 -12
  179. package/{esm/utils/localization/translations/ja-json.js → dist/utils/localization/translations/ja.json} +11 -12
  180. package/{esm/utils/localization/translations/ko-KR-json.js → dist/utils/localization/translations/ko-KR.json} +24 -23
  181. package/{esm/utils/localization/translations/ms-json.js → dist/utils/localization/translations/ms.json} +11 -12
  182. package/{esm/utils/localization/translations/nb-NO-json.js → dist/utils/localization/translations/nb-NO.json} +31 -23
  183. package/{esm/utils/localization/translations/nl-json.js → dist/utils/localization/translations/nl.json} +11 -12
  184. package/{esm/utils/localization/translations/pl-json.js → dist/utils/localization/translations/pl.json} +11 -12
  185. package/{esm/utils/localization/translations/pt-BR-json.js → dist/utils/localization/translations/pt-BR.json} +11 -12
  186. package/{esm/utils/localization/translations/sk-SK-json.js → dist/utils/localization/translations/sk-SK.json} +31 -23
  187. package/{esm/utils/localization/translations/sv-json.js → dist/utils/localization/translations/sv.json} +11 -12
  188. package/{esm/utils/localization/translations/th-json.js → dist/utils/localization/translations/th.json} +11 -12
  189. package/{esm/utils/localization/translations/tr-json.js → dist/utils/localization/translations/tr.json} +11 -12
  190. package/{esm/utils/localization/translations/zh-Hans-json.js → dist/utils/localization/translations/zh-Hans.json} +11 -12
  191. package/{esm/utils/localization/translations/zh-TW-json.js → dist/utils/localization/translations/zh-TW.json} +11 -23
  192. package/dist/utils/localization/translationsDictionary.d.ts +2 -0
  193. package/dist/utils/localization/translationsDictionary.js +63 -0
  194. package/dist/utils/localization/useLanguage.js +2 -74
  195. package/esm/advancedGroupsFilter/advancedGroupsFilter.js +130 -29
  196. package/esm/advancedGroupsFilter/advancedGroupsFilterForm.js +133 -33
  197. package/esm/advancedGroupsFilter/advancedGroupsFilterFormSection.js +317 -65
  198. package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.d.ts +0 -1
  199. package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +77 -8
  200. package/esm/alertRaw/alertRaw.js +165 -51
  201. package/esm/banner/bannerMultipLine.js +121 -20
  202. package/esm/banner/bannerSingleLine.js +100 -13
  203. package/esm/betaPill/betaPill.js +105 -19
  204. package/esm/bookmark/bookmark.js +89 -27
  205. package/esm/bulkEditControl/bulkEditControl.js +161 -33
  206. package/esm/calendar/calendar.js +937 -272
  207. package/esm/calendar/calendarUtils.js +151 -84
  208. package/esm/card/card.js +233 -101
  209. package/esm/chart/accessibleChart/accessibleChartNarrative.js +642 -554
  210. package/esm/chart/accessibleChart/accessibleChartTable.js +239 -85
  211. package/esm/chart/chart.js +30 -20
  212. package/esm/chart/chartAxis/chartAxis.js +79 -6
  213. package/esm/checkboxListWithAction/checkboxListWithAction.js +218 -68
  214. package/esm/chip/chip.js +189 -90
  215. package/esm/columnsSelector/columnsSelector.js +91 -11
  216. package/esm/columnsSelector/columnsTab/columnsTab.js +53 -14
  217. package/esm/columnsSelector/columnsTabGroup/columnsTabGroup.js +75 -33
  218. package/esm/comboboxSelected/comboboxSelected.js +1 -3
  219. package/esm/dataFeed/feedExpandControl/feedExpandControl.js +21 -9
  220. package/esm/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +86 -10
  221. package/esm/dataGrid/dataGrid.js +221 -116
  222. package/esm/dataGrid/emptySearchList/emptySearchList.js +50 -8
  223. package/esm/dataGrid/entitiesListActions/actions/columnsListButton.js +45 -6
  224. package/esm/dataGrid/entitiesListActions/actions/fullscreenButton.js +58 -17
  225. package/esm/dataGrid/withFlexibleColumns/components/columnSettings.js +78 -9
  226. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +44 -15
  227. package/esm/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +217 -31
  228. package/esm/dataGrid/withSelectableRows/withSelectableRows.js +280 -212
  229. package/esm/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +172 -94
  230. package/esm/dateInputInner/dateInputInner.js +785 -475
  231. package/esm/dateInputInner/dateInputInnerControlBlock.js +119 -21
  232. package/esm/dateInputRaw/dateInputRaw.js +309 -103
  233. package/esm/dateInputRaw/utils/getLabel.js +32 -6
  234. package/esm/dateRangeInner/dateRangeInner.js +166 -57
  235. package/esm/dateRangeRaw/dateRangeRaw.js +595 -238
  236. package/esm/dateRangeRaw/utils/dateRangeUtils.js +622 -239
  237. package/esm/dateSelectionWrapper/dateSelectionWrapper.js +146 -13
  238. package/esm/dialog/dialogContent.js +117 -39
  239. package/esm/dropdownRaw/dropdownHelper.d.ts +2 -2
  240. package/esm/dropdownRaw/dropdownHelper.js +10 -10
  241. package/esm/dropdownRaw/dropdownList.js +412 -56
  242. package/esm/dropdownRaw/dropdownPopup.js +212 -19
  243. package/esm/dropdownRaw/dropdownRaw.js +862 -507
  244. package/esm/dropdownRaw/dropdownSearchableTrigger.js +217 -45
  245. package/esm/dropdownRaw/stateReducer/stateAction.d.ts +5 -1
  246. package/esm/dropdownRaw/stateReducer/stateActionType.d.ts +2 -1
  247. package/esm/dropdownRaw/stateReducer/stateActionType.js +1 -0
  248. package/esm/dropdownRaw/stateReducer/stateReducer.d.ts +6 -1
  249. package/esm/dropdownRaw/stateReducer/stateReducer.js +24 -12
  250. package/esm/dropdownRaw/stateReducer/stateReducerHelper.d.ts +2 -0
  251. package/esm/dropdownRaw/stateReducer/stateReducerHelper.js +18 -0
  252. package/esm/dropdownRaw/stateReducer/stateReducerTestData.d.ts +39 -0
  253. package/esm/dropdownRaw/stateReducer/stateReducerTestData.js +71 -0
  254. package/esm/dropdownRaw/types.d.ts +1 -0
  255. package/esm/favoriteButton/favoriteButton.js +53 -9
  256. package/esm/filters/components/filtersContainer.js +141 -61
  257. package/esm/filters/components/filtersEmptySelectedList.js +24 -3
  258. package/esm/filters/components/filtersSaveModal.js +134 -41
  259. package/esm/filters/components/filtersSavedChipComponent.js +312 -107
  260. package/esm/filters/components/filtersSearchItemData.js +121 -46
  261. package/esm/filters/components/filtersSearchList.js +375 -178
  262. package/esm/filters/components/filtersSelect.js +122 -60
  263. package/esm/filters/components/filtersSelectListItem.js +119 -12
  264. package/esm/filters/components/filtersSidePanel.js +504 -177
  265. package/esm/filters/filters.js +435 -265
  266. package/esm/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +722 -270
  267. package/esm/filtersBar/components/resetComponentButton.js +39 -4
  268. package/esm/filtersBar/filtersBarActions/filtersBarActions.js +120 -14
  269. package/esm/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +149 -48
  270. package/esm/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +354 -103
  271. package/esm/filtersBar/filtersContainer/filtersContainer.js +198 -133
  272. package/esm/formField/components/formFieldWithLabel.d.ts +2 -1
  273. package/esm/formField/components/formFieldWithLabel.js +3 -2
  274. package/esm/formField/components/formFieldWithoutLabel.d.ts +2 -1
  275. package/esm/formField/components/formFieldWithoutLabel.js +3 -3
  276. package/esm/formField/components/trailingComponent.d.ts +8 -0
  277. package/esm/formField/components/trailingComponent.js +7 -0
  278. package/esm/formField/formField.d.ts +0 -1
  279. package/esm/formField/formField.js +15 -16
  280. package/esm/formField/hooks/useError.js +94 -35
  281. package/esm/formGroup/components/reviewListToggle/reviewListToggle.js +66 -6
  282. package/esm/formGroup/hooks/useToggle.js +31 -10
  283. package/esm/formGroup/utils/getControls.js +8 -7
  284. package/esm/formLayout/hooks/useError.js +49 -14
  285. package/esm/formLayout/hooks/useFormButtons.js +122 -26
  286. package/esm/formSection/components/formSectionModal.js +1 -1
  287. package/esm/formSection/formSection.js +1 -1
  288. package/esm/formSection/hooks/useError.js +64 -21
  289. package/esm/formStepper/components/formStep.js +59 -9
  290. package/esm/formStepper/formStepper.js +123 -32
  291. package/esm/formStepperButtons/formStepperButtons.js +178 -37
  292. package/esm/groupsFilter/groupsFilterTestData.d.ts +37 -0
  293. package/esm/groupsFilter/groupsFilterTestData.js +4 -0
  294. package/esm/groupsFilter/groupsHelper.d.ts +24 -1
  295. package/esm/groupsFilter/groupsHelper.js +24 -1
  296. package/esm/groupsFilterRaw/groupsFilterAdjustmentState.js +152 -14
  297. package/esm/groupsFilterRaw/groupsFilterBox.js +131 -31
  298. package/esm/groupsFilterRaw/groupsFilterCommon.js +69 -7
  299. package/esm/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +178 -24
  300. package/esm/groupsFilterRaw/groupsFilterHelper.d.ts +2 -1
  301. package/esm/groupsFilterRaw/groupsFilterHelper.js +279 -168
  302. package/esm/groupsFilterRaw/groupsFilterInitialState.js +260 -17
  303. package/esm/groupsFilterRaw/groupsFilterMenu.js +118 -8
  304. package/esm/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  305. package/esm/groupsFilterRaw/groupsFilterRaw.js +811 -308
  306. package/esm/groupsFilterRaw/groupsFilterTestData.d.ts +155 -2
  307. package/esm/groupsFilterRaw/groupsFilterTestData.js +152 -57
  308. package/esm/groupsFilterRaw/groupsFilterTrigger.js +133 -34
  309. package/esm/groupsFilterRaw/groupsHelper.js +733 -207
  310. package/esm/groupsFilterRaw/stateReducer/stateReducerHelper.js +3 -1
  311. package/esm/groupsFilterRaw/types.d.ts +1 -0
  312. package/esm/header/components/collapsedItemsControl/collapsedItemsControl.js +101 -51
  313. package/esm/header/components/mobileFilterControl/mobileFilterControl.js +56 -8
  314. package/esm/header/components/mobileSearchControl/mobileSearchControl.js +113 -13
  315. package/esm/header/headerBack.js +58 -19
  316. package/esm/index.d.ts +2 -1
  317. package/esm/index.js +2 -1
  318. package/esm/list/itemData/itemDataInternal.js +210 -50
  319. package/esm/list/listItem/listItem.js +162 -54
  320. package/esm/menu/components/menuErrorItem.js +27 -4
  321. package/esm/mobileSheet/mobileSheet.js +189 -68
  322. package/esm/modal/modal.js +265 -120
  323. package/esm/nav/nav.js +1 -1
  324. package/esm/nav/navFooter/navFooter.js +76 -38
  325. package/esm/nav/navFooter/navFooterAction/navFooterAction.js +46 -12
  326. package/esm/nav/navHeader/navHeader.js +80 -35
  327. package/esm/nav/navHeader/navHeaderSearch/navHeaderSearch.js +82 -28
  328. package/esm/nav/navItem/navItem.d.ts +3 -3
  329. package/esm/nav/navItem/navItem.js +35 -33
  330. package/esm/nav/navMobileBar/navMobileBar.js +61 -20
  331. package/esm/notification/notification.js +114 -18
  332. package/esm/pagination/paginationArrow.js +75 -10
  333. package/esm/pagination/paginationText/paginationText.js +39 -10
  334. package/esm/pill/components/pillNonActionable/pillNonActionable.js +87 -23
  335. package/esm/pillBox/components/pillBoxItem.js +46 -8
  336. package/esm/pillBox/pillBox.js +115 -19
  337. package/esm/pillExpandable/pillExpandable.js +327 -138
  338. package/esm/rangeRaw/rangeRaw.js +480 -140
  339. package/esm/rangeRaw/utils/rangeHelper.js +203 -38
  340. package/esm/searchInputRaw/searchInputRaw.js +145 -43
  341. package/esm/skeleton/skeleton.js +45 -5
  342. package/esm/sortControl/sortControl.js +146 -41
  343. package/esm/stepperRaw/stepperRaw.js +112 -41
  344. package/esm/storybookHelpers/dataGridWithDifferentCellOptions/components/EntitiesListAction.js +178 -19
  345. package/esm/summary/summary.js +88 -7
  346. package/esm/table/actions/actionsMenu.js +165 -77
  347. package/esm/table/flexible/columnSettings.js +74 -9
  348. package/esm/table/flexible/columnsList.js +104 -42
  349. package/esm/table/flexible/columnsPopup.js +71 -19
  350. package/esm/table/nested/useNestedRows.js +161 -76
  351. package/esm/table/selectable/selectableHeader.js +174 -40
  352. package/esm/table/selectable/useSelectableRows.js +264 -190
  353. package/esm/table/sortable/sortableHeader.js +147 -74
  354. package/esm/tabs/tabs.js +221 -117
  355. package/esm/timePickerRaw/timePickerRaw.js +272 -57
  356. package/esm/toastRaw/toastRaw.js +132 -31
  357. package/esm/toggleButton/toggleButton.d.ts +0 -1
  358. package/esm/toggleButtonRaw/toggleButtonRaw.d.ts +1 -0
  359. package/esm/toggleButtonRaw/toggleButtonRaw.js +111 -18
  360. package/esm/utils/formatDate.js +995 -116
  361. package/{dist/utils/localization/translations/cs-json.js → esm/utils/localization/translations/cs.json} +11 -15
  362. package/{dist/utils/localization/translations/da-DK-json.js → esm/utils/localization/translations/da-DK.json} +31 -26
  363. package/{dist/utils/localization/translations/de-json.js → esm/utils/localization/translations/de.json} +12 -16
  364. package/esm/utils/localization/translations/en.json +308 -0
  365. package/{dist/utils/localization/translations/es-json.js → esm/utils/localization/translations/es.json} +11 -15
  366. package/{dist/utils/localization/translations/fi-FI-json.js → esm/utils/localization/translations/fi-FI.json} +31 -26
  367. package/{dist/utils/localization/translations/fr-FR-json.js → esm/utils/localization/translations/fr-FR.json} +12 -15
  368. package/{dist/utils/localization/translations/fr-json.js → esm/utils/localization/translations/fr.json} +11 -15
  369. package/{dist/utils/localization/translations/hu-HU-json.js → esm/utils/localization/translations/hu-HU.json} +31 -26
  370. package/{dist/utils/localization/translations/id-json.js → esm/utils/localization/translations/id.json} +11 -16
  371. package/{dist/utils/localization/translations/it-json.js → esm/utils/localization/translations/it.json} +11 -15
  372. package/{dist/utils/localization/translations/ja-json.js → esm/utils/localization/translations/ja.json} +11 -15
  373. package/{dist/utils/localization/translations/ko-KR-json.js → esm/utils/localization/translations/ko-KR.json} +24 -26
  374. package/{dist/utils/localization/translations/ms-json.js → esm/utils/localization/translations/ms.json} +11 -15
  375. package/{dist/utils/localization/translations/nb-NO-json.js → esm/utils/localization/translations/nb-NO.json} +31 -26
  376. package/{dist/utils/localization/translations/nl-json.js → esm/utils/localization/translations/nl.json} +11 -15
  377. package/{dist/utils/localization/translations/pl-json.js → esm/utils/localization/translations/pl.json} +11 -15
  378. package/{dist/utils/localization/translations/pt-BR-json.js → esm/utils/localization/translations/pt-BR.json} +11 -15
  379. package/{dist/utils/localization/translations/sk-SK-json.js → esm/utils/localization/translations/sk-SK.json} +31 -26
  380. package/{dist/utils/localization/translations/sv-json.js → esm/utils/localization/translations/sv.json} +11 -15
  381. package/{dist/utils/localization/translations/th-json.js → esm/utils/localization/translations/th.json} +11 -15
  382. package/{dist/utils/localization/translations/tr-json.js → esm/utils/localization/translations/tr.json} +11 -15
  383. package/{dist/utils/localization/translations/zh-Hans-json.js → esm/utils/localization/translations/zh-Hans.json} +11 -15
  384. package/{dist/utils/localization/translations/zh-TW-json.js → esm/utils/localization/translations/zh-TW.json} +11 -26
  385. package/esm/utils/localization/translationsDictionary.d.ts +2 -0
  386. package/esm/utils/localization/translationsDictionary.js +59 -0
  387. package/esm/utils/localization/useLanguage.js +1 -50
  388. package/package.json +17 -10
  389. package/dist/formField/hooks/useClasses.d.ts +0 -8
  390. package/dist/formField/hooks/useClasses.js +0 -25
  391. package/dist/utils/localization/translations/cs-json.d.ts +0 -251
  392. package/dist/utils/localization/translations/da-DK-json.d.ts +0 -252
  393. package/dist/utils/localization/translations/de-json.d.ts +0 -251
  394. package/dist/utils/localization/translations/en-json.d.ts +0 -314
  395. package/dist/utils/localization/translations/en-json.js +0 -317
  396. package/dist/utils/localization/translations/es-json.d.ts +0 -251
  397. package/dist/utils/localization/translations/fi-FI-json.d.ts +0 -252
  398. package/dist/utils/localization/translations/fr-FR-json.d.ts +0 -250
  399. package/dist/utils/localization/translations/fr-json.d.ts +0 -251
  400. package/dist/utils/localization/translations/hu-HU-json.d.ts +0 -252
  401. package/dist/utils/localization/translations/id-json.d.ts +0 -252
  402. package/dist/utils/localization/translations/it-json.d.ts +0 -251
  403. package/dist/utils/localization/translations/ja-json.d.ts +0 -251
  404. package/dist/utils/localization/translations/ko-KR-json.d.ts +0 -258
  405. package/dist/utils/localization/translations/ms-json.d.ts +0 -251
  406. package/dist/utils/localization/translations/nb-NO-json.d.ts +0 -252
  407. package/dist/utils/localization/translations/nl-json.d.ts +0 -251
  408. package/dist/utils/localization/translations/pl-json.d.ts +0 -251
  409. package/dist/utils/localization/translations/pt-BR-json.d.ts +0 -251
  410. package/dist/utils/localization/translations/sk-SK-json.d.ts +0 -251
  411. package/dist/utils/localization/translations/sv-json.d.ts +0 -251
  412. package/dist/utils/localization/translations/th-json.d.ts +0 -251
  413. package/dist/utils/localization/translations/tr-json.d.ts +0 -251
  414. package/dist/utils/localization/translations/zh-Hans-json.d.ts +0 -251
  415. package/dist/utils/localization/translations/zh-TW-json.d.ts +0 -271
  416. package/esm/formField/hooks/useClasses.d.ts +0 -8
  417. package/esm/formField/hooks/useClasses.js +0 -21
  418. package/esm/utils/localization/translations/cs-json.d.ts +0 -251
  419. package/esm/utils/localization/translations/da-DK-json.d.ts +0 -252
  420. package/esm/utils/localization/translations/de-json.d.ts +0 -251
  421. package/esm/utils/localization/translations/en-json.d.ts +0 -314
  422. package/esm/utils/localization/translations/en-json.js +0 -314
  423. package/esm/utils/localization/translations/es-json.d.ts +0 -251
  424. package/esm/utils/localization/translations/fi-FI-json.d.ts +0 -252
  425. package/esm/utils/localization/translations/fr-FR-json.d.ts +0 -250
  426. package/esm/utils/localization/translations/fr-json.d.ts +0 -251
  427. package/esm/utils/localization/translations/hu-HU-json.d.ts +0 -252
  428. package/esm/utils/localization/translations/id-json.d.ts +0 -252
  429. package/esm/utils/localization/translations/it-json.d.ts +0 -251
  430. package/esm/utils/localization/translations/ja-json.d.ts +0 -251
  431. package/esm/utils/localization/translations/ko-KR-json.d.ts +0 -258
  432. package/esm/utils/localization/translations/ms-json.d.ts +0 -251
  433. package/esm/utils/localization/translations/nb-NO-json.d.ts +0 -252
  434. package/esm/utils/localization/translations/nl-json.d.ts +0 -251
  435. package/esm/utils/localization/translations/pl-json.d.ts +0 -251
  436. package/esm/utils/localization/translations/pt-BR-json.d.ts +0 -251
  437. package/esm/utils/localization/translations/sk-SK-json.d.ts +0 -251
  438. package/esm/utils/localization/translations/sv-json.d.ts +0 -251
  439. package/esm/utils/localization/translations/th-json.d.ts +0 -251
  440. package/esm/utils/localization/translations/tr-json.d.ts +0 -251
  441. package/esm/utils/localization/translations/zh-Hans-json.d.ts +0 -251
  442. package/esm/utils/localization/translations/zh-TW-json.d.ts +0 -271
@@ -1,3 +1,4 @@
1
+ import { injectString } from "../../utils/localization/translationsDictionary";
1
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import { useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
3
4
  import { CheckboxColumnWrapper, SelectionState } from "../columns/checkboxColumn/checkboxColumnWrapper";
@@ -6,223 +7,290 @@ import { SelectList } from "../../selectList/selectList";
6
7
  import { CheckboxState } from "../../checkbox/checkboxState";
7
8
  import { SelectableRowsColumnWrapper } from "./columns/selectableRowsColumnWrapper";
8
9
  import { useLanguage } from "../../utils/localization/useLanguage";
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 getSelections = (selections) => {
26
- const res = new Set();
27
- if (selections !== undefined) {
28
- selections.selected.forEach(id => res.add(id));
29
- }
30
- return res;
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
+ const getSelectionOptions = translate => [{
83
+ id: "all",
84
+ value: SelectionState.All,
85
+ element: "all",
86
+ label: translate("Select all")
87
+ }, {
88
+ id: "page",
89
+ value: SelectionState.CurrentPage,
90
+ element: "page",
91
+ label: translate("Select current page")
92
+ }, {
93
+ id: "none",
94
+ value: SelectionState.None,
95
+ element: "none",
96
+ label: translate("Deselect all")
97
+ }];
98
+ export const getSelections = selections => {
99
+ const res = new Set();
100
+ if (selections !== undefined) {
101
+ selections.selected.forEach(id => res.add(id));
102
+ }
103
+ return res;
31
104
  };
32
105
  const calculateSelectionState = (entities, selections, allSelected, options) => {
33
- if (selections.size === 0) {
34
- return allSelected ? SelectionState.All : SelectionState.None;
106
+ if (selections.size === 0) {
107
+ return allSelected ? SelectionState.All : SelectionState.None;
108
+ }
109
+ return entities.every(entity => {
110
+ if (options.condition && !options.condition(entity)) {
111
+ return true;
35
112
  }
36
- return entities.every(entity => {
37
- if (options.condition && !options.condition(entity)) {
38
- return true;
39
- }
40
- if (options.checkboxVisible && !options.checkboxVisible(entity)) {
41
- return true;
42
- }
43
- if (options.checkboxDisabled && options.checkboxDisabled(entity)) {
44
- return true;
45
- }
46
- return selections.has(entity.id);
47
- }) ? SelectionState.CurrentPage : SelectionState.Partial;
113
+ if (options.checkboxVisible && !options.checkboxVisible(entity)) {
114
+ return true;
115
+ }
116
+ if (options.checkboxDisabled && options.checkboxDisabled(entity)) {
117
+ return true;
118
+ }
119
+ return selections.has(entity.id);
120
+ }) ? SelectionState.CurrentPage : SelectionState.Partial;
48
121
  };
49
122
  // T - type of entity
50
123
  // P - props of wrapped component
51
124
  // eslint-disable-next-line @typescript-eslint/naming-convention
52
- export const withSelectableRows = (DataGridComponent) => {
53
- const WithSelectableRowsInner = (props) => {
54
- const { selectMode, selection, columns, entities, options, onSelect } = props;
55
- const { translate } = useLanguage();
56
- const [isOpen, setIsOpen] = useState(false);
57
- const selectId = useId();
58
- const selectMenuRef = useRef(null);
59
- const selections = getSelections(selection);
60
- const allSelected = selection !== undefined && selection.allSelected;
61
- const wrapper = useMemo(() => selectMode ? new SelectableRowsColumnWrapper(selections, {
62
- createTitle: options.createTitle,
63
- headerTitle: options.headerTitle,
64
- condition: options.condition || options.checkboxVisible,
65
- disabled: options.checkboxDisabled
66
- ? options.checkboxDisabled
67
- : (entity) => options.selectionLimit !== undefined
68
- ? (!selections.has(entity.id) && selections.size >= options.selectionLimit)
69
- : false,
70
- header: (options.selectionLimit === undefined
71
- && options.checkboxDisabled === undefined
72
- && options.checkboxVisible === undefined
73
- && options.condition === undefined) || (options.checkboxInHeader === true && !options.selectionLimit)
74
- }, selectMenuRef) : null, [
75
- selectMode,
76
- selections,
77
- options.createTitle,
78
- options.headerTitle,
79
- options.condition,
80
- options.checkboxVisible,
81
- options.checkboxDisabled,
82
- options.selectionLimit,
83
- options.checkboxInHeader
84
- ]);
85
- if (wrapper) {
86
- wrapper.selectionState = calculateSelectionState(entities, selections, allSelected, options);
125
+ export const withSelectableRows = DataGridComponent => {
126
+ const WithSelectableRowsInner = props => {
127
+ const {
128
+ selectMode,
129
+ selection,
130
+ columns,
131
+ entities,
132
+ options,
133
+ onSelect
134
+ } = props;
135
+ const {
136
+ translate
137
+ } = useLanguage();
138
+ const [isOpen, setIsOpen] = useState(false);
139
+ const selectId = useId();
140
+ const selectMenuRef = useRef(null);
141
+ const selections = getSelections(selection);
142
+ const allSelected = selection !== undefined && selection.allSelected;
143
+ const wrapper = useMemo(() => selectMode ? new SelectableRowsColumnWrapper(selections, {
144
+ createTitle: options.createTitle,
145
+ headerTitle: options.headerTitle,
146
+ condition: options.condition || options.checkboxVisible,
147
+ disabled: options.checkboxDisabled ? options.checkboxDisabled : entity => options.selectionLimit !== undefined ? !selections.has(entity.id) && selections.size >= options.selectionLimit : false,
148
+ header: options.selectionLimit === undefined && options.checkboxDisabled === undefined && options.checkboxVisible === undefined && options.condition === undefined || options.checkboxInHeader === true && !options.selectionLimit
149
+ }, selectMenuRef) : null, [selectMode, selections, options.createTitle, options.headerTitle, options.condition, options.checkboxVisible, options.checkboxDisabled, options.selectionLimit, options.checkboxInHeader]);
150
+ if (wrapper) {
151
+ wrapper.selectionState = calculateSelectionState(entities, selections, allSelected, options);
152
+ }
153
+ const selectAll = useCallback(checked => {
154
+ const newSelections = new Set(selections);
155
+ entities.forEach(entity => {
156
+ if (checked) {
157
+ const isVisible = options.condition ? options.condition(entity) : options.checkboxVisible ? options.checkboxVisible(entity) : true;
158
+ const isEnabled = !options.checkboxDisabled || !options.checkboxDisabled(entity);
159
+ if (isVisible && isEnabled) {
160
+ newSelections.add(entity.id);
161
+ }
162
+ return;
87
163
  }
88
- const selectAll = useCallback((checked) => {
89
- const newSelections = new Set(selections);
90
- entities.forEach(entity => {
91
- if (checked) {
92
- const isVisible = options.condition
93
- ? options.condition(entity)
94
- : options.checkboxVisible
95
- ? options.checkboxVisible(entity)
96
- : true;
97
- const isEnabled = !options.checkboxDisabled || !options.checkboxDisabled(entity);
98
- if (isVisible && isEnabled) {
99
- newSelections.add(entity.id);
100
- }
101
- return;
102
- }
103
- newSelections.delete(entity.id);
104
- });
105
- const newState = calculateSelectionState(entities, newSelections, false, options);
106
- onSelect({
107
- selected: [...newSelections],
108
- allSelected: newState === SelectionState.All,
109
- turnOffSelectAll: selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll
110
- });
111
- }, [selections, entities, options, onSelect, selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll]);
112
- const onSelectListener = useCallback(([id, checked]) => {
113
- if (allSelected) {
114
- const newSelection = new Set(entities.map(entity => entity.id));
115
- newSelection.delete(id);
116
- onSelect({
117
- selected: [...newSelection],
118
- allSelected: false,
119
- turnOffSelectAll: selection.turnOffSelectAll
120
- });
121
- return;
122
- }
123
- if (checked) {
124
- selections.add(id);
125
- }
126
- else {
127
- selections.delete(id);
128
- }
129
- const newState = calculateSelectionState(entities, selections, allSelected, options);
130
- onSelect({
131
- selected: [...selections],
132
- allSelected: newState === SelectionState.All,
133
- turnOffSelectAll: selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll
134
- });
135
- }, [entities, selections, allSelected, options, onSelect, selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll]);
136
- const onSelectAll = useCallback(([checked]) => {
137
- if (checked && ((selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll) || options.turnOffSelectAll)) {
138
- selectAll(true);
139
- return;
140
- }
141
- onSelect({
142
- selected: [],
143
- allSelected: checked,
144
- turnOffSelectAll: selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll
145
- });
146
- }, [onSelect, selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll, options.turnOffSelectAll, selectAll]);
147
- const onTriggerClick = useCallback(() => {
148
- setIsOpen(!isOpen);
149
- }, [isOpen]);
150
- const onSelectMenuChange = useCallback((state) => {
151
- var _a, _b;
152
- const selectedId = (_a = [...state].find(([_, v]) => v === CheckboxState.On)) === null || _a === void 0 ? void 0 : _a[0];
153
- const value = selectedId && ((_b = selectionOptions.find(o => o.id === selectedId)) === null || _b === void 0 ? void 0 : _b.value);
154
- if (value === undefined) {
155
- return;
156
- }
157
- setIsOpen(false);
158
- if (value === SelectionState.All) {
159
- onSelect({
160
- selected: [],
161
- allSelected: true,
162
- turnOffSelectAll: selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll
163
- });
164
- return;
165
- }
166
- if (value === SelectionState.None) {
167
- onSelect({
168
- selected: [],
169
- allSelected: false,
170
- turnOffSelectAll: selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll
171
- });
172
- return;
173
- }
174
- selectAll(true);
175
- }, [onSelect, selectAll, selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll]);
176
- useEffect(() => {
177
- if (!wrapper) {
178
- return () => { };
179
- }
180
- wrapper.detach();
181
- wrapper.attach("change", onSelectListener);
182
- wrapper.attach("change-all", onSelectAll);
183
- wrapper.attach("toggle", onTriggerClick);
184
- return () => {
185
- wrapper.detach();
186
- };
187
- }, [wrapper, onSelectListener, onSelectAll, onTriggerClick]);
188
- const listColumns = useMemo(() => {
189
- const newColumns = columns.map(c => (Object.assign({}, c)));
190
- // Remove CheckboxColumnWrappers from wrappers list
191
- newColumns.forEach(c => {
192
- if (c.wrappers) {
193
- c.wrappers = c.wrappers.filter(w => !(w instanceof SelectableRowsColumnWrapper));
194
- }
195
- });
196
- // Add new CheckboxColumnWrapper to wrappers list of the first column
197
- const firstColumn = newColumns.find(c => c.id === options.firstColumnId);
198
- if (firstColumn && wrapper) {
199
- firstColumn.wrappers = [...firstColumn.wrappers || [], wrapper];
200
- }
201
- return newColumns;
202
- }, [columns, options.firstColumnId, wrapper]);
203
- const listItems = useMemo(() => selectionOptions
204
- .filter(option => (!(selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll) && !options.turnOffSelectAll) || option.value !== SelectionState.All)
205
- .map(option => ({
206
- id: option.id,
207
- value: option.value,
208
- label: translate(option.label),
209
- children: translate(option.label)
210
- })).filter(option => option.value !== calculateSelectionState(entities, selections, allSelected, options)), [selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll, translate, entities, selections, allSelected, options]);
211
- const listValue = useMemo(() => listItems.reduce((res, item) => {
212
- res.set(item.id, CheckboxState.Off);
213
- return res;
214
- }, new Map()), [listItems]);
215
- return _jsxs(_Fragment, { children: [columns.length > 0
216
- ? _jsx(ControlledPopup, { triggerRef: selectMenuRef, isOpen: isOpen, onOpenChange: setIsOpen, alignment: "bottom-left", children: _jsx(SelectList, { id: selectId, title: translate("Select menu"), items: listItems, value: listValue, selectItemOnFocus: false, onChange: onSelectMenuChange }) })
217
- : null, _jsx(DataGridComponent, Object.assign({}, props, { columns: listColumns, ref: props.ref }))] });
218
- };
219
- WithSelectableRowsInner.displayName = `withSelectableRows(${DataGridComponent.displayName || DataGridComponent.name})`;
220
- WithSelectableRowsInner.translations = [
221
- "Select menu",
222
- "Select all",
223
- "Select current page",
224
- "Deselect all",
225
- ...CheckboxColumnWrapper.translations
226
- ];
227
- return WithSelectableRowsInner;
228
- };
164
+ newSelections.delete(entity.id);
165
+ });
166
+ const newState = calculateSelectionState(entities, newSelections, false, options);
167
+ onSelect({
168
+ selected: [...newSelections],
169
+ allSelected: newState === SelectionState.All,
170
+ turnOffSelectAll: selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll
171
+ });
172
+ }, [selections, entities, options, onSelect, selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll]);
173
+ const onSelectListener = useCallback(([id, checked]) => {
174
+ if (allSelected) {
175
+ const newSelection = new Set(entities.map(entity => entity.id));
176
+ newSelection.delete(id);
177
+ onSelect({
178
+ selected: [...newSelection],
179
+ allSelected: false,
180
+ turnOffSelectAll: selection.turnOffSelectAll
181
+ });
182
+ return;
183
+ }
184
+ if (checked) {
185
+ selections.add(id);
186
+ } else {
187
+ selections.delete(id);
188
+ }
189
+ const newState = calculateSelectionState(entities, selections, allSelected, options);
190
+ onSelect({
191
+ selected: [...selections],
192
+ allSelected: newState === SelectionState.All,
193
+ turnOffSelectAll: selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll
194
+ });
195
+ }, [entities, selections, allSelected, options, onSelect, selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll]);
196
+ const onSelectAll = useCallback(([checked]) => {
197
+ if (checked && ((selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll) || options.turnOffSelectAll)) {
198
+ selectAll(true);
199
+ return;
200
+ }
201
+ onSelect({
202
+ selected: [],
203
+ allSelected: checked,
204
+ turnOffSelectAll: selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll
205
+ });
206
+ }, [onSelect, selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll, options.turnOffSelectAll, selectAll]);
207
+ const onTriggerClick = useCallback(() => {
208
+ setIsOpen(!isOpen);
209
+ }, [isOpen]);
210
+ const onSelectMenuChange = useCallback(state => {
211
+ var _a, _b;
212
+ const selectedId = (_a = [...state].find(([_, v]) => v === CheckboxState.On)) === null || _a === void 0 ? void 0 : _a[0];
213
+ const value = selectedId && ((_b = getSelectionOptions(translate).find(o => o.id === selectedId)) === null || _b === void 0 ? void 0 : _b.value);
214
+ if (value === undefined) {
215
+ return;
216
+ }
217
+ setIsOpen(false);
218
+ if (value === SelectionState.All) {
219
+ onSelect({
220
+ selected: [],
221
+ allSelected: true,
222
+ turnOffSelectAll: selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll
223
+ });
224
+ return;
225
+ }
226
+ if (value === SelectionState.None) {
227
+ onSelect({
228
+ selected: [],
229
+ allSelected: false,
230
+ turnOffSelectAll: selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll
231
+ });
232
+ return;
233
+ }
234
+ selectAll(true);
235
+ }, [onSelect, selectAll, selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll, translate]);
236
+ useEffect(() => {
237
+ if (!wrapper) {
238
+ return () => {};
239
+ }
240
+ wrapper.detach();
241
+ wrapper.attach("change", onSelectListener);
242
+ wrapper.attach("change-all", onSelectAll);
243
+ wrapper.attach("toggle", onTriggerClick);
244
+ return () => {
245
+ wrapper.detach();
246
+ };
247
+ }, [wrapper, onSelectListener, onSelectAll, onTriggerClick]);
248
+ const listColumns = useMemo(() => {
249
+ const newColumns = columns.map(c => Object.assign({}, c));
250
+ // Remove CheckboxColumnWrappers from wrappers list
251
+ newColumns.forEach(c => {
252
+ if (c.wrappers) {
253
+ c.wrappers = c.wrappers.filter(w => !(w instanceof SelectableRowsColumnWrapper));
254
+ }
255
+ });
256
+ // Add new CheckboxColumnWrapper to wrappers list of the first column
257
+ const firstColumn = newColumns.find(c => c.id === options.firstColumnId);
258
+ if (firstColumn && wrapper) {
259
+ firstColumn.wrappers = [...(firstColumn.wrappers || []), wrapper];
260
+ }
261
+ return newColumns;
262
+ }, [columns, options.firstColumnId, wrapper]);
263
+ const listItems = useMemo(() => getSelectionOptions(translate).filter(option => !(selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll) && !options.turnOffSelectAll || option.value !== SelectionState.All).map(option => ({
264
+ id: option.id,
265
+ value: option.value,
266
+ label: option.label,
267
+ children: option.label
268
+ })).filter(option => option.value !== calculateSelectionState(entities, selections, allSelected, options)), [selection === null || selection === void 0 ? void 0 : selection.turnOffSelectAll, translate, entities, selections, allSelected, options]);
269
+ const listValue = useMemo(() => listItems.reduce((res, item) => {
270
+ res.set(item.id, CheckboxState.Off);
271
+ return res;
272
+ }, new Map()), [listItems]);
273
+ return _jsxs(_Fragment, {
274
+ children: [columns.length > 0 ? _jsx(ControlledPopup, {
275
+ triggerRef: selectMenuRef,
276
+ isOpen: isOpen,
277
+ onOpenChange: setIsOpen,
278
+ alignment: "bottom-left",
279
+ children: _jsx(SelectList, {
280
+ id: selectId,
281
+ title: translate("Select menu"),
282
+ items: listItems,
283
+ value: listValue,
284
+ selectItemOnFocus: false,
285
+ onChange: onSelectMenuChange
286
+ })
287
+ }) : null, _jsx(DataGridComponent, Object.assign({}, props, {
288
+ columns: listColumns,
289
+ ref: props.ref
290
+ }))]
291
+ });
292
+ };
293
+ WithSelectableRowsInner.displayName = `withSelectableRows(${DataGridComponent.displayName || DataGridComponent.name})`;
294
+ WithSelectableRowsInner.translations = ["Select menu", "Select all", "Select current page", "Deselect all", ...CheckboxColumnWrapper.translations];
295
+ return WithSelectableRowsInner;
296
+ };