@carbon/ibm-products 2.43.2-canary.1 → 2.43.2-canary.100

Sign up to get free protection for your applications and to get access to all the features.
Files changed (361) hide show
  1. package/css/index-full-carbon.css +428 -143
  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 +218 -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 +248 -105
  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 +349 -129
  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/ActionBarItem.js +1 -1
  18. package/es/components/Coachmark/Coachmark.d.ts +6 -1
  19. package/es/components/Coachmark/Coachmark.js +47 -11
  20. package/es/components/Coachmark/CoachmarkOverlay.js +2 -4
  21. package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
  22. package/es/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  23. package/es/components/CoachmarkStack/CoachmarkStack.js +7 -3
  24. package/es/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  25. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +76 -55
  26. package/es/components/ConditionBuilder/ConditionBuilder.js +82 -25
  27. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  28. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +154 -0
  29. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  30. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +29 -13
  31. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  32. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +30 -8
  33. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +14 -9
  34. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +19 -11
  35. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
  36. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +75 -62
  37. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
  38. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
  39. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  40. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +35 -24
  41. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +40 -36
  42. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +40 -36
  43. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
  44. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +98 -40
  45. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  46. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  47. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +27 -9
  48. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  49. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +114 -0
  50. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  51. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +71 -38
  52. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  53. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +22 -9
  54. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  55. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
  56. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +121 -40
  57. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
  58. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +45 -19
  59. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
  60. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +137 -40
  61. package/es/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  62. package/es/components/ConditionBuilder/utils/useTranslations.js +26 -0
  63. package/es/components/ConditionBuilder/utils/util.d.ts +6 -4
  64. package/es/components/ConditionBuilder/utils/util.js +42 -17
  65. package/es/components/CreateFullPage/CreateFullPage.js +2 -2
  66. package/es/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
  67. package/es/components/DataSpreadsheet/DataSpreadsheet.js +140 -54
  68. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +25 -1
  69. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +50 -9
  70. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +16 -0
  71. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +32 -8
  72. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  73. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +3 -1
  74. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +15 -3
  75. package/es/components/DataSpreadsheet/types/index.d.ts +2 -1
  76. package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  77. package/es/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  78. package/es/components/Datagrid/Datagrid/Datagrid.js +4 -9
  79. package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  80. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  81. package/es/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  82. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
  83. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  84. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  85. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  86. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  87. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  88. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
  89. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  90. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +54 -17
  91. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  92. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +75 -12
  93. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  94. package/es/components/Datagrid/types/index.d.ts +61 -9
  95. package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
  96. package/es/components/Datagrid/useActionsColumn.js +7 -6
  97. package/es/components/Datagrid/useColumnCenterAlign.d.ts +8 -1
  98. package/es/components/Datagrid/useColumnCenterAlign.js +1 -1
  99. package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  100. package/es/components/Datagrid/useColumnRightAlign.js +4 -3
  101. package/es/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  102. package/es/components/Datagrid/useCustomizeColumns.js +4 -3
  103. package/es/components/Datagrid/useDefaultStringRenderer.js +0 -1
  104. package/es/components/Datagrid/useDisableSelectRows.d.ts +2 -1
  105. package/es/components/Datagrid/useDisableSelectRows.js +27 -22
  106. package/es/components/Datagrid/useInlineEdit.d.ts +8 -1
  107. package/es/components/Datagrid/useInlineEdit.js +13 -3
  108. package/es/components/Datagrid/useNestedRowExpander.js +1 -3
  109. package/es/components/Datagrid/useNestedRows.js +32 -13
  110. package/es/components/Datagrid/useRowExpander.js +1 -3
  111. package/es/components/Datagrid/useSelectRows.js +2 -1
  112. package/es/components/Datagrid/useStickyColumn.d.ts +8 -1
  113. package/es/components/Datagrid/useStickyColumn.js +12 -9
  114. package/es/components/Decorator/Decorator.js +2 -1
  115. package/es/components/DecoratorBase/DecoratorBase.js +3 -5
  116. package/es/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  117. package/es/components/DecoratorLink/DecoratorLink.js +2 -1
  118. package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  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/EmptyStateV2.d.ts +63 -2
  126. package/es/components/EmptyStates/EmptyStateV2.js +2 -1
  127. package/es/components/FullPageError/FullPageError.d.ts +36 -2
  128. package/es/components/FullPageError/FullPageError.js +0 -3
  129. package/es/components/GetStartedCard/GetStartedCard.d.ts +61 -2
  130. package/es/components/GetStartedCard/GetStartedCard.js +9 -8
  131. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  132. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  133. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  134. package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  135. package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  136. package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  137. package/es/components/Nav/NavItem.js +12 -3
  138. package/es/components/OptionsTile/OptionsTile.js +11 -6
  139. package/es/components/PageHeader/PageHeader.js +1 -0
  140. package/es/components/RemoveModal/RemoveModal.d.ts +4 -0
  141. package/es/components/RemoveModal/RemoveModal.js +7 -1
  142. package/es/components/SearchBar/SearchBar.d.ts +1 -1
  143. package/es/components/SearchBar/SearchBar.js +2 -2
  144. package/es/components/SidePanel/SidePanel.js +17 -21
  145. package/es/components/SidePanel/motion/variants.d.ts +4 -6
  146. package/es/components/SidePanel/motion/variants.js +10 -11
  147. package/es/components/StatusIndicator/StatusIndicatorStep.js +87 -0
  148. package/es/components/StringFormatter/StringFormatter.js +14 -3
  149. package/es/components/StringFormatter/utils/enums.d.ts +20 -1
  150. package/es/components/StringFormatter/utils/enums.js +22 -2
  151. package/es/components/TagOverflow/TagOverflow.d.ts +35 -4
  152. package/es/components/TagOverflow/TagOverflow.js +47 -64
  153. package/es/components/TagOverflow/TagOverflowModal.js +4 -6
  154. package/es/components/TagOverflow/TagOverflowPopover.d.ts +13 -1
  155. package/es/components/TagOverflow/TagOverflowPopover.js +38 -41
  156. package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
  157. package/es/components/Tearsheet/Tearsheet.js +9 -1
  158. package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  159. package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
  160. package/es/components/Tearsheet/TearsheetShell.d.ts +11 -1
  161. package/es/components/Tearsheet/TearsheetShell.js +28 -7
  162. package/es/components/Toolbar/ToolbarButton.js +1 -1
  163. package/es/components/WebTerminal/WebTerminal.js +10 -12
  164. package/es/components/index.d.ts +1 -1
  165. package/es/global/js/hooks/useFocus.d.ts +1 -0
  166. package/es/global/js/hooks/useFocus.js +5 -2
  167. package/es/global/js/hooks/usePrefersReducedMotion.js +14 -8
  168. package/es/global/js/package-settings.d.ts +1 -1
  169. package/es/global/js/package-settings.js +1 -1
  170. package/es/index.js +1 -0
  171. package/es/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  172. package/es/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1020 -1058
  173. package/es/node_modules/@carbon/icons-react/es/generated/bucket-9.js +881 -758
  174. package/es/settings.d.ts +1 -1
  175. package/lib/components/ActionBar/ActionBarItem.js +1 -1
  176. package/lib/components/Coachmark/Coachmark.d.ts +6 -1
  177. package/lib/components/Coachmark/Coachmark.js +46 -10
  178. package/lib/components/Coachmark/CoachmarkOverlay.js +2 -4
  179. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
  180. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  181. package/lib/components/CoachmarkStack/CoachmarkStack.js +7 -3
  182. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  183. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +74 -53
  184. package/lib/components/ConditionBuilder/ConditionBuilder.js +82 -25
  185. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  186. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +163 -0
  187. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  188. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +28 -11
  189. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  190. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +29 -7
  191. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +12 -7
  192. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +18 -10
  193. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
  194. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +73 -60
  195. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
  196. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
  197. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  198. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +34 -24
  199. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +40 -36
  200. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +40 -36
  201. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
  202. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +96 -38
  203. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  204. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  205. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +28 -10
  206. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  207. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +122 -0
  208. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  209. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +68 -35
  210. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  211. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +21 -8
  212. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  213. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
  214. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +118 -37
  215. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
  216. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +44 -17
  217. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
  218. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +137 -39
  219. package/lib/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  220. package/lib/components/ConditionBuilder/utils/useTranslations.js +30 -0
  221. package/lib/components/ConditionBuilder/utils/util.d.ts +6 -4
  222. package/lib/components/ConditionBuilder/utils/util.js +44 -16
  223. package/lib/components/CreateFullPage/CreateFullPage.js +2 -2
  224. package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
  225. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +140 -54
  226. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +25 -1
  227. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +50 -9
  228. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +16 -0
  229. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +32 -8
  230. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  231. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +3 -1
  232. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +15 -3
  233. package/lib/components/DataSpreadsheet/types/index.d.ts +2 -1
  234. package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  235. package/lib/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  236. package/lib/components/Datagrid/Datagrid/Datagrid.js +4 -9
  237. package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  238. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  239. package/lib/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  240. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
  241. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  242. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  243. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  244. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  245. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  246. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
  247. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  248. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +53 -16
  249. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  250. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +74 -11
  251. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  252. package/lib/components/Datagrid/types/index.d.ts +61 -9
  253. package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
  254. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  255. package/lib/components/Datagrid/useColumnCenterAlign.d.ts +8 -1
  256. package/lib/components/Datagrid/useColumnCenterAlign.js +1 -1
  257. package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  258. package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
  259. package/lib/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  260. package/lib/components/Datagrid/useCustomizeColumns.js +4 -3
  261. package/lib/components/Datagrid/useDefaultStringRenderer.js +0 -1
  262. package/lib/components/Datagrid/useDisableSelectRows.d.ts +2 -1
  263. package/lib/components/Datagrid/useDisableSelectRows.js +27 -22
  264. package/lib/components/Datagrid/useInlineEdit.d.ts +8 -1
  265. package/lib/components/Datagrid/useInlineEdit.js +13 -3
  266. package/lib/components/Datagrid/useNestedRowExpander.js +1 -3
  267. package/lib/components/Datagrid/useNestedRows.js +32 -13
  268. package/lib/components/Datagrid/useRowExpander.js +1 -3
  269. package/lib/components/Datagrid/useSelectRows.js +2 -1
  270. package/lib/components/Datagrid/useStickyColumn.d.ts +8 -1
  271. package/lib/components/Datagrid/useStickyColumn.js +12 -9
  272. package/lib/components/Decorator/Decorator.js +2 -1
  273. package/lib/components/DecoratorBase/DecoratorBase.js +3 -5
  274. package/lib/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  275. package/lib/components/DecoratorLink/DecoratorLink.js +2 -1
  276. package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  277. package/lib/components/EditInPlace/EditInPlace.d.ts +4 -0
  278. package/lib/components/EditInPlace/EditInPlace.js +21 -10
  279. package/lib/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  280. package/lib/components/EditTearsheet/EditTearsheet.js +43 -9
  281. package/lib/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  282. package/lib/components/EditTearsheet/EditTearsheetForm.js +3 -0
  283. package/lib/components/EmptyStates/EmptyStateV2.d.ts +63 -2
  284. package/lib/components/EmptyStates/EmptyStateV2.js +2 -1
  285. package/lib/components/FullPageError/FullPageError.d.ts +36 -2
  286. package/lib/components/FullPageError/FullPageError.js +0 -3
  287. package/lib/components/GetStartedCard/GetStartedCard.d.ts +61 -2
  288. package/lib/components/GetStartedCard/GetStartedCard.js +8 -7
  289. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  290. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  291. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  292. package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  293. package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  294. package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  295. package/lib/components/Nav/NavItem.js +10 -1
  296. package/lib/components/OptionsTile/OptionsTile.js +11 -6
  297. package/lib/components/PageHeader/PageHeader.js +1 -0
  298. package/lib/components/RemoveModal/RemoveModal.d.ts +4 -0
  299. package/lib/components/RemoveModal/RemoveModal.js +7 -1
  300. package/lib/components/SearchBar/SearchBar.d.ts +1 -1
  301. package/lib/components/SearchBar/SearchBar.js +2 -2
  302. package/lib/components/SidePanel/SidePanel.js +16 -20
  303. package/lib/components/SidePanel/motion/variants.d.ts +4 -6
  304. package/lib/components/SidePanel/motion/variants.js +10 -11
  305. package/lib/components/StatusIndicator/StatusIndicatorStep.js +94 -0
  306. package/lib/components/StringFormatter/StringFormatter.js +13 -2
  307. package/lib/components/StringFormatter/utils/enums.d.ts +20 -1
  308. package/lib/components/StringFormatter/utils/enums.js +23 -1
  309. package/lib/components/TagOverflow/TagOverflow.d.ts +35 -4
  310. package/lib/components/TagOverflow/TagOverflow.js +46 -63
  311. package/lib/components/TagOverflow/TagOverflowModal.js +4 -6
  312. package/lib/components/TagOverflow/TagOverflowPopover.d.ts +13 -1
  313. package/lib/components/TagOverflow/TagOverflowPopover.js +37 -40
  314. package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
  315. package/lib/components/Tearsheet/Tearsheet.js +9 -1
  316. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  317. package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
  318. package/lib/components/Tearsheet/TearsheetShell.d.ts +11 -1
  319. package/lib/components/Tearsheet/TearsheetShell.js +26 -5
  320. package/lib/components/Toolbar/ToolbarButton.js +1 -1
  321. package/lib/components/WebTerminal/WebTerminal.js +10 -12
  322. package/lib/components/index.d.ts +1 -1
  323. package/lib/global/js/hooks/useFocus.d.ts +1 -0
  324. package/lib/global/js/hooks/useFocus.js +5 -1
  325. package/lib/global/js/hooks/usePrefersReducedMotion.js +13 -7
  326. package/lib/global/js/package-settings.d.ts +1 -1
  327. package/lib/global/js/package-settings.js +1 -1
  328. package/lib/index.js +5 -0
  329. package/lib/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  330. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1036 -1074
  331. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-9.js +946 -823
  332. package/lib/settings.d.ts +1 -1
  333. package/package.json +9 -8
  334. package/scss/components/Coachmark/_coachmark-overlay.scss +6 -70
  335. package/scss/components/Coachmark/_coachmark.scss +5 -4
  336. package/scss/components/CoachmarkBeacon/_coachmark-beacon.scss +1 -3
  337. package/scss/components/ConditionBuilder/_condition-builder.scss +5 -1
  338. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +20 -3
  339. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +32 -3
  340. package/scss/components/CreateModal/_create-modal.scss +0 -4
  341. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +17 -2
  342. package/scss/components/Datagrid/_datagrid.scss +0 -4
  343. package/scss/components/Datagrid/styles/_useInlineEdit.scss +13 -0
  344. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +7 -5
  345. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +5 -4
  346. package/scss/components/HTTPErrors/_http-errors.scss +77 -0
  347. package/scss/components/OptionsTile/_options-tile.scss +6 -6
  348. package/scss/components/SidePanel/_side-panel.scss +1 -1
  349. package/scss/components/StatusIcon/_status-icon.scss +4 -4
  350. package/scss/components/StringFormatter/_string-formatter.scss +2 -2
  351. package/scss/components/UserProfileImage/_user-profile-image.scss +6 -2
  352. package/scss/components/_index-released-only.scss +1 -0
  353. package/telemetry.yml +32 -19
  354. package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  355. package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
  356. package/es/global/js/utils/window.d.ts +0 -2
  357. package/es/global/js/utils/window.js +0 -12
  358. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  359. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
  360. package/lib/global/js/utils/window.d.ts +0 -2
  361. package/lib/global/js/utils/window.js +0 -16
