@carbon/ibm-products 2.43.2-canary.11 → 2.43.2-canary.111

Sign up to get free protection for your applications and to get access to all the features.
Files changed (369) hide show
  1. package/css/index-full-carbon.css +1780 -443
  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 +219 -9
  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 +1439 -244
  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 +1490 -218
  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/components/ActionBar/ActionBar.d.ts +58 -2
  18. package/es/components/ActionBar/ActionBar.js +14 -9
  19. package/es/components/ActionBar/ActionBarItem.d.ts +36 -2
  20. package/es/components/ActionBar/ActionBarItem.js +8 -5
  21. package/es/components/ActionBar/ActionBarOverflowItems.d.ts +55 -16
  22. package/es/components/ActionBar/ActionBarOverflowItems.js +8 -4
  23. package/es/components/Card/Card.d.ts +68 -2
  24. package/es/components/Card/Card.js +28 -35
  25. package/es/components/Card/CardFooter.d.ts +51 -48
  26. package/es/components/Card/CardFooter.js +4 -2
  27. package/es/components/Card/CardHeader.d.ts +67 -49
  28. package/es/components/Card/CardHeader.js +4 -2
  29. package/es/components/Coachmark/Coachmark.d.ts +6 -1
  30. package/es/components/Coachmark/Coachmark.js +47 -11
  31. package/es/components/Coachmark/CoachmarkOverlay.js +2 -4
  32. package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
  33. package/es/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  34. package/es/components/CoachmarkStack/CoachmarkStack.js +7 -3
  35. package/es/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  36. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +1 -0
  37. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +90 -56
  38. package/es/components/ConditionBuilder/ConditionBuilder.js +82 -25
  39. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  40. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +154 -0
  41. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  42. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +29 -13
  43. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  44. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +35 -11
  45. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +18 -10
  46. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +19 -11
  47. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
  48. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +83 -64
  49. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
  50. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
  51. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  52. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +35 -24
  53. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +43 -36
  54. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +43 -36
  55. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
  56. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +114 -40
  57. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  58. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  59. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +27 -9
  60. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  61. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +114 -0
  62. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  63. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +71 -38
  64. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  65. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +22 -9
  66. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  67. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
  68. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +131 -42
  69. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +5 -1
  70. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +51 -19
  71. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
  72. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +152 -42
  73. package/es/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  74. package/es/components/ConditionBuilder/utils/useTranslations.js +26 -0
  75. package/es/components/ConditionBuilder/utils/util.d.ts +6 -4
  76. package/es/components/ConditionBuilder/utils/util.js +42 -17
  77. package/es/components/CreateFullPage/CreateFullPage.js +2 -2
  78. package/es/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
  79. package/es/components/DataSpreadsheet/DataSpreadsheet.js +129 -53
  80. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +16 -0
  81. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +32 -7
  82. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  83. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  84. package/es/components/DataSpreadsheet/types/index.d.ts +1 -0
  85. package/es/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  86. package/es/components/Datagrid/Datagrid/Datagrid.js +4 -9
  87. package/es/components/Datagrid/Datagrid/DatagridContent.js +4 -3
  88. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  89. package/es/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  90. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +6 -6
  91. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  92. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  93. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  94. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  95. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +6 -3
  96. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +20 -12
  97. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  98. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +54 -17
  99. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  100. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +75 -12
  101. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  102. package/es/components/Datagrid/types/index.d.ts +57 -9
  103. package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
  104. package/es/components/Datagrid/useActionsColumn.js +7 -6
  105. package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  106. package/es/components/Datagrid/useColumnRightAlign.js +4 -3
  107. package/es/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  108. package/es/components/Datagrid/useCustomizeColumns.js +4 -3
  109. package/es/components/Datagrid/useDefaultStringRenderer.js +0 -1
  110. package/es/components/Datagrid/useDisableSelectRows.d.ts +2 -1
  111. package/es/components/Datagrid/useDisableSelectRows.js +27 -22
  112. package/es/components/Datagrid/useInlineEdit.js +12 -2
  113. package/es/components/Datagrid/useNestedRowExpander.js +1 -3
  114. package/es/components/Datagrid/useNestedRows.js +32 -13
  115. package/es/components/Datagrid/useRowExpander.js +1 -3
  116. package/es/components/Datagrid/useSelectRows.js +2 -1
  117. package/es/components/Datagrid/useStickyColumn.d.ts +8 -1
  118. package/es/components/Datagrid/useStickyColumn.js +12 -9
  119. package/es/components/EditInPlace/EditInPlace.d.ts +4 -0
  120. package/es/components/EditInPlace/EditInPlace.js +21 -10
  121. package/es/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  122. package/es/components/EditTearsheet/EditTearsheet.js +44 -10
  123. package/es/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  124. package/es/components/EditTearsheet/EditTearsheetForm.js +3 -0
  125. package/es/components/EmptyStates/EmptyState.d.ts +72 -5
  126. package/es/components/EmptyStates/EmptyState.js +8 -5
  127. package/es/components/EmptyStates/EmptyStateV2.d.ts +63 -2
  128. package/es/components/EmptyStates/EmptyStateV2.js +3 -2
  129. package/es/components/FullPageError/FullPageError.d.ts +36 -2
  130. package/es/components/FullPageError/FullPageError.js +0 -3
  131. package/es/components/GetStartedCard/GetStartedCard.d.ts +60 -2
  132. package/es/components/GetStartedCard/GetStartedCard.js +11 -10
  133. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  134. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  135. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  136. package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  137. package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  138. package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  139. package/es/components/Nav/NavItem.js +12 -3
  140. package/es/components/OptionsTile/OptionsTile.js +11 -6
  141. package/es/components/PageHeader/PageHeader.js +1 -0
  142. package/es/components/PageHeader/PageHeaderUtils.js +1 -1
  143. package/es/components/RemoveModal/RemoveModal.d.ts +4 -0
  144. package/es/components/RemoveModal/RemoveModal.js +7 -1
  145. package/es/components/SearchBar/SearchBar.d.ts +1 -1
  146. package/es/components/SearchBar/SearchBar.js +2 -2
  147. package/es/components/SidePanel/SidePanel.js +17 -21
  148. package/es/components/SidePanel/motion/variants.d.ts +4 -6
  149. package/es/components/SidePanel/motion/variants.js +10 -11
  150. package/es/components/StatusIndicator/StatusIndicatorStep.js +87 -0
  151. package/es/components/StringFormatter/StringFormatter.js +14 -3
  152. package/es/components/StringFormatter/utils/enums.d.ts +20 -1
  153. package/es/components/StringFormatter/utils/enums.js +22 -2
  154. package/es/components/TagOverflow/TagOverflow.d.ts +35 -4
  155. package/es/components/TagOverflow/TagOverflow.js +47 -64
  156. package/es/components/TagOverflow/TagOverflowModal.js +4 -6
  157. package/es/components/TagOverflow/TagOverflowPopover.d.ts +13 -1
  158. package/es/components/TagOverflow/TagOverflowPopover.js +38 -41
  159. package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
  160. package/es/components/Tearsheet/Tearsheet.js +9 -1
  161. package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  162. package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
  163. package/es/components/Tearsheet/TearsheetShell.d.ts +11 -1
  164. package/es/components/Tearsheet/TearsheetShell.js +28 -7
  165. package/es/components/Toolbar/ToolbarButton.js +1 -1
  166. package/es/components/UserAvatar/UserAvatar.d.ts +59 -1
  167. package/es/components/UserAvatar/UserAvatar.js +7 -23
  168. package/es/components/WebTerminal/WebTerminal.js +10 -12
  169. package/es/components/index.d.ts +1 -1
  170. package/es/global/js/hooks/useFocus.d.ts +1 -0
  171. package/es/global/js/hooks/useFocus.js +5 -2
  172. package/es/global/js/hooks/usePrefersReducedMotion.js +14 -8
  173. package/es/global/js/package-settings.d.ts +1 -1
  174. package/es/global/js/package-settings.js +1 -1
  175. package/es/index.js +1 -0
  176. package/es/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  177. package/es/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1020 -1058
  178. package/es/node_modules/@carbon/icons-react/es/generated/bucket-9.js +881 -758
  179. package/es/settings.d.ts +1 -1
  180. package/lib/components/ActionBar/ActionBar.d.ts +58 -2
  181. package/lib/components/ActionBar/ActionBar.js +14 -9
  182. package/lib/components/ActionBar/ActionBarItem.d.ts +36 -2
  183. package/lib/components/ActionBar/ActionBarItem.js +7 -4
  184. package/lib/components/ActionBar/ActionBarOverflowItems.d.ts +55 -16
  185. package/lib/components/ActionBar/ActionBarOverflowItems.js +8 -4
  186. package/lib/components/Card/Card.d.ts +68 -2
  187. package/lib/components/Card/Card.js +28 -35
  188. package/lib/components/Card/CardFooter.d.ts +51 -48
  189. package/lib/components/Card/CardFooter.js +4 -2
  190. package/lib/components/Card/CardHeader.d.ts +67 -49
  191. package/lib/components/Card/CardHeader.js +4 -2
  192. package/lib/components/Coachmark/Coachmark.d.ts +6 -1
  193. package/lib/components/Coachmark/Coachmark.js +46 -10
  194. package/lib/components/Coachmark/CoachmarkOverlay.js +2 -4
  195. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
  196. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  197. package/lib/components/CoachmarkStack/CoachmarkStack.js +7 -3
  198. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  199. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +1 -0
  200. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +87 -53
  201. package/lib/components/ConditionBuilder/ConditionBuilder.js +82 -25
  202. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  203. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +163 -0
  204. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  205. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +28 -11
  206. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  207. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +33 -9
  208. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +16 -8
  209. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +18 -10
  210. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
  211. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +81 -62
  212. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
  213. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
  214. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  215. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +34 -24
  216. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +43 -36
  217. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +43 -36
  218. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
  219. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +112 -38
  220. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  221. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  222. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +28 -10
  223. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  224. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +122 -0
  225. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  226. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +68 -35
  227. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  228. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +21 -8
  229. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  230. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
  231. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +128 -39
  232. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +5 -1
  233. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +50 -17
  234. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
  235. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +152 -41
  236. package/lib/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  237. package/lib/components/ConditionBuilder/utils/useTranslations.js +30 -0
  238. package/lib/components/ConditionBuilder/utils/util.d.ts +6 -4
  239. package/lib/components/ConditionBuilder/utils/util.js +44 -16
  240. package/lib/components/CreateFullPage/CreateFullPage.js +2 -2
  241. package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
  242. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +129 -53
  243. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +16 -0
  244. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +32 -7
  245. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  246. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  247. package/lib/components/DataSpreadsheet/types/index.d.ts +1 -0
  248. package/lib/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  249. package/lib/components/Datagrid/Datagrid/Datagrid.js +4 -9
  250. package/lib/components/Datagrid/Datagrid/DatagridContent.js +4 -3
  251. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  252. package/lib/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  253. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +6 -6
  254. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  255. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  256. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  257. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  258. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +6 -3
  259. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +20 -12
  260. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  261. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +53 -16
  262. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  263. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +74 -11
  264. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  265. package/lib/components/Datagrid/types/index.d.ts +57 -9
  266. package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
  267. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  268. package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  269. package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
  270. package/lib/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  271. package/lib/components/Datagrid/useCustomizeColumns.js +4 -3
  272. package/lib/components/Datagrid/useDefaultStringRenderer.js +0 -1
  273. package/lib/components/Datagrid/useDisableSelectRows.d.ts +2 -1
  274. package/lib/components/Datagrid/useDisableSelectRows.js +27 -22
  275. package/lib/components/Datagrid/useInlineEdit.js +12 -2
  276. package/lib/components/Datagrid/useNestedRowExpander.js +1 -3
  277. package/lib/components/Datagrid/useNestedRows.js +32 -13
  278. package/lib/components/Datagrid/useRowExpander.js +1 -3
  279. package/lib/components/Datagrid/useSelectRows.js +2 -1
  280. package/lib/components/Datagrid/useStickyColumn.d.ts +8 -1
  281. package/lib/components/Datagrid/useStickyColumn.js +12 -9
  282. package/lib/components/EditInPlace/EditInPlace.d.ts +4 -0
  283. package/lib/components/EditInPlace/EditInPlace.js +21 -10
  284. package/lib/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  285. package/lib/components/EditTearsheet/EditTearsheet.js +43 -9
  286. package/lib/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  287. package/lib/components/EditTearsheet/EditTearsheetForm.js +3 -0
  288. package/lib/components/EmptyStates/EmptyState.d.ts +72 -5
  289. package/lib/components/EmptyStates/EmptyState.js +8 -5
  290. package/lib/components/EmptyStates/EmptyStateV2.d.ts +63 -2
  291. package/lib/components/EmptyStates/EmptyStateV2.js +3 -2
  292. package/lib/components/FullPageError/FullPageError.d.ts +36 -2
  293. package/lib/components/FullPageError/FullPageError.js +0 -3
  294. package/lib/components/GetStartedCard/GetStartedCard.d.ts +60 -2
  295. package/lib/components/GetStartedCard/GetStartedCard.js +10 -9
  296. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  297. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  298. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  299. package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  300. package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  301. package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  302. package/lib/components/Nav/NavItem.js +10 -1
  303. package/lib/components/OptionsTile/OptionsTile.js +11 -6
  304. package/lib/components/PageHeader/PageHeader.js +1 -0
  305. package/lib/components/PageHeader/PageHeaderUtils.js +1 -1
  306. package/lib/components/RemoveModal/RemoveModal.d.ts +4 -0
  307. package/lib/components/RemoveModal/RemoveModal.js +7 -1
  308. package/lib/components/SearchBar/SearchBar.d.ts +1 -1
  309. package/lib/components/SearchBar/SearchBar.js +2 -2
  310. package/lib/components/SidePanel/SidePanel.js +16 -20
  311. package/lib/components/SidePanel/motion/variants.d.ts +4 -6
  312. package/lib/components/SidePanel/motion/variants.js +10 -11
  313. package/lib/components/StatusIndicator/StatusIndicatorStep.js +94 -0
  314. package/lib/components/StringFormatter/StringFormatter.js +13 -2
  315. package/lib/components/StringFormatter/utils/enums.d.ts +20 -1
  316. package/lib/components/StringFormatter/utils/enums.js +23 -1
  317. package/lib/components/TagOverflow/TagOverflow.d.ts +35 -4
  318. package/lib/components/TagOverflow/TagOverflow.js +46 -63
  319. package/lib/components/TagOverflow/TagOverflowModal.js +4 -6
  320. package/lib/components/TagOverflow/TagOverflowPopover.d.ts +13 -1
  321. package/lib/components/TagOverflow/TagOverflowPopover.js +37 -40
  322. package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
  323. package/lib/components/Tearsheet/Tearsheet.js +9 -1
  324. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  325. package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
  326. package/lib/components/Tearsheet/TearsheetShell.d.ts +11 -1
  327. package/lib/components/Tearsheet/TearsheetShell.js +26 -5
  328. package/lib/components/Toolbar/ToolbarButton.js +1 -1
  329. package/lib/components/UserAvatar/UserAvatar.d.ts +59 -1
  330. package/lib/components/UserAvatar/UserAvatar.js +7 -23
  331. package/lib/components/WebTerminal/WebTerminal.js +10 -12
  332. package/lib/components/index.d.ts +1 -1
  333. package/lib/global/js/hooks/useFocus.d.ts +1 -0
  334. package/lib/global/js/hooks/useFocus.js +5 -1
  335. package/lib/global/js/hooks/usePrefersReducedMotion.js +13 -7
  336. package/lib/global/js/package-settings.d.ts +1 -1
  337. package/lib/global/js/package-settings.js +1 -1
  338. package/lib/index.js +5 -0
  339. package/lib/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  340. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1036 -1074
  341. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-9.js +946 -823
  342. package/lib/settings.d.ts +1 -1
  343. package/package.json +8 -7
  344. package/scss/components/Coachmark/_coachmark-overlay.scss +6 -70
  345. package/scss/components/Coachmark/_coachmark.scss +5 -4
  346. package/scss/components/CoachmarkBeacon/_coachmark-beacon.scss +1 -3
  347. package/scss/components/ConditionBuilder/_condition-builder.scss +8 -1
  348. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +31 -5
  349. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +61 -22
  350. package/scss/components/CreateModal/_create-modal.scss +0 -4
  351. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +16 -2
  352. package/scss/components/Datagrid/_datagrid.scss +0 -4
  353. package/scss/components/Datagrid/styles/_datagrid.scss +1 -0
  354. package/scss/components/Datagrid/styles/_useInlineEdit.scss +13 -0
  355. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +7 -5
  356. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +5 -4
  357. package/scss/components/HTTPErrors/_http-errors.scss +77 -0
  358. package/scss/components/OptionsTile/_options-tile.scss +6 -6
  359. package/scss/components/SidePanel/_side-panel.scss +1 -1
  360. package/scss/components/_index-released-only.scss +1 -0
  361. package/telemetry.yml +32 -19
  362. package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  363. package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
  364. package/es/global/js/utils/window.d.ts +0 -2
  365. package/es/global/js/utils/window.js +0 -12
  366. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  367. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
  368. package/lib/global/js/utils/window.d.ts +0 -2
  369. package/lib/global/js/utils/window.js +0 -16
