@carbon/ibm-products 2.26.0 → 2.28.0-alpha.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (391) hide show
  1. package/css/index-full-carbon.css +700 -163
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +85 -22
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +700 -163
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +1 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +660 -152
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +1 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/_virtual/index.js +2 -2
  18. package/es/components/APIKeyModal/APIKeyModal.js +1 -1
  19. package/es/components/AboutModal/AboutModal.js +1 -1
  20. package/es/components/ActionBar/ActionBar.js +1 -1
  21. package/es/components/ActionBar/ActionBarItem.js +1 -1
  22. package/es/components/ActionBar/ActionBarOverflowItems.js +1 -1
  23. package/es/components/ActionSet/ActionSet.js +1 -1
  24. package/es/components/AddSelect/AddSelectBody.js +1 -1
  25. package/es/components/AddSelect/AddSelectBreadcrumbs.js +1 -1
  26. package/es/components/AddSelect/AddSelectFilter.js +1 -1
  27. package/es/components/AddSelect/AddSelectList.js +1 -1
  28. package/es/components/AddSelect/AddSelectRow.js +1 -1
  29. package/es/components/BigNumbers/BigNumbers.d.ts +11 -0
  30. package/es/components/BigNumbers/BigNumbers.js +238 -0
  31. package/es/components/BigNumbers/constants.d.ts +13 -0
  32. package/es/components/BigNumbers/constants.js +67 -0
  33. package/es/components/BigNumbers/index.d.ts +1 -0
  34. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +1 -1
  35. package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +1 -1
  36. package/es/components/Card/Card.js +1 -1
  37. package/es/components/Card/CardFooter.js +1 -1
  38. package/es/components/Card/CardHeader.js +1 -1
  39. package/es/components/Carousel/Carousel.js +1 -1
  40. package/es/components/Carousel/CarouselItem.js +1 -1
  41. package/es/components/Cascade/Cascade.js +1 -1
  42. package/es/components/Checklist/Checklist.js +1 -1
  43. package/es/components/Checklist/ChecklistChart.js +1 -1
  44. package/es/components/Checklist/ChecklistIcon.js +1 -1
  45. package/es/components/Coachmark/Coachmark.js +1 -1
  46. package/es/components/Coachmark/CoachmarkDragbar.js +1 -1
  47. package/es/components/Coachmark/CoachmarkHeader.js +1 -1
  48. package/es/components/Coachmark/CoachmarkOverlay.js +1 -1
  49. package/es/components/Coachmark/CoachmarkTagline.js +1 -1
  50. package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -1
  51. package/es/components/CoachmarkButton/CoachmarkButton.js +1 -1
  52. package/es/components/CoachmarkFixed/CoachmarkFixed.js +1 -1
  53. package/es/components/CoachmarkOverlayElement/CoachmarkOverlayElement.js +1 -1
  54. package/es/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +1 -1
  55. package/es/components/CoachmarkStack/CoachmarkStack.js +1 -1
  56. package/es/components/CoachmarkStack/CoachmarkStackHome.js +1 -1
  57. package/es/components/ComboButton/ComboButton.js +1 -1
  58. package/es/components/CreateFullPage/CreateFullPage.js +1 -1
  59. package/es/components/CreateFullPage/CreateFullPageStep.js +1 -1
  60. package/es/components/CreateInfluencer/CreateInfluencer.js +1 -1
  61. package/es/components/CreateModal/CreateModal.js +1 -1
  62. package/es/components/CreateSidePanel/CreateSidePanel.js +1 -1
  63. package/es/components/CreateTearsheet/CreateTearsheet.js +8 -2
  64. package/es/components/CreateTearsheet/CreateTearsheetDivider.js +1 -1
  65. package/es/components/CreateTearsheet/CreateTearsheetStep.js +1 -1
  66. package/es/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +1 -1
  67. package/es/components/DataSpreadsheet/DataSpreadsheet.js +1 -1
  68. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +5 -4
  69. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +4 -3
  70. package/es/components/DataSpreadsheet/utils/checkForHoldingKey.d.ts +1 -0
  71. package/es/components/DataSpreadsheet/utils/checkForHoldingKey.js +17 -0
  72. package/es/components/Datagrid/Datagrid/Datagrid.js +10 -3
  73. package/es/components/Datagrid/Datagrid/DatagridContent.d.ts +3 -1
  74. package/es/components/Datagrid/Datagrid/DatagridContent.js +7 -3
  75. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +8 -4
  76. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +9 -5
  77. package/es/components/Datagrid/Datagrid/DatagridRefBody.js +1 -1
  78. package/es/components/Datagrid/Datagrid/DatagridRow.js +19 -15
  79. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +1 -1
  80. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +1 -1
  81. package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +1 -1
  82. package/es/components/Datagrid/Datagrid/DatagridToolbar.d.ts +10 -1
  83. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +22 -5
  84. package/es/components/Datagrid/Datagrid/DraggableElement.js +1 -1
  85. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +1 -1
  86. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +1 -1
  87. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +1 -1
  88. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +39 -16
  89. package/es/components/Datagrid/Datagrid/addons/Filtering/constants.d.ts +4 -1
  90. package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +5 -1
  91. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +102 -6
  92. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +12 -1
  93. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +1 -1
  94. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +1 -1
  95. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +1 -1
  96. package/es/components/Datagrid/Datagrid/addons/stateReducer.js +1 -1
  97. package/es/components/Datagrid/useActionsColumn.js +1 -1
  98. package/es/components/Datagrid/useColumnCenterAlign.js +1 -1
  99. package/es/components/Datagrid/useColumnRightAlign.js +1 -1
  100. package/es/components/Datagrid/useDefaultStringRenderer.js +1 -1
  101. package/es/components/Datagrid/useFiltering.js +48 -47
  102. package/es/components/Datagrid/useFloatingScroll.js +1 -1
  103. package/es/components/Datagrid/useInlineEdit.js +1 -1
  104. package/es/components/Datagrid/useNestedRowExpander.js +1 -1
  105. package/es/components/Datagrid/useNestedRows.js +1 -1
  106. package/es/components/Datagrid/useRowExpander.js +1 -1
  107. package/es/components/Datagrid/useSelectAllToggle.js +6 -4
  108. package/es/components/Datagrid/useSelectRows.js +2 -2
  109. package/es/components/Datagrid/useSortableColumns.js +1 -1
  110. package/es/components/Datagrid/useStickyColumn.js +1 -1
  111. package/es/components/DelimitedList/DelimitedList.js +1 -1
  112. package/es/components/EditFullPage/EditFullPage.js +1 -1
  113. package/es/components/EditInPlace/EditInPlace.js +1 -1
  114. package/es/components/EditSidePanel/EditSidePanel.js +1 -1
  115. package/es/components/EditTearsheet/EditTearsheet.js +1 -1
  116. package/es/components/EditTearsheet/EditTearsheetForm.js +1 -1
  117. package/es/components/EditTearsheetNarrow/EditTearsheetNarrow.js +1 -1
  118. package/es/components/EditUpdateCards/EditUpdateCards.js +1 -1
  119. package/es/components/EmptyStates/EmptyState.js +1 -1
  120. package/es/components/EmptyStates/EmptyStateContent.js +1 -1
  121. package/es/components/EmptyStates/EmptyStateV2.js +1 -1
  122. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +1 -1
  123. package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +1 -1
  124. package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +1 -1
  125. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +1 -1
  126. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -1
  127. package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +1 -1
  128. package/es/components/EmptyStates/assets/ErrorIllustration.js +1 -1
  129. package/es/components/EmptyStates/assets/NoDataIllustration.js +1 -1
  130. package/es/components/EmptyStates/assets/NoTagsIllustration.js +1 -1
  131. package/es/components/EmptyStates/assets/NotFoundIllustration.js +1 -1
  132. package/es/components/EmptyStates/assets/NotificationsIllustration.js +1 -1
  133. package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +1 -1
  134. package/es/components/ExportModal/ExportModal.js +1 -1
  135. package/es/components/FilterSummary/FilterSummary.js +1 -1
  136. package/es/components/FullPageError/FullPageError.js +1 -1
  137. package/es/components/Guidebanner/Guidebanner.js +1 -1
  138. package/es/components/Guidebanner/GuidebannerElement.js +1 -1
  139. package/es/components/Guidebanner/GuidebannerElementButton.js +1 -1
  140. package/es/components/Guidebanner/GuidebannerElementLink.js +1 -1
  141. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +1 -1
  142. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +1 -1
  143. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +1 -1
  144. package/es/components/ImportModal/ImportModal.js +1 -1
  145. package/es/components/InlineTip/InlineTip.js +1 -1
  146. package/es/components/InlineTip/InlineTipButton.js +1 -1
  147. package/es/components/InlineTip/InlineTipLink.js +1 -1
  148. package/es/components/InterstitialScreen/InterstitialScreen.js +1 -1
  149. package/es/components/InterstitialScreenView/InterstitialScreenView.js +1 -1
  150. package/es/components/InterstitialScreenViewModule/InterstitialScreenViewModule.js +1 -1
  151. package/es/components/NonLinearReading/NonLinearReading.js +1 -1
  152. package/es/components/NotificationsPanel/NotificationsPanel.js +1 -1
  153. package/es/components/OptionsTile/OptionsTile.js +1 -1
  154. package/es/components/PageHeader/PageHeader.js +1 -1
  155. package/es/components/PageHeader/PageHeaderTitle.js +1 -1
  156. package/es/components/PageHeader/PageHeaderUtils.js +1 -1
  157. package/es/components/RemoveModal/RemoveModal.js +1 -1
  158. package/es/components/Saving/Saving.js +1 -1
  159. package/es/components/SearchBar/SearchBar.js +1 -1
  160. package/es/components/SidePanel/SidePanel.js +14 -7
  161. package/es/components/SidePanel/motion/variants.d.ts +39 -12
  162. package/es/components/SidePanel/motion/variants.js +42 -11
  163. package/es/components/SimpleHeader/SimpleHeader.js +1 -1
  164. package/es/components/StatusIcon/StatusIcon.js +1 -1
  165. package/es/components/SteppedAnimatedMedia/SteppedAnimatedMedia.js +1 -1
  166. package/es/components/StringFormatter/StringFormatter.d.ts +6 -0
  167. package/es/components/StringFormatter/StringFormatter.js +79 -0
  168. package/es/components/StringFormatter/index.d.ts +1 -0
  169. package/es/components/StringFormatter/utils/enums.d.ts +14 -0
  170. package/es/components/StringFormatter/utils/enums.js +23 -0
  171. package/es/components/TagSet/TagSet.js +1 -1
  172. package/es/components/TagSet/TagSetModal.js +1 -1
  173. package/es/components/TagSet/TagSetOverflow.js +1 -1
  174. package/es/components/Tearsheet/TearsheetShell.js +13 -8
  175. package/es/components/Toolbar/Toolbar.js +1 -1
  176. package/es/components/Toolbar/ToolbarButton.js +1 -1
  177. package/es/components/Toolbar/ToolbarGroup.js +1 -1
  178. package/es/components/TooltipTrigger/TooltipTrigger.js +1 -1
  179. package/es/components/TruncatedList/TruncatedList.js +1 -1
  180. package/es/components/UserAvatar/UserAvatar.js +59 -43
  181. package/es/components/UserProfileImage/UserProfileImage.js +1 -1
  182. package/es/components/WebTerminal/WebTerminal.js +1 -1
  183. package/es/components/WebTerminal/WebTerminalContentWrapper.js +1 -1
  184. package/es/components/_Canary/Canary.js +1 -1
  185. package/es/components/index.d.ts +2 -0
  186. package/es/global/js/hooks/index.d.ts +1 -0
  187. package/es/global/js/hooks/useIsomorphicEffect.d.ts +2 -0
  188. package/es/global/js/hooks/useIsomorphicEffect.js +14 -0
  189. package/es/global/js/package-settings.d.ts +2 -0
  190. package/es/global/js/package-settings.js +2 -0
  191. package/es/index.js +2 -0
  192. package/es/node_modules/prop-types/index.js +1 -1
  193. package/es/settings.d.ts +2 -0
  194. package/lib/_virtual/index.js +2 -2
  195. package/lib/components/APIKeyModal/APIKeyModal.js +50 -49
  196. package/lib/components/AboutModal/AboutModal.js +17 -16
  197. package/lib/components/ActionBar/ActionBar.js +16 -15
  198. package/lib/components/ActionBar/ActionBarItem.js +8 -7
  199. package/lib/components/ActionBar/ActionBarOverflowItems.js +9 -8
  200. package/lib/components/ActionSet/ActionSet.js +4 -3
  201. package/lib/components/AddSelect/AddSelectBody.js +67 -66
  202. package/lib/components/AddSelect/AddSelectBreadcrumbs.js +7 -6
  203. package/lib/components/AddSelect/AddSelectFilter.js +19 -18
  204. package/lib/components/AddSelect/AddSelectList.js +7 -6
  205. package/lib/components/AddSelect/AddSelectRow.js +33 -32
  206. package/lib/components/BigNumbers/BigNumbers.d.ts +11 -0
  207. package/lib/components/BigNumbers/BigNumbers.js +245 -0
  208. package/lib/components/BigNumbers/constants.d.ts +13 -0
  209. package/lib/components/BigNumbers/constants.js +76 -0
  210. package/lib/components/BigNumbers/index.d.ts +1 -0
  211. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +20 -19
  212. package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +3 -2
  213. package/lib/components/Card/Card.js +5 -4
  214. package/lib/components/Card/CardFooter.js +22 -21
  215. package/lib/components/Card/CardHeader.js +27 -26
  216. package/lib/components/Carousel/Carousel.js +13 -12
  217. package/lib/components/Carousel/CarouselItem.js +6 -5
  218. package/lib/components/Cascade/Cascade.js +9 -8
  219. package/lib/components/Checklist/Checklist.js +33 -32
  220. package/lib/components/Checklist/ChecklistChart.js +7 -6
  221. package/lib/components/Checklist/ChecklistIcon.js +7 -6
  222. package/lib/components/Coachmark/Coachmark.js +21 -20
  223. package/lib/components/Coachmark/CoachmarkDragbar.js +10 -9
  224. package/lib/components/Coachmark/CoachmarkHeader.js +8 -7
  225. package/lib/components/Coachmark/CoachmarkOverlay.js +10 -9
  226. package/lib/components/Coachmark/CoachmarkTagline.js +8 -7
  227. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +7 -6
  228. package/lib/components/CoachmarkButton/CoachmarkButton.js +6 -5
  229. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +11 -10
  230. package/lib/components/CoachmarkOverlayElement/CoachmarkOverlayElement.js +8 -7
  231. package/lib/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +16 -15
  232. package/lib/components/CoachmarkStack/CoachmarkStack.js +20 -19
  233. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +17 -16
  234. package/lib/components/ComboButton/ComboButton.js +7 -6
  235. package/lib/components/CreateFullPage/CreateFullPage.js +29 -28
  236. package/lib/components/CreateFullPage/CreateFullPageStep.js +18 -17
  237. package/lib/components/CreateInfluencer/CreateInfluencer.js +13 -12
  238. package/lib/components/CreateModal/CreateModal.js +16 -15
  239. package/lib/components/CreateSidePanel/CreateSidePanel.js +21 -20
  240. package/lib/components/CreateTearsheet/CreateTearsheet.js +27 -20
  241. package/lib/components/CreateTearsheet/CreateTearsheetDivider.js +5 -4
  242. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +19 -18
  243. package/lib/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +21 -20
  244. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +22 -21
  245. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +60 -58
  246. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +42 -40
  247. package/lib/components/DataSpreadsheet/utils/checkForHoldingKey.d.ts +1 -0
  248. package/lib/components/DataSpreadsheet/utils/checkForHoldingKey.js +21 -0
  249. package/lib/components/Datagrid/Datagrid/Datagrid.js +15 -7
  250. package/lib/components/Datagrid/Datagrid/DatagridContent.d.ts +3 -1
  251. package/lib/components/Datagrid/Datagrid/DatagridContent.js +37 -32
  252. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +8 -3
  253. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +14 -9
  254. package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +3 -2
  255. package/lib/components/Datagrid/Datagrid/DatagridRow.js +20 -15
  256. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +4 -3
  257. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +14 -13
  258. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +3 -2
  259. package/lib/components/Datagrid/Datagrid/DatagridToolbar.d.ts +10 -1
  260. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +24 -6
  261. package/lib/components/Datagrid/Datagrid/DraggableElement.js +13 -12
  262. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +15 -14
  263. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +25 -24
  264. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +27 -26
  265. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +37 -14
  266. package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.d.ts +4 -1
  267. package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +6 -0
  268. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +98 -2
  269. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +11 -0
  270. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +15 -14
  271. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +20 -19
  272. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +9 -8
  273. package/lib/components/Datagrid/Datagrid/addons/stateReducer.js +1 -1
  274. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  275. package/lib/components/Datagrid/useColumnCenterAlign.js +3 -2
  276. package/lib/components/Datagrid/useColumnRightAlign.js +3 -2
  277. package/lib/components/Datagrid/useDefaultStringRenderer.js +4 -3
  278. package/lib/components/Datagrid/useFiltering.js +46 -45
  279. package/lib/components/Datagrid/useFloatingScroll.js +6 -2
  280. package/lib/components/Datagrid/useInlineEdit.js +4 -3
  281. package/lib/components/Datagrid/useNestedRowExpander.js +4 -3
  282. package/lib/components/Datagrid/useNestedRows.js +6 -2
  283. package/lib/components/Datagrid/useRowExpander.js +3 -2
  284. package/lib/components/Datagrid/useSelectAllToggle.js +7 -4
  285. package/lib/components/Datagrid/useSelectRows.js +5 -4
  286. package/lib/components/Datagrid/useSortableColumns.js +3 -2
  287. package/lib/components/Datagrid/useStickyColumn.js +4 -3
  288. package/lib/components/DelimitedList/DelimitedList.js +8 -7
  289. package/lib/components/EditFullPage/EditFullPage.js +6 -5
  290. package/lib/components/EditInPlace/EditInPlace.js +23 -22
  291. package/lib/components/EditSidePanel/EditSidePanel.js +23 -22
  292. package/lib/components/EditTearsheet/EditTearsheet.js +18 -17
  293. package/lib/components/EditTearsheet/EditTearsheetForm.js +11 -10
  294. package/lib/components/EditTearsheetNarrow/EditTearsheetNarrow.js +6 -5
  295. package/lib/components/EditUpdateCards/EditUpdateCards.js +31 -30
  296. package/lib/components/EmptyStates/EmptyState.js +20 -19
  297. package/lib/components/EmptyStates/EmptyStateContent.js +16 -15
  298. package/lib/components/EmptyStates/EmptyStateV2.js +20 -19
  299. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +18 -17
  300. package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +18 -17
  301. package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +18 -17
  302. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +18 -17
  303. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +18 -17
  304. package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +18 -17
  305. package/lib/components/EmptyStates/assets/ErrorIllustration.js +7 -6
  306. package/lib/components/EmptyStates/assets/NoDataIllustration.js +7 -6
  307. package/lib/components/EmptyStates/assets/NoTagsIllustration.js +7 -6
  308. package/lib/components/EmptyStates/assets/NotFoundIllustration.js +7 -6
  309. package/lib/components/EmptyStates/assets/NotificationsIllustration.js +7 -6
  310. package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +7 -6
  311. package/lib/components/ExportModal/ExportModal.js +30 -29
  312. package/lib/components/FilterSummary/FilterSummary.js +13 -12
  313. package/lib/components/FullPageError/FullPageError.js +13 -12
  314. package/lib/components/Guidebanner/Guidebanner.js +20 -19
  315. package/lib/components/Guidebanner/GuidebannerElement.js +8 -7
  316. package/lib/components/Guidebanner/GuidebannerElementButton.js +8 -7
  317. package/lib/components/Guidebanner/GuidebannerElementLink.js +6 -5
  318. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +11 -10
  319. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +11 -10
  320. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +11 -10
  321. package/lib/components/ImportModal/ImportModal.js +32 -31
  322. package/lib/components/InlineTip/InlineTip.js +21 -20
  323. package/lib/components/InlineTip/InlineTipButton.js +6 -5
  324. package/lib/components/InlineTip/InlineTipLink.js +6 -5
  325. package/lib/components/InterstitialScreen/InterstitialScreen.js +13 -12
  326. package/lib/components/InterstitialScreenView/InterstitialScreenView.js +7 -6
  327. package/lib/components/InterstitialScreenViewModule/InterstitialScreenViewModule.js +7 -6
  328. package/lib/components/NonLinearReading/NonLinearReading.js +9 -8
  329. package/lib/components/NotificationsPanel/NotificationsPanel.js +59 -58
  330. package/lib/components/OptionsTile/OptionsTile.js +21 -20
  331. package/lib/components/PageHeader/PageHeader.js +74 -73
  332. package/lib/components/PageHeader/PageHeaderTitle.js +21 -20
  333. package/lib/components/PageHeader/PageHeaderUtils.js +3 -2
  334. package/lib/components/RemoveModal/RemoveModal.js +22 -21
  335. package/lib/components/Saving/Saving.js +18 -17
  336. package/lib/components/SearchBar/SearchBar.js +20 -19
  337. package/lib/components/SidePanel/SidePanel.js +58 -50
  338. package/lib/components/SidePanel/motion/variants.d.ts +39 -12
  339. package/lib/components/SidePanel/motion/variants.js +42 -10
  340. package/lib/components/SimpleHeader/SimpleHeader.js +17 -16
  341. package/lib/components/StatusIcon/StatusIcon.js +9 -8
  342. package/lib/components/SteppedAnimatedMedia/SteppedAnimatedMedia.js +7 -6
  343. package/lib/components/StringFormatter/StringFormatter.d.ts +6 -0
  344. package/lib/components/StringFormatter/StringFormatter.js +86 -0
  345. package/lib/components/StringFormatter/index.d.ts +1 -0
  346. package/lib/components/StringFormatter/utils/enums.d.ts +14 -0
  347. package/lib/components/StringFormatter/utils/enums.js +27 -0
  348. package/lib/components/TagSet/TagSet.js +21 -20
  349. package/lib/components/TagSet/TagSetModal.js +13 -12
  350. package/lib/components/TagSet/TagSetOverflow.js +18 -17
  351. package/lib/components/Tearsheet/TearsheetShell.js +42 -36
  352. package/lib/components/Toolbar/Toolbar.js +7 -6
  353. package/lib/components/Toolbar/ToolbarButton.js +9 -8
  354. package/lib/components/Toolbar/ToolbarGroup.js +6 -5
  355. package/lib/components/TooltipTrigger/TooltipTrigger.js +6 -5
  356. package/lib/components/TruncatedList/TruncatedList.js +14 -13
  357. package/lib/components/UserAvatar/UserAvatar.js +61 -44
  358. package/lib/components/UserProfileImage/UserProfileImage.js +3 -2
  359. package/lib/components/WebTerminal/WebTerminal.js +14 -13
  360. package/lib/components/WebTerminal/WebTerminalContentWrapper.js +5 -4
  361. package/lib/components/_Canary/Canary.js +6 -5
  362. package/lib/components/index.d.ts +2 -0
  363. package/lib/global/js/hooks/index.d.ts +1 -0
  364. package/lib/global/js/hooks/useIsomorphicEffect.d.ts +2 -0
  365. package/lib/global/js/hooks/useIsomorphicEffect.js +18 -0
  366. package/lib/global/js/package-settings.d.ts +2 -0
  367. package/lib/global/js/package-settings.js +2 -0
  368. package/lib/index.js +10 -0
  369. package/lib/node_modules/prop-types/index.js +1 -1
  370. package/lib/settings.d.ts +2 -0
  371. package/package.json +8 -7
  372. package/scss/components/BigNumbers/_big-numbers.scss +151 -0
  373. package/scss/components/BigNumbers/_carbon-imports.scss +11 -0
  374. package/scss/components/BigNumbers/_index-with-carbon.scss +9 -0
  375. package/scss/components/BigNumbers/_index.scss +8 -0
  376. package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +0 -1
  377. package/scss/components/Datagrid/styles/_datagrid.scss +61 -4
  378. package/scss/components/FullPageError/_full-page-error.scss +2 -2
  379. package/scss/components/SidePanel/_side-panel.scss +9 -2
  380. package/scss/components/StringFormatter/_carbon-imports.scss +10 -0
  381. package/scss/components/StringFormatter/_index-with-carbon.scss +9 -0
  382. package/scss/components/StringFormatter/_index.scss +8 -0
  383. package/scss/components/StringFormatter/_string-formatter.scss +97 -0
  384. package/scss/components/Tearsheet/_tearsheet.scss +38 -7
  385. package/scss/components/UserAvatar/_user-avatar.scss +40 -0
  386. package/scss/components/_index-with-carbon.scss +2 -0
  387. package/scss/components/_index.scss +2 -0
  388. package/es/_virtual/index2.js +0 -10
  389. package/es/node_modules/classnames/index.js +0 -70
  390. package/lib/_virtual/index2.js +0 -14
  391. package/lib/node_modules/classnames/index.js +0 -74
