@carbon/ibm-products 2.43.2-canary.9 → 2.43.2-canary.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/css/index-full-carbon.css +427 -139
  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 -5
  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 +247 -101
  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 +348 -125
  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 +129 -53
  68. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +16 -0
  69. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +32 -7
  70. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  71. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  72. package/es/components/DataSpreadsheet/types/index.d.ts +1 -0
  73. package/es/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  74. package/es/components/Datagrid/Datagrid/Datagrid.js +4 -9
  75. package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  76. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  77. package/es/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  78. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
  79. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  80. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  81. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  82. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  83. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  84. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
  85. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  86. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +54 -17
  87. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  88. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +74 -11
  89. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  90. package/es/components/Datagrid/types/index.d.ts +57 -9
  91. package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
  92. package/es/components/Datagrid/useActionsColumn.js +7 -6
  93. package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  94. package/es/components/Datagrid/useColumnRightAlign.js +4 -3
  95. package/es/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  96. package/es/components/Datagrid/useCustomizeColumns.js +4 -3
  97. package/es/components/Datagrid/useDefaultStringRenderer.js +0 -1
  98. package/es/components/Datagrid/useDisableSelectRows.d.ts +2 -1
  99. package/es/components/Datagrid/useDisableSelectRows.js +27 -22
  100. package/es/components/Datagrid/useInlineEdit.js +12 -2
  101. package/es/components/Datagrid/useNestedRowExpander.js +1 -3
  102. package/es/components/Datagrid/useNestedRows.js +32 -13
  103. package/es/components/Datagrid/useRowExpander.js +1 -3
  104. package/es/components/Datagrid/useSelectRows.js +2 -1
  105. package/es/components/Datagrid/useStickyColumn.d.ts +8 -1
  106. package/es/components/Datagrid/useStickyColumn.js +12 -9
  107. package/es/components/Decorator/Decorator.js +2 -1
  108. package/es/components/DecoratorBase/DecoratorBase.js +3 -5
  109. package/es/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  110. package/es/components/DecoratorLink/DecoratorLink.js +2 -1
  111. package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  112. package/es/components/EditInPlace/EditInPlace.d.ts +4 -0
  113. package/es/components/EditInPlace/EditInPlace.js +21 -10
  114. package/es/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  115. package/es/components/EditTearsheet/EditTearsheet.js +44 -10
  116. package/es/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  117. package/es/components/EditTearsheet/EditTearsheetForm.js +3 -0
  118. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  119. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  120. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  121. package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  122. package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  123. package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  124. package/es/components/Nav/NavItem.js +12 -3
  125. package/es/components/OptionsTile/OptionsTile.js +11 -6
  126. package/es/components/PageHeader/PageHeader.js +1 -0
  127. package/es/components/RemoveModal/RemoveModal.d.ts +4 -0
  128. package/es/components/RemoveModal/RemoveModal.js +7 -1
  129. package/es/components/SearchBar/SearchBar.d.ts +1 -1
  130. package/es/components/SearchBar/SearchBar.js +2 -2
  131. package/es/components/SidePanel/SidePanel.js +17 -21
  132. package/es/components/SidePanel/motion/variants.d.ts +4 -6
  133. package/es/components/SidePanel/motion/variants.js +10 -11
  134. package/es/components/StatusIndicator/StatusIndicatorStep.js +87 -0
  135. package/es/components/StringFormatter/StringFormatter.js +14 -3
  136. package/es/components/StringFormatter/utils/enums.d.ts +20 -1
  137. package/es/components/StringFormatter/utils/enums.js +22 -2
  138. package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
  139. package/es/components/Tearsheet/Tearsheet.js +9 -1
  140. package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  141. package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
  142. package/es/components/Tearsheet/TearsheetShell.d.ts +11 -1
  143. package/es/components/Tearsheet/TearsheetShell.js +28 -7
  144. package/es/components/Toolbar/ToolbarButton.js +1 -1
  145. package/es/components/WebTerminal/WebTerminal.js +10 -12
  146. package/es/components/index.d.ts +1 -1
  147. package/es/global/js/hooks/useFocus.d.ts +1 -0
  148. package/es/global/js/hooks/useFocus.js +5 -2
  149. package/es/global/js/hooks/usePrefersReducedMotion.js +14 -8
  150. package/es/global/js/package-settings.d.ts +1 -1
  151. package/es/global/js/package-settings.js +1 -1
  152. package/es/index.js +1 -0
  153. package/es/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  154. package/es/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1020 -1058
  155. package/es/node_modules/@carbon/icons-react/es/generated/bucket-9.js +881 -758
  156. package/es/settings.d.ts +1 -1
  157. package/lib/components/ActionBar/ActionBarItem.js +1 -1
  158. package/lib/components/Coachmark/Coachmark.d.ts +6 -1
  159. package/lib/components/Coachmark/Coachmark.js +46 -10
  160. package/lib/components/Coachmark/CoachmarkOverlay.js +2 -4
  161. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
  162. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  163. package/lib/components/CoachmarkStack/CoachmarkStack.js +7 -3
  164. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  165. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +74 -53
  166. package/lib/components/ConditionBuilder/ConditionBuilder.js +82 -25
  167. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  168. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +163 -0
  169. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  170. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +28 -11
  171. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  172. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +29 -7
  173. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +12 -7
  174. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +18 -10
  175. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
  176. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +73 -60
  177. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
  178. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
  179. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  180. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +34 -24
  181. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +40 -36
  182. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +40 -36
  183. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
  184. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +96 -38
  185. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  186. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  187. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +28 -10
  188. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  189. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +122 -0
  190. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  191. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +68 -35
  192. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  193. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +21 -8
  194. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  195. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
  196. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +118 -37
  197. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
  198. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +44 -17
  199. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
  200. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +137 -39
  201. package/lib/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  202. package/lib/components/ConditionBuilder/utils/useTranslations.js +30 -0
  203. package/lib/components/ConditionBuilder/utils/util.d.ts +6 -4
  204. package/lib/components/ConditionBuilder/utils/util.js +44 -16
  205. package/lib/components/CreateFullPage/CreateFullPage.js +2 -2
  206. package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
  207. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +129 -53
  208. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +16 -0
  209. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +32 -7
  210. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  211. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  212. package/lib/components/DataSpreadsheet/types/index.d.ts +1 -0
  213. package/lib/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  214. package/lib/components/Datagrid/Datagrid/Datagrid.js +4 -9
  215. package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  216. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  217. package/lib/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  218. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
  219. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  220. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  221. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  222. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  223. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  224. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
  225. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  226. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +53 -16
  227. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  228. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +73 -10
  229. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  230. package/lib/components/Datagrid/types/index.d.ts +57 -9
  231. package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
  232. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  233. package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  234. package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
  235. package/lib/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  236. package/lib/components/Datagrid/useCustomizeColumns.js +4 -3
  237. package/lib/components/Datagrid/useDefaultStringRenderer.js +0 -1
  238. package/lib/components/Datagrid/useDisableSelectRows.d.ts +2 -1
  239. package/lib/components/Datagrid/useDisableSelectRows.js +27 -22
  240. package/lib/components/Datagrid/useInlineEdit.js +12 -2
  241. package/lib/components/Datagrid/useNestedRowExpander.js +1 -3
  242. package/lib/components/Datagrid/useNestedRows.js +32 -13
  243. package/lib/components/Datagrid/useRowExpander.js +1 -3
  244. package/lib/components/Datagrid/useSelectRows.js +2 -1
  245. package/lib/components/Datagrid/useStickyColumn.d.ts +8 -1
  246. package/lib/components/Datagrid/useStickyColumn.js +12 -9
  247. package/lib/components/Decorator/Decorator.js +2 -1
  248. package/lib/components/DecoratorBase/DecoratorBase.js +3 -5
  249. package/lib/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  250. package/lib/components/DecoratorLink/DecoratorLink.js +2 -1
  251. package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  252. package/lib/components/EditInPlace/EditInPlace.d.ts +4 -0
  253. package/lib/components/EditInPlace/EditInPlace.js +21 -10
  254. package/lib/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  255. package/lib/components/EditTearsheet/EditTearsheet.js +43 -9
  256. package/lib/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  257. package/lib/components/EditTearsheet/EditTearsheetForm.js +3 -0
  258. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  259. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  260. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  261. package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  262. package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  263. package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  264. package/lib/components/Nav/NavItem.js +10 -1
  265. package/lib/components/OptionsTile/OptionsTile.js +11 -6
  266. package/lib/components/PageHeader/PageHeader.js +1 -0
  267. package/lib/components/RemoveModal/RemoveModal.d.ts +4 -0
  268. package/lib/components/RemoveModal/RemoveModal.js +7 -1
  269. package/lib/components/SearchBar/SearchBar.d.ts +1 -1
  270. package/lib/components/SearchBar/SearchBar.js +2 -2
  271. package/lib/components/SidePanel/SidePanel.js +16 -20
  272. package/lib/components/SidePanel/motion/variants.d.ts +4 -6
  273. package/lib/components/SidePanel/motion/variants.js +10 -11
  274. package/lib/components/StatusIndicator/StatusIndicatorStep.js +94 -0
  275. package/lib/components/StringFormatter/StringFormatter.js +13 -2
  276. package/lib/components/StringFormatter/utils/enums.d.ts +20 -1
  277. package/lib/components/StringFormatter/utils/enums.js +23 -1
  278. package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
  279. package/lib/components/Tearsheet/Tearsheet.js +9 -1
  280. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  281. package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
  282. package/lib/components/Tearsheet/TearsheetShell.d.ts +11 -1
  283. package/lib/components/Tearsheet/TearsheetShell.js +26 -5
  284. package/lib/components/Toolbar/ToolbarButton.js +1 -1
  285. package/lib/components/WebTerminal/WebTerminal.js +10 -12
  286. package/lib/components/index.d.ts +1 -1
  287. package/lib/global/js/hooks/useFocus.d.ts +1 -0
  288. package/lib/global/js/hooks/useFocus.js +5 -1
  289. package/lib/global/js/hooks/usePrefersReducedMotion.js +13 -7
  290. package/lib/global/js/package-settings.d.ts +1 -1
  291. package/lib/global/js/package-settings.js +1 -1
  292. package/lib/index.js +5 -0
  293. package/lib/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  294. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1036 -1074
  295. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-9.js +946 -823
  296. package/lib/settings.d.ts +1 -1
  297. package/package.json +9 -8
  298. package/scss/components/Coachmark/_coachmark-overlay.scss +6 -70
  299. package/scss/components/Coachmark/_coachmark.scss +5 -4
  300. package/scss/components/CoachmarkBeacon/_coachmark-beacon.scss +1 -3
  301. package/scss/components/ConditionBuilder/_condition-builder.scss +5 -1
  302. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +20 -3
  303. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +32 -3
  304. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +16 -2
  305. package/scss/components/Datagrid/_datagrid.scss +0 -4
  306. package/scss/components/Datagrid/styles/_useInlineEdit.scss +13 -0
  307. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +7 -5
  308. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +5 -4
  309. package/scss/components/HTTPErrors/_http-errors.scss +77 -0
  310. package/scss/components/OptionsTile/_options-tile.scss +6 -6
  311. package/scss/components/SidePanel/_side-panel.scss +1 -1
  312. package/scss/components/StatusIcon/_status-icon.scss +4 -4
  313. package/scss/components/StringFormatter/_string-formatter.scss +2 -2
  314. package/scss/components/UserProfileImage/_user-profile-image.scss +6 -2
  315. package/scss/components/_index-released-only.scss +1 -0
  316. package/telemetry.yml +32 -19
  317. package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  318. package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
  319. package/es/global/js/utils/window.d.ts +0 -2
  320. package/es/global/js/utils/window.js +0 -12
  321. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  322. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
  323. package/lib/global/js/utils/window.d.ts +0 -2
  324. package/lib/global/js/utils/window.js +0 -16
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { slicedToArray as _slicedToArray, extends as _extends, objectSpread2 as _objectSpread2, defineProperty as _defineProperty, toConsumableArray as _toConsumableArray } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { slicedToArray as _slicedToArray, toConsumableArray as _toConsumableArray, extends as _extends, objectSpread2 as _objectSpread2, defineProperty as _defineProperty } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import { MULTISELECT, DROPDOWN, RADIO, CHECKBOX, NUMBER, DATE, BATCH, SAVED_FILTERS, INSTANT, PANEL } from '../constants.js';
10
10
  import { MultiSelect, Dropdown, FormGroup, RadioButtonGroup, RadioButton, NumberInput, DatePicker, DatePickerInput, Layer, Checkbox } from '@carbon/react';