@@ -3,16 +3,18 @@ export function clearSingleFilter({ key, value }: {
3
3
  key: any;
4
4
  value: any;
5
5
  }, setAllFilters: any, state: any): void;
6
- export function FilterProvider({ children, filters, filterProps }: {
6
+ export function FilterProvider({ children, filters, filterProps, tableId }: {
7
7
  children: any;
8
8
  filters: any;
9
9
  filterProps: any;
10
+ tableId: any;
10
11
  }): import("react/jsx-runtime").JSX.Element;
11
12
  export namespace FilterProvider {
12
13
  namespace propTypes {
13
14
  let children: PropTypes.Validator<NonNullable<NonNullable<PropTypes.ReactNodeLike>>>;
14
15
  let filterProps: PropTypes.Requireable<object>;
15
16
  let filters: PropTypes.Validator<(object | null | undefined)[]>;
17
+ let tableId: PropTypes.Requireable<string>;
16
18
  }
17
19
  }
18
20
  import React from 'react';
@@ -70,7 +70,7 @@ var clearSingleFilter = function clearSingleFilter(_ref, setAllFilters, state) {
70
70
  This checks if all the checkboxes are selected = false and removes it from the array
71
71
  */
72
72
  var valueIndex = filterValues.findIndex(function (val) {
73
- return val.id === value;
73
+ return val.value === value;
74
74
  });
75
75
  filterValues[valueIndex].selected = false;
76
76
  var updatedFilterObject = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, f), {}, {
@@ -164,7 +164,8 @@ var filteringReducer = function filteringReducer(state, action) {
164
164
  var FilterProvider = function FilterProvider(_ref4) {
165
165
  var children = _ref4.children,
166
166
  filters = _ref4.filters,
167
- filterProps = _ref4.filterProps;
167
+ filterProps = _ref4.filterProps,
168
+ tableId = _ref4.tableId;
168
169
  var _ref5 = filterProps || {},
169
170
  renderDateLabel = _ref5.renderDateLabel;
170
171
  var filterTags = prepareFiltersForTags(filters, renderDateLabel);
@@ -185,7 +186,8 @@ var FilterProvider = function FilterProvider(_ref4) {
185
186
  panelOpen: panelOpen,
186
187
  setPanelOpen: setPanelOpen,
187
188
  state: state,
188
- dispatch: dispatch
189
+ dispatch: dispatch,
190
+ tableId: tableId
189
191
  };
190
192
  return /*#__PURE__*/React__default["default"].createElement(FilterContext.Provider, {
191
193
  value: value
@@ -194,7 +196,8 @@ var FilterProvider = function FilterProvider(_ref4) {
194
196
  FilterProvider.propTypes = {
195
197
  children: index["default"].oneOfType([index["default"].arrayOf(index["default"].node), index["default"].node]).isRequired,
196
198
  filterProps: index["default"].object,
197
- filters: index["default"].arrayOf(index["default"].object).isRequired
199
+ filters: index["default"].arrayOf(index["default"].object).isRequired,
200
+ tableId: index["default"].string
198
201
  };
199
202
 
200
203
  exports.FilterContext = FilterContext;
@@ -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;
@@ -17,6 +17,7 @@ var OverflowCheckboxes = require('../OverflowCheckboxes.js');
17
17
  var utils = require('../utils.js');
18
18
  var FilterProvider = require('../FilterProvider.js');
19
19
  var handleCheckboxChange = require('../handleCheckboxChange.js');
20
+ var uuidv4 = require('../../../../../../global/js/utils/uuidv4.js');
20
21
  var usePreviousValue = require('../../../../../../global/js/hooks/usePreviousValue.js');
21
22
 
22
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -36,7 +37,8 @@ var useFilters = function useFilters(_ref) {
36
37
  isFetching = _ref.isFetching;
37
38
  var _useContext = React.useContext(FilterProvider.FilterContext),
38
39
  state = _useContext.state,
39
- localDispatch = _useContext.dispatch;
40
+ localDispatch = _useContext.dispatch,
41
+ contextTableId = _useContext.tableId;
40
42
  var savedFilters = state.savedFilters;
41
43
  /** State */
42
44
  var _useState = React.useState(utils.getInitialStateFromFilters(filters, variation, reactTableFiltersState)),
@@ -54,6 +56,7 @@ var useFilters = function useFilters(_ref) {
54
56
  var previousState = usePreviousValue.usePreviousValue({
55
57
  panelOpen: panelOpen
56
58
  });
59
+ var filteredItemsRef = React.useRef();
57
60
 
58
61
  // When using batch actions we have to store the filters to then apply them later
59
62
  var prevFiltersRef = React.useRef(JSON.stringify(filtersState));
@@ -77,24 +80,28 @@ var useFilters = function useFilters(_ref) {
77
80
  holdingLastAppliedFiltersRef.current = JSON.parse(prevFiltersObjectArrayRef.current);
78
81
  holdingPrevFiltersObjectArrayRef.current = JSON.parse(lastAppliedFilters.current);
79
82
  }, [setAllFilters]);
80
- var reset = React.useCallback(function () {
81
- // When we reset we want the "initialFilters" to be an empty array
82
- var resetFiltersArray = [];
83
+ var reset = React.useCallback(function (tableId) {
84
+ // only reset filters if tableid of the datagrid that triggered "clear filters"
85
+ // matches the table id stored in its context instance
86
+ if (tableId === contextTableId) {
87
+ // When we reset we want the "initialFilters" to be an empty array
88
+ var resetFiltersArray = [];
83
89
 
84
- // Get the initial values for the filters
85
- var initialFiltersState = utils.getInitialStateFromFilters(filters, variation, resetFiltersArray);
86
- var initialFiltersObjectArray = [];
90
+ // Get the initial values for the filters
91
+ var initialFiltersState = utils.getInitialStateFromFilters(filters, variation, resetFiltersArray);
92
+ var initialFiltersObjectArray = [];
87
93
 
88
- // Set the state to the initial values
89
- setFiltersState(initialFiltersState);
90
- setFiltersObjectArray(initialFiltersObjectArray);
91
- setAllFilters([]);
94
+ // Set the state to the initial values
95
+ setFiltersState(initialFiltersState);
96
+ setFiltersObjectArray(initialFiltersObjectArray);
97
+ setAllFilters([]);
92
98
 
93
- // Update their respective refs so everything is in sync
94
- prevFiltersRef.current = JSON.stringify(initialFiltersState);
95
- prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
96
- lastAppliedFilters.current = JSON.stringify([]);
97
- }, [filters, setAllFilters, variation]);
99
+ // Update their respective refs so everything is in sync
100
+ prevFiltersRef.current = JSON.stringify(initialFiltersState);
101
+ prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
102
+ lastAppliedFilters.current = JSON.stringify([]);
103
+ }
104
+ }, [filters, setAllFilters, variation, contextTableId]);
98
105
  var applyFilters = function applyFilters(_ref2) {
99
106
  var column = _ref2.column,
100
107
  value = _ref2.value,
@@ -310,8 +317,18 @@ var useFilters = function useFilters(_ref) {
310
317
  }
311
318
  return null;
312
319
  }).filter(Boolean);
320
+ var isEqual = compareFilterItems(filteredItems);
321
+ if (!isEqual) {
322
+ filteredItemsRef.current = _rollupPluginBabelHelpers.toConsumableArray(filteredItems);
323
+ }
324
+ var getKey = function getKey() {
325
+ return isEqual ? {
326
+ key: uuidv4["default"]()
327
+ } : column;
328
+ };
313
329
  filter = /*#__PURE__*/React__default["default"].createElement(react.MultiSelect, _rollupPluginBabelHelpers["extends"]({}, components.MultiSelect, {
314
330
  selectedItems: filteredItems,
331
+ key: getKey(),
315
332
  onChange: function onChange(_ref9) {
316
333
  var _components$MultiSele, _components$MultiSele2;
317
334
  var selectedItems = _ref9.selectedItems;
@@ -327,6 +344,7 @@ var useFilters = function useFilters(_ref) {
327
344
  }
328
345
  return null;
329
346
  }).filter(Boolean);
347
+ filteredItemsRef.current = _rollupPluginBabelHelpers.toConsumableArray(foundItems);
330
348
 
331
349
  // Change selected state for those items that have been selected
332
350
  allOptions.map(function (a) {
@@ -369,6 +387,25 @@ var useFilters = function useFilters(_ref) {
369
387
  key: column
370
388
  }, filter);
371
389
  };
390
+ var compareFilterItems = function compareFilterItems(filteredItems) {
391
+ var _filteredItems$map, _filteredItemsRef$cur, _filteredItemsRef$cur2;
392
+ var filteredItemsId = (_filteredItems$map = filteredItems.map(function (item) {
393
+ return item.id;
394
+ })) !== null && _filteredItems$map !== void 0 ? _filteredItems$map : [];
395
+ 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) {
396
+ return item.id;
397
+ })) !== null && _filteredItemsRef$cur !== void 0 ? _filteredItemsRef$cur : [];
398
+ var set1 = new Set(filteredItemsId);
399
+ var set2 = new Set(previousFilteredItemsId);
400
+ // Check if the sets have the same size (same number of unique elements)
401
+ if (set1.size !== set2.size) {
402
+ return false;
403
+ }
404
+ // Check if all elements in set1 are also present in set2 (using spread syntax)
405
+ return _rollupPluginBabelHelpers.toConsumableArray(set1).every(function (element) {
406
+ return set2.has(element);
407
+ });
408
+ };
372
409
 
373
410
  /** This useEffect will properly handle the previous filters when the panel closes
374
411
  * 1. If the panel closes we need to call the reset fn but also store the
@@ -36,8 +36,7 @@ var InlineEditButton = function InlineEditButton(_ref) {
36
36
  tabIndex: isActiveCell ? 0 : -1,
37
37
  "data-disabled": disabledCell,
38
38
  "aria-disabled": disabledCell,
39
- role: "button",
40
- title: label
39
+ role: "button"
41
40
  }, LabelIcon && /*#__PURE__*/React__default["default"].createElement("div", {
42
41
  className: "".concat(blockClass, "__label-icon")
43
42
  }, /*#__PURE__*/React__default["default"].createElement(LabelIcon, null)), label !== '' ? /*#__PURE__*/React__default["default"].createElement("span", {
@@ -57,7 +56,7 @@ InlineEditButton.propTypes = {
57
56
  nonEditCell: index["default"].bool,
58
57
  placeholder: index["default"].string,
59
58
  renderIcon: index["default"].oneOfType([index["default"].func, index["default"].object]),
60
- type: index["default"].oneOf(['text', 'number', 'selection', 'date']),
59
+ type: index["default"].oneOf(['text', 'number', 'selection', 'date', 'checkbox']),
61
60
  value: index["default"].oneOfType([index["default"].string, index["default"].node])
62
61
  };
63
62
 
@@ -28,7 +28,7 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
28
28
 
29
29
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
30
30
  var InlineEditCell = function InlineEditCell(_ref) {
31
- var _config$validator, _value$text;
31
+ var _config$validator;
32
32
  var cell = _ref.cell,
33
33
  config = _ref.config,
34
34
  _ref$disabledCell = _ref.disabledCell,
@@ -75,6 +75,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
75
75
  var _ref2 = config || {},
76
76
  inputProps = _ref2.inputProps;
77
77
  var textInputRef = React.useRef();
78
+ var checkboxRef = React.useRef();
78
79
  var numberInputRef = React.useRef();
79
80
  var dropdownRef = React.useRef();
80
81
  var datePickerRef = React.useRef();
@@ -211,16 +212,42 @@ var InlineEditCell = function InlineEditCell(_ref) {
211
212
  };
212
213
  var getNewCellId = function getNewCellId(key) {
213
214
  var totalRows = instance.rows.length;
214
- var newCellId = key === 'Enter' ? "column-".concat(columnIndex, "-row-").concat(cell.row.index < totalRows - 1 ? cell.row.index + 1 : cell.row.index) : "column-".concat(columnIndex < instance.columns.length - 1 ? columnIndex + 1 : columnIndex, "-row-").concat(cell.row.index);
215
+ var newCellId = key === 'Enter' ? "column-".concat(columnIndex, "-row-").concat(cell.row.index < totalRows - 1 && type === 'checkbox' ? cell.row.index + 1 : cell.row.index) : "column-".concat(columnIndex < instance.columns.length - 1 ? columnIndex + 1 : columnIndex, "-row-").concat(cell.row.index);
215
216
  return newCellId;
216
217
  };
217
218
  var handleKeyDown = function handleKeyDown(event) {
218
219
  var key = event.key;
219
220
  switch (key) {
221
+ case 'ArrowRight':
222
+ case 'ArrowLeft':
223
+ case 'ArrowUp':
224
+ case 'ArrowDown':
225
+ if (inEditMode && event.target.type === 'checkbox') {
226
+ var newCellId = getNewCellId(key);
227
+ saveCellData(cellValue);
228
+ setInitialValue(cellValue);
229
+ dispatch({
230
+ type: 'EXIT_EDIT_MODE',
231
+ payload: newCellId
232
+ });
233
+ setInEditMode(false);
234
+ sendFocusBackToGrid();
235
+ }
236
+ break;
220
237
  // Save cell contents to data
221
238
  case 'Tab':
222
239
  case 'Enter':
223
240
  {
241
+ if (type === 'checkbox') {
242
+ // Since checkbox doesn't need to click into it to enter `inEditMode` we don't need to check for it
243
+ var _newCellId = getNewCellId(key);
244
+ dispatch({
245
+ type: 'EXIT_EDIT_MODE',
246
+ payload: _newCellId
247
+ });
248
+ setInEditMode(false);
249
+ sendFocusBackToGrid();
250
+ }
224
251
  if (inEditMode) {
225
252
  // Dropdown saves are handled in the Dropdown's/DatePicker's onChange prop
226
253
  if (type === 'selection' || type === 'date') {
@@ -234,12 +261,12 @@ var InlineEditCell = function InlineEditCell(_ref) {
234
261
  if (isInvalid) {
235
262
  return;
236
263
  }
237
- var newCellId = getNewCellId(key);
264
+ var _newCellId2 = getNewCellId(key);
238
265
  saveCellData(cellValue);
239
266
  setInitialValue(cellValue);
240
267
  dispatch({
241
268
  type: 'EXIT_EDIT_MODE',
242
- payload: newCellId
269
+ payload: _newCellId2
243
270
  });
244
271
  setInEditMode(false);
245
272
  sendFocusBackToGrid();
@@ -434,9 +461,27 @@ var InlineEditCell = function InlineEditCell(_ref) {
434
461
  ref: numberInputRef
435
462
  }));
436
463
  };
464
+ var renderCheckBoxCell = function renderCheckBoxCell() {
465
+ return /*#__PURE__*/React__default["default"].createElement(react.Checkbox, _rollupPluginBabelHelpers["extends"]({
466
+ labelText: cellLabel || 'Checkbox'
467
+ }, inputProps, {
468
+ className: cx__default["default"]("".concat(blockClass, "__inline-edit--outer-cell-checkbox"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit--outer-cell-checkbox-focus"), activeCellId === cellId)),
469
+ id: cellId,
470
+ hideLabel: true,
471
+ checked: cellValue,
472
+ onChange: function onChange(event, _ref10) {
473
+ var checked = _ref10.checked;
474
+ setCellValue(checked);
475
+ if (inputProps.onChange) {
476
+ inputProps.onChange(checked);
477
+ }
478
+ },
479
+ ref: checkboxRef
480
+ }));
481
+ };
437
482
  var renderTextInput = function renderTextInput() {
438
- var _ref10 = config || {},
439
- validator = _ref10.validator;
483
+ var _ref11 = config || {},
484
+ validator = _ref11.validator;
440
485
  var isInvalid = validator === null || validator === void 0 ? void 0 : validator(cellValue);
441
486
  return /*#__PURE__*/React__default["default"].createElement(react.TextInput, _rollupPluginBabelHelpers["extends"]({
442
487
  labelText: cellLabel,
@@ -456,6 +501,24 @@ var InlineEditCell = function InlineEditCell(_ref) {
456
501
  ref: textInputRef
457
502
  }));
458
503
  };
504
+ var getLabel = function getLabel() {
505
+ var _value$text, _checkStaticCell;
506
+ var checkStaticCell = function checkStaticCell(val) {
507
+ if (_rollupPluginBabelHelpers["typeof"](val) === 'object' && val !== null && val !== void 0 && val.isStaticCell) {
508
+ return val === null || val === void 0 ? void 0 : val.value;
509
+ }
510
+ };
511
+ switch (type) {
512
+ case 'selection':
513
+ checkStaticCell(value);
514
+ return (_value$text = value === null || value === void 0 ? void 0 : value.text) !== null && _value$text !== void 0 ? _value$text : value;
515
+ case 'date':
516
+ checkStaticCell(value);
517
+ return buildDate(value);
518
+ default:
519
+ return (_checkStaticCell = checkStaticCell(value)) !== null && _checkStaticCell !== void 0 ? _checkStaticCell : value;
520
+ }
521
+ };
459
522
  return (
460
523
  /*#__PURE__*/
461
524
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
@@ -464,15 +527,15 @@ var InlineEditCell = function InlineEditCell(_ref) {
464
527
  "data-cell-id": cellId,
465
528
  "data-column-index": columnIndex,
466
529
  "data-row-index": cell.row.index,
467
- "data-disabled": disabledCell,
530
+ "data-disabled": disabledCell || nonEditCell,
468
531
  "data-inline-type": type,
469
532
  onClick: !nonEditCell ? handleInlineCellClick : addActiveState,
470
533
  onKeyDown: !nonEditCell ? handleKeyDown : null,
471
534
  className: cx__default["default"]("".concat(blockClass, "__inline-edit--outer-cell-button"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit--outer-cell-button--").concat(rowSize), rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--lg"), !rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--invalid"), inEditMode && (config === null || config === void 0 || (_config$validator = config.validator) === null || _config$validator === void 0 ? void 0 : _config$validator.call(config, cellValue))), "".concat(blockClass, "__static--outer-cell"), !disabledCell))
472
- }, !nonEditCell && !disabledCell && renderRegularCell(), (!inEditMode || disabledCell) && /*#__PURE__*/React__default["default"].createElement(InlineEditButton.InlineEditButton, {
535
+ }, !nonEditCell && !disabledCell && type !== 'checkbox' && renderRegularCell(), (!inEditMode || disabledCell) && type !== 'checkbox' && /*#__PURE__*/React__default["default"].createElement(InlineEditButton.InlineEditButton, {
473
536
  isActiveCell: cellId === activeCellId,
474
537
  renderIcon: setRenderIcon(),
475
- label: type === 'selection' ? (_value$text = value === null || value === void 0 ? void 0 : value.text) !== null && _value$text !== void 0 ? _value$text : value : type === 'date' ? buildDate(value) : value,
538
+ label: getLabel(),
476
539
  disabledCell: disabledCell,
477
540
  labelIcon: (value === null || value === void 0 ? void 0 : value.icon) || null,
478
541
  placeholder: placeholder,
@@ -480,7 +543,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
480
543
  nonEditCell: nonEditCell,
481
544
  columnConfig: cell.column,
482
545
  type: type
483
- }), !nonEditCell && inEditMode && cellId === activeCellId && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, type === 'text' && renderTextInput(), type === 'number' && renderNumberInput(), type === 'selection' && renderSelectCell(), type === 'date' && renderDateCell()))
546
+ }), type === 'checkbox' && renderCheckBoxCell(), !nonEditCell && inEditMode && cellId === activeCellId && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, type === 'text' && renderTextInput(), type === 'number' && renderNumberInput(), type === 'selection' && renderSelectCell(), type === 'date' && renderDateCell()))
484
547
  );
485
548
  };
486
549
  InlineEditCell.propTypes = {
@@ -498,7 +561,7 @@ InlineEditCell.propTypes = {
498
561
  nonEditCell: index["default"].bool,
499
562
  placeholder: index["default"].string,
500
563
  tabIndex: index["default"].number,
501
- type: index["default"].oneOf(['text', 'number', 'selection', 'date']),
564
+ type: index["default"].oneOf(['text', 'number', 'selection', 'date', 'checkbox']),
502
565
  value: index["default"].oneOfType([index["default"].string, index["default"].node, index["default"].object])
503
566
  };
504
567
 
@@ -78,7 +78,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
78
78
  };
79
79
 
80
80
  // Stop grid key listener when in edit mode
81
- var isEditing = document.activeElement.id === activeCellId && document.activeElement.id === editId || dropdownIsActive() || datePickerIsActive();
81
+ var isEditing = focusedCell.getAttribute('data-inline-type') !== 'checkbox' && document.activeElement.id === activeCellId && document.activeElement.id === editId || dropdownIsActive() || datePickerIsActive();
82
82
  if (isEditing || !gridActive) {
83
83
  return;
84
84
  }
@@ -91,6 +91,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
91
91
  event.preventDefault();
92
92
  }
93
93
  var isDisabledCell = focusedCell.getAttribute('data-disabled') === 'false' ? false : true;
94
+ var isEditableCell = !event.target.classList.contains("".concat(blockClass, "__inline-edit-button--non-edit"));
94
95
  var sharedUpdateParams = {
95
96
  oldId: activeCellId,
96
97
  instance: instance
@@ -198,7 +199,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
198
199
  case 'Enter':
199
200
  {
200
201
  // Disabled cells are not allowed to go into edit mode
201
- if (isDisabledCell) {
202
+ if (isDisabledCell || !isEditableCell) {
202
203
  return;
203
204
  }
204
205
  // Only go into edit mode if there is no editId, meaning that we're not already in edit mode
@@ -211,6 +212,13 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
211
212
  dropdownTrigger === null || dropdownTrigger === void 0 || dropdownTrigger.click();
212
213
  }, 1);
213
214
  }
215
+ if (focusedType === 'checkbox') {
216
+ setTimeout(function () {
217
+ var checkboxTrigger = focusedCell.querySelector('input');
218
+ checkboxTrigger === null || checkboxTrigger === void 0 || checkboxTrigger.click();
219
+ checkboxTrigger === null || checkboxTrigger === void 0 || checkboxTrigger.focus();
220
+ }, 1);
221
+ }
214
222
  if (focusedType === 'date') {
215
223
  setTimeout(function () {
216
224
  var dateInputTrigger = focusedCell.querySelector('input');
@@ -5,10 +5,10 @@ import { RadioButtonProps } from '@carbon/react/lib/components/RadioButton/Radio
5
5
  import { RadioButtonGroupProps } from '@carbon/react/lib/components/RadioButtonGroup/RadioButtonGroup';
6
6
  import { CheckboxProps } from '@carbon/react/lib/components/Checkbox';
7
7
  import { NumberInputProps } from '@carbon/react/lib/components/NumberInput/NumberInput';
8
- import { CSSProperties, JSXElementConstructor, MutableRefObject, ReactNode, TouchEventHandler } from 'react';
9
- import { Cell, ColumnInstance, FilterValue, Filters, HeaderGroup, Row, TableCommonProps, TableDispatch, TableInstance, TableToggleAllRowsSelectedProps, UseExpandedRowProps, UseFiltersInstanceProps, UsePaginationInstanceProps, UseResizeColumnsColumnProps, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectRowProps, UseRowSelectState, UseSortByColumnProps, UseTableHooks } from 'react-table';
8
+ import React, { CSSProperties, ComponentType, FunctionComponent, JSXElementConstructor, MutableRefObject, ReactNode, TouchEventHandler } from 'react';
9
+ import { Cell, Column, ColumnInstance, FilterValue, Filters, HeaderGroup, Meta, Row, TableCommonProps, TableDispatch, TableInstance, TableState, TableToggleAllRowsSelectedProps, UseExpandedRowProps, UseFiltersInstanceProps, UsePaginationInstanceProps, UseResizeColumnsColumnProps, UseResizeColumnsOptions, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectRowProps, UseRowSelectState, UseSortByColumnProps, UseSortByOptions, UseTableHooks } from 'react-table';
10
10
  import { CarbonIconType } from '@carbon/react/icons';
11
- import { type ButtonProps } from '@carbon/react';
11
+ import { IconButton, type ButtonProps } from '@carbon/react';
12
12
  import { TableBatchActionsProps } from '@carbon/react/lib/components/DataTable/TableBatchActions';
13
13
  export type Size = 'xs' | 'sm' | 'md' | 'lg';
14
14
  export interface ResizerProps {
@@ -59,6 +59,18 @@ interface Labels {
59
59
  allPageRows?: object;
60
60
  allRows?: object;
61
61
  }
62
+ interface ColumnLabels {
63
+ findColumnPlaceholderLabel?: string;
64
+ resetToDefaultLabel?: string;
65
+ customizeTearsheetHeadingLabel?: string;
66
+ primaryButtonTextLabel?: string;
67
+ secondaryButtonTextLabel?: string;
68
+ instructionsLabel?: string;
69
+ iconTooltipLabel?: string;
70
+ assistiveTextInstructionsLabel?: string;
71
+ assistiveTextDisabledInstructionsLabel?: string;
72
+ selectAllLabel?: string;
73
+ }
62
74
  interface Section {
63
75
  categoryTitle?: string;
64
76
  filters?: DataGridFilter[];
@@ -85,9 +97,12 @@ export interface DataGridToggleAllRowsProps extends TableToggleAllRowsSelectedPr
85
97
  }
86
98
  export interface DatagridTableHooks<T extends object = any> extends UseTableHooks<T> {
87
99
  }
88
- export interface DatagridColumn<T extends object = any> extends ColumnInstance<T> {
100
+ export interface DatagridColumn<T extends object = any> extends ColumnInstance<T>, UseSortByOptions<T>, Partial<UseResizeColumnsColumnProps<T>>, UseResizeColumnsOptions<T> {
89
101
  sticky?: 'left' | 'right';
90
102
  className?: string;
103
+ rightAlignedColumn?: boolean;
104
+ disableSortBy?: boolean;
105
+ centerAlignedColumn?: boolean;
91
106
  }
92
107
  export interface DataGridCell<T extends object = any> extends Omit<Cell<T>, 'column'> {
93
108
  column: DatagridColumn<any>;
@@ -98,6 +113,7 @@ export interface DatagridRow<T extends object = any> extends Omit<Row<T>, 'cells
98
113
  RowExpansionRenderer?: (state?: DataGridState) => void;
99
114
  cells: Array<DataGridCell>;
100
115
  isSkeleton?: boolean;
116
+ hasExpanded?: boolean;
101
117
  }
102
118
  export interface DataGridHeader<T extends object = any> extends ColumnInstance, UseResizeColumnsColumnProps<T>, UseSortByColumnProps<T> {
103
119
  className(className: any, arg1: {
@@ -108,15 +124,31 @@ export interface DataGridHeader<T extends object = any> extends ColumnInstance,
108
124
  }
109
125
  export interface DataGridHeaderGroup<T extends object = any> extends HeaderGroup<T>, UseResizeColumnsColumnProps<T> {
110
126
  }
111
- export interface TableProps {
112
- className?: string;
113
- role?: string;
114
- style?: CSSStyleDeclaration;
127
+ export interface DataGridTableProps extends TableCommonProps {
115
128
  }
116
129
  interface DataGridTableState extends UseResizeColumnsState<any>, UseRowSelectState<any> {
117
130
  filters: Filters<DataGridFilter>;
118
131
  }
119
- export interface DataGridTableInstance<T extends object = any> extends TableInstance<T> {
132
+ export interface DataGridTableInstance<T extends object = any> extends Omit<TableInstance<T>, 'state'>, Partial<UsePaginationInstanceProps<any>> {
133
+ shouldDisableSelectRow?: (...args: any[]) => void | boolean;
134
+ state?: Partial<TableState & UseRowSelectState<any>>;
135
+ disableSelectAll?: boolean;
136
+ disableSelectRowsProps?: {
137
+ labels?: {
138
+ toggleAllRowsLabel?: string;
139
+ };
140
+ };
141
+ withSelectRows?: boolean;
142
+ }
143
+ export interface RowAction {
144
+ id?: string;
145
+ itemText?: string;
146
+ icon?: ComponentType | FunctionComponent;
147
+ align?: React.ComponentProps<typeof IconButton>['align'];
148
+ shouldHideMenuItem?: (...args: any[]) => void;
149
+ shouldDisableMenuItem?: (...args: any[]) => void;
150
+ disabled?: boolean;
151
+ onClick?: (...args: any[]) => void;
120
152
  }
121
153
  export interface DataGridState<T extends object = any> extends TableCommonProps, UsePaginationInstanceProps<T>, Omit<TableInstance<T>, 'state' | 'headers' | 'rows' | 'columns'>, Omit<UseFiltersInstanceProps<T>, 'rows'>, UseRowSelectInstanceProps<T>, Pick<UseRowSelectInstanceProps<T>, 'toggleAllRowsSelected'> {
122
154
  withVirtualScroll?: boolean;
@@ -140,6 +172,7 @@ export interface DataGridState<T extends object = any> extends TableCommonProps,
140
172
  batchActions?: boolean;
141
173
  row: DatagridRow;
142
174
  rows: Array<DatagridRow<any>>;
175
+ rowActions?: RowAction[];
143
176
  columns: Array<DatagridColumn>;
144
177
  key?: any;
145
178
  rowSize?: Size;
@@ -195,10 +228,23 @@ export interface DataGridState<T extends object = any> extends TableCommonProps,
195
228
  expandedRowIds?: object;
196
229
  onRowClick?: (row: any, event: any) => void;
197
230
  onSort?: boolean;
231
+ customizeColumnsProps?: {
232
+ onSaveColumnPrefs?: (args: any) => void;
233
+ labels?: ColumnLabels;
234
+ isTearsheetOpen?: boolean;
235
+ setIsTearsheetOpen?: (args: boolean) => void;
236
+ };
237
+ CustomizeColumnsButton?: (args: any) => ReactNode;
238
+ column?: DatagridColumn;
198
239
  expandedContentHeight?: number;
199
240
  onRowExpand?: (row: DatagridRow, event: React.MouseEvent<HTMLElement>) => void;
200
241
  ExpandedRowContentComponent?: JSXElementConstructor<any>;
201
242
  }
243
+ export interface DataGridData {
244
+ instance?: DataGridTableInstance;
245
+ column?: DatagridColumn;
246
+ cell?: DataGridCell;
247
+ }
202
248
  export interface ResizeHeaderProps {
203
249
  resizerProps?: ResizerProps;
204
250
  header: DataGridHeader;
@@ -213,4 +259,10 @@ export interface ResizeHeaderProps {
213
259
  resizerAriaLabel?: string;
214
260
  isFetching?: boolean;
215
261
  }
262
+ export type VisibleColumns<T extends object = {}> = (allColumns: Array<ColumnInstance<T>>, meta: Meta<T>) => Array<Column<T>>;
263
+ export type NodeFuncType = (props: any) => ReactNode;
264
+ export interface PropGetterMeta {
265
+ instance?: DataGridTableInstance;
266
+ row?: Partial<Row<any> & DatagridRow<any>>;
267
+ }
216
268
  export {};
@@ -1,2 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2021, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { Hooks } from 'react-table';
8
+ declare const useActionsColumn: (hooks: Hooks) => void;
1
9
  export default useActionsColumn;
2
- declare function useActionsColumn(hooks: any): void;
@@ -26,9 +26,10 @@ var _excluded = ["align", "id", "itemText", "onClick", "icon", "shouldHideMenuIt
26
26
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
27
27
  var useActionsColumn = function useActionsColumn(hooks) {
28
28
  var useAttachActionsOnInstance = function useAttachActionsOnInstance(instance) {
29
- var rowActions = instance.rowActions,
30
- isFetching = instance.isFetching,
31
- selectedRowIds = instance.state.selectedRowIds;
29
+ var _ref = instance,
30
+ rowActions = _ref.rowActions,
31
+ isFetching = _ref.isFetching,
32
+ selectedRowIds = _ref.state.selectedRowIds;
32
33
  var getDisabledState = function getDisabledState(rowIndex) {
33
34
  var selectedRowIndexes = Object.keys(selectedRowIds).map(function (n) {
34
35
  return Number(n);
@@ -88,10 +89,10 @@ var useActionsColumn = function useActionsColumn(hooks) {
88
89
  return;
89
90
  }
90
91
  e.stopPropagation();
91
- _onClick(id, row, e);
92
+ _onClick === null || _onClick === void 0 || _onClick(id, row, e);
92
93
  },
93
94
  disabled: isDisabledByRow
94
- }), /*#__PURE__*/React__default["default"].createElement(Icon, null)));
95
+ }), Icon && /*#__PURE__*/React__default["default"].createElement(Icon, null)));
95
96
  })), !isFetching && (rowActions.length > 2 || isColumnSticky) && /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(react.OverflowMenu, {
96
97
  align: "left",
97
98
  size: "sm",
@@ -117,7 +118,7 @@ var useActionsColumn = function useActionsColumn(hooks) {
117
118
  disabled: isDisabledByRow,
118
119
  onClick: function onClick(e) {
119
120
  e.stopPropagation();
120
- _onClick2(id, row, e);
121
+ _onClick2 === null || _onClick2 === void 0 || _onClick2(id, row, e);
121
122
  },
122
123
  key: id
123
124
  }));
@@ -1,2 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { Hooks } from 'react-table';
8
+ declare const useColumnCenterAlign: (hooks: Hooks) => void;
1
9
  export default useColumnCenterAlign;
2
- declare function useColumnCenterAlign(hooks: any): void;
@@ -24,7 +24,7 @@ var useColumnCenterAlign = function useColumnCenterAlign(hooks) {
24
24
  var centerAlignRenderer = function centerAlignRenderer(tableProps, column) {
25
25
  return /*#__PURE__*/React__default["default"].createElement("div", {
26
26
  className: cx__default["default"]("".concat(blockClass, "__center-align-cell-renderer"), {
27
- sortDisabled: !tableProps.isTableSortable || tableProps.column.disableSortBy === true
27
+ sortDisabled: !tableProps.isTableSortable || tableProps.column && tableProps.column.disableSortBy === true
28
28
  })
29
29
  }, column.Cell(tableProps));
30
30
  };
@@ -1,2 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { Hooks } from 'react-table';
8
+ declare const useColumnRightAlign: (hooks: Hooks) => void;
1
9
  export default useColumnRightAlign;
2
- declare function useColumnRightAlign(hooks: any): void;