@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, 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
+ };