@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
@@ -8,7 +8,7 @@
8
8
  import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, defineProperty as _defineProperty, extends as _extends, typeof as _typeof } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default, { useContext, useState, useRef, useEffect, useCallback } from 'react';
10
10
  import PropTypes from '../../../../../../node_modules/prop-types/index.js';
11
- import { Dropdown, DatePicker, DatePickerInput, NumberInput, TextInput } from '@carbon/react';
11
+ import { Dropdown, DatePicker, DatePickerInput, NumberInput, Checkbox, TextInput } from '@carbon/react';
12
12
  import { Edit, CaretSort, ChevronDown, Calendar } from '@carbon/react/icons';
13
13
  import { pkg } from '../../../../../../settings.js';
14
14
  import cx from 'classnames';
@@ -19,7 +19,7 @@ import { InlineEditButton } from '../InlineEditButton/InlineEditButton.js';
19
19
 
20
20
  var blockClass = "".concat(pkg.prefix, "--datagrid");
21
21
  var InlineEditCell = function InlineEditCell(_ref) {
22
- var _config$validator, _value$text;
22
+ var _config$validator;
23
23
  var cell = _ref.cell,
24
24
  config = _ref.config,
25
25
  _ref$disabledCell = _ref.disabledCell,
@@ -66,6 +66,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
66
66
  var _ref2 = config || {},
67
67
  inputProps = _ref2.inputProps;
68
68
  var textInputRef = useRef();
69
+ var checkboxRef = useRef();
69
70
  var numberInputRef = useRef();
70
71
  var dropdownRef = useRef();
71
72
  var datePickerRef = useRef();
@@ -202,16 +203,42 @@ var InlineEditCell = function InlineEditCell(_ref) {
202
203
  };
203
204
  var getNewCellId = function getNewCellId(key) {
204
205
  var totalRows = instance.rows.length;
205
- 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);
206
+ 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);
206
207
  return newCellId;
207
208
  };