@@ -23,10 +23,8 @@ var _excluded = ["className"],
23
23
  var blockClass = "".concat(pkg.prefix, "--datagrid");
24
24
  var getAccessibilityProps = function getAccessibilityProps(header) {
25
25
  var props = {};
26
- var title = getNodeTextContent(header.Header);
27
- if (title) {
28
- props.title = title;
29
- } else {
26
+ var content = getNodeTextContent(header.Header);
27
+ if (!content) {
30
28
  props['aria-hidden'] = true;
31
29
  }
32
30
  return props;
@@ -82,6 +80,7 @@ var ResizeHeader = function ResizeHeader(_ref) {
82
80
  "aria-label": resizerAriaLabel || 'Resize column',
83
81
  disabled: isFetching
84
82
  })), /*#__PURE__*/React__default.createElement("span", {
83
+ role: "separator",
85
84
  className: "".concat(blockClass, "__col-resize-indicator")
86
85
  }));
87
86
  };
@@ -90,7 +89,8 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
90
89
  var resizerAriaLabel = datagridState.resizerAriaLabel,
91
90
  isTableSortable = datagridState.isTableSortable,
92
91
  rows = datagridState.rows,
93
- isFetching = datagridState.isFetching;
92
+ isFetching = datagridState.isFetching,
93
+ headers = datagridState.headers;
94
94
  useInitialColumnSort(datagridState);
