@carbon/ibm-products 2.27.0 → 2.28.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (334) hide show
  1. package/css/index-full-carbon.css +229 -116
  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 +56 -11
  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 +229 -116
  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 +217 -112
  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.js +1 -1
  30. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +1 -1
  31. package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +1 -1
  32. package/es/components/Card/Card.js +1 -1
  33. package/es/components/Card/CardFooter.js +1 -1
  34. package/es/components/Card/CardHeader.js +1 -1
  35. package/es/components/Carousel/Carousel.js +1 -1
  36. package/es/components/Carousel/CarouselItem.js +1 -1
  37. package/es/components/Cascade/Cascade.js +1 -1
  38. package/es/components/Checklist/Checklist.js +1 -1
  39. package/es/components/Checklist/ChecklistChart.js +1 -1
  40. package/es/components/Checklist/ChecklistIcon.js +1 -1
  41. package/es/components/Coachmark/Coachmark.js +1 -1
  42. package/es/components/Coachmark/CoachmarkDragbar.js +1 -1
  43. package/es/components/Coachmark/CoachmarkHeader.js +1 -1
  44. package/es/components/Coachmark/CoachmarkOverlay.js +1 -1
  45. package/es/components/Coachmark/CoachmarkTagline.js +1 -1
  46. package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -1
  47. package/es/components/CoachmarkButton/CoachmarkButton.js +1 -1
  48. package/es/components/CoachmarkFixed/CoachmarkFixed.js +1 -1
  49. package/es/components/CoachmarkOverlayElement/CoachmarkOverlayElement.js +1 -1
  50. package/es/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +1 -1
  51. package/es/components/CoachmarkStack/CoachmarkStack.js +1 -1
  52. package/es/components/CoachmarkStack/CoachmarkStackHome.js +1 -1
  53. package/es/components/ComboButton/ComboButton.js +1 -1
  54. package/es/components/CreateFullPage/CreateFullPage.js +1 -1
  55. package/es/components/CreateFullPage/CreateFullPageStep.js +1 -1
  56. package/es/components/CreateInfluencer/CreateInfluencer.js +1 -1
  57. package/es/components/CreateModal/CreateModal.js +1 -1
  58. package/es/components/CreateSidePanel/CreateSidePanel.js +1 -1
  59. package/es/components/CreateTearsheet/CreateTearsheet.js +8 -2
  60. package/es/components/CreateTearsheet/CreateTearsheetDivider.js +1 -1
  61. package/es/components/CreateTearsheet/CreateTearsheetStep.js +1 -1
  62. package/es/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +1 -1
  63. package/es/components/DataSpreadsheet/DataSpreadsheet.js +1 -1
  64. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +1 -1
  65. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +1 -1
  66. package/es/components/Datagrid/Datagrid/Datagrid.js +1 -1
  67. package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  68. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +8 -4
  69. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +1 -1
  70. package/es/components/Datagrid/Datagrid/DatagridRefBody.js +1 -1
  71. package/es/components/Datagrid/Datagrid/DatagridRow.js +19 -15
  72. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +1 -1
  73. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +1 -1
  74. package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +1 -1
  75. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +1 -1
  76. package/es/components/Datagrid/Datagrid/DraggableElement.js +1 -1
  77. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +1 -1
  78. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +1 -1
  79. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +1 -1
  80. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +8 -8
  81. package/es/components/Datagrid/Datagrid/addons/Filtering/constants.d.ts +1 -0
  82. package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +2 -1
  83. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +68 -4
  84. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +12 -1
  85. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +1 -1
  86. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +1 -1
  87. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +1 -1
  88. package/es/components/Datagrid/useActionsColumn.js +1 -1
  89. package/es/components/Datagrid/useColumnCenterAlign.js +1 -1
  90. package/es/components/Datagrid/useColumnRightAlign.js +1 -1
  91. package/es/components/Datagrid/useDefaultStringRenderer.js +1 -1
  92. package/es/components/Datagrid/useFiltering.js +48 -47
  93. package/es/components/Datagrid/useFloatingScroll.js +1 -1
  94. package/es/components/Datagrid/useInlineEdit.js +1 -1
  95. package/es/components/Datagrid/useNestedRowExpander.js +1 -1
  96. package/es/components/Datagrid/useNestedRows.js +1 -1
  97. package/es/components/Datagrid/useRowExpander.js +1 -1
  98. package/es/components/Datagrid/useSelectAllToggle.js +1 -1
  99. package/es/components/Datagrid/useSelectRows.js +2 -2
  100. package/es/components/Datagrid/useSortableColumns.js +2 -2
  101. package/es/components/Datagrid/useStickyColumn.js +1 -1
  102. package/es/components/DelimitedList/DelimitedList.js +1 -1
  103. package/es/components/EditFullPage/EditFullPage.js +1 -1
  104. package/es/components/EditInPlace/EditInPlace.js +1 -1
  105. package/es/components/EditSidePanel/EditSidePanel.js +1 -1
  106. package/es/components/EditTearsheet/EditTearsheet.js +1 -1
  107. package/es/components/EditTearsheet/EditTearsheetForm.js +1 -1
  108. package/es/components/EditTearsheetNarrow/EditTearsheetNarrow.js +1 -1
  109. package/es/components/EditUpdateCards/EditUpdateCards.js +1 -1
  110. package/es/components/EmptyStates/EmptyState.js +1 -1
  111. package/es/components/EmptyStates/EmptyStateContent.js +1 -1
  112. package/es/components/EmptyStates/EmptyStateV2.js +1 -1
  113. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +1 -1
  114. package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +1 -1
  115. package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +1 -1
  116. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +1 -1
  117. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -1
  118. package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +1 -1
  119. package/es/components/EmptyStates/assets/ErrorIllustration.js +1 -1
  120. package/es/components/EmptyStates/assets/NoDataIllustration.js +1 -1
  121. package/es/components/EmptyStates/assets/NoTagsIllustration.js +1 -1
  122. package/es/components/EmptyStates/assets/NotFoundIllustration.js +1 -1
  123. package/es/components/EmptyStates/assets/NotificationsIllustration.js +1 -1
  124. package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +1 -1
  125. package/es/components/ExportModal/ExportModal.js +1 -1
  126. package/es/components/FilterSummary/FilterSummary.js +1 -1
  127. package/es/components/FullPageError/FullPageError.js +1 -1
  128. package/es/components/Guidebanner/Guidebanner.js +1 -1
  129. package/es/components/Guidebanner/GuidebannerElement.js +1 -1
  130. package/es/components/Guidebanner/GuidebannerElementButton.js +1 -1
  131. package/es/components/Guidebanner/GuidebannerElementLink.js +1 -1
  132. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +1 -1
  133. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +1 -1
  134. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +1 -1
  135. package/es/components/ImportModal/ImportModal.js +1 -1
  136. package/es/components/InlineTip/InlineTip.js +1 -1
  137. package/es/components/InlineTip/InlineTipButton.js +1 -1
  138. package/es/components/InlineTip/InlineTipLink.js +1 -1
  139. package/es/components/InterstitialScreen/InterstitialScreen.js +1 -1
  140. package/es/components/InterstitialScreenView/InterstitialScreenView.js +1 -1
  141. package/es/components/InterstitialScreenViewModule/InterstitialScreenViewModule.js +1 -1
  142. package/es/components/NonLinearReading/NonLinearReading.js +1 -1
  143. package/es/components/NotificationsPanel/NotificationsPanel.js +1 -1
  144. package/es/components/OptionsTile/OptionsTile.js +1 -1
  145. package/es/components/PageHeader/PageHeader.js +1 -1
  146. package/es/components/PageHeader/PageHeaderTitle.js +1 -1
  147. package/es/components/PageHeader/PageHeaderUtils.js +1 -1
  148. package/es/components/RemoveModal/RemoveModal.js +1 -1
  149. package/es/components/Saving/Saving.js +1 -1
  150. package/es/components/SearchBar/SearchBar.js +1 -1
  151. package/es/components/SidePanel/SidePanel.js +1 -1
  152. package/es/components/SimpleHeader/SimpleHeader.js +1 -1
  153. package/es/components/StatusIcon/StatusIcon.js +1 -1
  154. package/es/components/SteppedAnimatedMedia/SteppedAnimatedMedia.js +1 -1
  155. package/es/components/StringFormatter/StringFormatter.js +1 -1
  156. package/es/components/TagSet/TagSet.js +1 -1
  157. package/es/components/TagSet/TagSetModal.js +1 -1
  158. package/es/components/TagSet/TagSetOverflow.js +1 -1
  159. package/es/components/Tearsheet/TearsheetShell.js +4 -5
  160. package/es/components/Toolbar/Toolbar.js +1 -1
  161. package/es/components/Toolbar/ToolbarButton.js +1 -1
  162. package/es/components/Toolbar/ToolbarGroup.js +1 -1
  163. package/es/components/TooltipTrigger/TooltipTrigger.js +1 -1
  164. package/es/components/TruncatedList/TruncatedList.js +1 -1
  165. package/es/components/UserAvatar/UserAvatar.js +23 -2
  166. package/es/components/UserProfileImage/UserProfileImage.js +1 -1
  167. package/es/components/WebTerminal/WebTerminal.js +1 -1
  168. package/es/components/WebTerminal/WebTerminalContentWrapper.js +1 -1
  169. package/es/components/_Canary/Canary.js +1 -1
  170. package/es/node_modules/prop-types/index.js +1 -1
  171. package/lib/_virtual/index.js +2 -2
  172. package/lib/components/APIKeyModal/APIKeyModal.js +50 -49
  173. package/lib/components/AboutModal/AboutModal.js +17 -16
  174. package/lib/components/ActionBar/ActionBar.js +16 -15
  175. package/lib/components/ActionBar/ActionBarItem.js +8 -7
  176. package/lib/components/ActionBar/ActionBarOverflowItems.js +9 -8
  177. package/lib/components/ActionSet/ActionSet.js +4 -3
  178. package/lib/components/AddSelect/AddSelectBody.js +67 -66
  179. package/lib/components/AddSelect/AddSelectBreadcrumbs.js +7 -6
  180. package/lib/components/AddSelect/AddSelectFilter.js +19 -18
  181. package/lib/components/AddSelect/AddSelectList.js +7 -6
  182. package/lib/components/AddSelect/AddSelectRow.js +33 -32
  183. package/lib/components/BigNumbers/BigNumbers.js +23 -22
  184. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +20 -19
  185. package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +3 -2
  186. package/lib/components/Card/Card.js +5 -4
  187. package/lib/components/Card/CardFooter.js +22 -21
  188. package/lib/components/Card/CardHeader.js +27 -26
  189. package/lib/components/Carousel/Carousel.js +13 -12
  190. package/lib/components/Carousel/CarouselItem.js +6 -5
  191. package/lib/components/Cascade/Cascade.js +9 -8
  192. package/lib/components/Checklist/Checklist.js +33 -32
  193. package/lib/components/Checklist/ChecklistChart.js +7 -6
  194. package/lib/components/Checklist/ChecklistIcon.js +7 -6
  195. package/lib/components/Coachmark/Coachmark.js +21 -20
  196. package/lib/components/Coachmark/CoachmarkDragbar.js +10 -9
  197. package/lib/components/Coachmark/CoachmarkHeader.js +8 -7
  198. package/lib/components/Coachmark/CoachmarkOverlay.js +10 -9
  199. package/lib/components/Coachmark/CoachmarkTagline.js +8 -7
  200. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +7 -6
  201. package/lib/components/CoachmarkButton/CoachmarkButton.js +6 -5
  202. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +11 -10
  203. package/lib/components/CoachmarkOverlayElement/CoachmarkOverlayElement.js +8 -7
  204. package/lib/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +16 -15
  205. package/lib/components/CoachmarkStack/CoachmarkStack.js +20 -19
  206. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +17 -16
  207. package/lib/components/ComboButton/ComboButton.js +7 -6
  208. package/lib/components/CreateFullPage/CreateFullPage.js +29 -28
  209. package/lib/components/CreateFullPage/CreateFullPageStep.js +18 -17
  210. package/lib/components/CreateInfluencer/CreateInfluencer.js +13 -12
  211. package/lib/components/CreateModal/CreateModal.js +16 -15
  212. package/lib/components/CreateSidePanel/CreateSidePanel.js +21 -20
  213. package/lib/components/CreateTearsheet/CreateTearsheet.js +27 -20
  214. package/lib/components/CreateTearsheet/CreateTearsheetDivider.js +5 -4
  215. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +19 -18
  216. package/lib/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +21 -20
  217. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +22 -21
  218. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +56 -55
  219. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +39 -38
  220. package/lib/components/Datagrid/Datagrid/Datagrid.js +7 -6
  221. package/lib/components/Datagrid/Datagrid/DatagridContent.js +32 -31
  222. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +8 -3
  223. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +6 -5
  224. package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +3 -2
  225. package/lib/components/Datagrid/Datagrid/DatagridRow.js +20 -15
  226. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +4 -3
  227. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +14 -13
  228. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +3 -2
  229. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +6 -5
  230. package/lib/components/Datagrid/Datagrid/DraggableElement.js +13 -12
  231. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +15 -14
  232. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +25 -24
  233. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +27 -26
  234. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -7
  235. package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.d.ts +1 -0
  236. package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +2 -0
  237. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +65 -1
  238. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +11 -0
  239. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +15 -14
  240. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +20 -19
  241. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +9 -8
  242. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  243. package/lib/components/Datagrid/useColumnCenterAlign.js +3 -2
  244. package/lib/components/Datagrid/useColumnRightAlign.js +3 -2
  245. package/lib/components/Datagrid/useDefaultStringRenderer.js +4 -3
  246. package/lib/components/Datagrid/useFiltering.js +46 -45
  247. package/lib/components/Datagrid/useFloatingScroll.js +6 -2
  248. package/lib/components/Datagrid/useInlineEdit.js +4 -3
  249. package/lib/components/Datagrid/useNestedRowExpander.js +4 -3
  250. package/lib/components/Datagrid/useNestedRows.js +6 -2
  251. package/lib/components/Datagrid/useRowExpander.js +3 -2
  252. package/lib/components/Datagrid/useSelectAllToggle.js +3 -2
  253. package/lib/components/Datagrid/useSelectRows.js +5 -4
  254. package/lib/components/Datagrid/useSortableColumns.js +4 -3
  255. package/lib/components/Datagrid/useStickyColumn.js +4 -3
  256. package/lib/components/DelimitedList/DelimitedList.js +8 -7
  257. package/lib/components/EditFullPage/EditFullPage.js +6 -5
  258. package/lib/components/EditInPlace/EditInPlace.js +23 -22
  259. package/lib/components/EditSidePanel/EditSidePanel.js +23 -22
  260. package/lib/components/EditTearsheet/EditTearsheet.js +18 -17
  261. package/lib/components/EditTearsheet/EditTearsheetForm.js +11 -10
  262. package/lib/components/EditTearsheetNarrow/EditTearsheetNarrow.js +6 -5
  263. package/lib/components/EditUpdateCards/EditUpdateCards.js +31 -30
  264. package/lib/components/EmptyStates/EmptyState.js +20 -19
  265. package/lib/components/EmptyStates/EmptyStateContent.js +16 -15
  266. package/lib/components/EmptyStates/EmptyStateV2.js +20 -19
  267. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +18 -17
  268. package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +18 -17
  269. package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +18 -17
  270. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +18 -17
  271. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +18 -17
  272. package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +18 -17
  273. package/lib/components/EmptyStates/assets/ErrorIllustration.js +7 -6
  274. package/lib/components/EmptyStates/assets/NoDataIllustration.js +7 -6
  275. package/lib/components/EmptyStates/assets/NoTagsIllustration.js +7 -6
  276. package/lib/components/EmptyStates/assets/NotFoundIllustration.js +7 -6
  277. package/lib/components/EmptyStates/assets/NotificationsIllustration.js +7 -6
  278. package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +7 -6
  279. package/lib/components/ExportModal/ExportModal.js +30 -29
  280. package/lib/components/FilterSummary/FilterSummary.js +13 -12
  281. package/lib/components/FullPageError/FullPageError.js +13 -12
  282. package/lib/components/Guidebanner/Guidebanner.js +20 -19
  283. package/lib/components/Guidebanner/GuidebannerElement.js +8 -7
  284. package/lib/components/Guidebanner/GuidebannerElementButton.js +8 -7
  285. package/lib/components/Guidebanner/GuidebannerElementLink.js +6 -5
  286. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +11 -10
  287. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +11 -10
  288. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +11 -10
  289. package/lib/components/ImportModal/ImportModal.js +32 -31
  290. package/lib/components/InlineTip/InlineTip.js +21 -20
  291. package/lib/components/InlineTip/InlineTipButton.js +6 -5
  292. package/lib/components/InlineTip/InlineTipLink.js +6 -5
  293. package/lib/components/InterstitialScreen/InterstitialScreen.js +13 -12
  294. package/lib/components/InterstitialScreenView/InterstitialScreenView.js +7 -6
  295. package/lib/components/InterstitialScreenViewModule/InterstitialScreenViewModule.js +7 -6
  296. package/lib/components/NonLinearReading/NonLinearReading.js +9 -8
  297. package/lib/components/NotificationsPanel/NotificationsPanel.js +59 -58
  298. package/lib/components/OptionsTile/OptionsTile.js +21 -20
  299. package/lib/components/PageHeader/PageHeader.js +74 -73
  300. package/lib/components/PageHeader/PageHeaderTitle.js +21 -20
  301. package/lib/components/PageHeader/PageHeaderUtils.js +3 -2
  302. package/lib/components/RemoveModal/RemoveModal.js +22 -21
  303. package/lib/components/Saving/Saving.js +18 -17
  304. package/lib/components/SearchBar/SearchBar.js +20 -19
  305. package/lib/components/SidePanel/SidePanel.js +47 -46
  306. package/lib/components/SimpleHeader/SimpleHeader.js +17 -16
  307. package/lib/components/StatusIcon/StatusIcon.js +9 -8
  308. package/lib/components/SteppedAnimatedMedia/SteppedAnimatedMedia.js +7 -6
  309. package/lib/components/StringFormatter/StringFormatter.js +11 -10
  310. package/lib/components/TagSet/TagSet.js +21 -20
  311. package/lib/components/TagSet/TagSetModal.js +13 -12
  312. package/lib/components/TagSet/TagSetOverflow.js +18 -17
  313. package/lib/components/Tearsheet/TearsheetShell.js +35 -35
  314. package/lib/components/Toolbar/Toolbar.js +7 -6
  315. package/lib/components/Toolbar/ToolbarButton.js +9 -8
  316. package/lib/components/Toolbar/ToolbarGroup.js +6 -5
  317. package/lib/components/TooltipTrigger/TooltipTrigger.js +6 -5
  318. package/lib/components/TruncatedList/TruncatedList.js +14 -13
  319. package/lib/components/UserAvatar/UserAvatar.js +25 -3
  320. package/lib/components/UserProfileImage/UserProfileImage.js +3 -2
  321. package/lib/components/WebTerminal/WebTerminal.js +14 -13
  322. package/lib/components/WebTerminal/WebTerminalContentWrapper.js +5 -4
  323. package/lib/components/_Canary/Canary.js +6 -5
  324. package/lib/node_modules/prop-types/index.js +1 -1
  325. package/package.json +6 -5
  326. package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +0 -1
  327. package/scss/components/Datagrid/styles/_datagrid.scss +61 -4
  328. package/scss/components/SidePanel/_side-panel.scss +8 -1
  329. package/scss/components/Tearsheet/_tearsheet.scss +4 -5
  330. package/scss/components/UserAvatar/_user-avatar.scss +27 -0
  331. package/es/_virtual/index2.js +0 -10
  332. package/es/node_modules/classnames/index.js +0 -70
  333. package/lib/_virtual/index2.js +0 -14
  334. package/lib/node_modules/classnames/index.js +0 -74