208
209
  var handleKeyDown = function handleKeyDown(event) {
209
210
  var key = event.key;
210
211
  switch (key) {
212
+ case 'ArrowRight':
213
+ case 'ArrowLeft':
214
+ case 'ArrowUp':
215
+ case 'ArrowDown':
216
+ if (inEditMode && event.target.type === 'checkbox') {
217
+ var newCellId = getNewCellId(key);
218
+ saveCellData(cellValue);
219
+ setInitialValue(cellValue);
220
+ dispatch({
221
+ type: 'EXIT_EDIT_MODE',
222
+ payload: newCellId
223
+ });
224
+ setInEditMode(false);
225
+ sendFocusBackToGrid();
226
+ }
227
+ break;
211
228
  // Save cell contents to data
212
229
  case 'Tab':
213
230
  case 'Enter':
214
231
  {
232
+ if (type === 'checkbox') {
233
+ // Since checkbox doesn't need to click into it to enter `inEditMode` we don't need to check for it
234
+ var _newCellId = getNewCellId(key);
235
+ dispatch({
236
+ type: 'EXIT_EDIT_MODE',
237
+ payload: _newCellId
238
+ });
239
+ setInEditMode(false);
240
+ sendFocusBackToGrid();
241
+ }
215
242
  if (inEditMode) {
216
243
  // Dropdown saves are handled in the Dropdown's/DatePicker's onChange prop
217
244
  if (type === 'selection' || type === 'date') {
@@ -225,12 +252,12 @@ var InlineEditCell = function InlineEditCell(_ref) {
225
252
  if (isInvalid) {
226
253
  return;
227
254
  }
228
- var newCellId = getNewCellId(key);
255
+ var _newCellId2 = getNewCellId(key);
229
256
  saveCellData(cellValue);
230
257
  setInitialValue(cellValue);
231
258
  dispatch({
232
259
  type: 'EXIT_EDIT_MODE',
233
- payload: newCellId
260
+ payload: _newCellId2
234
261
  });
235
262
  setInEditMode(false);
236
263
  sendFocusBackToGrid();
@@ -425,9 +452,27 @@ var InlineEditCell = function InlineEditCell(_ref) {
425
452
  ref: numberInputRef
426
453
  }));
427
454
  };
455
+ var renderCheckBoxCell = function renderCheckBoxCell() {
456
+ return /*#__PURE__*/React__default.createElement(Checkbox, _extends({
457
+ labelText: cellLabel || 'Checkbox'
458
+ }, inputProps, {
459
+ className: cx("".concat(blockClass, "__inline-edit--outer-cell-checkbox"), _defineProperty({}, "".concat(blockClass, "__inline-edit--outer-cell-checkbox-focus"), activeCellId === cellId)),
460
+ id: cellId,
461
+ hideLabel: true,
462
+ checked: cellValue,
463
+ onChange: function onChange(event, _ref10) {
464
+ var checked = _ref10.checked;
465
+ setCellValue(checked);
466
+ if (inputProps.onChange) {
467
+ inputProps.onChange(checked);
468
+ }
469
+ },
470
+ ref: checkboxRef
471
+ }));
472
+ };
428
473
  var renderTextInput = function renderTextInput() {
429
- var _ref10 = config || {},
430
- validator = _ref10.validator;
474
+ var _ref11 = config || {},
475
+ validator = _ref11.validator;
431
476
  var isInvalid = validator === null || validator === void 0 ? void 0 : validator(cellValue);
432
477
  return /*#__PURE__*/React__default.createElement(TextInput, _extends({
433
478
  labelText: cellLabel,
@@ -447,6 +492,24 @@ var InlineEditCell = function InlineEditCell(_ref) {
447
492
  ref: textInputRef
448
493
  }));
449
494
  };
495
+ var getLabel = function getLabel() {
496
+ var _value$text, _checkStaticCell;
497
+ var checkStaticCell = function checkStaticCell(val) {
498
+ if (_typeof(val) === 'object' && val !== null && val !== void 0 && val.isStaticCell) {
499
+ return val === null || val === void 0 ? void 0 : val.value;
500
+ }
501
+ };
502
+ switch (type) {
503
+ case 'selection':
504
+ checkStaticCell(value);
505
+ return (_value$text = value === null || value === void 0 ? void 0 : value.text) !== null && _value$text !== void 0 ? _value$text : value;
506
+ case 'date':
507
+ checkStaticCell(value);
508
+ return buildDate(value);
509
+ default:
510
+ return (_checkStaticCell = checkStaticCell(value)) !== null && _checkStaticCell !== void 0 ? _checkStaticCell : value;
511
+ }
512
+ };
450
513
  return (
451
514
  /*#__PURE__*/
452
515
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
@@ -455,15 +518,15 @@ var InlineEditCell = function InlineEditCell(_ref) {
455
518
  "data-cell-id": cellId,
456
519
  "data-column-index": columnIndex,
457
520
  "data-row-index": cell.row.index,
458
- "data-disabled": disabledCell,
521
+ "data-disabled": disabledCell || nonEditCell,
459
522
  "data-inline-type": type,
460
523
  onClick: !nonEditCell ? handleInlineCellClick : addActiveState,
461
524
  onKeyDown: !nonEditCell ? handleKeyDown : null,
462
525
  className: cx("".concat(blockClass, "__inline-edit--outer-cell-button"), _defineProperty(_defineProperty(_defineProperty(_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))
463
- }, !nonEditCell && !disabledCell && renderRegularCell(), (!inEditMode || disabledCell) && /*#__PURE__*/React__default.createElement(InlineEditButton, {
526
+ }, !nonEditCell && !disabledCell && type !== 'checkbox' && renderRegularCell(), (!inEditMode || disabledCell) && type !== 'checkbox' && /*#__PURE__*/React__default.createElement(InlineEditButton, {
464
527
  isActiveCell: cellId === activeCellId,
465
528
  renderIcon: setRenderIcon(),
466
- 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,
529
+ label: getLabel(),
467
530
  disabledCell: disabledCell,
468
531
  labelIcon: (value === null || value === void 0 ? void 0 : value.icon) || null,
469
532
  placeholder: placeholder,
@@ -471,7 +534,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
471
534
  nonEditCell: nonEditCell,
472
535
  columnConfig: cell.column,
473
536
  type: type
474
- }), !nonEditCell && inEditMode && cellId === activeCellId && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, type === 'text' && renderTextInput(), type === 'number' && renderNumberInput(), type === 'selection' && renderSelectCell(), type === 'date' && renderDateCell()))
537
+ }), type === 'checkbox' && renderCheckBoxCell(), !nonEditCell && inEditMode && cellId === activeCellId && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, type === 'text' && renderTextInput(), type === 'number' && renderNumberInput(), type === 'selection' && renderSelectCell(), type === 'date' && renderDateCell()))
475
538
  );
476
539
  };
