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

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