95
95
  // Used to measure the height of the table and uses that value
96
96
  // to display a vertical line to indicate the column you are resizing
@@ -135,7 +135,9 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
135
135
  }
136
136
  onMouseDown === null || onMouseDown === void 0 || onMouseDown(event);
137
137
  };
138
- var _headerGroup$getHeade = headerGroup.getHeaderGroupProps(),
138
+ var _headerGroup$getHeade = headerGroup.getHeaderGroupProps({
139
+ role: undefined
140
+ }),
139
141
  headerGroupClassName = _headerGroup$getHeade.className,
140
142
  headerGroupProps = _objectWithoutProperties(_headerGroup$getHeade, _excluded);
141
143
  var renderSlug = function renderSlug(slug) {
@@ -152,6 +154,9 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
152
154
  });
153
155
  var key = headerGroupProps.key,
154
156
  rowProps = _objectWithoutProperties(headerGroupProps, _excluded2);
157
+ var withActionsColumn = headers ? !!headers.filter(function (header) {
158
+ return header.isAction;
159
+ }).length : false;
155
160
  return /*#__PURE__*/React__default.createElement(TableRow, _extends({
156
161
  key: key
157
162
  }, rowProps, {
@@ -181,9 +186,19 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
181
186
  var _ref5 = columnResizing || {},
182
187
  columnWidths = _ref5.columnWidths;
183
188
  var originalCol = visibleColumns[index];
184
- var _header$getHeaderProp = header.getHeaderProps(),
189
+ var _header$getHeaderProp = header.getHeaderProps({
190
+ role: undefined
191
+ }),
185
192
  headerProps = _extends({}, (_objectDestructuringEmpty(_header$getHeaderProp), _header$getHeaderProp));
186
- var resizerProps = header === null || header === void 0 || (_header$getResizerPro = header.getResizerProps) === null || _header$getResizerPro === void 0 ? void 0 : _header$getResizerPro.call(header);
193
+ var resizerProps = header === null || header === void 0 || (_header$getResizerPro = header.getResizerProps) === null || _header$getResizerPro === void 0 ? void 0 : _header$getResizerPro.call(header, {
194
+ role: undefined
195
+ });
196
+ var headerStyle = headerProps === null || headerProps === void 0 ? void 0 : headerProps.style;
197
+ var lastVisibleIndex = withActionsColumn ? 2 : 1;
198
+ var lastVisibleFlexStyle = index === visibleColumns.length - lastVisibleIndex ? '1 1 0' : '0 0 auto';
199
+ if (headerStyle) {
200
+ headerStyle.flex = lastVisibleFlexStyle;
201
+ }
187
202
  return /*#__PURE__*/React__default.createElement(TableHeader, _extends({}, headerProps, {
188
203
  className: cx(header === null || header === void 0 ? void 0 : header.className, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(blockClass, "__resizableColumn"), resizerProps), "".concat(blockClass, "__isResizing"), header === null || header === void 0 ? void 0 : header.isResizing), "".concat(blockClass, "__sortableColumn"), datagridState.isTableSortable && header.id !== 'spacer'), "".concat(blockClass, "__isSorted"), header === null || header === void 0 ? void 0 : header.isSorted), "".concat(blockClass, "__header-actions-column"), header === null || header === void 0 ? void 0 : header.isAction), "".concat(blockClass, "__with-slug"), header.slug && /*#__PURE__*/React__default.isValidElement(header === null || header === void 0 ? void 0 : header.slug)), headerProps.className),