477
540
  InlineEditCell.propTypes = {
@@ -489,7 +552,7 @@ InlineEditCell.propTypes = {
489
552
  nonEditCell: PropTypes.bool,
490
553
  placeholder: PropTypes.string,
491
554
  tabIndex: PropTypes.number,
492
- type: PropTypes.oneOf(['text', 'number', 'selection', 'date']),
555
+ type: PropTypes.oneOf(['text', 'number', 'selection', 'date', 'checkbox']),
493
556
  value: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.object])
494
557
  };
495
558
 
@@ -74,7 +74,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
74
74
  };
75
75
 
76
76
  // Stop grid key listener when in edit mode
77
- var isEditing = document.activeElement.id === activeCellId && document.activeElement.id === editId || dropdownIsActive() || datePickerIsActive();
77
+ var isEditing = focusedCell.getAttribute('data-inline-type') !== 'checkbox' && document.activeElement.id === activeCellId && document.activeElement.id === editId || dropdownIsActive() || datePickerIsActive();
78
78
  if (isEditing || !gridActive) {
79
79
  return;
80
80
  }
@@ -87,6 +87,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
87
87
  event.preventDefault();
88
88
  }
89
89
  var isDisabledCell = focusedCell.getAttribute('data-disabled') === 'false' ? false : true;
90
+ var isEditableCell = !event.target.classList.contains("".concat(blockClass, "__inline-edit-button--non-edit"));
90
91
  var sharedUpdateParams = {
91
92
  oldId: activeCellId,
92
93
  instance: instance
@@ -194,7 +195,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
194
195
  case 'Enter':
195
196
  {
196
197
  // Disabled cells are not allowed to go into edit mode
197
- if (isDisabledCell) {
198
+ if (isDisabledCell || !isEditableCell) {
198
199
  return;
199
200
  }
200
201
  // Only go into edit mode if there is no editId, meaning that we're not already in edit mode
@@ -207,6 +208,13 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
207
208
  dropdownTrigger === null || dropdownTrigger === void 0 || dropdownTrigger.click();
208
209
  }, 1);
209
210
  }
