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

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