@@ -16,8 +16,8 @@ var React = require('react');
16
16
  var variants = require('./motion/variants.js');
17
17
  var icons = require('@carbon/react/icons');
18
18
  var FilterProvider = require('./FilterProvider.js');
19
- var index$1 = require('../../../../../node_modules/prop-types/index.js');
20
- var index = require('../../../../../node_modules/classnames/index.js');
19
+ var index = require('../../../../../node_modules/prop-types/index.js');
20
+ var cx = require('classnames');
21
21
  var framerMotion = require('framer-motion');
22
22
  var settings = require('../../../../../settings.js');
23
23
  var layout = require('@carbon/layout');
@@ -29,6 +29,7 @@ var useSubscribeToEventEmitter = require('./hooks/useSubscribeToEventEmitter.js'
29
29
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
30
30
 
31
31
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
32
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
32
33
 
33
34
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
34
35
  var componentClass = "".concat(blockClass, "-filter-panel");
@@ -199,7 +200,7 @@ var FilterPanel = function FilterPanel(_ref) {
199
200
  };
200
201
  return /*#__PURE__*/React__default["default"].createElement(framerMotion.motion.div, {
201
202
  ref: filterPanelRef,
202
- className: index["default"](componentClass, "".concat(componentClass, "__container"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(componentClass, "--open"), panelOpen), "".concat(componentClass, "--batch"), showActionSet), "".concat(componentClass, "--instant"), !showActionSet)),
203
+ className: cx__default["default"](componentClass, "".concat(componentClass, "__container"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(componentClass, "--open"), panelOpen), "".concat(componentClass, "--batch"), showActionSet), "".concat(componentClass, "--instant"), !showActionSet)),
203
204
  initial: false,