211
+ if (focusedType === 'checkbox') {
212
+ setTimeout(function () {
213
+ var checkboxTrigger = focusedCell.querySelector('input');
214
+ checkboxTrigger === null || checkboxTrigger === void 0 || checkboxTrigger.click();
215
+ checkboxTrigger === null || checkboxTrigger === void 0 || checkboxTrigger.focus();
216
+ }, 1);
217
+ }
210
218
  if (focusedType === 'date') {
211
219
  setTimeout(function () {
212
220
  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, Column, ColumnInstance, FilterValue, Filters, HeaderGroup, Meta, 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,10 @@ 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;
91
104
  disableSortBy?: boolean;
92
105
  centerAlignedColumn?: boolean;
93
106
  }
@@ -100,6 +113,7 @@ export interface DatagridRow<T extends object = any> extends Omit<Row<T>, 'cells
100
113
  RowExpansionRenderer?: (state?: DataGridState) => void;
101
114
  cells: Array<DataGridCell>;
102
115
  isSkeleton?: boolean;
116
+ hasExpanded?: boolean;
103
117
  }
104
118
  export interface DataGridHeader<T extends object = any> extends ColumnInstance, UseResizeColumnsColumnProps<T>, UseSortByColumnProps<T> {
105
119
  className(className: any, arg1: {
@@ -110,15 +124,31 @@ export interface DataGridHeader<T extends object = any> extends ColumnInstance,
110
124
  }
111
125
  export interface DataGridHeaderGroup<T extends object = any> extends HeaderGroup<T>, UseResizeColumnsColumnProps<T> {
112
126
  }
113
- export interface TableProps {
114
- className?: string;
115
- role?: string;
116
- style?: CSSStyleDeclaration;
127
+ export interface DataGridTableProps extends TableCommonProps {
117
128
  }
118
129
  interface DataGridTableState extends UseResizeColumnsState<any>, UseRowSelectState<any> {
119
130
  filters: Filters<DataGridFilter>;
120
131
  }
121
- 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;
122
152
  }
123
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'> {
124
154
  withVirtualScroll?: boolean;
@@ -142,6 +172,7 @@ export interface DataGridState<T extends object = any> extends TableCommonProps,
142
172
  batchActions?: boolean;
143
173
  row: DatagridRow;
144
174
  rows: Array<DatagridRow<any>>;
175
+ rowActions?: RowAction[];
145
176
  columns: Array<DatagridColumn>;
146
177
  key?: any;
147
178
  rowSize?: Size;
@@ -197,11 +228,23 @@ export interface DataGridState<T extends object = any> extends TableCommonProps,
197
228
  expandedRowIds?: object;
198
229
  onRowClick?: (row: any, event: any) => void;
199
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;
200
238
  column?: DatagridColumn;
201
239
  expandedContentHeight?: number;
202
240
  onRowExpand?: (row: DatagridRow, event: React.MouseEvent<HTMLElement>) => void;
203
241
  ExpandedRowContentComponent?: JSXElementConstructor<any>;
204
242
  }
243
+ export interface DataGridData {
244
+ instance?: DataGridTableInstance;
245
+ column?: DatagridColumn;
246
+ cell?: DataGridCell;
247
+ }
205
248
  export interface ResizeHeaderProps {
206
249
  resizerProps?: ResizerProps;
207
250
  header: DataGridHeader;
@@ -217,4 +260,9 @@ export interface ResizeHeaderProps {
217
260
  isFetching?: boolean;
218
261
  }
219
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
+ }
220
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;
@@ -17,9 +17,10 @@ var _excluded = ["align", "id", "itemText", "onClick", "icon", "shouldHideMenuIt
17
17
  var blockClass = "".concat(pkg.prefix, "--datagrid");
18
18
  var useActionsColumn = function useActionsColumn(hooks) {
19
19
  var useAttachActionsOnInstance = function useAttachActionsOnInstance(instance) {
20
- var rowActions = instance.rowActions,
21
- isFetching = instance.isFetching,
22
- selectedRowIds = instance.state.selectedRowIds;
20
+ var _ref = instance,
21
+ rowActions = _ref.rowActions,
22
+ isFetching = _ref.isFetching,
23
+ selectedRowIds = _ref.state.selectedRowIds;
23
24
  var getDisabledState = function getDisabledState(rowIndex) {
24
25
  var selectedRowIndexes = Object.keys(selectedRowIds).map(function (n) {
25
26
  return Number(n);
@@ -79,10 +80,10 @@ var useActionsColumn = function useActionsColumn(hooks) {
79
80
  return;
80
81
  }
81
82
  e.stopPropagation();
82
- _onClick(id, row, e);
83
+ _onClick === null || _onClick === void 0 || _onClick(id, row, e);
83
84
  },
84
85
  disabled: isDisabledByRow
85
- }), /*#__PURE__*/React__default.createElement(Icon, null)));
86
+ }), Icon && /*#__PURE__*/React__default.createElement(Icon, null)));
86
87
  })), !isFetching && (rowActions.length > 2 || isColumnSticky) && /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(OverflowMenu, {
87
88
  align: "left",
88
89
  size: "sm",
@@ -108,7 +109,7 @@ var useActionsColumn = function useActionsColumn(hooks) {
108
109
  disabled: isDisabledByRow,
109
110
  onClick: function onClick(e) {
110
111
  e.stopPropagation();
111
- _onClick2(id, row, e);
112
+ _onClick2 === null || _onClick2 === void 0 || _onClick2(id, row, e);
112
113
  },
113
114
  key: id
114
115
  }));