189
204
  key: header.id,
@@ -16,7 +16,7 @@ import { DatagridSlug } from './addons/Slug/DatagridSlug.js';
16
16
 
17
17
  var _SkeletonText;
18
18
  var _excluded = ["className"],
19
- _excluded2 = ["children"];
19
+ _excluded2 = ["style", "children"];
20
20
  var blockClass = "".concat(pkg.prefix, "--datagrid");
21
21
  var rowHeights = {
22
22
  xs: 24,
@@ -39,7 +39,8 @@ var DatagridRow = function DatagridRow(datagridState) {
39
39
  withExpandedRows = datagridState.withExpandedRows,
40
40
  withMouseHover = datagridState.withMouseHover,
41
41
  setMouseOverRowIndex = datagridState.setMouseOverRowIndex,
42
- headers = datagridState.headers;
42
+ headers = datagridState.headers,
43
+ visibleColumns = datagridState.visibleColumns;
43
44
  var getVisibleNestedRowCount = function getVisibleNestedRowCount(_ref) {
44
45
  var isExpanded = _ref.isExpanded,
45
46
  subRows = _ref.subRows;
@@ -107,7 +108,9 @@ var DatagridRow = function DatagridRow(datagridState) {
107
108
  }
108
109
  return {};
109
110
  };
110
- var _row$getRowProps = row.getRowProps(),
111
+ var _row$getRowProps = row.getRowProps({
112
+ role: undefined
113
+ }),
111
114
  className = _row$getRowProps.className,
112
115
  rowProps = _objectWithoutProperties(_row$getRowProps, _excluded);
113
116
  var foundAIRow = rows.some(function (r) {
@@ -115,6 +118,9 @@ var DatagridRow = function DatagridRow(datagridState) {
115
118
  return /*#__PURE__*/isValidElement(r === null || r === void 0 || (_r$original = r.original) === null || _r$original === void 0 ? void 0 : _r$original.slug);
116
119
  });
117
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)));
121
+ var withActionsColumn = headers ? !!headers.filter(function (header) {
122
+ return header.isAction;
123
+ }).length : false;
118
124
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, {
119
125
  key: key
120
126
  }, /*#__PURE__*/React__default.createElement(TableRow, _extends({}, rowProps, {
@@ -132,10 +138,13 @@ var DatagridRow = function DatagridRow(datagridState) {
132
138
  })) : /*#__PURE__*/React__default.createElement("td", {
133
139
  className: "".concat(blockClass, "__table-row-ai-spacer")
134
140
  }) : null, row.cells.map(function (cell, index) {
135
- var _cell$column, _cell$column2, _content$props, _associatedHeader$;
136
- var cellProps = cell.getCellProps();
141
+ var _cell$column, _cell$column2, _associatedHeader$;
142
+ var cellProps = cell.getCellProps({
143
+ role: undefined
144
+ });
137
145
  // eslint-disable-next-line no-unused-vars
138
146
  var _ref2 = cellProps,
147
+ style = _ref2.style,
139
148
  children = _ref2.children,
140
149
  restProps = _objectWithoutProperties(_ref2, _excluded2);
141
150
  var columnClassname = cell === null || cell === void 0 || (_cell$column = cell.column) === null || _cell$column === void 0 ? void 0 : _cell$column.className;
@@ -146,15 +155,19 @@ var DatagridRow = function DatagridRow(datagridState) {
146
155
  key: cell.column.id
147
156
  });
148
157
  }
149
- 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;
150
158
  var associatedHeader = headers === null || headers === void 0 ? void 0 : headers.filter(function (h) {
151
159
  return h.id === cell.column.id;
152
160
  });
161
+ var lastVisibleIndex = withActionsColumn ? 2 : 1;
162
+ var lastVisibleFlexStyle = index === visibleColumns.length - lastVisibleIndex ? '1 1 0' : '0 0 auto';
163
+ if (style) {
164
+ style.flex = lastVisibleFlexStyle;
165
+ }
153
166
  return /*#__PURE__*/React__default.createElement(TableCell, _extends({
154
167
  className: cx("".concat(blockClass, "__cell"), _defineProperty(_defineProperty(_defineProperty({}, "".concat(blockClass, "__expandable-row-cell"), row.canExpand && index === 0), "".concat(blockClass, "__expandable-row-cell--is-expanded"), row.isExpanded && index === 0), "".concat(blockClass, "__slug--cell"), associatedHeader && associatedHeader.length && /*#__PURE__*/isValidElement((_associatedHeader$ = associatedHeader[0]) === null || _associatedHeader$ === void 0 ? void 0 : _associatedHeader$.slug)), columnClassname)
155
168
  }, restProps, {
156
- key: cell.column.id,
157
- title: title
169
+ style: style,
170
+ key: cell.column.id
158
171
  }), content);
159
172
  })), (renderExpandedRow === null || renderExpandedRow === void 0 ? void 0 : renderExpandedRow()) || undefined);