204
205
  animate: panelOpen ? 'visible' : 'hidden',
205
206
  custom: shouldReduceMotion,
@@ -209,7 +210,7 @@ var FilterPanel = function FilterPanel(_ref) {
209
210
  variants: variants.innerContainerVariants
210
211
  }, /*#__PURE__*/React__default["default"].createElement("header", {
211
212
  ref: filterHeadingRef,
212
- className: index["default"]("".concat(componentClass, "__heading"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(componentClass, "__heading--with-divider"), showDividerLine))
213
+ className: cx__default["default"]("".concat(componentClass, "__heading"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(componentClass, "__heading--with-divider"), showDividerLine))
213
214
  }, /*#__PURE__*/React__default["default"].createElement("div", {
214
215
  className: "".concat(componentClass, "__title")
215
216
  }, title), /*#__PURE__*/React__default["default"].createElement(react.Button, {
@@ -265,32 +266,32 @@ var FilterPanel = function FilterPanel(_ref) {
265
266
  })), renderActionSet()));
266
267
  };
267
268
  FilterPanel.propTypes = {
268
- autoHideFilters: index$1["default"].bool,
269
- closeIconDescription: index$1["default"].string,
270
- filterPanelMinHeight: index$1["default"].number,
271
- filterSections: index$1["default"].array,
272
- isFetching: index$1["default"].bool,
273
- onApply: index$1["default"].func,
274
- onCancel: index$1["default"].func,
275
- onPanelClose: index$1["default"].func,
276
- onPanelOpen: index$1["default"].func,
277
- open: index$1["default"].bool,
278
- primaryActionLabel: index$1["default"].string,
269
+ autoHideFilters: index["default"].bool,
270
+ closeIconDescription: index["default"].string,
271
+ filterPanelMinHeight: index["default"].number,
272
+ filterSections: index["default"].array,
273
+ isFetching: index["default"].bool,
274
+ onApply: index["default"].func,
275
+ onCancel: index["default"].func,
276
+ onPanelClose: index["default"].func,
277
+ onPanelOpen: index["default"].func,
278
+ open: index["default"].bool,
279
+ primaryActionLabel: index["default"].string,
279
280
  /**
280
281
  * Filters from react table's state
281
282
  */
282
- reactTableFiltersState: index$1["default"].arrayOf(index$1["default"].shape({
283
- id: index$1["default"].string.isRequired,
284
- type: index$1["default"].string.isRequired,
285
- value: index$1["default"].any.isRequired
283
+ reactTableFiltersState: index["default"].arrayOf(index["default"].shape({
284
+ id: index["default"].string.isRequired,
285
+ type: index["default"].string.isRequired,
286
+ value: index["default"].any.isRequired
286
287
  })),
287
- searchLabelText: index$1["default"].string,
288
- searchPlaceholder: index$1["default"].string,
289
- secondaryActionLabel: index$1["default"].string,
290
- setAllFilters: index$1["default"].func.isRequired,
291
- showFilterSearch: index$1["default"].bool,
292
- title: index$1["default"].string,
293
- updateMethod: index$1["default"].oneOf([constants.BATCH, constants.INSTANT])
288
+ searchLabelText: index["default"].string,
289
+ searchPlaceholder: index["default"].string,
290
+ secondaryActionLabel: index["default"].string,
291
+ setAllFilters: index["default"].func.isRequired,
292
+ showFilterSearch: index["default"].bool,
293
+ title: index["default"].string,
294
+ updateMethod: index["default"].oneOf([constants.BATCH, constants.INSTANT])
294
295
  };
295
296
  var FilterPanel$1 = FilterPanel;
296
297
 
@@ -41,7 +41,7 @@ var removeFilterItem = function removeFilterItem(state, index) {
41
41
  return state.splice(index, 1);
42
42
  };
43
43
  var updateFilterState = function updateFilterState(state, type, value) {
44
- if (type === constants.CHECKBOX) {
44
+ if (type === constants.CHECKBOX || type === constants.MULTISELECT) {
45
45
  return;
46
46
  }
47
47
  if (type === constants.DATE) {
@@ -64,7 +64,7 @@ var clearSingleFilter = function clearSingleFilter(_ref, setAllFilters, state) {
64
64
  var filterValues = f.value;
65
65
  var filterType = f.type;
66
66
  updateFilterState(tempState, filterType, value);
67
- if (filterType === constants.CHECKBOX) {
67
+ if (filterType === constants.CHECKBOX || filterType === constants.MULTISELECT) {
68
68
  /**
69
69
  When all checkboxes of a group are all unselected the value still exists in the filtersObjectArray
70
70
  This checks if all the checkboxes are selected = false and removes it from the array
@@ -130,15 +130,15 @@ var prepareFiltersForTags = function prepareFiltersForTags(filters, renderDateLa
130
130
  key: id,
131
131
  value: (_renderDateLabel = renderDateLabel === null || renderDateLabel === void 0 ? void 0 : renderDateLabel(startDate, endDate)) !== null && _renderDateLabel !== void 0 ? _renderDateLabel : formatDateRange(startDate, endDate)
132
132
  }, sharedFilterProps));
133
- } else if (type === constants.CHECKBOX) {
134
- value.forEach(function (checkbox) {
135
- if (checkbox.selected) {
133
+ } else if (type === constants.CHECKBOX || type === constants.MULTISELECT) {
134
+ value.forEach(function (option) {
135
+ if (option.selected) {
136
136
  tags.push(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({
137
137
  key: id,
138
- value: checkbox.value
138
+ value: option.value
139
139
  }, sharedFilterProps), {}, {
140
140
  onClose: function onClose() {
141
- return handleSingleFilterRemoval(id, checkbox.value);
141
+ return handleSingleFilterRemoval(id, option.value);
142
142
  }
143
143
  }));
144
144
  }
@@ -147,22 +147,45 @@ var prepareFiltersForTags = function prepareFiltersForTags(filters, renderDateLa
147
147
  });
148
148
  return tags;
149
149
  };
150
- var FilterProvider = function FilterProvider(_ref3) {
151
- var children = _ref3.children,
152
- filters = _ref3.filters,
153
- filterProps = _ref3.filterProps;
154
- var _ref4 = filterProps || {},
155
- renderDateLabel = _ref4.renderDateLabel;
150
+ var filteringReducer = function filteringReducer(state, action) {
151
+ switch (action.type) {
152
+ case constants.SAVED_FILTERS:
153
+ {
154
+ var _ref3 = action.payload || {},
155
+ savedFilters = _ref3.savedFilters;
156
+ return _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, state), {}, {
157
+ savedFilters: savedFilters
158
+ });
159
+ }
160
+ default:
161
+ return state;
162
+ }
163
+ };
164
+ var FilterProvider = function FilterProvider(_ref4) {
165
+ var children = _ref4.children,
166
+ filters = _ref4.filters,
167
+ filterProps = _ref4.filterProps;
168
+ var _ref5 = filterProps || {},
169
+ renderDateLabel = _ref5.renderDateLabel;
156
170
  var filterTags = prepareFiltersForTags(filters, renderDateLabel);
157
171
  var _useState = React.useState(false),
158
172
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
159
173
  panelOpen = _useState2[0],
160
174
  setPanelOpen = _useState2[1];
175
+ var initialState = {
176
+ savedFilters: []
177
+ };
178
+ var _useReducer = React.useReducer(filteringReducer, initialState),
179
+ _useReducer2 = _rollupPluginBabelHelpers.slicedToArray(_useReducer, 2),
180
+ state = _useReducer2[0],
181
+ dispatch = _useReducer2[1];
161
182
  var value = {
162
183
  filterTags: filterTags,
163
184
  EventEmitter: EventEmitter,
164
185
  panelOpen: panelOpen,
165
- setPanelOpen: setPanelOpen
186
+ setPanelOpen: setPanelOpen,
187
+ state: state,
188
+ dispatch: dispatch
166
189
  };
167
190
  return /*#__PURE__*/React__default["default"].createElement(FilterContext.Provider, {
168
191
  value: value
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2022, 2022
2
+ * Copyright IBM Corp. 2022, 2024
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -16,9 +16,12 @@ export const NUMBER: "number";
16
16
  export const CHECKBOX: "checkbox";
17
17
  export const RADIO: "radio";
18
18
  export const DROPDOWN: "dropdown";
19
+ export const MULTISELECT: "multiSelect";
19
20
  /** Constants for event emitters */
20
21
  export const CLEAR_FILTERS: "clearFilters";
21
22
  export const CLEAR_SINGLE_FILTER: "clearSingleFilter";
22
23
  /** Constants for panel dimensions */
23
24
  export const PANEL_WIDTH: 320;
24
25
  export const ACTION_SET_HEIGHT: 64;
26
+ /** Constants for local reducer */
27
+ export const SAVED_FILTERS: "savedFilters";
@@ -23,6 +23,7 @@ var NUMBER = 'number';
23
23
  var CHECKBOX = 'checkbox';
24
24
  var RADIO = 'radio';
25
25
  var DROPDOWN = 'dropdown';
26
+ var MULTISELECT = 'multiSelect';
26
27
 
27
28
  /** Constants for event emitters */
28
29
  var CLEAR_FILTERS = 'clearFilters';
@@ -32,6 +33,9 @@ var CLEAR_SINGLE_FILTER = 'clearSingleFilter';
32
33
  var PANEL_WIDTH = 320;
33
34
  var ACTION_SET_HEIGHT = 64;
34
35
 
36
+ /** Constants for local reducer */
37
+ var SAVED_FILTERS = 'savedFilters';
38
+
35
39
  exports.ACTION_SET_HEIGHT = ACTION_SET_HEIGHT;
36
40
  exports.BATCH = BATCH;
37
41
  exports.CHECKBOX = CHECKBOX;
@@ -41,7 +45,9 @@ exports.DATE = DATE;
41
45
  exports.DROPDOWN = DROPDOWN;
42
46
  exports.FLYOUT = FLYOUT;
43
47
  exports.INSTANT = INSTANT;
48
+ exports.MULTISELECT = MULTISELECT;
44
49
  exports.NUMBER = NUMBER;
45
50
  exports.PANEL = PANEL;
46
51
  exports.PANEL_WIDTH = PANEL_WIDTH;
47
52
  exports.RADIO = RADIO;
53
+ exports.SAVED_FILTERS = SAVED_FILTERS;
@@ -15,6 +15,7 @@ var react = require('@carbon/react');
15
15
  var React = require('react');
16
16
  var OverflowCheckboxes = require('../OverflowCheckboxes.js');
17
17
  var utils = require('../utils.js');
18
+ var FilterProvider = require('../FilterProvider.js');
18
19
  var handleCheckboxChange = require('../handleCheckboxChange.js');
19
20
  var usePreviousValue = require('../../../../../../global/js/hooks/usePreviousValue.js');
20
21
 
@@ -33,6 +34,10 @@ var useFilters = function useFilters(_ref) {
33
34
  panelOpen = _ref.panelOpen,
34
35
  autoHideFilters = _ref.autoHideFilters,
35
36
  isFetching = _ref.isFetching;
37
+ var _useContext = React.useContext(FilterProvider.FilterContext),
38
+ state = _useContext.state,
39
+ localDispatch = _useContext.dispatch;
40
+ var savedFilters = state.savedFilters;
36
41
  /** State */
37
42
  var _useState = React.useState(utils.getInitialStateFromFilters(filters, variation, reactTableFiltersState)),
38
43
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
@@ -118,7 +123,7 @@ var useFilters = function useFilters(_ref) {
118
123
  var id = _ref3.id;
119
124
  return id === column;
120
125
  });
121
- var clearCheckbox = type === constants.CHECKBOX && filterCopy[index].value.every(function (_ref4) {
126
+ var clearCheckbox = (type === constants.CHECKBOX || type === constants.MULTISELECT) && filterCopy[index].value.every(function (_ref4) {
122
127
  var selected = _ref4.selected;
123
128
  return selected === false;
124
129
  });
@@ -130,6 +135,16 @@ var useFilters = function useFilters(_ref) {
130
135
  filterCopy.splice(index, 1);
131
136
  }
132
137
  setFiltersObjectArray(filterCopy);
138
+
139
+ // Dispatch action from local filter context to track filters in order
140
+ // to keep history if `isFetching` becomes true. If so, react-table
141
+ // clears all filter history
142
+ localDispatch({
143
+ type: constants.SAVED_FILTERS,
144
+ payload: {
145
+ savedFilters: filterCopy
146
+ }
147
+ });
133
148
  if (updateMethod === constants.INSTANT) {
134
149
  setAllFilters(filterCopy);
135
150
  }
@@ -280,6 +295,70 @@ var useFilters = function useFilters(_ref) {
280
295
  }
281
296
  }));
282
297
  break;
298
+ case constants.MULTISELECT:
299
+ {
300
+ var _filtersState$column5;
301
+ var isStringArray = components.MultiSelect.items.length && typeof components.MultiSelect.items[0] === 'string';
302
+ var selectedFilters = (_filtersState$column5 = filtersState[column]) === null || _filtersState$column5 === void 0 ? void 0 : _filtersState$column5.value.filter(function (i) {
303
+ return i.selected;
304
+ });
305
+ var filteredItems = components.MultiSelect.items.map(function (item) {
306
+ if (selectedFilters.filter(function (a) {
307
+ return isStringArray ? a.id === item : a.id === item.id;
308
+ }).length) {
309
+ return item;
310
+ }
311
+ return null;
312
+ }).filter(Boolean);
313
+ filter = /*#__PURE__*/React__default["default"].createElement(react.MultiSelect, _rollupPluginBabelHelpers["extends"]({}, components.MultiSelect, {
314
+ selectedItems: filteredItems,
315
+ onChange: function onChange(_ref9) {
316
+ var _components$MultiSele, _components$MultiSele2;
317
+ var selectedItems = _ref9.selectedItems;
318
+ var allOptions = filtersState[column].value;
319
+ // Find selected items from list of options
320
+ var foundItems = selectedItems.map(function (item) {
321
+ if (allOptions.filter(function (option) {
322
+ return isStringArray ? option.id === item : option.id === item.id;
323
+ })) {
324
+ return allOptions.filter(function (option) {
325
+ return isStringArray ? option.id === item : option.id === item.id;
326
+ })[0];
327
+ }
328
+ return null;
329
+ }).filter(Boolean);
330
+
331
+ // Change selected state for those items that have been selected
332
+ allOptions.map(function (a) {
333
+ return a.selected = false;
334
+ });
335
+ foundItems.map(function (item) {
336
+ var foundOriginalItem = allOptions.filter(function (a) {
337
+ return isStringArray ? a === item : a.id === item.id;
338
+ });
339
+ if (foundOriginalItem && foundOriginalItem.length) {
340
+ foundOriginalItem[0].selected = true;
341
+ }
342
+ });
343
+ if (!selectedItems.length) {
344
+ allOptions.map(function (a) {
345
+ return a.selected = false;
346
+ });
347
+ }
348
+ setFiltersState(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, filtersState), {}, _rollupPluginBabelHelpers.defineProperty({}, column, {
349
+ value: allOptions,
350
+ type: type
351
+ })));
352
+ applyFilters({
353
+ column: column,
354
+ value: _rollupPluginBabelHelpers.toConsumableArray(filtersState[column].value),
355
+ type: type
356
+ });
357
+ (_components$MultiSele = components.MultiSelect) === null || _components$MultiSele === void 0 || (_components$MultiSele2 = _components$MultiSele.onChange) === null || _components$MultiSele2 === void 0 || _components$MultiSele2.call(_components$MultiSele, selectedItems);
358
+ }
359
+ }));
360
+ break;
361
+ }
283
362
  }
284
363
  if (isPanel) {
285
364
  return /*#__PURE__*/React__default["default"].createElement(react.Layer, {
@@ -320,10 +399,27 @@ var useFilters = function useFilters(_ref) {
320
399
  setAllFilters(JSON.parse(prevFiltersObjectArrayRef.current));
321
400
  setFetchingReset(true);
322
401
  }
402
+ if (isFetching && fetchingReset) {
403
+ var cleanFilters = function cleanFilters(originalFilterState) {
404
+ var copy = _rollupPluginBabelHelpers.objectSpread2({}, originalFilterState);
405
+ var updatedFilters = savedFilters.map(function (f) {
406
+ if (Object.hasOwn(copy, f.id)) {
407
+ copy[f.id] = f;
408
+ return copy;
409
+ }
410
+ return copy;
411
+ });
412
+ return updatedFilters[0];
413
+ };
414
+ setFiltersObjectArray(savedFilters);
415
+ var filterStateCopy = cleanFilters(filtersState);
416
+ setFiltersState(filterStateCopy);
417
+ }
323
418
  if (!isFetching) {
324
419
  setFetchingReset(false);
325
420
  }
326
- }, [isFetching, reactTableFiltersState, setAllFilters, fetchingReset]);
421
+ // eslint-disable-next-line react-hooks/exhaustive-deps
422
+ }, [isFetching, reactTableFiltersState, setAllFilters, fetchingReset, savedFilters, filtersObjectArray]);
327
423
  var cancel = function cancel() {
328
424
  // Reverting to previous filters only applies when using batch actions
329
425
  if (updateMethod === constants.BATCH) {
@@ -67,6 +67,17 @@ var getInitialStateFromFilters = function getInitialStateFromFilters(filters, va
67
67
  value: '',
68
68
  type: type
69
69
  };
70
+ } else if (type === constants.MULTISELECT) {
71
+ initialFilterState[column] = {
72
+ value: props.MultiSelect.items.map(function (item) {
73
+ return {
74
+ id: typeof item === 'string' ? item : item.id,
75
+ value: typeof item === 'string' ? item : item.text,
76
+ selected: false
77
+ };
78
+ }),
79
+ type: type
80
+ };
70
81
  }
71
82
  };
72
83
  if (variation === constants.FLYOUT) {
@@ -11,13 +11,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
11
11
 
12
12
  var _rollupPluginBabelHelpers = require('../../../../../../_virtual/_rollupPluginBabelHelpers.js');
13
13
  var React = require('react');
14
- var index = require('../../../../../../node_modules/classnames/index.js');
15
- var index$1 = require('../../../../../../node_modules/prop-types/index.js');
14
+ var cx = require('classnames');
15
+ var index = require('../../../../../../node_modules/prop-types/index.js');
16
16
  var settings = require('../../../../../../settings.js');
17
17
 
18
18
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
19
 
20
20
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
21
22
 
22
23
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
23
24
  var InlineEditButton = function InlineEditButton(_ref) {
@@ -31,7 +32,7 @@ var InlineEditButton = function InlineEditButton(_ref) {
31
32
  columnConfig = _ref.columnConfig,
32
33
  type = _ref.type;
33
34
  return /*#__PURE__*/React__default["default"].createElement("div", {
34
- className: index["default"]("".concat(blockClass, "__inline-edit-button"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit-button--disabled"), disabled || nonEditCell), "".concat(blockClass, "__inline-edit-button--with-label-icon"), LabelIcon), "".concat(blockClass, "__inline-edit-button--non-edit"), nonEditCell), "".concat(blockClass, "__inline-edit-button--active"), isActiveCell), "".concat(blockClass, "__inline-edit-button--").concat(type), type === 'date' || type === 'selection')),
35
+ className: cx__default["default"]("".concat(blockClass, "__inline-edit-button"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit-button--disabled"), disabled || nonEditCell), "".concat(blockClass, "__inline-edit-button--with-label-icon"), LabelIcon), "".concat(blockClass, "__inline-edit-button--non-edit"), nonEditCell), "".concat(blockClass, "__inline-edit-button--active"), isActiveCell), "".concat(blockClass, "__inline-edit-button--").concat(type), type === 'date' || type === 'selection')),
35
36
  tabIndex: isActiveCell ? 0 : -1,
36
37
  "data-disabled": disabled || nonEditCell,
37
38
  "aria-disabled": disabled || nonEditCell,
@@ -40,7 +41,7 @@ var InlineEditButton = function InlineEditButton(_ref) {
40
41
  }, LabelIcon && /*#__PURE__*/React__default["default"].createElement("div", {
41
42
  className: "".concat(blockClass, "__label-icon")
42
43
  }, /*#__PURE__*/React__default["default"].createElement(LabelIcon, null)), label !== '' ? /*#__PURE__*/React__default["default"].createElement("span", {
43
- className: index["default"]("".concat(blockClass, "__inline-edit-button-label"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit-button-label-with-icon"), !nonEditCell), "".concat(blockClass, "__defaultStringRenderer--multiline"), columnConfig === null || columnConfig === void 0 ? void 0 : columnConfig.multiLineWrap))
44
+ className: cx__default["default"]("".concat(blockClass, "__inline-edit-button-label"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit-button-label-with-icon"), !nonEditCell), "".concat(blockClass, "__defaultStringRenderer--multiline"), columnConfig === null || columnConfig === void 0 ? void 0 : columnConfig.multiLineWrap))
44
45
  }, label) : /*#__PURE__*/React__default["default"].createElement("span", {
45
46
  className: "".concat(blockClass, "__placeholder")
46
47
  }, placeholder), !nonEditCell && Icon && /*#__PURE__*/React__default["default"].createElement("div", {
@@ -48,16 +49,16 @@ var InlineEditButton = function InlineEditButton(_ref) {
48
49
  }, /*#__PURE__*/React__default["default"].createElement(Icon, null)));
49
50
  };
50
51
  InlineEditButton.propTypes = {
51
- columnConfig: index$1["default"].object,
52
- disabled: index$1["default"].bool,
53
- isActiveCell: index$1["default"].bool,
54
- label: index$1["default"].oneOfType([index$1["default"].string, index$1["default"].number]),
55
- labelIcon: index$1["default"].oneOfType([index$1["default"].func, index$1["default"].object]),
56
- nonEditCell: index$1["default"].bool,
57
- placeholder: index$1["default"].string,
58
- renderIcon: index$1["default"].oneOfType([index$1["default"].func, index$1["default"].object]),
59
- type: index$1["default"].oneOf(['text', 'number', 'selection', 'date']),
60
- value: index$1["default"].oneOfType([index$1["default"].string, index$1["default"].node])
52
+ columnConfig: index["default"].object,
53
+ disabled: index["default"].bool,
54
+ isActiveCell: index["default"].bool,
55
+ label: index["default"].oneOfType([index["default"].string, index["default"].number]),
56
+ labelIcon: index["default"].oneOfType([index["default"].func, index["default"].object]),
57
+ nonEditCell: index["default"].bool,
58
+ placeholder: index["default"].string,
59
+ renderIcon: index["default"].oneOfType([index["default"].func, index["default"].object]),
60
+ type: index["default"].oneOf(['text', 'number', 'selection', 'date']),
61
+ value: index["default"].oneOfType([index["default"].string, index["default"].node])
61
62
  };
62
63
 
63
64
  exports.InlineEditButton = InlineEditButton;
@@ -11,11 +11,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
11
11
 
12
12
  var _rollupPluginBabelHelpers = require('../../../../../../_virtual/_rollupPluginBabelHelpers.js');
13
13
  var React = require('react');
14
- var index$1 = require('../../../../../../node_modules/prop-types/index.js');
14
+ var index = require('../../../../../../node_modules/prop-types/index.js');
15
15
  var react = require('@carbon/react');
16
16
  var icons = require('@carbon/react/icons');
17
17
  var settings = require('../../../../../../settings.js');
18
- var index = require('../../../../../../node_modules/classnames/index.js');
18
+ var cx = require('classnames');
19
19
  var propsHelper = require('../../../../../../global/js/utils/props-helper.js');
20
20
  var InlineEditContext = require('../InlineEditContext/InlineEditContext.js');
21
21
  var usePreviousValue = require('../../../../../../global/js/hooks/usePreviousValue.js');
@@ -24,6 +24,7 @@ var InlineEditButton = require('../InlineEditButton/InlineEditButton.js');
24
24
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
25
25
 
26
26
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
27
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
27
28
 
28
29
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
29
30
  var InlineEditCell = function InlineEditCell(_ref) {
@@ -252,7 +253,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
252
253
  var renderDropdownItem = function renderDropdownItem(item) {
253
254
  var includesIcon = !!(item !== null && item !== void 0 && item.icon);
254
255
  return includesIcon ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(item.icon), /*#__PURE__*/React__default["default"].createElement("span", {
255
- className: index["default"]("".concat(blockClass, "__inline-edit--select-item"))
256
+ className: cx__default["default"]("".concat(blockClass, "__inline-edit--select-item"))
256
257
  }, item === null || item === void 0 ? void 0 : item.text)) : item === null || item === void 0 ? void 0 : item.text;
257
258
  };
258
259
  var handleTransformedItem = function handleTransformedItem(items) {
@@ -272,7 +273,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
272
273
  style: {
273
274
  width: cell.column.totalWidth
274
275
  },
275
- className: index["default"]("".concat(blockClass, "__inline-edit--select"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit--select-").concat(rowSize), rowSize)),
276
+ className: cx__default["default"]("".concat(blockClass, "__inline-edit--select"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit--select-").concat(rowSize), rowSize)),
276
277
  items: (inputProps === null || inputProps === void 0 ? void 0 : inputProps.items) || [],
277
278
  initialSelectedItem: cell.value,
278
279
  itemToElement: handleTransformedItem(inputProps === null || inputProps === void 0 ? void 0 : inputProps.items),
@@ -334,7 +335,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
334
335
  width: cell.column.totalWidth
335
336
  },
336
337
  datePickerType: "single",
337
- className: index["default"]("".concat(blockClass, "__inline-edit--date"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit--date-").concat(rowSize), rowSize)),
338
+ className: cx__default["default"]("".concat(blockClass, "__inline-edit--date"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit--date-").concat(rowSize), rowSize)),
338
339
  onChange: function onChange(newDate) {
339
340
  var _datePickerPreparedPr;
340
341
  var newDateObj = newDate[0];
@@ -442,7 +443,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
442
443
  "data-inline-type": type,
443
444
  onClick: !nonEditCell ? handleInlineCellClick : addActiveState,
444
445
  onKeyDown: !nonEditCell ? handleKeyDown : null,
445
- className: index["default"]("".concat(blockClass, "__inline-edit--outer-cell-button"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit--outer-cell-button--").concat(rowSize), rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--lg"), !rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--invalid"), config === null || config === void 0 || (_config$validator = config.validator) === null || _config$validator === void 0 ? void 0 : _config$validator.call(config, cellValue)))
446
+ className: cx__default["default"]("".concat(blockClass, "__inline-edit--outer-cell-button"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit--outer-cell-button--").concat(rowSize), rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--lg"), !rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--invalid"), config === null || config === void 0 || (_config$validator = config.validator) === null || _config$validator === void 0 ? void 0 : _config$validator.call(config, cellValue)))
446
447
  }, !inEditMode && /*#__PURE__*/React__default["default"].createElement(InlineEditButton.InlineEditButton, {
447
448
  isActiveCell: cellId === activeCellId,
448
449
  renderIcon: setRenderIcon(),
@@ -457,20 +458,20 @@ var InlineEditCell = function InlineEditCell(_ref) {
457
458
  );
458
459
  };
459
460
  InlineEditCell.propTypes = {
460
- cell: index$1["default"].object,
461
- config: index$1["default"].object,
462
- instance: index$1["default"].shape({
463
- columns: index$1["default"].arrayOf(index$1["default"].object),
464
- onDataUpdate: index$1["default"].func,
465
- rows: index$1["default"].arrayOf(index$1["default"].object),
466
- rowSize: index$1["default"].string,
467
- tableId: index$1["default"].string
461
+ cell: index["default"].object,
462
+ config: index["default"].object,
463
+ instance: index["default"].shape({
464
+ columns: index["default"].arrayOf(index["default"].object),
465
+ onDataUpdate: index["default"].func,
466
+ rows: index["default"].arrayOf(index["default"].object),
467
+ rowSize: index["default"].string,
468
+ tableId: index["default"].string
468
469
  }),
469
- nonEditCell: index$1["default"].bool,
470
- placeholder: index$1["default"].string,
471
- tabIndex: index$1["default"].number,
472
- type: index$1["default"].oneOf(['text', 'number', 'selection', 'date']),
473
- value: index$1["default"].oneOfType([index$1["default"].string, index$1["default"].node, index$1["default"].object])
470
+ nonEditCell: index["default"].bool,
471
+ placeholder: index["default"].string,
472
+ tabIndex: index["default"].number,
473
+ type: index["default"].oneOf(['text', 'number', 'selection', 'date']),
474
+ value: index["default"].oneOfType([index["default"].string, index["default"].node, index["default"].object])
474
475
  };
475
476
 
476
477
  exports.InlineEditCell = InlineEditCell;
@@ -11,16 +11,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
11
11
 
12
12
  var _rollupPluginBabelHelpers = require('../../../../../_virtual/_rollupPluginBabelHelpers.js');
13
13
  var React = require('react');
14
- var index$1 = require('../../../../../node_modules/prop-types/index.js');
14
+ var index = require('../../../../../node_modules/prop-types/index.js');
15
15
  var icons = require('@carbon/react/icons');
16
16
  var react = require('@carbon/react');
17
- var index = require('../../../../../node_modules/classnames/index.js');
17
+ var cx = require('classnames');
18
18
  var RowSizeRadioGroup = require('./RowSizeRadioGroup.js');
19
19
  var settings = require('../../../../../settings.js');
20
20
 
21
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
22
 
23
23
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
24
25
 
25
26
  var _Settings;
26
27
  var _excluded = ["align", "legendText"];
@@ -75,7 +76,7 @@ var RowSizeDropdown = function RowSizeDropdown(_ref) {
75
76
  kind: "ghost",
76
77
  onClick: onClickHandler,
77
78
  label: legendText,
78
- className: index["default"]("".concat(blockClass, "-button"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__row-settings-trigger--open"), isOpen))
79
+ className: cx__default["default"]("".concat(blockClass, "-button"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__row-settings-trigger--open"), isOpen))
79
80
  }, _Settings || (_Settings = /*#__PURE__*/React__default["default"].createElement(icons.Settings, {
80
81
  size: 16
81
82
  }))), /*#__PURE__*/React__default["default"].createElement(react.PopoverContent, null, /*#__PURE__*/React__default["default"].createElement(react.Layer, null, /*#__PURE__*/React__default["default"].createElement(RowSizeRadioGroup["default"], _rollupPluginBabelHelpers["extends"]({
@@ -86,11 +87,11 @@ var RowSizeDropdown = function RowSizeDropdown(_ref) {
86
87
  };
87
88
  RowSizeDropdown.propTypes = {
88
89
  align: react.IconButton.propTypes.align,
89
- datagridName: index$1["default"].string,
90
- legendText: index$1["default"].string,
91
- light: index$1["default"].bool,
92
- onChange: index$1["default"].func.isRequired,
93
- selectedOption: index$1["default"].string
90
+ datagridName: index["default"].string,
91
+ legendText: index["default"].string,
92
+ light: index["default"].bool,
93
+ onChange: index["default"].func.isRequired,
94
+ selectedOption: index["default"].string
94
95
  };
95
96
  var RowSizeDropdown$1 = RowSizeDropdown;
96
97
 
@@ -120,7 +120,7 @@ var stateReducer = function stateReducer(newState, action) {
120
120
  var dataWithRemovedRow = Object.fromEntries(Object.entries(newData).filter(function (_ref5) {
121
121
  var _ref6 = _rollupPluginBabelHelpers.slicedToArray(_ref5, 1),
122
122
  key = _ref6[0];
123
- return parseInt(key) !== parseInt(rowData.index);
123
+ return parseInt(key) !== parseInt(_getRowId(rowData.original, rowData.index));
124
124
  }));
125
125
  return _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, newState), {}, {
126
126
  selectedRowData: dataWithRemovedRow