@@ -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;
@@ -13,16 +13,17 @@ import { pkg } from '../../settings.js';
13
13
  var blockClass = "".concat(pkg.prefix, "--datagrid");
14
14
  var useColumnRightAlign = function useColumnRightAlign(hooks) {
15
15
  var RightAlignRenderer = function RightAlignRenderer(tableProps, column) {
16
+ var _tableProps$column, _column$Cell;
16
17
  return /*#__PURE__*/React__default.createElement("div", {
17
18
  className: cx("".concat(blockClass, "__right-align-cell-renderer"), {
18
- sortDisabled: !tableProps.isTableSortable || tableProps.column.disableSortBy === true
19
+ sortDisabled: !tableProps.isTableSortable || (tableProps === null || tableProps === void 0 || (_tableProps$column = tableProps.column) === null || _tableProps$column === void 0 ? void 0 : _tableProps$column.disableSortBy) === true
19
20
  })
20
- }, column.Cell(tableProps));
21
+ }, column === null || column === void 0 || (_column$Cell = column.Cell) === null || _column$Cell === void 0 ? void 0 : _column$Cell.call(column, tableProps));
21
22
  };
22
23
  var RightAlignHeader = function RightAlignHeader(headerProp, column) {
23
24
  return /*#__PURE__*/React__default.createElement("div", {
24
25
  className: "".concat(blockClass, "__right-align-header")
25
- }, typeof column.Header === 'function' ? column.Header(headerProp) : column.Header);
26
+ }, typeof column.Header === 'function' ? (column === null || column === void 0 ? void 0 : column.Header.bind(column))(headerProp) : column.Header);
26
27
  };