160
173
  };
@@ -16,11 +16,12 @@ var _excluded = ["onChange"];
16
16
  var blockClass = "".concat(pkg.prefix, "--datagrid");
17
17
  var SelectAll = function SelectAll(datagridState) {
18
18
  var _columns$;
19
- var _useState = useState(typeof window !== 'undefined' ? window.innerWidth : ''),
19
+ var _useState = useState(),
20
20
  _useState2 = _slicedToArray(_useState, 2),
21
21
  windowSize = _useState2[0],
22
22
  setWindowSize = _useState2[1];
23
23
  useLayoutEffect(function () {
24
+ setWindowSize(window.innerWidth);
24
25
  /* istanbul ignore next */
25
26
  function updateSize() {
26
27
  setWindowSize(window.innerWidth);
@@ -48,7 +49,7 @@ var SelectAll = function SelectAll(datagridState) {
48
49
  onAllRowSelect = datagridState.onAllRowSelect;
49
50
  var isFirstColumnStickyLeft = ((_columns$ = columns[0]) === null || _columns$ === void 0 ? void 0 : _columns$.sticky) === 'left' && withStickyColumn;
50
51
  if (hideSelectAll || radio) {
51
- return /*#__PURE__*/React__default.createElement("div", {
52
+ return /*#__PURE__*/React__default.createElement("th", {
52
53
  className: cx("".concat(blockClass, "__head-hidden-select-all"), _defineProperty({}, "".concat(blockClass, "__select-all-sticky-left"), /* istanbul ignore next */
53
54
  isFirstColumnStickyLeft && Number(windowSize) > 671))
54
55
  });
@@ -85,15 +86,14 @@ var SelectAll = function SelectAll(datagridState) {
85
86
  onAllRowSelect === null || onAllRowSelect === void 0 || onAllRowSelect(rows, event);
86
87
  return onChange === null || onChange === void 0 ? void 0 : onChange(event);
87
88
  };
88
- return /*#__PURE__*/React__default.createElement("div", {
89
+ return /*#__PURE__*/React__default.createElement(TableSelectAll, _extends({}, selectProps, {
89
90
  className: cx("".concat(blockClass, "__head-select-all"), "".concat(blockClass, "__checkbox-cell"), _defineProperty({}, "".concat(blockClass, "__checkbox-cell-sticky-left"), /* istanbul ignore next */
90
- isFirstColumnStickyLeft && Number(windowSize) > 671))
91
- }, /*#__PURE__*/React__default.createElement(TableSelectAll, _extends({}, selectProps, {
91
+ isFirstColumnStickyLeft && Number(windowSize) > 671)),
92
92
  name: "".concat(tableId, "-select-all-checkbox-name"),
93
93
  onSelect: handleSelectAllChange,
94
94
  disabled: isFetching || (selectProps === null || selectProps === void 0 ? void 0 : selectProps.disabled),
95
95
  id: "".concat(tableId, "-select-all-checkbox-id")
96
- })));
96
+ }));
97
97
  };
98
98
 
99
99
  export { SelectAll };
@@ -43,11 +43,12 @@ var SelectAllWithToggle = function SelectAllWithToggle(_ref) {
43
43
  onSelectAllRows(isAllRowsSelected && selectAllMode === SELECT_ALL_ROWS);
44
44
  }
45
45
  }, [isAllRowsSelected, selectAllMode, onSelectAllRows]);
46
- var _useState3 = useState(window.innerWidth),
46
+ var _useState3 = useState(),
47
47
  _useState4 = _slicedToArray(_useState3, 2),
48
48
  windowSize = _useState4[0],
49
49
  setWindowSize = _useState4[1];
50
50
  useLayoutEffect(function () {
51
+ setWindowSize(window.innerWidth);
51
52
  function updateSize() {
52
53
  setWindowSize(window.innerWidth);
53
54
  }
@@ -68,7 +69,7 @@ var SelectAllWithToggle = function SelectAllWithToggle(_ref) {
68
69
  var isFirstColumnStickyLeft = (columns === null || columns === void 0 || (_columns$ = columns[0]) === null || _columns$ === void 0 ? void 0 : _columns$.sticky) === 'left' && withStickyColumn;
69
70
  return /*#__PURE__*/React__default.createElement("th", {
70
71
  scope: "col",
71
- className: cx("".concat(blockClass, "__select-all-toggle-on"), _defineProperty({}, "".concat(blockClass, "__select-all-sticky-left"), isFirstColumnStickyLeft && windowSize > 671))
72
+ className: cx("".concat(blockClass, "__select-all-toggle-on"), _defineProperty({}, "".concat(blockClass, "__select-all-sticky-left"), isFirstColumnStickyLeft && (windowSize !== null && windowSize !== void 0 ? windowSize : 0) > 671))
72
73
  }, /*#__PURE__*/React__default.createElement("span", null, /*#__PURE__*/React__default.createElement(Checkbox, _extends({}, selectProps, {
73
74
  name: "".concat(tableId, "-select-all-checkbox-name"),
74
75
  onClick: function onClick(e) {
@@ -73,15 +73,39 @@ var CustomizeColumnsTearsheet = function CustomizeColumnsTearsheet(_ref) {
73
73
  onSaveColumnPrefs(updatedColumns);
74
74
  };
75
75
  var onCheckboxCheck = function onCheckboxCheck(col, value) {
76
+ // Update the visibility of columns based on a single column or an array of columns
76
77
  var changedDefinitions = columnObjects.map(function (definition) {
77
- if ((Array.isArray(col) && col.indexOf(definition) != -1 || definition.id === col.id) && definition.canFilter && !definition.disabled) {
78
- return _objectSpread2(_objectSpread2({}, definition), {}, {
78
+ // If select all is clicked
79
+ if (Array.isArray(col)) {
80
+ return col.includes(definition) && definition.canFilter && !definition.disabled ? _objectSpread2(_objectSpread2({}, definition), {}, {
79
81
  isVisible: value
80
- });
82
+ }) : definition;
81
83
  }
82
- return definition;
84
+ // If a single checkbox is clicked which is written below as a default return
85
+ return col.id === definition.id ? _objectSpread2(_objectSpread2({}, definition), {}, {
86
+ isVisible: value
87
+ }) : definition;
83
88
  });
84
- setColumnObjects(changedDefinitions);
89
+
90
+ // Count the number of visible columns excluding certain IDs after 1st mutation
91
+ var selectedColumnsCount = changedDefinitions.filter(function (definition) {
92
+ return definition.isVisible && !['datagridSelection', 'actions'].includes(definition.id);
93
+ }).length;
94
+
95
+ // Ensure special columns are visible if any other columns are visible
96
+ var finalDefinitions = changedDefinitions.map(function (definition) {
97
+ // If at least 1 column is visible after mutation, we add selection column and actions column (coming from various extensions)
98
+ if (selectedColumnsCount > 0) {
99
+ return ['datagridSelection', 'actions'].includes(definition.id) ? _objectSpread2(_objectSpread2({}, definition), {}, {
100
+ isVisible: true
101
+ }) : definition;
102
+ }
103
+ // Else we remove selection column and actions column
104
+ return ['datagridSelection', 'actions'].includes(definition.id) ? _objectSpread2(_objectSpread2({}, definition), {}, {
105
+ isVisible: false
106
+ }) : definition;
107
+ });
108
+ setColumnObjects(finalDefinitions);
85
109
  setDirty();
86
110
  };
87
111
  var setDirty = function setDirty() {
@@ -96,14 +120,14 @@ var CustomizeColumnsTearsheet = function CustomizeColumnsTearsheet(_ref) {
96
120
  }, [columnObjects]);
97
121
  var string = searchText.trim().toLowerCase();
98
122
  useEffect(function () {
99
- var notFilterableCount = columnObjects.filter(function (col) {
100
- return !col.canFilter;
101
- }).length;
102
123
  var actionCount = columnObjects.filter(function (col) {
103
124
  return col.id === 'actions';
104
125
  }).length;
105
- setVisibleColumnsCount(getVisibleColumnsCount() - notFilterableCount - actionCount);
106
- setTotalColumns(columnObjects.length - notFilterableCount - actionCount);
126
+ var datagridSelectionCount = columnObjects.filter(function (col) {
127
+ return col.id === 'datagridSelection';
128
+ }).length;
129
+ setVisibleColumnsCount(getVisibleColumnsCount() - actionCount - datagridSelectionCount < 0 ? 0 : getVisibleColumnsCount() - actionCount - datagridSelectionCount);
130
+ setTotalColumns(columnObjects.length - actionCount - datagridSelectionCount);
107
131
  }, [getVisibleColumnsCount, columnObjects]);
108
132
  return /*#__PURE__*/React__default.createElement(TearsheetNarrow, {
109
133
  className: "".concat(blockClass, "__customize-columns-tearsheet"),
@@ -209,7 +209,12 @@ var FilterFlyout = function FilterFlyout(_ref) {
209
209
  closeFlyout();
210
210
  cancel();
211
211
  });
212
- useSubscribeToEventEmitter(CLEAR_FILTERS, reset);
212
+
213
+ // tableId is passed in from the event emitter from the FilterSummary component
214
+ // in DatagridContent
215
+ useSubscribeToEventEmitter(CLEAR_FILTERS, function (tableId) {
216
+ reset(tableId);
217
+ });
213
218
  useEffect(function reflectLastAppliedFiltersWhenReactTableUpdates() {
214
219
  lastAppliedFilters.current = JSON.stringify(reactTableFiltersState);
215
220
  }, [reactTableFiltersState, lastAppliedFilters]);
@@ -183,7 +183,12 @@ var FilterPanel = function FilterPanel(_ref) {
183
183
  var _filterPanelRef$curre;
184
184
  (_filterPanelRef$curre = filterPanelRef.current) === null || _filterPanelRef$curre === void 0 || _filterPanelRef$curre.style.setProperty('--filter-panel-min-height', rem(filterPanelMinHeight));
185
185
  }, [filterPanelMinHeight]);
186
- useSubscribeToEventEmitter(CLEAR_FILTERS, reset);
186
+
187
+ // tableId is passed in from the event emitter from the FilterSummary component
188
+ // in DatagridContent
189
+ useSubscribeToEventEmitter(CLEAR_FILTERS, function (tableId) {
190
+ reset(tableId);
191
+ });
187
192
  var getScrollableContainerHeight = function getScrollableContainerHeight() {
188
193
  var _filterHeadingRef$cur, _filterSearchRef$curr, _actionSetRef$current;
189
194
  var filterHeadingHeight = (_filterHeadingRef$cur = filterHeadingRef.current) === null || _filterHeadingRef$cur === void 0 ? void 0 : _filterHeadingRef$cur.getBoundingClientRect().height;
@@ -1,18 +1,21 @@
1
1
  export const FilterContext: React.Context<any>;
2
- export function clearSingleFilter({ key, value }: {
2
+ export function clearSingleFilter({ key, value, tableId }: {
3
3
  key: any;
4
4
  value: any;
5
- }, setAllFilters: any, state: any): void;
6
- export function FilterProvider({ children, filters, filterProps }: {
5
+ tableId: any;
6
+ }, setAllFilters: any, state: any, contextTableId: any): void;
7
+ export function FilterProvider({ children, filters, filterProps, tableId }: {
7
8
  children: any;
8
9
  filters: any;
9
10
  filterProps: any;
11
+ tableId: any;
10
12
  }): import("react/jsx-runtime").JSX.Element;
11
13
  export namespace FilterProvider {
12
14
  namespace propTypes {
13
15
  let children: PropTypes.Validator<NonNullable<NonNullable<PropTypes.ReactNodeLike>>>;
14
16
  let filterProps: PropTypes.Requireable<object>;
15
17
  let filters: PropTypes.Validator<(object | null | undefined)[]>;
18
+ let tableId: PropTypes.Requireable<string>;
16
19
  }
17
20
  }
18
21
  import React from 'react';
@@ -47,9 +47,13 @@ var updateFilterState = function updateFilterState(state, type, value) {
47
47
  });
48
48
  return removeFilterItem(state, filterTagIndex);
49
49
  };
50
- var clearSingleFilter = function clearSingleFilter(_ref, setAllFilters, state) {
50
+ var clearSingleFilter = function clearSingleFilter(_ref, setAllFilters, state, contextTableId) {
51
51
  var key = _ref.key,
52
- value = _ref.value;
52
+ value = _ref.value,
53
+ tableId = _ref.tableId;
54
+ if (tableId !== contextTableId) {
55
+ return;
56
+ }
53
57
  var tempState = _toConsumableArray(state.filters);
54
58
  tempState.forEach(function (f, filterIndex) {
55
59
  if (f.id === key) {
@@ -62,7 +66,7 @@ var clearSingleFilter = function clearSingleFilter(_ref, setAllFilters, state) {
62
66
  This checks if all the checkboxes are selected = false and removes it from the array
63
67
  */
64
68
  var valueIndex = filterValues.findIndex(function (val) {
65
- return val.id === value;
69
+ return val.value === value;
66
70
  });
67
71
  filterValues[valueIndex].selected = false;
68
72
  var updatedFilterObject = _objectSpread2(_objectSpread2({}, f), {}, {
@@ -85,10 +89,11 @@ var clearSingleFilter = function clearSingleFilter(_ref, setAllFilters, state) {
85
89
  });
86
90
  setAllFilters(tempState);
87
91
  };
88
- var handleSingleFilterRemoval = function handleSingleFilterRemoval(key, value) {
92
+ var handleSingleFilterRemoval = function handleSingleFilterRemoval(key, value, tableId) {
89
93
  EventEmitter.dispatch(CLEAR_SINGLE_FILTER, {
90
94
  key: key,
91
- value: value
95
+ value: value,
96
+ tableId: tableId
92
97
  });
93
98
  };
94
99
  var formatDateRange = function formatDateRange(startDate, endDate) {
@@ -96,7 +101,7 @@ var formatDateRange = function formatDateRange(startDate, endDate) {
96
101
  var endDateObj = new Date(endDate);
97
102
  return "".concat(startDateObj.toLocaleDateString(), " - ").concat(endDateObj.toLocaleDateString());
98
103
  };
99
- var prepareFiltersForTags = function prepareFiltersForTags(filters, renderDateLabel) {
104
+ var prepareFiltersForTags = function prepareFiltersForTags(filters, renderDateLabel, tableId) {
100
105
  var tags = [];
101
106
  filters.forEach(function (_ref2) {
102
107
  var id = _ref2.id,
@@ -105,7 +110,7 @@ var prepareFiltersForTags = function prepareFiltersForTags(filters, renderDateLa
105
110
  var sharedFilterProps = {
106
111
  filter: true,
107
112
  onClose: function onClose() {
108
- return handleSingleFilterRemoval(id, value);
113
+ return handleSingleFilterRemoval(id, value, tableId);
109
114
  }
110
115
  };
111
116
  if (type === DROPDOWN || type === RADIO || type === NUMBER) {
@@ -130,7 +135,7 @@ var prepareFiltersForTags = function prepareFiltersForTags(filters, renderDateLa
130
135
  value: option.value
131
136
  }, sharedFilterProps), {}, {
132
137
  onClose: function onClose() {
133
- return handleSingleFilterRemoval(id, option.value);
138
+ return handleSingleFilterRemoval(id, option.value, tableId);
134
139
  }
135
140
  }));
136
141
  }
@@ -156,10 +161,11 @@ var filteringReducer = function filteringReducer(state, action) {
156
161
  var FilterProvider = function FilterProvider(_ref4) {
157
162
  var children = _ref4.children,
158
163
  filters = _ref4.filters,
159
- filterProps = _ref4.filterProps;
164
+ filterProps = _ref4.filterProps,
165
+ tableId = _ref4.tableId;
160
166
  var _ref5 = filterProps || {},
161
167
  renderDateLabel = _ref5.renderDateLabel;
162
- var filterTags = prepareFiltersForTags(filters, renderDateLabel);
168
+ var filterTags = prepareFiltersForTags(filters, renderDateLabel, tableId);
163
169
  var _useState = useState(false),
164
170
  _useState2 = _slicedToArray(_useState, 2),
165
171
  panelOpen = _useState2[0],
@@ -177,7 +183,8 @@ var FilterProvider = function FilterProvider(_ref4) {
177
183
  panelOpen: panelOpen,
178
184
  setPanelOpen: setPanelOpen,
179
185
  state: state,
180
- dispatch: dispatch
186
+ dispatch: dispatch,
187
+ tableId: tableId
181
188
  };
182
189
  return /*#__PURE__*/React__default.createElement(FilterContext.Provider, {
183
190
  value: value
@@ -186,7 +193,8 @@ var FilterProvider = function FilterProvider(_ref4) {
186
193
  FilterProvider.propTypes = {
187
194
  children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,
188
195
  filterProps: PropTypes.object,
189
- filters: PropTypes.arrayOf(PropTypes.object).isRequired
196
+ filters: PropTypes.arrayOf(PropTypes.object).isRequired,
197
+ tableId: PropTypes.string
190
198
  };
191
199
 
192
200
  export { FilterContext, FilterProvider, clearSingleFilter };
@@ -15,7 +15,7 @@ declare function useFilters({ updateMethod, filters, setAllFilters, variation, r
15
15
  prevFiltersObjectArrayRef: React.MutableRefObject<string>;
16
16
  prevFiltersRef: React.MutableRefObject<string>;
17
17
  revertToPreviousFilters: () => void;
18
- reset: () => void;
18
+ reset: (tableId: any) => void;
19
19
  renderFilter: ({ type, column, props: components }: {
20
20
  type: any;
21
21
  column: any;
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { slicedToArray as _slicedToArray, extends as _extends, objectSpread2 as _objectSpread2, defineProperty as _defineProperty, toConsumableArray as _toConsumableArray } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { slicedToArray as _slicedToArray, toConsumableArray as _toConsumableArray, extends as _extends, objectSpread2 as _objectSpread2, defineProperty as _defineProperty } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import { MULTISELECT, DROPDOWN, RADIO, CHECKBOX, NUMBER, DATE, BATCH, SAVED_FILTERS, INSTANT, PANEL } from '../constants.js';
10
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';
@@ -13,6 +13,7 @@ import OverflowCheckboxes from '../OverflowCheckboxes.js';
13
13
  import { getInitialStateFromFilters } from '../utils.js';
14
14
  import { FilterContext } from '../FilterProvider.js';
15
15
  import { handleCheckboxChange } from '../handleCheckboxChange.js';
16
+ import uuidv4 from '../../../../../../global/js/utils/uuidv4.js';
16
17
  import { usePreviousValue } from '../../../../../../global/js/hooks/usePreviousValue.js';
17
18
 
18
19
  var useFilters = function useFilters(_ref) {
@@ -28,7 +29,8 @@ var useFilters = function useFilters(_ref) {
28
29
  isFetching = _ref.isFetching;
29
30
  var _useContext = useContext(FilterContext),
30
31
  state = _useContext.state,
31
- localDispatch = _useContext.dispatch;
32
+ localDispatch = _useContext.dispatch,
33
+ contextTableId = _useContext.tableId;
32
34
  var savedFilters = state.savedFilters;
33
35
  /** State */
34
36
  var _useState = useState(getInitialStateFromFilters(filters, variation, reactTableFiltersState)),
@@ -46,6 +48,7 @@ var useFilters = function useFilters(_ref) {
46
48
  var previousState = usePreviousValue({
47
49
  panelOpen: panelOpen
48
50
  });
51
+ var filteredItemsRef = useRef();
49
52
 
50
53
  // When using batch actions we have to store the filters to then apply them later
51
54
  var prevFiltersRef = useRef(JSON.stringify(filtersState));
@@ -69,24 +72,28 @@ var useFilters = function useFilters(_ref) {
69
72
  holdingLastAppliedFiltersRef.current = JSON.parse(prevFiltersObjectArrayRef.current);
70
73
  holdingPrevFiltersObjectArrayRef.current = JSON.parse(lastAppliedFilters.current);
71
74
  }, [setAllFilters]);
72
- var reset = useCallback(function () {
73
- // When we reset we want the "initialFilters" to be an empty array
74
- var resetFiltersArray = [];
75
+ var reset = useCallback(function (tableId) {
76
+ // only reset filters if tableid of the datagrid that triggered "clear filters"
77
+ // matches the table id stored in its context instance
78
+ if (tableId === contextTableId) {
79
+ // When we reset we want the "initialFilters" to be an empty array
80
+ var resetFiltersArray = [];
75
81
 
76
- // Get the initial values for the filters
77
- var initialFiltersState = getInitialStateFromFilters(filters, variation, resetFiltersArray);
78
- var initialFiltersObjectArray = [];
82
+ // Get the initial values for the filters
83
+ var initialFiltersState = getInitialStateFromFilters(filters, variation, resetFiltersArray);
84
+ var initialFiltersObjectArray = [];
79
85
 
80
- // Set the state to the initial values
81
- setFiltersState(initialFiltersState);
82
- setFiltersObjectArray(initialFiltersObjectArray);
83
- setAllFilters([]);
86
+ // Set the state to the initial values
87
+ setFiltersState(initialFiltersState);
88
+ setFiltersObjectArray(initialFiltersObjectArray);
89
+ setAllFilters([]);
84
90
 
85
- // Update their respective refs so everything is in sync
86
- prevFiltersRef.current = JSON.stringify(initialFiltersState);
87
- prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
88
- lastAppliedFilters.current = JSON.stringify([]);
89
- }, [filters, setAllFilters, variation]);
91
+ // Update their respective refs so everything is in sync
92
+ prevFiltersRef.current = JSON.stringify(initialFiltersState);
93
+ prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
94
+ lastAppliedFilters.current = JSON.stringify([]);
95
+ }
96
+ }, [filters, setAllFilters, variation, contextTableId]);
90
97
  var applyFilters = function applyFilters(_ref2) {
91
98
  var column = _ref2.column,
92
99
  value = _ref2.value,
@@ -302,8 +309,18 @@ var useFilters = function useFilters(_ref) {
302
309
  }
303
310
  return null;
304
311
  }).filter(Boolean);
312
+ var isEqual = compareFilterItems(filteredItems);
313
+ if (!isEqual) {
314
+ filteredItemsRef.current = _toConsumableArray(filteredItems);
315
+ }
316
+ var getKey = function getKey() {
317
+ return isEqual ? {
318
+ key: uuidv4()
319
+ } : column;
320
+ };
305
321
  filter = /*#__PURE__*/React__default.createElement(MultiSelect, _extends({}, components.MultiSelect, {
306
322
  selectedItems: filteredItems,
323
+ key: getKey(),
307
324
  onChange: function onChange(_ref9) {
308
325
  var _components$MultiSele, _components$MultiSele2;
309
326
  var selectedItems = _ref9.selectedItems;
@@ -319,6 +336,7 @@ var useFilters = function useFilters(_ref) {
319
336
  }
320
337
  return null;
321
338
  }).filter(Boolean);
339
+ filteredItemsRef.current = _toConsumableArray(foundItems);
322
340
 
323
341
  // Change selected state for those items that have been selected
324
342
  allOptions.map(function (a) {
@@ -361,6 +379,25 @@ var useFilters = function useFilters(_ref) {
361
379
  key: column
362
380
  }, filter);
363
381
  };
382
+ var compareFilterItems = function compareFilterItems(filteredItems) {
383
+ var _filteredItems$map, _filteredItemsRef$cur, _filteredItemsRef$cur2;
384
+ var filteredItemsId = (_filteredItems$map = filteredItems.map(function (item) {
385
+ return item.id;
386
+ })) !== null && _filteredItems$map !== void 0 ? _filteredItems$map : [];
387
+ var previousFilteredItemsId = (_filteredItemsRef$cur = filteredItemsRef === null || filteredItemsRef === void 0 || (_filteredItemsRef$cur2 = filteredItemsRef.current) === null || _filteredItemsRef$cur2 === void 0 ? void 0 : _filteredItemsRef$cur2.map(function (item) {
388
+ return item.id;
389
+ })) !== null && _filteredItemsRef$cur !== void 0 ? _filteredItemsRef$cur : [];
390
+ var set1 = new Set(filteredItemsId);
391
+ var set2 = new Set(previousFilteredItemsId);
392
+ // Check if the sets have the same size (same number of unique elements)
393
+ if (set1.size !== set2.size) {
394
+ return false;
395
+ }
396
+ // Check if all elements in set1 are also present in set2 (using spread syntax)
397
+ return _toConsumableArray(set1).every(function (element) {
398
+ return set2.has(element);
399
+ });
400
+ };
364
401
 
365
402
  /** This useEffect will properly handle the previous filters when the panel closes
366
403
  * 1. If the panel closes we need to call the reset fn but also store the
@@ -27,8 +27,7 @@ var InlineEditButton = function InlineEditButton(_ref) {
27
27
  tabIndex: isActiveCell ? 0 : -1,
28
28
  "data-disabled": disabledCell,
29
29
  "aria-disabled": disabledCell,
30
- role: "button",
31
- title: label
30
+ role: "button"
32
31
  }, LabelIcon && /*#__PURE__*/React__default.createElement("div", {
33
32
  className: "".concat(blockClass, "__label-icon")
34
33
  }, /*#__PURE__*/React__default.createElement(LabelIcon, null)), label !== '' ? /*#__PURE__*/React__default.createElement("span", {
@@ -48,7 +47,7 @@ InlineEditButton.propTypes = {
48
47
  nonEditCell: PropTypes.bool,
49
48
  placeholder: PropTypes.string,
50
49
  renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
51
- type: PropTypes.oneOf(['text', 'number', 'selection', 'date']),
50
+ type: PropTypes.oneOf(['text', 'number', 'selection', 'date', 'checkbox']),
52
51
  value: PropTypes.oneOfType([PropTypes.string, PropTypes.node])
53
52
  };
54
53