11
11
  import React__default, { useContext, useState, useRef, useCallback, useEffect } from 'react';
@@ -13,6 +13,7 @@ import OverflowCheckboxes from '../OverflowCheckboxes.js';
13
13
  import { getInitialStateFromFilters } from '../utils.js';
14
14
  import { FilterContext } from '../FilterProvider.js';
15
15
  import { handleCheckboxChange } from '../handleCheckboxChange.js';
16
+ import uuidv4 from '../../../../../../global/js/utils/uuidv4.js';
16
17
  import { usePreviousValue } from '../../../../../../global/js/hooks/usePreviousValue.js';
17
18
 
18
19
  var useFilters = function useFilters(_ref) {
@@ -28,7 +29,8 @@ var useFilters = function useFilters(_ref) {
28
29
  isFetching = _ref.isFetching;
29
30
  var _useContext = useContext(FilterContext),
30
31
  state = _useContext.state,
31
- localDispatch = _useContext.dispatch;
32
+ localDispatch = _useContext.dispatch,
33
+ contextTableId = _useContext.tableId;
32
34
  var savedFilters = state.savedFilters;
33
35
  /** State */
34
36
  var _useState = useState(getInitialStateFromFilters(filters, variation, reactTableFiltersState)),
@@ -46,6 +48,7 @@ var useFilters = function useFilters(_ref) {
46
48
  var previousState = usePreviousValue({
47
49
  panelOpen: panelOpen
48
50
  });
51
+ var filteredItemsRef = useRef();
49
52
 
50
53
  // When using batch actions we have to store the filters to then apply them later
51
54
  var prevFiltersRef = useRef(JSON.stringify(filtersState));
@@ -69,24 +72,28 @@ var useFilters = function useFilters(_ref) {
69
72
  holdingLastAppliedFiltersRef.current = JSON.parse(prevFiltersObjectArrayRef.current);
70
73
  holdingPrevFiltersObjectArrayRef.current = JSON.parse(lastAppliedFilters.current);
71
74
  }, [setAllFilters]);
72
- var reset = useCallback(function () {
73
- // When we reset we want the "initialFilters" to be an empty array
74
- var resetFiltersArray = [];
75
+ var reset = useCallback(function (tableId) {
76
+ // only reset filters if tableid of the datagrid that triggered "clear filters"
77
+ // matches the table id stored in its context instance
78
+ if (tableId === contextTableId) {
79
+ // When we reset we want the "initialFilters" to be an empty array
80
+ var resetFiltersArray = [];
75
81
 
76
- // Get the initial values for the filters
77
- var initialFiltersState = getInitialStateFromFilters(filters, variation, resetFiltersArray);
78
- var initialFiltersObjectArray = [];
82
+ // Get the initial values for the filters
83
+ var initialFiltersState = getInitialStateFromFilters(filters, variation, resetFiltersArray);
84
+ var initialFiltersObjectArray = [];
79
85
 
80
- // Set the state to the initial values
81
- setFiltersState(initialFiltersState);
82
- setFiltersObjectArray(initialFiltersObjectArray);
83
- setAllFilters([]);
86
+ // Set the state to the initial values
87
+ setFiltersState(initialFiltersState);
88
+ setFiltersObjectArray(initialFiltersObjectArray);
89
+ setAllFilters([]);
84
90
 
85
- // Update their respective refs so everything is in sync
86
- prevFiltersRef.current = JSON.stringify(initialFiltersState);
87
- prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
88
- lastAppliedFilters.current = JSON.stringify([]);
89
- }, [filters, setAllFilters, variation]);
91
+ // Update their respective refs so everything is in sync
92
+ prevFiltersRef.current = JSON.stringify(initialFiltersState);
93
+ prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
94
+ lastAppliedFilters.current = JSON.stringify([]);
95
+ }
96
+ }, [filters, setAllFilters, variation, contextTableId]);
90
97
  var applyFilters = function applyFilters(_ref2) {
91
98
  var column = _ref2.column,
92
99
  value = _ref2.value,
@@ -302,8 +309,18 @@ var useFilters = function useFilters(_ref) {
302
309
  }
303
310
  return null;
304
311
  }).filter(Boolean);
312
+ var isEqual = compareFilterItems(filteredItems);
313
+ if (!isEqual) {
314
+ filteredItemsRef.current = _toConsumableArray(filteredItems);
315
+ }
316
+ var getKey = function getKey() {
317
+ return isEqual ? {
318
+ key: uuidv4()
319
+ } : column;
320
+ };
305
321
  filter = /*#__PURE__*/React__default.createElement(MultiSelect, _extends({}, components.MultiSelect, {
306
322
  selectedItems: filteredItems,
323
+ key: getKey(),
307
324
  onChange: function onChange(_ref9) {
308
325
  var _components$MultiSele, _components$MultiSele2;
309
326
  var selectedItems = _ref9.selectedItems;
@@ -319,6 +336,7 @@ var useFilters = function useFilters(_ref) {
319
336
  }
320
337
  return null;
321
338
  }).filter(Boolean);
339
+ filteredItemsRef.current = _toConsumableArray(foundItems);
322
340
 
323
341
  // Change selected state for those items that have been selected
324
342
  allOptions.map(function (a) {
@@ -361,6 +379,25 @@ var useFilters = function useFilters(_ref) {
361
379
  key: column
362
380
  }, filter);
363
381
  };
382
+ var compareFilterItems = function compareFilterItems(filteredItems) {
383
+ var _filteredItems$map, _filteredItemsRef$cur, _filteredItemsRef$cur2;
384
+ var filteredItemsId = (_filteredItems$map = filteredItems.map(function (item) {
385
+ return item.id;
386
+ })) !== null && _filteredItems$map !== void 0 ? _filteredItems$map : [];
387
+ var previousFilteredItemsId = (_filteredItemsRef$cur = filteredItemsRef === null || filteredItemsRef === void 0 || (_filteredItemsRef$cur2 = filteredItemsRef.current) === null || _filteredItemsRef$cur2 === void 0 ? void 0 : _filteredItemsRef$cur2.map(function (item) {
388
+ return item.id;
389
+ })) !== null && _filteredItemsRef$cur !== void 0 ? _filteredItemsRef$cur : [];
390
+ var set1 = new Set(filteredItemsId);
391
+ var set2 = new Set(previousFilteredItemsId);
392
+ // Check if the sets have the same size (same number of unique elements)
393
+ if (set1.size !== set2.size) {
394
+ return false;
395
+ }
396
+ // Check if all elements in set1 are also present in set2 (using spread syntax)
397
+ return _toConsumableArray(set1).every(function (element) {
398
+ return set2.has(element);
399
+ });
400
+ };
364
401
 
365
402
  /** This useEffect will properly handle the previous filters when the panel closes
366
403
  * 1. If the panel closes we need to call the reset fn but also store the
@@ -27,8 +27,7 @@ var InlineEditButton = function InlineEditButton(_ref) {
27
27
  tabIndex: isActiveCell ? 0 : -1,
28
28
  "data-disabled": disabledCell,
29
29
  "aria-disabled": disabledCell,
30
- role: "button",
31
- title: label
30
+ role: "button"
32
31
  }, LabelIcon && /*#__PURE__*/React__default.createElement("div", {
33
32
  className: "".concat(blockClass, "__label-icon")
34
33
  }, /*#__PURE__*/React__default.createElement(LabelIcon, null)), label !== '' ? /*#__PURE__*/React__default.createElement("span", {
@@ -48,7 +47,7 @@ InlineEditButton.propTypes = {
48
47
  nonEditCell: PropTypes.bool,
49
48
  placeholder: PropTypes.string,
50
49
  renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
51
- type: PropTypes.oneOf(['text', 'number', 'selection', 'date']),
50
+ type: PropTypes.oneOf(['text', 'number', 'selection', 'date', 'checkbox']),
52
51
  value: PropTypes.oneOfType([PropTypes.string, PropTypes.node])
53
52
  };
54
53
 
@@ -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();
@@ -208,10 +209,36 @@ var InlineEditCell = function InlineEditCell(_ref) {
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;