27
28
  var rightAlignedColumns = function rightAlignedColumns(columns) {
28
29
  var columnsWithDefaultCells = columns.map(function (column) {
@@ -1,2 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2021, 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 useCustomizeColumns: (hooks: Hooks) => void;
1
9
  export default useCustomizeColumns;
2
- declare function useCustomizeColumns(hooks: any): void;
@@ -16,9 +16,10 @@ var useCustomizeColumns = function useCustomizeColumns(hooks) {
16
16
  isTearsheetOpen = _React$useState2[0],
17
17
  setIsTearsheetOpen = _React$useState2[1];
18
18
  hooks.useInstance.push(function (instance) {
19
- var customizeColumnsProps = instance.customizeColumnsProps;
20
- var _ref = customizeColumnsProps || {},
21
- labels = _ref.labels;
19
+ var _ref = instance,
20
+ customizeColumnsProps = _ref.customizeColumnsProps;
21
+ var _ref2 = customizeColumnsProps || {},
22
+ labels = _ref2.labels;
22
23
  Object.assign(instance, {
23
24
  customizeColumnsProps: _objectSpread2(_objectSpread2({}, customizeColumnsProps), {}, {
24
25
  isTearsheetOpen: isTearsheetOpen,
@@ -21,7 +21,6 @@ var useDefaultStringRenderer = function useDefaultStringRenderer(hooks) {
21
21
  var HeaderRenderer = function HeaderRenderer(header, slug) {
22
22
  return /*#__PURE__*/React__default.createElement("div", {
23
23
  className: cx("".concat(blockClass, "__defaultStringRenderer"), _defineProperty({}, "".concat(blockClass, "__defaultStringRenderer--slug"), slug && /*#__PURE__*/React__default.isValidElement(slug))),
24
- title: typeof header === 'string' ? header : '',
25
24
  key: typeof header === 'string' ? header : ''
26
25
  }, header);
27
26
  };
@@ -1,2 +1,3 @@
1
+ import { Hooks } from 'react-table';
2
+ declare const useDisableSelectRows: (hooks: Hooks) => void;
1
3
  export default useDisableSelectRows;
2
- declare function useDisableSelectRows(hooks: any): void;
@@ -9,52 +9,56 @@ var useDisableSelectRows = function useDisableSelectRows(hooks) {
9
9
  updateSelectAll(hooks);
10
10
  updatePageSelectAll(hooks);
11
11
  var getRowProps = function getRowProps(props, _ref) {
12
+ var _instance$shouldDisab;
12
13
  var row = _ref.row,
13
14
  instance = _ref.instance;
14
15
  return [props, {
15
- disabled: instance.shouldDisableSelectRow && instance.shouldDisableSelectRow(row)
16
+ disabled: instance === null || instance === void 0 || (_instance$shouldDisab = instance.shouldDisableSelectRow) === null || _instance$shouldDisab === void 0 ? void 0 : _instance$shouldDisab.call(instance, row)
16
17
  }];
17
18
  };
18
19
  hooks.getRowProps.push(getRowProps);
19
20
  };
20
21
  var updateSelectAll = function updateSelectAll(hooks) {
21
22
  var getToggleAllRowsSelectedProps = function getToggleAllRowsSelectedProps(props, _ref2) {
22
- var _instance$disableSele;
23
+ var _instance$rows, _instance$disableSele, _instance$state2;
23
24
  var instance = _ref2.instance;
24
- var selectableRows = instance.rows.filter(function (row) {
25
+ var selectableRows = (instance === null || instance === void 0 || (_instance$rows = instance.rows) === null || _instance$rows === void 0 ? void 0 : _instance$rows.filter(function (row) {
25
26
  return !(instance.shouldDisableSelectRow && instance.shouldDisableSelectRow(row));
26
- });
27
- var isAllRowsSelected = selectableRows.length > 0 && selectableRows.every(function (_ref3) {
27
+ })) || [];
28
+ var isAllRowsSelected = (selectableRows === null || selectableRows === void 0 ? void 0 : selectableRows.length) > 0 && selectableRows.every(function (_ref3) {
29
+ var _instance$state;
28
30
  var id = _ref3.id;
29
- return instance.state.selectedRowIds[id];
31
+ return instance === null || instance === void 0 || (_instance$state = instance.state) === null || _instance$state === void 0 || (_instance$state = _instance$state.selectedRowIds) === null || _instance$state === void 0 ? void 0 : _instance$state[id];
30
32
  });
31
33
  return [props, {
32
34
  onChange: function onChange(e) {
33
35
  selectableRows.forEach(function (row) {
34
- return row.toggleRowSelected(e.target.checked);
36
+ var _toggleRowSelected, _ref4;
37
+ return row === null || row === void 0 || (_toggleRowSelected = (_ref4 = row).toggleRowSelected) === null || _toggleRowSelected === void 0 ? void 0 : _toggleRowSelected.call(_ref4, e.target.checked);
35
38
  });
36
39
  },
37
40
  style: {
38
41
  cursor: 'pointer'
39
42
  },
40
43
  checked: isAllRowsSelected,
41
- disabled: instance.disableSelectAll,
44
+ disabled: instance === null || instance === void 0 ? void 0 : instance.disableSelectAll,
42
45
  title: (instance === null || instance === void 0 || (_instance$disableSele = instance.disableSelectRowsProps) === null || _instance$disableSele === void 0 || (_instance$disableSele = _instance$disableSele.labels) === null || _instance$disableSele === void 0 ? void 0 : _instance$disableSele.toggleAllRowsLabel) || 'Toggle All Rows Selected',
43
- indeterminate: Boolean(!isAllRowsSelected && Object.keys(instance.state.selectedRowIds).length)
46
+ indeterminate: Boolean(!isAllRowsSelected && Object.keys((instance === null || instance === void 0 || (_instance$state2 = instance.state) === null || _instance$state2 === void 0 ? void 0 : _instance$state2.selectedRowIds) || {}).length)
44
47
  }];
45
48
  };
46
49
  hooks.getToggleAllRowsSelectedProps.push(getToggleAllRowsSelectedProps);
47
50
  };
48
51
  var updatePageSelectAll = function updatePageSelectAll(hooks) {
49
- var getToggleAllPageRowsSelectedProps = function getToggleAllPageRowsSelectedProps(props, _ref4) {
50
- var _instance$disableSele2;
51
- var instance = _ref4.instance;
52
- var selectableRows = instance.page.filter(function (row) {
52
+ var getToggleAllPageRowsSelectedProps = function getToggleAllPageRowsSelectedProps(props, _ref5) {
53
+ var _instance$page, _instance$disableSele2, _instance$page2;
54
+ var instance = _ref5.instance;
55
+ var selectableRows = (instance === null || instance === void 0 || (_instance$page = instance.page) === null || _instance$page === void 0 ? void 0 : _instance$page.filter(function (row) {
53
56
  return !(instance.shouldDisableSelectRow && instance.shouldDisableSelectRow(row));
54
- });
55
- var isAllRowsSelected = selectableRows.length > 0 && selectableRows.every(function (_ref5) {
56
- var id = _ref5.id;
57
- return instance.state.selectedRowIds[id];
57
+ })) || [];
58
+ var isAllRowsSelected = (selectableRows === null || selectableRows === void 0 ? void 0 : selectableRows.length) > 0 && selectableRows.every(function (_ref6) {
59
+ var _instance$state3;
60
+ var id = _ref6.id;
61
+ return instance === null || instance === void 0 || (_instance$state3 = instance.state) === null || _instance$state3 === void 0 || (_instance$state3 = _instance$state3.selectedRowIds) === null || _instance$state3 === void 0 ? void 0 : _instance$state3[id];
58
62
  });
59
63
  return [props, {
60
64
  onChange: function onChange(e) {
@@ -66,12 +70,13 @@ var updatePageSelectAll = function updatePageSelectAll(hooks) {
66
70
  cursor: 'pointer'
67
71
  },
68
72
  checked: isAllRowsSelected,
69
- disabled: instance.disableSelectAll,
73
+ disabled: instance === null || instance === void 0 ? void 0 : instance.disableSelectAll,
70
74
  title: (instance === null || instance === void 0 || (_instance$disableSele2 = instance.disableSelectRowsProps) === null || _instance$disableSele2 === void 0 || (_instance$disableSele2 = _instance$disableSele2.labels) === null || _instance$disableSele2 === void 0 ? void 0 : _instance$disableSele2.toggleAllRowsLabel) || 'Toggle All Rows Selected',
71
- indeterminate: Boolean(!isAllRowsSelected && instance.page.some(function (_ref6) {
72
- var id = _ref6.id;
73
- return instance.state.selectedRowIds[id];
74
- }))
75
+ indeterminate: Boolean(!isAllRowsSelected && (instance === null || instance === void 0 || (_instance$page2 = instance.page) === null || _instance$page2 === void 0 ? void 0 : _instance$page2.some(function (_ref7) {
76
+ var _instance$state4;
77
+ var id = _ref7.id;
78
+ return instance === null || instance === void 0 || (_instance$state4 = instance.state) === null || _instance$state4 === void 0 || (_instance$state4 = _instance$state4.selectedRowIds) === null || _instance$state4 === void 0 ? void 0 : _instance$state4[id];
79
+ })))
75
80
  }];
76
81
  };
77
82
  hooks.getToggleAllPageRowsSelectedProps.push(getToggleAllPageRowsSelectedProps);
@@ -5,6 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
+ import { typeof as _typeof } from '../../_virtual/_rollupPluginBabelHelpers.js';
8
9
  import React__default from 'react';
9
10
  import { pkg } from '../../settings.js';
10
11
  import cx from 'classnames';
@@ -13,12 +14,13 @@ import { InlineEditCell } from './Datagrid/addons/InlineEdit/InlineEditCell/Inli
13
14
  var blockClass = "".concat(pkg.prefix, "--datagrid");
14
15
  var useInlineEdit = function useInlineEdit(hooks) {
15
16
  var addInlineEdit = function addInlineEdit(props, _ref) {
16
- var _cell$column, _cell$column2;
17
+ var _cell$column, _cell$column2, _cell$value, _cell$value2, _cell$value3;
17
18
  var cell = _ref.cell,
18
19
  instance = _ref.instance;
19
20
  var columnInlineEditConfig = cell.column.inlineEdit;
20
21
  var inlineEditType = (_cell$column = cell.column) === null || _cell$column === void 0 || (_cell$column = _cell$column.inlineEdit) === null || _cell$column === void 0 ? void 0 : _cell$column.type;
21
22
  var isDisabled = (_cell$column2 = cell.column) === null || _cell$column2 === void 0 ? void 0 : _cell$column2.isDisabled;
23
+ var staticCell = _typeof(cell.value) === 'object' && cell.column.id === ((_cell$value = cell.value) === null || _cell$value === void 0 ? void 0 : _cell$value.columnId) && ((_cell$value2 = cell.value) === null || _cell$value2 === void 0 ? void 0 : _cell$value2.isStaticCell);
22
24
  var renderInlineEditComponent = function renderInlineEditComponent(type) {
23
25
  return /*#__PURE__*/React__default.createElement(InlineEditCell, {
24
26
  config: columnInlineEditConfig,
@@ -38,7 +40,15 @@ var useInlineEdit = function useInlineEdit(hooks) {
38
40
  return [props, {
39
41
  className: cx("".concat(blockClass, "__cell"), "".concat(blockClass, "__cell-inline-edit")),
40
42
  role: 'gridcell',
41
- children: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, inlineEditType === 'text' && renderInlineEditComponent(inlineEditType), inlineEditType === 'number' && renderInlineEditComponent(inlineEditType), inlineEditType === 'selection' && renderInlineEditComponent(inlineEditType), inlineEditType === 'date' && renderInlineEditComponent(inlineEditType), !inlineEditType && /*#__PURE__*/React__default.createElement(InlineEditCell, {
43
+ children: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, !staticCell && inlineEditType === 'text' && renderInlineEditComponent(inlineEditType), !staticCell && inlineEditType === 'number' && renderInlineEditComponent(inlineEditType), !staticCell && inlineEditType === 'selection' && renderInlineEditComponent(inlineEditType), inlineEditType === 'checkbox' && renderInlineEditComponent(inlineEditType), !staticCell && inlineEditType === 'date' && renderInlineEditComponent(inlineEditType), staticCell && /*#__PURE__*/React__default.createElement(InlineEditCell, {
44
+ config: columnInlineEditConfig,
45
+ tabIndex: -1,
46
+ value: (_cell$value3 = cell.value) === null || _cell$value3 === void 0 ? void 0 : _cell$value3.value,
47
+ cell: cell,
48
+ instance: instance,
49
+ nonEditCell: true,
50
+ type: "text"
51
+ }), !inlineEditType && /*#__PURE__*/React__default.createElement(InlineEditCell, {
42
52
  config: columnInlineEditConfig,
43
53
  tabIndex: -1,
44
54
  value: cell.value,
@@ -48,9 +48,7 @@ var useNestedRowExpander = function useNestedRowExpander(hooks) {
48
48
  type: "button",
49
49
  "aria-label": expanderTitle,
50
50
  className: cx("".concat(blockClass, "__row-expander"), "".concat(carbon.prefix, "--btn"), "".concat(carbon.prefix, "--btn--ghost"))
51
- }, expanderButtonProps, {
52
- title: expanderTitle
53
- }), /*#__PURE__*/React__default.createElement(ChevronRight, {
51
+ }, expanderButtonProps), /*#__PURE__*/React__default.createElement(ChevronRight, {
54
52
  className: cx("".concat(blockClass, "__expander-icon"), _defineProperty(_defineProperty({}, "".concat(blockClass, "__expander-icon--not-open"), !row.isExpanded), "".concat(blockClass, "__expander-icon--open"), row.isExpanded))
55
53
  }));
56
54
  },