@@ -5,21 +5,25 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React__default from 'react';
8
+ import { defineProperty as _defineProperty } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
+ import React__default, { isValidElement } from 'react';
9
10
  import { pkg } from '../../../settings.js';
11
+ import cx from 'classnames';
10
12
 
11
13
  var blockClass = "".concat(pkg.prefix, "--datagrid");
12
14
 
13
15
  // eslint-disable-next-line react/prop-types
14
16
  var DatagridExpandedRow = function DatagridExpandedRow(ExpandedRowContentComponent) {
15
17
  return function (datagridState) {
18
+ var _row$original;
16
19
  var row = datagridState.row;
17
20
  var expandedContentHeight = row.expandedContentHeight;
18
21
  var toggleParentHoverClass = function toggleParentHoverClass(event, eventType) {
19
22
  var _event$target;
20
23
  /* istanbul ignore else */
21
- if (event !== null && event !== void 0 && (_event$target = event.target) !== null && _event$target !== void 0 && (_event$target = _event$target.parentNode) !== null && _event$target !== void 0 && _event$target.previousElementSibling) {
22
- var parentNode = event.target.parentNode.previousElementSibling;
24
+ if (event !== null && event !== void 0 && (_event$target = event.target) !== null && _event$target !== void 0 && _event$target.closest('tr').previousElementSibling) {
25
+ var _event$target2;
26
+ var parentNode = event === null || event === void 0 || (_event$target2 = event.target) === null || _event$target2 === void 0 ? void 0 : _event$target2.closest('tr').previousElementSibling;
23
27
  if (eventType === 'enter') {
24
28
  parentNode.classList.add("".concat(blockClass, "__expandable-row--hover"));
25
29
  } else {
@@ -28,7 +32,7 @@ var DatagridExpandedRow = function DatagridExpandedRow(ExpandedRowContentCompone
28
32
  }
29
33
  };
30
34
  return /*#__PURE__*/React__default.createElement("tr", {
31
- className: "".concat(blockClass, "__expanded-row"),
35
+ className: cx("".concat(blockClass, "__expanded-row"), _defineProperty({}, "".concat(blockClass, "__slug--row"), /*#__PURE__*/isValidElement(row === null || row === void 0 || (_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.slug))),
32
36
  onMouseEnter: function onMouseEnter(event) {
33
37
  return toggleParentHoverClass(event, 'enter');
34
38
  },
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { slicedToArray as _slicedToArray, objectWithoutProperties as _objectWithoutProperties, extends as _extends, defineProperty as _defineProperty, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default, { useEffect, useState, isValidElement } from 'react';
10
- import cx from '../../../node_modules/classnames/index.js';
10
+ import cx from 'classnames';
11
11
  import { TableRow, TableHeader } from '@carbon/react';
12
12
  import { px } from '@carbon/layout';
13
13
  import { selectionColumnId } from '../common-column-ids.js';
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { extends as _extends, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default from 'react';
10
- import cx from '../../../node_modules/classnames/index.js';
10
+ import cx from 'classnames';
11
11
  import { pkg } from '../../../settings.js';
12
12
 
13
13
  var blockClass = "".concat(pkg.prefix, "--datagrid");
@@ -5,17 +5,17 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { defineProperty as _defineProperty, objectWithoutProperties as _objectWithoutProperties, extends as _extends, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { objectWithoutProperties as _objectWithoutProperties, defineProperty as _defineProperty, extends as _extends, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default, { isValidElement } from 'react';
10
10
  import { TableRow, SkeletonText, TableCell } from '@carbon/react';
11
11
  import { px } from '@carbon/layout';
12
12
  import { selectionColumnId } from '../common-column-ids.js';
13
- import cx from '../../../node_modules/classnames/index.js';
13
+ import cx from 'classnames';
14
14
  import { pkg, carbon } from '../../../settings.js';
15
15
  import { DatagridSlug } from './addons/Slug/DatagridSlug.js';
16
16
 
17
17
  var _SkeletonText;
18
- var _excluded = ["role"],
18
+ var _excluded = ["role", "className"],
19
19
  _excluded2 = ["children", "role"];
20
20
  var blockClass = "".concat(pkg.prefix, "--datagrid");
21
21
  var rowHeights = {
@@ -28,7 +28,7 @@ var rowHeights = {
28
28
 
29
29
  // eslint-disable-next-line react/prop-types
30
30
  var DatagridRow = function DatagridRow(datagridState) {
31
- var _row$original, _row$original2;
31
+ var _row$original, _row$original2, _row$original3;
32
32
  var row = datagridState.row,
33
33
  rows = datagridState.rows,
34
34
  rowSize = datagridState.rowSize,
@@ -38,7 +38,8 @@ var DatagridRow = function DatagridRow(datagridState) {
38
38
  tableId = datagridState.tableId,
39
39
  withExpandedRows = datagridState.withExpandedRows,
40
40
  withMouseHover = datagridState.withMouseHover,
41
- setMouseOverRowIndex = datagridState.setMouseOverRowIndex;
41
+ setMouseOverRowIndex = datagridState.setMouseOverRowIndex,
42
+ headers = datagridState.headers;
42
43
  var getVisibleNestedRowCount = function getVisibleNestedRowCount(_ref) {
43
44
  var isExpanded = _ref.isExpanded,
44
45
  subRows = _ref.subRows;
@@ -98,7 +99,6 @@ var DatagridRow = function DatagridRow(datagridState) {
98
99
  hoverHandler(event);
99
100
  }
100
101
  };
101
- var rowClassNames = cx("".concat(blockClass, "__carbon-row"), _defineProperty(_defineProperty(_defineProperty({}, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), "".concat(blockClass, "__carbon-row-expandable"), row.canExpand), "".concat(carbon.prefix, "--data-table--selected"), row.isSelected));
102
102
  var setAdditionalRowProps = function setAdditionalRowProps() {
103
103
  if (withNestedRows || withExpandedRows) {
104
104
  return {
@@ -111,30 +111,31 @@ var DatagridRow = function DatagridRow(datagridState) {
111
111
  // eslint-disable-next-line no-unused-vars
112
112
  var _row$getRowProps = row.getRowProps();
113
113
  _row$getRowProps.role;
114
- var rowProps = _objectWithoutProperties(_row$getRowProps, _excluded);
114
+ var className = _row$getRowProps.className,
115
+ rowProps = _objectWithoutProperties(_row$getRowProps, _excluded);
115
116
  var foundAIRow = rows.some(function (r) {
116
117
  var _r$original;
117
118
  return /*#__PURE__*/isValidElement(r === null || r === void 0 || (_r$original = r.original) === null || _r$original === void 0 ? void 0 : _r$original.slug);
118
119
  });
120
+ var rowClassNames = cx("".concat(blockClass, "__carbon-row"), _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), "".concat(blockClass, "__carbon-row-expandable"), row.canExpand), "".concat(carbon.prefix, "--data-table--selected"), row.isSelected), "".concat(blockClass, "__slug--row"), /*#__PURE__*/isValidElement(row === null || row === void 0 || (_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.slug)));
119
121
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, {
120
122
  key: key
121
- }, /*#__PURE__*/React__default.createElement(TableRow, _extends({
122
- className: rowClassNames
123
- }, rowProps, {
123
+ }, /*#__PURE__*/React__default.createElement(TableRow, _extends({}, rowProps, {
124
+ className: cx(rowClassNames, className),
124
125
  key: row.id,
125
126
  onMouseEnter: hoverHandler,
126
127
  onMouseLeave: handleMouseLeave,
127
128
  onFocus: hoverHandler,
128
129
  onBlur: focusRemover,
129
130
  onKeyUp: handleOnKeyUp
130
- }, setAdditionalRowProps()), foundAIRow ? row !== null && row !== void 0 && (_row$original = row.original) !== null && _row$original !== void 0 && _row$original.slug ? /*#__PURE__*/React__default.createElement("td", {
131
- className: "".concat(blockClass, "__table-row-ai-enabled")
131
+ }, setAdditionalRowProps()), foundAIRow ? row !== null && row !== void 0 && (_row$original2 = row.original) !== null && _row$original2 !== void 0 && _row$original2.slug ? /*#__PURE__*/React__default.createElement("td", {
132
+ className: cx("".concat(blockClass, "__table-row-ai-enabled"), _defineProperty({}, "".concat(blockClass, "__slug--expanded"), row.isExpanded))
132
133
  }, /*#__PURE__*/React__default.createElement(DatagridSlug, {
133
- slug: row === null || row === void 0 || (_row$original2 = row.original) === null || _row$original2 === void 0 ? void 0 : _row$original2.slug
134
+ slug: row === null || row === void 0 || (_row$original3 = row.original) === null || _row$original3 === void 0 ? void 0 : _row$original3.slug
134
135
  })) : /*#__PURE__*/React__default.createElement("td", {
135
136
  className: "".concat(blockClass, "__table-row-ai-spacer")
136
137
  }) : null, row.cells.map(function (cell, index) {
137
- var _cell$column, _content$props;
138
+ var _cell$column, _content$props, _associatedHeader$;
138
139
  var cellProps = cell.getCellProps();
139
140
  // eslint-disable-next-line no-unused-vars
140
141
  var children = cellProps.children;
@@ -148,8 +149,11 @@ var DatagridRow = function DatagridRow(datagridState) {
148
149
  });
149
150
  }
150
151
  var title = content === null || content === void 0 || (_content$props = content.props) === null || _content$props === void 0 || (_content$props = _content$props.children[0]) === null || _content$props === void 0 || (_content$props = _content$props.props) === null || _content$props === void 0 ? void 0 : _content$props.value;
152
+ var associatedHeader = headers.filter(function (h) {
153
+ return h.id === cell.column.id;
154
+ });
151
155
  return /*#__PURE__*/React__default.createElement(TableCell, _extends({
152
- className: cx("".concat(blockClass, "__cell"), _defineProperty({}, "".concat(blockClass, "__expandable-row-cell"), row.canExpand && index === 0))
156
+ className: cx("".concat(blockClass, "__cell"), _defineProperty(_defineProperty({}, "".concat(blockClass, "__expandable-row-cell"), row.canExpand && index === 0), "".concat(blockClass, "__slug--cell"), associatedHeader && associatedHeader.length && /*#__PURE__*/isValidElement((_associatedHeader$ = associatedHeader[0]) === null || _associatedHeader$ === void 0 ? void 0 : _associatedHeader$.slug)))
153
157
  }, restProps, {
154
158
  key: cell.column.id,
155
159
  title: title
@@ -8,7 +8,7 @@
8
8
  import { slicedToArray as _slicedToArray, defineProperty as _defineProperty, objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default, { useState, useLayoutEffect } from 'react';
10
10
  import { TableSelectAll } from '@carbon/react';
11
- import cx from '../../../node_modules/classnames/index.js';
11
+ import cx from 'classnames';
12
12
  import { pkg } from '../../../settings.js';
13
13
  import { handleSelectAllRowData } from './addons/stateReducer.js';
14
14
 
@@ -8,7 +8,7 @@
8
8
  import { slicedToArray as _slicedToArray, objectWithoutProperties as _objectWithoutProperties, defineProperty as _defineProperty, extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default, { useState, useEffect, useLayoutEffect } from 'react';
10
10
  import PropTypes from '../../../node_modules/prop-types/index.js';
11
- import cx from '../../../node_modules/classnames/index.js';
11
+ import cx from 'classnames';
12
12
  import { Checkbox, OverflowMenu, OverflowMenuItem } from '@carbon/react';
13
13
  import { CaretDown } from '@carbon/react/icons';
14
14
  import { pkg } from '../../../settings.js';
@@ -8,7 +8,7 @@
8
8
  import { extends as _extends, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default from 'react';
10
10
  import { TableBody } from '@carbon/react';
11
- import cx from '../../../node_modules/classnames/index.js';
11
+ import cx from 'classnames';
12
12
  import { pkg } from '../../../settings.js';
13
13
 
14
14
  var blockClass = "".concat(pkg.prefix, "--datagrid");
@@ -11,7 +11,7 @@ import PropTypes from '../../../node_modules/prop-types/index.js';
11
11
  import { TableToolbar, TableBatchActions, TableBatchAction, MenuButton, MenuItem } from '@carbon/react';
12
12
  import { useResizeObserver } from '../../../global/js/hooks/useResizeObserver.js';
13
13
  import { pkg, carbon } from '../../../settings.js';
14
- import cx from '../../../node_modules/classnames/index.js';
14
+ import cx from 'classnames';
15
15
  import { handleSelectAllRowData } from './addons/stateReducer.js';
16
16
 
17
17
  var _excluded = ["ariaToolbarLabel"];
@@ -9,7 +9,7 @@ import { extends as _extends, defineProperty as _defineProperty } from '../../..
9
9
  import React__default from 'react';
10
10
  import PropTypes from '../../../node_modules/prop-types/index.js';
11
11
  import { Locked, Draggable } from '@carbon/react/icons';
12
- import cx from '../../../node_modules/classnames/index.js';
12
+ import cx from 'classnames';
13
13
  import { pkg } from '../../../settings.js';
14
14
  import { CSS } from '@dnd-kit/utilities';
15
15
  import { useSortable } from '@dnd-kit/sortable';
@@ -11,7 +11,7 @@ import PropTypes from '../../../../../node_modules/prop-types/index.js';
11
11
  import { Checkbox } from '@carbon/react';
12
12
  import update from 'immutability-helper';
13
13
  import { pkg } from '../../../../../settings.js';
14
- import cx from '../../../../../node_modules/classnames/index.js';
14
+ import cx from 'classnames';
15
15
  import { DraggableItemsList } from './DraggableItemsList.js';
16
16
  import uuidv4 from '../../../../../global/js/utils/uuidv4.js';
17
17
 
@@ -8,7 +8,7 @@
8
8
  import { slicedToArray as _slicedToArray, defineProperty as _defineProperty } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import { Filter } from '@carbon/react/icons';
10
10
  import { usePrefix, IconButton } from '@carbon/react';
11
- import cx from '../../../../../node_modules/classnames/index.js';
11
+ import cx from 'classnames';
12
12
  import PropTypes from '../../../../../node_modules/prop-types/index.js';
13
13
  import React__default, { useState, useRef, useEffect } from 'react';
14
14
  import { pkg } from '../../../../../settings.js';
@@ -13,7 +13,7 @@ import { panelVariants, innerContainerVariants, actionSetVariants } from './moti
13
13
  import { Close } from '@carbon/react/icons';
14
14
  import { FilterContext } from './FilterProvider.js';
15
15
  import PropTypes from '../../../../../node_modules/prop-types/index.js';
16
- import cx from '../../../../../node_modules/classnames/index.js';
16
+ import cx from 'classnames';
17
17
  import { motion, useReducedMotion } from 'framer-motion';
18
18
  import { pkg } from '../../../../../settings.js';
19
19
  import { rem } from '@carbon/layout';
@@ -8,7 +8,7 @@
8
8
  import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, toConsumableArray as _toConsumableArray } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default, { createContext, useState, useReducer } from 'react';
10
10
  import PropTypes from '../../../../../node_modules/prop-types/index.js';
11
- import { DROPDOWN, RADIO, NUMBER, DATE, CHECKBOX, SAVED_FILTERS, CLEAR_SINGLE_FILTER } from './constants.js';
11
+ import { DROPDOWN, RADIO, NUMBER, DATE, CHECKBOX, MULTISELECT, SAVED_FILTERS, CLEAR_SINGLE_FILTER } from './constants.js';
12
12
 
13
13
  var FilterContext = /*#__PURE__*/createContext();
14
14
  var EventEmitter = {
@@ -33,7 +33,7 @@ var removeFilterItem = function removeFilterItem(state, index) {
33
33
  return state.splice(index, 1);
34
34
  };
35
35
  var updateFilterState = function updateFilterState(state, type, value) {
36
- if (type === CHECKBOX) {
36
+ if (type === CHECKBOX || type === MULTISELECT) {
37
37
  return;
38
38
  }
39
39
  if (type === DATE) {
@@ -56,7 +56,7 @@ var clearSingleFilter = function clearSingleFilter(_ref, setAllFilters, state) {
56
56
  var filterValues = f.value;
57
57
  var filterType = f.type;
58
58
  updateFilterState(tempState, filterType, value);
59
- if (filterType === CHECKBOX) {
59
+ if (filterType === CHECKBOX || filterType === MULTISELECT) {
60
60
  /**
61
61
  When all checkboxes of a group are all unselected the value still exists in the filtersObjectArray
62
62
  This checks if all the checkboxes are selected = false and removes it from the array
@@ -122,15 +122,15 @@ var prepareFiltersForTags = function prepareFiltersForTags(filters, renderDateLa
122
122
  key: id,
123
123
  value: (_renderDateLabel = renderDateLabel === null || renderDateLabel === void 0 ? void 0 : renderDateLabel(startDate, endDate)) !== null && _renderDateLabel !== void 0 ? _renderDateLabel : formatDateRange(startDate, endDate)
124
124
  }, sharedFilterProps));
125
- } else if (type === CHECKBOX) {
126
- value.forEach(function (checkbox) {
127
- if (checkbox.selected) {
125
+ } else if (type === CHECKBOX || type === MULTISELECT) {
126
+ value.forEach(function (option) {
127
+ if (option.selected) {
128
128
  tags.push(_objectSpread2(_objectSpread2({
129
129
  key: id,
130
- value: checkbox.value
130
+ value: option.value
131
131
  }, sharedFilterProps), {}, {
132
132
  onClose: function onClose() {
133
- return handleSingleFilterRemoval(id, checkbox.value);
133
+ return handleSingleFilterRemoval(id, option.value);
134
134
  }
135
135
  }));
136
136
  }
@@ -16,6 +16,7 @@ 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";
@@ -19,6 +19,7 @@ var NUMBER = 'number';
19
19
  var CHECKBOX = 'checkbox';
20
20
  var RADIO = 'radio';
21
21
  var DROPDOWN = 'dropdown';
22
+ var MULTISELECT = 'multiSelect';
22
23
 
23
24
  /** Constants for event emitters */
24
25
  var CLEAR_FILTERS = 'clearFilters';
@@ -31,4 +32,4 @@ var ACTION_SET_HEIGHT = 64;
31
32
  /** Constants for local reducer */
32
33
  var SAVED_FILTERS = 'savedFilters';
33
34
 
34
- export { ACTION_SET_HEIGHT, BATCH, CHECKBOX, CLEAR_FILTERS, CLEAR_SINGLE_FILTER, DATE, DROPDOWN, FLYOUT, INSTANT, NUMBER, PANEL, PANEL_WIDTH, RADIO, SAVED_FILTERS };
35
+ export { ACTION_SET_HEIGHT, BATCH, CHECKBOX, CLEAR_FILTERS, CLEAR_SINGLE_FILTER, DATE, DROPDOWN, FLYOUT, INSTANT, MULTISELECT, NUMBER, PANEL, PANEL_WIDTH, RADIO, SAVED_FILTERS };
@@ -5,9 +5,9 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { slicedToArray as _slicedToArray, extends as _extends, toConsumableArray as _toConsumableArray, objectSpread2 as _objectSpread2, defineProperty as _defineProperty } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
9
- import { DROPDOWN, RADIO, CHECKBOX, NUMBER, DATE, BATCH, SAVED_FILTERS, INSTANT, PANEL } from '../constants.js';
10
- import { Dropdown, FormGroup, RadioButtonGroup, RadioButton, NumberInput, DatePicker, DatePickerInput, Layer, Checkbox } from '@carbon/react';
8
+ import { slicedToArray as _slicedToArray, extends as _extends, objectSpread2 as _objectSpread2, defineProperty as _defineProperty, toConsumableArray as _toConsumableArray } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
9
+ import { MULTISELECT, DROPDOWN, RADIO, CHECKBOX, NUMBER, DATE, BATCH, SAVED_FILTERS, INSTANT, PANEL } from '../constants.js';
10
+ import { MultiSelect, Dropdown, FormGroup, RadioButtonGroup, RadioButton, NumberInput, DatePicker, DatePickerInput, Layer, Checkbox } from '@carbon/react';
11
11
  import React__default, { useContext, useState, useRef, useCallback, useEffect } from 'react';
12
12
  import OverflowCheckboxes from '../OverflowCheckboxes.js';
13
13
  import { getInitialStateFromFilters } from '../utils.js';
@@ -115,7 +115,7 @@ var useFilters = function useFilters(_ref) {
115
115
  var id = _ref3.id;
116
116
  return id === column;
117
117
  });
118
- var clearCheckbox = type === CHECKBOX && filterCopy[index].value.every(function (_ref4) {
118
+ var clearCheckbox = (type === CHECKBOX || type === MULTISELECT) && filterCopy[index].value.every(function (_ref4) {
119
119
  var selected = _ref4.selected;
120
120
  return selected === false;
121
121
  });
@@ -287,6 +287,70 @@ var useFilters = function useFilters(_ref) {
287
287
  }
288
288
  }));
289
289
  break;
290
+ case MULTISELECT:
291
+ {
292
+ var _filtersState$column5;
293
+ var isStringArray = components.MultiSelect.items.length && typeof components.MultiSelect.items[0] === 'string';
294
+ var selectedFilters = (_filtersState$column5 = filtersState[column]) === null || _filtersState$column5 === void 0 ? void 0 : _filtersState$column5.value.filter(function (i) {
295
+ return i.selected;
296
+ });
297
+ var filteredItems = components.MultiSelect.items.map(function (item) {
298
+ if (selectedFilters.filter(function (a) {
299
+ return isStringArray ? a.id === item : a.id === item.id;
300
+ }).length) {
301
+ return item;
302
+ }
303
+ return null;
304
+ }).filter(Boolean);
305
+ filter = /*#__PURE__*/React__default.createElement(MultiSelect, _extends({}, components.MultiSelect, {
306
+ selectedItems: filteredItems,
307
+ onChange: function onChange(_ref9) {
308
+ var _components$MultiSele, _components$MultiSele2;
309
+ var selectedItems = _ref9.selectedItems;
310
+ var allOptions = filtersState[column].value;
311
+ // Find selected items from list of options
312
+ var foundItems = selectedItems.map(function (item) {
313
+ if (allOptions.filter(function (option) {
314
+ return isStringArray ? option.id === item : option.id === item.id;
315
+ })) {
316
+ return allOptions.filter(function (option) {
317
+ return isStringArray ? option.id === item : option.id === item.id;
318
+ })[0];
319
+ }
320
+ return null;
321
+ }).filter(Boolean);
322
+
323
+ // Change selected state for those items that have been selected
324
+ allOptions.map(function (a) {
325
+ return a.selected = false;
326
+ });
327
+ foundItems.map(function (item) {
328
+ var foundOriginalItem = allOptions.filter(function (a) {
329
+ return isStringArray ? a === item : a.id === item.id;
330
+ });
331
+ if (foundOriginalItem && foundOriginalItem.length) {
332
+ foundOriginalItem[0].selected = true;
333
+ }
334
+ });
335
+ if (!selectedItems.length) {
336
+ allOptions.map(function (a) {
337
+ return a.selected = false;
338
+ });
339
+ }
340
+ setFiltersState(_objectSpread2(_objectSpread2({}, filtersState), {}, _defineProperty({}, column, {
341
+ value: allOptions,
342
+ type: type
343
+ })));
344
+ applyFilters({
345
+ column: column,
346
+ value: _toConsumableArray(filtersState[column].value),
347
+ type: type
348
+ });
349
+ (_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);
350
+ }
351
+ }));
352
+ break;
353
+ }
290
354
  }
291
355
  if (isPanel) {
292
356
  return /*#__PURE__*/React__default.createElement(Layer, {
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2 } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
9
- import { FLYOUT, PANEL, CHECKBOX, DATE, NUMBER, RADIO, DROPDOWN } from './constants.js';
9
+ import { FLYOUT, PANEL, CHECKBOX, DATE, NUMBER, RADIO, DROPDOWN, MULTISELECT } from './constants.js';
10
10
 
11
11
  var _excluded = ["id", "labelText", "value"];
12
12
  var applyInitialFilters = function applyInitialFilters(filterState, initialFilters) {
@@ -63,6 +63,17 @@ var getInitialStateFromFilters = function getInitialStateFromFilters(filters, va
63
63
  value: '',
64
64
  type: type
65
65
  };
66
+ } else if (type === MULTISELECT) {
67
+ initialFilterState[column] = {
68
+ value: props.MultiSelect.items.map(function (item) {
69
+ return {
70
+ id: typeof item === 'string' ? item : item.id,
71
+ value: typeof item === 'string' ? item : item.text,
72
+ selected: false
73
+ };
74
+ }),
75
+ type: type
76
+ };
66
77
  }
67
78
  };
68
79
  if (variation === FLYOUT) {
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { defineProperty as _defineProperty } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default from 'react';
10
- import cx from '../../../../../../node_modules/classnames/index.js';
10
+ import cx from 'classnames';
11
11
  import PropTypes from '../../../../../../node_modules/prop-types/index.js';
12
12
  import { pkg } from '../../../../../../settings.js';
13
13
 
@@ -11,7 +11,7 @@ import PropTypes from '../../../../../../node_modules/prop-types/index.js';
11
11
  import { Dropdown, DatePicker, DatePickerInput, NumberInput, TextInput } from '@carbon/react';
12
12
  import { Edit, CaretSort, ChevronDown, Calendar } from '@carbon/react/icons';
13
13
  import { pkg } from '../../../../../../settings.js';
14
- import cx from '../../../../../../node_modules/classnames/index.js';
14
+ import cx from 'classnames';
15
15
  import { prepareProps } from '../../../../../../global/js/utils/props-helper.js';
16
16
  import { InlineEditContext } from '../InlineEditContext/InlineEditContext.js';
17
17
  import { usePreviousValue } from '../../../../../../global/js/hooks/usePreviousValue.js';
@@ -10,7 +10,7 @@ import React__default, { useRef, useEffect } from 'react';
10
10
  import PropTypes from '../../../../../node_modules/prop-types/index.js';
11
11
  import { Settings } from '@carbon/react/icons';
12
12
  import { Popover, IconButton, PopoverContent, Layer } from '@carbon/react';
13
- import cx from '../../../../../node_modules/classnames/index.js';
13
+ import cx from 'classnames';
14
14
  import RowSizeRadioGroup from './RowSizeRadioGroup.js';
15
15
  import { pkg, carbon } from '../../../../../settings.js';
16
16
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { objectWithoutProperties as _objectWithoutProperties, defineProperty as _defineProperty, extends as _extends, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default from 'react';
10
- import cx from '../../node_modules/classnames/index.js';
10
+ import cx from 'classnames';
11
11
  import { IconSkeleton, IconButton, OverflowMenu, OverflowMenuItem } from '@carbon/react';
12
12
  import { pkg } from '../../settings.js';
13
13
  import { prepareProps } from '../../global/js/utils/props-helper.js';
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { objectSpread2 as _objectSpread2, toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default from 'react';
10
- import cx from '../../node_modules/classnames/index.js';
10
+ import cx from 'classnames';
11
11
  import { pkg } from '../../settings.js';
12
12
 
13
13
  var blockClass = "".concat(pkg.prefix, "--datagrid");
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { objectSpread2 as _objectSpread2, toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default from 'react';
10
- import cx from '../../node_modules/classnames/index.js';
10
+ import cx from 'classnames';
11
11
  import { pkg } from '../../settings.js';
12
12
 
13
13
  var blockClass = "".concat(pkg.prefix, "--datagrid");
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { objectSpread2 as _objectSpread2, toConsumableArray as _toConsumableArray, defineProperty as _defineProperty } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default from 'react';
10
- import cx from '../../node_modules/classnames/index.js';
10
+ import cx from 'classnames';
11
11
  import { pkg } from '../../settings.js';
12
12
 
13
13
  var blockClass = "".concat(pkg.prefix, "--datagrid");
@@ -5,61 +5,62 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { slicedToArray as _slicedToArray, typeof as _typeof, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { defineProperty as _defineProperty, slicedToArray as _slicedToArray, typeof as _typeof, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import { useMemo } from 'react';
10
- import { BATCH } from './Datagrid/addons/Filtering/constants.js';
10
+ import { DATE, NUMBER, CHECKBOX, BATCH, MULTISELECT } from './Datagrid/addons/Filtering/constants.js';
11
11
  import FilterFlyout from './Datagrid/addons/Filtering/FilterFlyout.js';
12
12
 
13
+ var handleMultiFilter = function handleMultiFilter(rows, id, value) {
14
+ // gets all the items that are selected and returns their value
15
+ var selectedItems = value.filter(function (item) {
16
+ return item.selected;
17
+ }).map(function (item) {
18
+ return item.value;
19
+ });
20
+
21
+ // if the user removed all checkboxes then display all rows
22
+ if (selectedItems.length === 0) {
23
+ return rows;
24
+ }
25
+ return rows.filter(function (row) {
26
+ var rowValue = row.values[id];
27
+ return selectedItems.includes(rowValue);
28
+ });
29
+ };
13
30
  var useFiltering = function useFiltering(hooks) {
14
31
  /* istanbul ignore next */
15
32
  var filterTypes = useMemo(function () {
16
- return {
17
- date: function date(rows, id, _ref) {
18
- var _ref2 = _slicedToArray(_ref, 2),
19
- startDate = _ref2[0],
20
- endDate = _ref2[1];
21
- return rows.filter(function (row) {
22
- var rowValue = row.values[id];
23
- var startDateObj = _typeof(startDate) === 'object' ? startDate : new Date(startDate);
24
- var endDateObj = _typeof(endDate) === 'object' ? endDate : new Date(endDate);
25
- var rowValueDateObj = _typeof(rowValue) === 'object' ? rowValue : new Date(rowValue);
26
- if (rowValueDateObj.getTime() <= endDateObj.getTime() && rowValueDateObj.getTime() >= startDateObj.getTime()) {
27
- // In date range
28
- return true;
29
- } else {
30
- // Not in date range
31
- return false;
32
- }
33
- });
34
- },
35
- number: function number(rows, id, value) {
36
- if (value === '') {
37
- return rows;
38
- }
39
- var parsedValue = parseInt(value);
40
- return rows.filter(function (row) {
41
- var rowValue = row.values[id];
42
- return rowValue === parsedValue;
43
- });
44
- },
45
- checkbox: function checkbox(rows, id, value) {
46
- // gets all the items that are selected and returns their value
47
- var selectedItems = value.filter(function (item) {
48
- return item.selected;
49
- }).map(function (item) {
50
- return item.value;
51
- });
52
-
53
- // if the user removed all checkboxes then display all rows
54
- if (selectedItems.length === 0) {
55
- return rows;
33
+ return _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, DATE, function (rows, id, _ref) {
34
+ var _ref2 = _slicedToArray(_ref, 2),
35
+ startDate = _ref2[0],
36
+ endDate = _ref2[1];
37
+ return rows.filter(function (row) {
38
+ var rowValue = row.values[id];
39
+ var startDateObj = _typeof(startDate) === 'object' ? startDate : new Date(startDate);
40
+ var endDateObj = _typeof(endDate) === 'object' ? endDate : new Date(endDate);
41
+ var rowValueDateObj = _typeof(rowValue) === 'object' ? rowValue : new Date(rowValue);
42
+ if (rowValueDateObj.getTime() <= endDateObj.getTime() && rowValueDateObj.getTime() >= startDateObj.getTime()) {
43
+ // In date range
44
+ return true;
45
+ } else {
46
+ // Not in date range
47
+ return false;
56
48
  }
57
- return rows.filter(function (row) {
58
- var rowValue = row.values[id];
59
- return selectedItems.includes(rowValue);
60
- });
49
+ });
50
+ }), NUMBER, function (rows, id, value) {
51
+ if (value === '') {
52
+ return rows;
61
53
  }
62
- };
54
+ var parsedValue = parseInt(value);
55
+ return rows.filter(function (row) {
56
+ var rowValue = row.values[id];
57
+ return rowValue === parsedValue;
58
+ });
59
+ }), CHECKBOX, function (rows, id, value) {
60
+ return handleMultiFilter(rows, id, value);
61
+ }), MULTISELECT, function (rows, id, value) {
62
+ return handleMultiFilter(rows, id, value);
63
+ });
63
64
  }, []);
64
65
  hooks.useInstance.push(function (instance) {
65
66
  var filterProps = instance.filterProps,
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import { useEffect } from 'react';
9
- import cx from '../../node_modules/classnames/index.js';
9
+ import cx from 'classnames';
10
10
  import { pkg } from '../../settings.js';
11
11
 
12
12
  var blockClass = "".concat(pkg.prefix, "--datagrid");